Lionel,<div><br></div><div>That&#39;s great! Thanks a lot. I&#39;ll give that a try right away.</div><div>regards</div><div>Gilles<br><div><br><div class="gmail_quote">2010/1/28 Lionel Landwerlin <span dir="ltr">&lt;<a href="mailto:llandwerlin@gmail.com">llandwerlin@gmail.com</a>&gt;</span><br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex;">Hello<br><br>I&#39;m experiencing the same problem since I&#39;m using external toolchains. It took me quite a few time to figure out the problem (and when cross compiling from amd64 to i386, you don&#39;t even get any error at link time, but generated binaries are unusuable...).<br>

<br>The problem is that when installing directfb, librairies are relinked for the destination directory. This relink step uses the .la linker scripts from the directfb installation which haven&#39;t been processed to replace the libdir path.<br>

Thus, it ends up adding -L/usr/lib instead of -L$(STAGING_DIR)/usr/lib to the compiler options.<br><br>Here is a patch to fix the problem. Apply it to your buildroot copy, and rm -rf output/build/directfb-1.4.2<br><br>I&#39;m pretty sure that others librairies have the same issue. We might need to factorise this fix in Makefile.autotools.in... Not sure yet.<br>

<br>Regards,<br><br>--<br>Lionel<br><br><div class="gmail_quote"><div><div></div><div class="h5">On Thu, Jan 28, 2010 at 2:13 PM, Gilles Talis <span dir="ltr">&lt;<a href="mailto:gilles.talis@gmail.com" target="_blank">gilles.talis@gmail.com</a>&gt;</span> wrote:<br>
</div></div><blockquote class="gmail_quote" style="border-left:1px solid rgb(204, 204, 204);margin:0pt 0pt 0pt 0.8ex;padding-left:1ex"><div><div></div><div class="h5">
Hi,<div><br></div><div>I am trying to cross-compile DirectFB using buildroot and I have an issue during the installation phase.</div><div>I am using an external binary toolchain (codesourcery ARM toolchain). The output of my compilation is as follows:</div>


<div><br></div><div>I have the same error for pretty much all libraries generated by the build process. At some point, compiler points the wrong libs directory: /usr/lib instead of &lt;staging_dir&gt;/usr/lib</div><div>This is specific to DirectFB as I can compile about almost anything else :-)</div>


<div><br></div><div>Example with the one of the GFX drivers libs generated:</div><div><br></div><div><div>Making install in nvidia</div><div>make[4]: Entering directory `/work/arm-linux/build/directfb-1.4.2/gfxdrivers/nvidia&#39;</div>


<div>make[5]: Entering directory `/work/arm-linux/build/directfb-1.4.2/gfxdrivers/nvidia&#39;</div><div>make[5]: Nothing to be done for `install-exec-am&#39;.</div><div>test -z &quot;/usr/lib/directfb-1.4-0/gfxdrivers&quot; || /bin/mkdir -p &quot;/work/arm-linux/target/usr/lib/directfb-1.4-0/gfxdrivers&quot;</div>


<div>test -z &quot;/usr/lib/directfb-1.4-0/gfxdrivers&quot; || /bin/mkdir -p &quot;/work/arm-linux/target/usr/lib/directfb-1.4-0/gfxdrivers&quot;</div><div> /bin/bash ../../libtool   --mode=install /usr/bin/install -c -s &#39;<a href="http://libdirectfb_nvidia.la" target="_blank">libdirectfb_nvidia.la</a>&#39; &#39;/work/arm-linux/target/usr/lib/directfb-1.4-0/gfxdrivers/<a href="http://libdirectfb_nvidia.la" target="_blank">libdirectfb_nvidia.la</a>&#39;</div>


<div>libtool: install: warning: relinking `<a href="http://libdirectfb_nvidia.la" target="_blank">libdirectfb_nvidia.la</a>&#39;</div><div>(cd /work/arm-linux/build/directfb-1.4.2/gfxdrivers/nvidia; /bin/bash ../../libtool  --tag=CC --mode=relink /data/omap_linux/a0919486/arm-unknown-linux-uclibcgnueabi/bin/arm-linux-gcc -Os -pipe -Os --sysroot /work/arm-linux/staging/ -O3 -ffast-math -pipe -Os -pipe -Os --sysroot /work/arm-linux/staging/ -D_GNU_SOURCE -Werror-implicit-function-declaration -module -avoid-version --sysroot /work/arm-linux/staging/ -lz --sysroot /work/arm-linux/staging/ -o <a href="http://libdirectfb_nvidia.la" target="_blank">libdirectfb_nvidia.la</a> -rpath /usr/lib/directfb-1.4-0/gfxdrivers nvidia.lo nvidia_state.lo nvidia_2d.lo nvidia_3d.lo nvidia_primary.lo nvidia_overlay.lo -lm ../../lib/direct/<a href="http://libdirect.la" target="_blank">libdirect.la</a> ../../lib/fusion/<a href="http://libfusion.la" target="_blank">libfusion.la</a> ../../src/<a href="http://libdirectfb.la" target="_blank">libdirectfb.la</a> -ldl -lpthread -inst-prefix-dir /work/arm-linux/target)  </div>


<div>/data/omap_linux/a0919486/arm-unknown-linux-uclibcgnueabi/bin/arm-linux-gcc -Os -pipe -Os  --sysroot /work/arm-linux/staging/ -shared  .libs/nvidia.o .libs/nvidia_state.o .libs/nvidia_2d.o .libs/nvidia_3d.o .libs/nvidia_primary.o .libs/nvidia_overlay.o  -lz -lm -L/work/arm-linux/target/usr/lib -L/usr/lib -ldirect -lfusion -ldirectfb -ldl -lpthread  -Wl,-soname -Wl,libdirectfb_nvidia.so -o .libs/libdirectfb_nvidia.so</div>


<div>/usr/lib/libm.so: file not recognized: File format not recognized</div><div>collect2: ld returned 1 exit status</div><div>libtool: install: error: relink `<a href="http://libdirectfb_nvidia.la" target="_blank">libdirectfb_nvidia.la</a>&#39; with the above command before installing it</div>


<div>make[5]: *** [install-nvidiaLTLIBRARIES] Error 1</div><div><br></div></div><div>Any help would be highly appreciated</div><div>Gilles.</div>
<br></div></div>_______________________________________________<br>
buildroot mailing list<br>
<a href="mailto:buildroot@busybox.net" target="_blank">buildroot@busybox.net</a><br>
<a href="http://lists.busybox.net/mailman/listinfo/buildroot" target="_blank">http://lists.busybox.net/mailman/listinfo/buildroot</a><br></blockquote></div><br>
</blockquote></div><br></div></div>