On 8/2/13 5:10 AM, Sardan Alexandru Cezar-B41700 wrote:

There could be several issues here:
1. default library path for 64bit is wrong... You can inspect it by
looking at SEARCH_DIR in the linker script. Just run:

$CC -o mytest -Wl,-verbose mytest.c

Then you can try to set the library path explicitly with -L. See if it
works.

2. you don't have the 64bit libraries and it falls back to looking into
/lib or /usr/lib which contain the 32bit libraries...

Do you have any lib64/ usr/lib64/ in your target sysroot?


[Alex Sardan] Yes, it seems that the 64bit libraries are not being
installed in the sysroot.
What is the right way of adding them? I tried adding libgcc to
MULTILIB_IMAGE_INSTALL but it doesn't do the trick.

By default all libraries end up in 'lib' (no suffix). When you enable the multilib support, the lib directory depends on the multilib you are compiling (and installing).

i.e.:
MACHINE = "<some 64bit ppc capable machine>"

require conf/multilib.conf
DEFAULTTUNE = "ppc"
MULTILIBS = "multilib:lib64"
DEFAULTTUNE_virtclass-multilib-lib64 = "ppc64"


If you enable the multilib support, and then build with:

bitbake lib64-core-image-minimal -- you should see an all 'lib64' core-image-minimal (assuming lib64 is your alternative library name)

IMAGE_INSTALL_append = " lib64-bash"

Should switch bash to being the 64-bit version, and install all of the necessary libraries -- in addition to the 32-bit items being default.

--Mark

Thanks,
Alex

_______________________________________________
Openembedded-core mailing list
Openembedded-core@lists.openembedded.org
http://lists.openembedded.org/mailman/listinfo/openembedded-core


_______________________________________________
Openembedded-core mailing list
Openembedded-core@lists.openembedded.org
http://lists.openembedded.org/mailman/listinfo/openembedded-core

Reply via email to