On 08/07/2016 03:17 AM, John Frankish wrote:
That symlink dates back to when 64bit Linux was first introduced to
LFS, and made a good deal of sense at the time. The toolchain used
to be a PITA WRT changing the default lib search paths. Not so much
anymore. We should probably take a look at that on next release
cycle, make sure lib is preferred, maybe even drop /lib64
completely, even if we don't kill the compatibility symlink (which
I'd personally like to see go).

I wouldn't mind seeing the /lib64 symliks go, but I'm not sure
packages would install properly.  I think thy would just create the
lib64 directories and lead to some files in /lib and others in /lib64
even though all the libraries are for 64-bit systems.  This would
need to be tested.

Note that we create similar symlinks in /opt/xorg.


Is there any reason we modify the linker configuration for all targets and arch?
Realistically, we only need to modify gcc/config/i386/linux{,64}.h in >LFS, and 
even
then, only for GLIBC. The gcc/config/linux.h file is only for uclibc and bionic 
(Android),
and musl (?) gets redefined in the arch specific >target. Is there any reason to
continue to modify all of those files in LFS? The sed commands get a lot cleaner
if we only modify the needed files.

I've built 64-bit LFS a couple of times recently without /lib64, /usr/lib64, 
/usr/local/lib64 - gcc seems to insist on installing to lib64 and it was quite 
a struggle to fix this. I seem to remember that I had to edit all of the gcc 
libs *.la files too.

Once all traces of /lib64 had been removed from gcc, almost all of the LFS and 
BLFS packages install to /lib without problems.



If I'm not mistaken, you were probably seeing only libgcc installing in /lib64. That can be partially corrected with the --with-slibdir switch (not listed in the top-level configure). Pass1 is still gets something from the host, however, and installs only libcc1 to /tools/lib64, pass2 installs where it should. From today, actually only a few minutes ago:

dj [ /media/lfs ]$ ls -l /tools/lib64/
total 516
-rwxr-xr-x 1 lfs lfs    960 Aug  7 12:18 libcc1.la
lrwxrwxrwx 1 lfs lfs     15 Aug  7 12:18 libcc1.so -> libcc1.so.0.0.0
lrwxrwxrwx 1 lfs lfs     15 Aug  7 12:18 libcc1.so.0 -> libcc1.so.0.0.0
-rwxr-xr-x 1 lfs lfs 523880 Aug  7 12:18 libcc1.so.0.0.0
dj [ /media/lfs ]$ ls -l /tools/lib/libcc*
-rwxr-xr-x 1 lfs lfs    958 Aug  7 13:06 /tools/lib/libcc1.la
lrwxrwxrwx 1 lfs lfs 15 Aug 7 13:06 /tools/lib/libcc1.so -> libcc1.so.0.0.0 lrwxrwxrwx 1 lfs lfs 15 Aug 7 13:06 /tools/lib/libcc1.so.0 -> libcc1.so.0.0.0
-rwxr-xr-x 1 lfs lfs 650120 Aug  7 13:06 /tools/lib/libcc1.so.0.0.0


--DJ

--
http://lists.linuxfromscratch.org/listinfo/lfs-dev
FAQ: http://www.linuxfromscratch.org/faq/
Unsubscribe: See the above information page

Reply via email to