Follow @Openwall on Twitter for new release announcements and other news
[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Date: Sun, 12 Feb 2017 22:26:28 -0500
From: Rich Felker <dalias@...c.org>
To: musl@...ts.openwall.com
Subject: Re: ld-musl-i386.so.1 disappear after gcc install

On Mon, Feb 13, 2017 at 03:26:07AM +0100, Romain wrote:
> Hello,
> 
> I try to create  a script to cross-build a small linux based on musl.
> (https://github.com/rom1nux/zydux-forge)
> 
> Basically I first create my cross toolchain in 3 steps
> 
> 1 – Build static gcc (first pass)
> 2 – Build musl
> 3 – Build dynamic gcc (second pass)
> 
> When I build musl, I can find the loader ld-musl-i386.so.1 this is a link to
> /lib/libc.so
> But when I do the second pass of gcc the ld-musl-i386.so.1 is removed at the
> gcc “make install”
> 
> I create a watch with “audit” to see what process remove the file, and it
> seem that /sbin/ldconfig.real remove the loader, I don’t understand why.
> (I fix this by creating my own link, and I can start my target, but I don’t
> understand what append)
> 
> My host :
> Ubuntu 16.04
> Arch : x86_64
> Kernel : 4.4.0
> Gcc : 5.4 (x86_64-linux-gnu-gcc)
> 
> My Cross/Target :
> Arch : x86
> Kernel : 4.9.7
> Gcc : 6.3.0 (i486-linux-musl-gcc)
> Musl : 1.1.16
> 
> Can you help  me to understand why the linker ld-musl-i386.so.1 is removed
> by /sbin/ldconfig.real, and how to avoid this ?

Where did ldconfig.real come from? If it's part of the Ubuntu system
you're compiling from, it shouldn't be getting run on the cross-target
at all; my guess would be that something in your build process is
unaware that you're cross-compiling. If it's part of the target musl
system then it should not even exist; ldconfig is a glibc thing.

Rich

Powered by blists - more mailing lists

Confused about mailing lists and their use? Read about mailing lists on Wikipedia and check out these guidelines on proper formatting of your messages.