mailing list of musl libc
 help / color / mirror / code / Atom feed
From: Rich Felker <dalias@aerifal.cx>
To: musl@lists.openwall.com
Subject: Re: musl vs. Debian policy
Date: Sat, 9 Mar 2013 22:29:56 -0500	[thread overview]
Message-ID: <20130310032956.GC20323@brightrain.aerifal.cx> (raw)
In-Reply-To: <87mwuc5ob2.fsf@gmail.com>

On Sat, Mar 09, 2013 at 09:08:17PM +0100, Christian Neukirchen wrote:
> Rich Felker <dalias@aerifal.cx> writes:
> 
> > On Fri, Mar 08, 2013 at 04:13:59PM +0100, Christian Neukirchen wrote:
> >> >> In this case, could we also change the SONAME of the library itself to
> >> >> something not libc.so?  It would avoid this "bogus" warning of glibc
> >> >> ldconfig...
> >> >
> >> > No, this is a lot more problematic and I see no benefits. For each
> >> > possible SONAME musl may have been linked by, musl must contain a
> >> > special-case to refuse to load this SONAME when it appears in
> >> > DT_NEEDED. "libc.so" is a name that should never appear elsewhere. I
> >> > don't want to keep expanding this list of names, and of course
> >> > programs linked using a new SONAME would be gratuitously incompatible
> >> > with an older musl ld.so that didn't have the new name included in its
> >> > refuse-to-load list.
> >> 
> >> ld-musl-x86_64.so shouldn't appear elsewhere either.
> >
> > Yes and no. Formally, libc.so is in a sort of reserved namespace (or
> > at least, -lc is), whereas there's nothing "reserved" about the name
> > ld-musl-$(ARCH).so.1. I agree this is fairly irrelevant however as
> > nobody else is going to use that library name unless they're trying to
> > break things.
> >
> >> >> ldconfig: /usr/lib/libc.so is not a symbolic link
> >> >
> >> > IIRC this is happening due to some other misconfiguration. If nothing
> >> > else, it means glibc and musl were both installed in /usr/lib, or
> >> > ldconfig is configured for the wrong paths (since ldconfig has nothing
> >> > to do with musl).
> >> 
> >> This happens because /lib/ld-musl-x86_64.so.1 has a SONAME of libc.so
> >> (which should be the correct place).  The message is not harmful, but
> >> annoying.
> >
> > Well the message should never happen unless ldconfig is processing the
> > directory containing libc.so, right? It doesn't happen for me on
> > Debian when I have musl's ld-musl-i386.so.1 in /lib and ldconfig
> > processes the default library path.
> 
> That is weird...
> 
> stat("/usr/lib/libc.so", {st_mode=S_IFREG|0644, st_size=255, ...}) = 0
> stat("/usr/lib/ld-musl-x86_64.so.1", {st_mode=S_IFREG|0755, st_size=583007, ...}) = 0
> lstat("/usr/lib/libc.so", {st_mode=S_IFREG|0644, st_size=255, ...}) = 0
> .... glibc printf crap ...
> write(2, "ldconfig: ", 10ldconfig: )              = 10
> write(2, "/usr/lib/libc.so is not a symbol"..., 40/usr/lib/libc.so is not a symbolic link
> 
> Note that /usr/lib/libc.so is a glibc file containing an ld script here.
> 
> If I remove /usr/lib/ld-musl-x86_64.so.1, the message goes away.
> 
> But I think it also had something to do with 
> lrwxrwxrwx   1 root root     7 Jan 27 08:29 lib -> usr/lib/
> 
> I thought the issue was that it found ld-musl-x86_64.so.1 and tried to
> ensure libc.so points to it, due to the SONAME.

OK, I think we've found something nasty: on your system this warning
is happening because /usr/lib and /lib are the same directory. On my
system, /lib/libc.so is being silently created by ldconfig, pointing
to ld-musl. The latter behavior is much worse; it could cause -lc to
try to pull in musl, depending on the library path order. I'm working
on a fix.

Rich


  reply	other threads:[~2013-03-10  3:29 UTC|newest]

Thread overview: 20+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2013-03-06 23:29 Isaac Dunham
2013-03-07 13:04 ` Rich Felker
2013-03-07 18:17   ` Christian Neukirchen
2013-03-07 18:45     ` Kurt H Maier
2013-03-07 18:49       ` Daniel Cegiełka
2013-03-08  0:41     ` Rich Felker
2013-03-08 15:13       ` Christian Neukirchen
2013-03-09  1:27         ` Rich Felker
2013-03-09 20:08           ` Christian Neukirchen
2013-03-10  3:29             ` Rich Felker [this message]
2013-03-10  3:39               ` Rich Felker
2013-03-08  1:03   ` Isaac Dunham
2013-03-08  1:10     ` Rich Felker
2013-03-08  4:03       ` Isaac Dunham
2013-03-09  1:23         ` Rich Felker
2013-03-07 18:56 ` Justin Cormack
2013-03-08  0:04   ` Isaac Dunham
2013-03-07 22:30 ` Rob Landley
2013-03-08  0:22   ` Isaac Dunham
2013-03-08  1:09     ` Kurt H Maier

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=20130310032956.GC20323@brightrain.aerifal.cx \
    --to=dalias@aerifal.cx \
    --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).