[Buildroot] [PATCH v3] toolchain-external: fix lib64 symlinks
Peter Korsgaard
jacmet at uclibc.org
Tue Aug 27 21:42:22 UTC 2013
>>>>> "Arnout" == Arnout Vandecappelle (Essensium/Mind) <arnout at mind.be> writes:
Arnout> From: Samuel Martin <s.martin49 at gmail.com>
Arnout> * Always link lib64 or lib32 to lib
Arnout> * Only copy the architecture's lib directory to staging
Arnout> * Also cleanup a couple of mkdirs (concerning some 'lib' directories).
Arnout> Before this patch:
Arnout> --
Arnout> $ ls -ld host/usr/x86_64-buildroot-linux-gnu/sysroot/{,usr/}lib* target/{usr/,}lib*
Arnout> drwxr-xr-x 2 samuel users 4.0K Aug 12 22:26 host/usr/x86_64-buildroot-linux-gnu/sysroot/lib/
Arnout> drwxr-xr-x 2 samuel users 4.0K Aug 12 22:27 host/usr/x86_64-buildroot-linux-gnu/sysroot/lib64/
Arnout> drwxr-xr-x 5 samuel users 4.0K Oct 30 2012 host/usr/x86_64-buildroot-linux-gnu/sysroot/usr/lib/
Arnout> drwxr-xr-x 5 samuel users 4.0K Aug 12 22:27 host/usr/x86_64-buildroot-linux-gnu/sysroot/usr/lib64/
Arnout> drwxr-xr-x 3 samuel users 4.0K Oct 30 2012 host/usr/x86_64-buildroot-linux-gnu/sysroot/usr/libexec/
Arnout> drwxr-xr-x 2 samuel users 4.0K Aug 12 22:27 target/lib/
Arnout> lrwxrwxrwx 1 samuel users 3 Aug 12 22:27 target/lib64 -> lib/
Arnout> drwxr-xr-x 2 samuel users 4.0K Aug 12 22:27 target/usr/lib/
Arnout> lrwxrwxrwx 1 samuel users 3 Aug 12 22:27 target/usr/lib64 -> lib/
Arnout> $ find . -type l -xtype l # find broken symlinks
Arnout> find: `./host/usr/x86_64-buildroot-linux-gnu/sysroot/lib64/lib': Too many levels of symbolic links
Arnout> find: `./host/usr/x86_64-buildroot-linux-gnu/sysroot/usr/lib64/lib': Too many levels of symbolic links
Arnout> ./host/usr/x86_64-buildroot-linux-gnu/sysroot/usr/lib/libnss_files.so
Arnout> ./host/usr/x86_64-buildroot-linux-gnu/sysroot/usr/lib/libnss_nis.so
Arnout> ./host/usr/x86_64-buildroot-linux-gnu/sysroot/usr/lib/libnss_compat.so
Arnout> ./host/usr/x86_64-buildroot-linux-gnu/sysroot/usr/lib/libnss_nisplus.so
Arnout> ./host/usr/x86_64-buildroot-linux-gnu/sysroot/usr/lib/libutil.so
Arnout> ./host/usr/x86_64-buildroot-linux-gnu/sysroot/usr/lib/libthread_db.so
Arnout> ./host/usr/x86_64-buildroot-linux-gnu/sysroot/usr/lib/libcidn.so
Arnout> ./host/usr/x86_64-buildroot-linux-gnu/sysroot/usr/lib/libcrypt.so
Arnout> ./host/usr/x86_64-buildroot-linux-gnu/sysroot/usr/lib/libm.so
Arnout> ./host/usr/x86_64-buildroot-linux-gnu/sysroot/usr/lib/libnss_hesiod.so
Arnout> ./host/usr/x86_64-buildroot-linux-gnu/sysroot/usr/lib/libnsl.so
Arnout> ./host/usr/x86_64-buildroot-linux-gnu/sysroot/usr/lib/librt.so
Arnout> ./host/usr/x86_64-buildroot-linux-gnu/sysroot/usr/lib/libnss_db.so
Arnout> ./host/usr/x86_64-buildroot-linux-gnu/sysroot/usr/lib/libanl.so
Arnout> ./host/usr/x86_64-buildroot-linux-gnu/sysroot/usr/lib/libBrokenLocale.so
Arnout> ./host/usr/x86_64-buildroot-linux-gnu/sysroot/usr/lib/libnss_dns.so
Arnout> ./host/usr/x86_64-buildroot-linux-gnu/sysroot/usr/lib/libresolv.so
Arnout> ./host/usr/x86_64-buildroot-linux-gnu/sysroot/usr/lib/libdl.so
Arnout> ./target/etc/resolv.conf
Arnout> ./target/dev/log
Arnout> --
Arnout> After this patch:
Arnout> --
Arnout> $ ls -ld host/usr/x86_64-buildroot-linux-gnu/sysroot/{,usr/}lib* target/{usr/,}lib*
Arnout> drwxr-xr-x 2 samuel users 4.0K Oct 30 2012 host/usr/x86_64-buildroot-linux-gnu/sysroot/lib/
Arnout> lrwxrwxrwx 1 samuel users 5 Aug 12 22:36 host/usr/x86_64-buildroot-linux-gnu/sysroot/lib64 -> lib/
Arnout> drwxr-xr-x 5 samuel users 4.0K Oct 30 2012 host/usr/x86_64-buildroot-linux-gnu/sysroot/usr/lib/
Arnout> lrwxrwxrwx 1 samuel users 5 Aug 12 22:36 host/usr/x86_64-buildroot-linux-gnu/sysroot/usr/lib64 -> lib/
Arnout> drwxr-xr-x 3 samuel users 4.0K Oct 30 2012 host/usr/x86_64-buildroot-linux-gnu/sysroot/usr/libexec/
Arnout> drwxr-xr-x 2 samuel users 4.0K Aug 12 22:36 target/lib/
Arnout> lrwxrwxrwx 1 samuel users 3 Aug 12 22:36 target/lib64 -> lib/
Arnout> drwxr-xr-x 2 samuel users 4.0K Aug 12 22:36 target/usr/lib/
Arnout> lrwxrwxrwx 1 samuel users 3 Aug 12 22:36 target/usr/lib64 -> lib/
Arnout> $ find . -type l -xtype l # find broken symlinks
Arnout> ./target/etc/resolv.conf
Arnout> ./target/dev/log
Arnout> --
Arnout> Fixes http://autobuild.buildroot.net/results/23fb6b1479d2b5906b72c9437b06ab4700ff246d/
Arnout> Signed-off-by: Samuel Martin <s.martin49 at gmail.com>
Arnout> Signed-off-by: Arnout Vandecappelle (Essensium/Mind) <arnout at mind.be>
Arnout> ---
Arnout> Tested with a couple of 32-bit and 64-bit MIPS Sourcery toolchains, and with
Arnout> the x86_64 Sourcery toolchain. Should still be tested with a MIPS64/n32
Arnout> toolchain, and with Linaro.
Arnout> I didn't check if it actually fixes the referenced autobuild error...
Arnout> But since my x86_64 allyesconfig passes cppcms that failed before, I
Arnout> guess it's OK.
Committed, thanks.
--
Bye, Peter Korsgaard
More information about the buildroot
mailing list