issues with SDK built from OE

All,

I didn't get any response from the OE mail list so I figure I might try
here as a lot of beagleboard devs use OE.

I am having some issue using the SDK produced from Angstrom distro. It
builds fine but when I tried to move it to another machine I had some
issues.

The problem is it appears that certain .so libs are not included in the
SDK but are still "linked" to the files in the OE build tree.

For example when I do the following I see that cc1 links to several libs
in the OE directory structure.

ldd /usr/local/angstrom/arm/libexec/gcc/arm-angstrom-linux-gnueabi/4.3.1//cc1
        libmpfr.so.1
=> /home/oe/build/tmp/staging/x86_64-linux/usr/lib/libmpfr.so.1
(0x00002b7f8b9da000)
        libgmp.so.3
=> /home/oe/build/tmp/staging/x86_64-linux/usr/lib/libgmp.so.3
(0x00002b7f8bb14000)
        libc.so.6 => /lib/libc.so.6 (0x00002b7f8bc62000)
        /lib64/ld-linux-x86-64.so.2 (0x00002b7f8b8c2000)

I am assuming this isn't the correct behavior. I am also not sure how
to fix it.

Any suggestions or comments will be appreciated.

Does anyone else use the sdk built from OE?

Ben Anderson

Ben Anderson wrote:

ldd /usr/local/angstrom/arm/libexec/gcc/arm-angstrom-linux-gnueabi/4.3.1//cc1
        libmpfr.so.1
=> /home/oe/build/tmp/staging/x86_64-linux/usr/lib/libmpfr.so.1
(0x00002b7f8b9da000)
        libgmp.so.3
=> /home/oe/build/tmp/staging/x86_64-linux/usr/lib/libgmp.so.3
(0x00002b7f8bb14000)
        libc.so.6 => /lib/libc.so.6 (0x00002b7f8bc62000)
        /lib64/ld-linux-x86-64.so.2 (0x00002b7f8b8c2000)

If those are libraries that the toolchain is supposed to be using during
linking, then there's something seriously wrong because libc.so.6 should not be
linked back to your workstation copy--- it's the wrong architecture!

b.g.

These libs are actually part of the 'host' side of the toolchain, so
against instinct, they really are x86-64 :slight_smile:

The problem I am having isn't that they are x86-64 binaries but that
they link to libs in the OE directories.

I am not sure but is this just a case of something the SDK "host" has to
have installed or is it that OE should be including libmpfr.so in its
SDK?

I also noticed that some SDK binaries have this:

libncurses.so.5 => /usr/local/angstrom/arm/lib/libncurses.so.5
(0x00002ba6c1e48000)

while others do this

libncurses.so.5
=> /home/oe/build/tmp/staging/x86_64-linux/usr/lib/libncurses.so.5
(0x00002b523978e000)

I am not sure if there is a way to set a default library location and
why it is different between binaries. For example gdb binaries seem to
look in OE directories first while gcc binaries either looks in system
first or only looks in system.

If I remove all the libs from the staging directory in OE and install
the missing libs onto host it seems to find all the libs in the
*correct* locations (afaik).

Is there rules as to what gets included in SDK and what doesn't. It
seems like OE includes libncurses but not libmpfr or libgmp.

As always any input into this issue is much appreciated as I am no
expert.

thanks,

Ben Anderson

Ben Anderson wrote:

I am not sure but is this just a case of something the SDK "host" has to
have installed or is it that OE should be including libmpfr.so in its
SDK?

You might try running an equivalent toolchain setup with crosstool-ng, or a
complete system build a'la buildroot, and compare the differences in layout and
content. As you describe things, OE sure looks like it's getting confused
somewhere.

Have you posted on the OE lists? Basically, what you're after is an "armel"
SDK. The fact that it's for beagleboard isn't all that relevant for the
majority of the OE work product.

b.g.

Hello,
We are planning to build IP Video phone system using beagle board.
As beagle has only one USB port, I guess we can connect the a USB hub
through which we can connect USB Ethernet adaptor / web camera etc.
Does these drives are (USB hub / Ethernet adaptor / web camera) comes with
the beagle board or we need to procure separately.

warm regards,
Ajat

:slight_smile: you get only beagle board. All other accessories should be brought
separately.

Regards,
Khasim

Did you mean Drivers? or Devices? Drivers are available in kernel
itself, devices needs to be purchased separately.

Regards,
Khasim

Ben Anderson wrote:

I am not sure but is this just a case of something the SDK "host" has to
have installed or is it that OE should be including libmpfr.so in its
SDK?

This might help:

http://wiki.openmoko.org/wiki/Toolchain

This is Openmoko specific, but a lot of the concepts should be valid.

Philip