mailing list of musl libc
 help / color / mirror / code / Atom feed
From: Rich Felker <dalias@libc.org>
To: musl@lists.openwall.com
Subject: Re: musl ldd: swt build: Error relocating / symbol not found
Date: Thu, 23 Jun 2016 13:10:08 -0400	[thread overview]
Message-ID: <20160623171008.GY10893@brightrain.aerifal.cx> (raw)
In-Reply-To: <576C02C2.7070006@gmail.com>

On Thu, Jun 23, 2016 at 03:39:46PM +0000, Andrei Pozolotin wrote:
> Rich:
> 
> On 06/23/2016 04:24 AM, Rich Felker wrote:
> > On Thu, Jun 23, 2016 at 03:35:02AM +0000, Andrei Pozolotin wrote:
> >>     https://github.com/random-alpiner/repository/blob/master/bugs/01/1-app.log
> >>     https://github.com/random-alpiner/repository/blob/master/bugs/01/2-ldd.log
> >>     https://github.com/random-alpiner/repository/blob/master/bugs/01/3-readelf.log
> >>
> >> My first guess would be that something else in the application
> >> (eclipse) has already caused an older/stale version of libgobject to
> >> be loaded, so that the version containing the symbol definition does
> >> not get loaded. You could confirm this by running strace on the
> >> program and checking what library files it loads/maps.
> Thank you for the tip.
> 
> 1) the trace shows:
> https://github.com/random-alpiner/repository/blob/master/bugs/01/4-strace.log
> 
> 2) that the proper /usr/lib/libgobject-2.0.so.0 is in fact loaded before
> /usr/lib/libswt-atk-gtk-4530.so
> 
> 3) however, the loading starts from
> /home/work/space/none-4.5.0/conf/org.eclipse.osgi/748/0/.cp/libswt-gtk-4530.so,
> 
> which is an eclipse default library bundled with the eclipse
> application, and which is compiled against foreign libc.6.so:
> 
> lddtree /home/work/space/none-4.5.0/conf/org.eclipse.osgi/748/0/.cp/libswt-gtk-4530.so
> libswt-gtk-4530.so => /home/work/space/none-4.5.0/conf/org.eclipse.osgi/748/0/.cp/libswt-gtk-4530.so (interpreter => none)
>     libc.so.6 => not found

OK so it looks like you're trying to run foreign glibc binaries with
musl. That might or might not work, and in this case it seems to be
not working. You really should be using a build of eclipse and all its
libraries against musl rather than putting glibc-linked binaries on
the system.

> 4) the library  loading logic of eclipse is: first try to load bundled
> libraries from private paths,
> and if that fails, then try to load these libraries from the public
> paths, such as "/usr/lib/*", etc.
> 
> 5) I do provide replacement libswt-* libraries built against musl on the
> public path "/usr/lib/*",
> and the assumption was that when private path library loading fails,
> then the library will be loaded from the public path, which "sort of
> almost works",
> so:
> * was that a wrong assumption? 
> * will in fact musl ld.so reject libraries linked to the libc.so.6?

No, it will use them.

> * if not, is there a way to tell musl ld.so to blacklist private path
> libraries?

No, but you could just rm (or mv) them. But I suspect you'll still run
into other problems. Support for using glibc-linked programs/libraries
is inherently error-prone and really only intended for use in
situations where you can't get a properly-built binary (e.g. Flash
plugin).

Rich


  reply	other threads:[~2016-06-23 17:10 UTC|newest]

Thread overview: 11+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2016-06-23  3:35 Andrei Pozolotin
2016-06-23  4:24 ` Rich Felker
2016-06-23 15:39   ` Andrei Pozolotin
2016-06-23 17:10     ` Rich Felker [this message]
2016-06-23 19:42       ` Andrei Pozolotin
2016-06-23 23:15         ` Szabolcs Nagy
2016-06-24 16:23           ` Andrei Pozolotin
2016-06-24 17:03             ` Rich Felker
2016-06-24 17:17               ` Alexander Monakov
2016-06-24 17:30                 ` Andrei Pozolotin
2016-06-24 21:41                 ` Rich Felker

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=20160623171008.GY10893@brightrain.aerifal.cx \
    --to=dalias@libc.org \
    --cc=musl@lists.openwall.com \
    /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.
Code repositories for project(s) associated with this public inbox

	https://git.vuxu.org/mirror/musl/

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).