[Clfs-support] CLFS support

Kevyn-Alexandre Paré kapare at rogue-research.com
Mon Feb 10 17:01:02 PST 2014


The ldconfig in the make install in the 4.9 section is the problem:

ls /mnt/clfs/cross-tools/arm-linux-musleabihf/lib/ld-musl-armhf.so.1
/mnt/clfs/cross-tools/arm-linux-musleabihf/lib/ld-musl-armhf.so.1
clfs at knight:/mnt/clfs/sources/musl-0.9.14$ /sbin/ldconfig -n
/mnt/clfs/cross-tools/arm-linux-musleabihf/lib
/sbin/ldconfig.real:
/mnt/clfs/cross-tools/arm-linux-musleabihf/lib/libstdc++.so.6.0.17-gdb.py
is not an ELF file - it has the wrong magic bytes at the start.

clfs at knight:/mnt/clfs/sources/musl-0.9.14$ ls
/mnt/clfs/cross-tools/arm-linux-musleabihf/lib/ld-musl-armhf.so.1
ls: cannot access
/mnt/clfs/cross-tools/arm-linux-musleabihf/lib/ld-musl-armhf.so.1: No
such file or directory

So since the
ls -l /mnt/clfs/cross-tools/arm-linux-musleabihf/lib/ld-musl-armhf.so.1
lrwxrwxrwx 1 clfs clfs 12 Feb 10 19:54
/mnt/clfs/cross-tools/arm-linux-musleabihf/lib/ld-musl-armhf.so.1 ->
/lib/libc.so
clfs at knight:/mnt/clfs/sources/musl-0.9.14$ ls -al /lib/libc.so
ls: cannot access /lib/libc.so: No such file or directory

To solve the issue I just made a test by doing:
sudo touch /lib/libc.so
Then when ldconfig is called the  ld-musl-armhf.so.1 is not deleted.

His there a better way to fix that?

thx

-KA


On Mon, Feb 10, 2014 at 7:43 PM, Kevyn-Alexandre Paré
<kapare at rogue-research.com> wrote:
> I add a test -L
> "/mnt/clfs/cross-tools/arm-linux-musleabihf/lib/ld-musl-armhf.so.1"
>
> after make install in Section 4.8. musl-libc-0.9.14 and everything is fine
>
> But after the section of # 4.9. GCC-4.7.3 - Final the link doesn't
> exist anymore?
> ../gcc-4.7.3/configure \
>   --prefix=${CLFS}/cross-tools \
>   --build=${CLFS_HOST} \
>   --target=${CLFS_TARGET} \
>   --host=${CLFS_HOST} \
>   --with-sysroot=${CLFS}/cross-tools/${CLFS_TARGET} \
>   --disable-nls \
>   --enable-languages=c,c++ \
>   --enable-c99 \
>   --enable-long-long \
>   --disable-libmudflap \
>   --disable-multilib \
>   --with-mpfr-include=$(pwd)/../gcc-4.7.3/mpfr/src \
>   --with-mpfr-lib=$(pwd)/mpfr/src/.libs \
>   --with-arch=${CLFS_ARM_ARCH} \
>   --with-float=${CLFS_FLOAT} \
>   --with-fpu=${CLFS_FPU}
> make -j${NBJOBS} > /dev/null
> make install
>
>
> So the make install seem to be the problem here:
> here my log:
> http://pastebin.com/z56HN2yY
>
> I searching for something that effect
> /mnt/clfs/cross-tools/arm-linux-musleabihf/lib
>
> thx
>
> -KA
>
> On Mon, Feb 10, 2014 at 6:14 PM, Kevyn-Alexandre Paré
> <kapare at rogue-research.com> wrote:
>>>> ./tools/install.sh -D -l /lib/libc.so
>>>> /mnt/clfs/cross-tools/arm-linux-musleabihf/lib/ld-musl-armhf.so.1 ||
>>>> true
>>>
>>> <snip>
>>>
>>>> Don't see the ld-musl-armhf.so?
>>>
>>> Just before my snip is the ld-musl-armhf.so.1 getting installed as a
>>> symlink to /lib/libc.so.  If this fails, the "|| true" makes sure it
>>> doesn't cause an error.  The symlink failing isn't an error condition if
>>> you're just making a cross compiler and not also a root fs, thus it
>>> shouldn't fail most of the time for the way the musl devs use it.
>>>
>>> Since the symlink's target is a full path, if you weren't actually
>>> running a root file system using musl, that symlink may point to your
>>> build host's libc which likely isn't musl.
>>>
>>
>> So since I have created a script, bash, that run all the procedure
>> this particular command in the script was failing ? But if I run it
>> manually it works...
>>
>> ls /mnt/clfs/cross-tools/arm-linux-musleabihf/lib/ld-musl-armhf.so.1
>> ls: cannot access
>> /mnt/clfs/cross-tools/arm-linux-musleabihf/lib/ld-musl-armhf.so.1: No
>> such file or directory
>> clfs at knight:/mnt/clfs/sources$ ls /lib/libc.so
>> ls: cannot access /lib/libc.so: No such file or directory
>> clfs at knight:/mnt/clfs/sources$ cd musl-0.9.14
>> clfs at knight:/mnt/clfs/sources/musl-0.9.14$ ./tools/install.sh -D -l
>> /lib/libc.so /mnt/clfs/cross-tools/arm-linux-musleabihf/lib/ld-musl-armhf.so.1
>> || true
>> clfs at knight:/mnt/clfs/sources/musl-0.9.14$ ls
>> /mnt/clfs/cross-tools/arm-linux-musleabihf/lib/ld-musl-armhf.so.1
>> /mnt/clfs/cross-tools/arm-linux-musleabihf/lib/ld-musl-armhf.so.1
>>
>> I made smaller script that do only musl cross compilation and it's
>> working file and creating the symlink so I will try to see why my
>> script is not behaving as expected.
>>
>> thx,
>>
>> -KA



More information about the Clfs-support mailing list