From: Joachim Pihl <jpihl@nevion.com>
To: buildroot@busybox.net
Subject: [Buildroot] Shared objects, load order?
Date: Wed, 2 Dec 2009 13:54:21 +0100 [thread overview]
Message-ID: <op.u4a94vs8yqa4qb@jap> (raw)
In-Reply-To: <op.u4azhtyjyqa4qb@jap-lappis.nevion.com>
On Wed, 02 Dec 2009 10:04:31 +0100, Joachim Pihl <jpihl@nevion.com> wrote:
>
> I suspect libboost_thread-mt.so is referencing libpthread.so.0 without
> actually loading it, but right now I don't have the time to investigate.
I have now confirmed that the problem is related to the specified order of
the libraries when linking. I changed the order for the failing
applications to match the one app that worked and voil?! - they came back
to life. I don't think this is good, cross development is hard enough as
it is without these kinds of gotchas.
>
>>
>>>
>>> Works:
>>>
>>> # ldd /multicon/gyda
>>> libxml2.so.2 => /usr/lib/libxml2.so.2 (0x4000e000)
>>> libgd.so.2 => /usr/lib/libgd.so.2 (0x4012b000)
>>> libpng12.so.0 => /usr/lib/libpng12.so.0 (0x4016b000)
>>> libpthread.so.0 => /lib/libpthread.so.0 (0x40191000)
>>> libz.so.1 => /usr/lib/libz.so.1 (0x401ab000)
>>> libboost_thread-mt.so => /usr/lib/libboost_thread-mt.so
>>> (0x401c4000)
>>> libspread.so.2 => /usr/lib/libspread.so.2 (0x401d8000)
>>> libcrypt.so.0 => /lib/libcrypt.so.0 (0x4023f000)
>>> libsqlite3.so.0 => /usr/lib/libsqlite3.so.0 (0x4025c000)
>>> libstdc++.so.6 => /usr/lib/libstdc++.so.6 (0x402c5000)
>>> libm.so.0 => /lib/libm.so.0 (0x40376000)
>>> libgcc_s.so.1 => /lib/libgcc_s.so.1 (0x40390000)
>>> libc.so.0 => /lib/libc.so.0 (0x403a3000)
>>> libdl.so.0 => /lib/libdl.so.0 (0x40401000)
>>> librt.so.0 => /lib/librt.so.0 (0x4040c000)
>>> libnsl.so.0 => /lib/libnsl.so.0 (0x40415000)
>>> ld-uClibc.so.0 => /lib/ld-uClibc.so.0 (0x40000000)
>>>
>>>
>>> Crashes:
>>>
>>> # ldd /multicon/phy
>>> libboost_thread-mt.so => /usr/lib/libboost_thread-mt.so
>>> (0x4000e000)
>>> libspread.so.2 => /usr/lib/libspread.so.2 (0x40022000)
>>> libcrypt.so.0 => /lib/libcrypt.so.0 (0x40089000)
>>> libsqlite3.so.0 => /usr/lib/libsqlite3.so.0 (0x400a6000)
>>> libstdc++.so.6 => /usr/lib/libstdc++.so.6 (0x4010f000)
>>> libm.so.0 => /lib/libm.so.0 (0x401c0000)
>>> libgcc_s.so.1 => /lib/libgcc_s.so.1 (0x401da000)
>>> libc.so.0 => /lib/libc.so.0 (0x401ed000)
>>> libpthread.so.0 => /lib/libpthread.so.0 (0x4024b000)
>>> librt.so.0 => /lib/librt.so.0 (0x40265000)
>>> libnsl.so.0 => /lib/libnsl.so.0 (0x4026e000)
>>> libdl.so.0 => /lib/libdl.so.0 (0x40277000)
>>> ld-uClibc.so.0 => /lib/ld-uClibc.so.0 (0x40000000)
>>>
>>>
>
>
--
Joachim Pihl
Senior R&D Engineer
Nevion Europe
Tel: +47 33 48 94 66
Fax: +47 33 48 99 98
Mobile: +47 91 33 98 91
jpihl at nevion.com
www.nevion.com
------------------------------------------------------
The Global Video Transport Leader
------------------------------------------------------
next prev parent reply other threads:[~2009-12-02 12:54 UTC|newest]
Thread overview: 7+ messages / expand[flat|nested] mbox.gz Atom feed top
2009-12-02 7:16 [Buildroot] Shared objects, load order? Joachim Pihl
[not found] ` <4d28d4b50912020059t6ae52e8bx7b0f76db774e4cdd@mail.gmail.com>
2009-12-02 9:04 ` Joachim Pihl
2009-12-02 12:54 ` Joachim Pihl [this message]
2009-12-02 13:04 ` Lionel Landwerlin
2009-12-02 12:44 ` Michael S. Zick
2009-12-02 13:04 ` Joachim Pihl
2009-12-02 13:03 ` Michael S. Zick
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=op.u4a94vs8yqa4qb@jap \
--to=jpihl@nevion.com \
--cc=buildroot@busybox.net \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox