Jeremy Huntwork wrote: > Jeremy Huntwork wrote: >> As an aside, the effects of their not having a /lib64 dir or symlink >> seems to be that if I want to use a CLFS system as a host, I *must* use >> their pure64 patch. I tried a build last night without using that patch >> and just using --disable-multilib and appropriate symlinks and gcc pass1 >> failed when it got to stage1 of the bootstrap. I didn't get the >> opportunity to add a /lib64 symlink and test it further...
Hmm, that's interesting. I didn't expect that. >> I suppose that if the above is correct this also means that your native >> build expects a /lib64 dir or symlink on the host? > > This is confirmed. Adding /lib64 and /usr/lib64 symlinks to a CLFS host > enables gcc to bootstrap in pass1 without using the pure64 patch. Initially I thought this part of the pure 64 patch: --- gcc-4.2.0.orig/gcc/config/i386/t-linux64 2007-05-16 19:21:19.000000000 -0400 +++ gcc-4.2.0/gcc/config/i386/t-linux64 2007-05-18 17:04:36.000000000 -0400 @@ -6,7 +6,7 @@ MULTILIB_OPTIONS = m64/m32 MULTILIB_DIRNAMES = 64 32 -MULTILIB_OSDIRNAMES = ../lib64 ../lib +MULTILIB_OSDIRNAMES = ../lib ../lib32 was why you weren't seeing the -L/lib/../lib64 stuff in your -v output. I tried my build with just that part changed but I still ended up with -L/lib/../lib appearing (which wasn't in your log). Therefore I don't really know what is going on :-( Tho' it does appear from what you say that the host's /lib* layout does indeed play a role. Ideally, the build method should work no matter what the /lib* layout on the host is. But I must say, it does appear that any 64-bit host that is missing /lib64 and /usr/lib64 is not kosher. After all, the facts are that a) the lib64 stuff is the default config throughout the entire upstream toolchain sources, b) the big distros all appear to use lib64 and c) lib64 is apparently mandated by the LSB (tho' it's a bit vague there judging from my casual glance). But on the flipside, all of the above possibly assumes a multilib setup? Dunno. It would be very interesting if all the 64-bit distros could be surveyed (ie: ls -ld /l*) to find out their /lib* layout arrangements and whether they are multilib or pure 64. Anyhow, I still suspect there is a buglet involving MULTILIB_OSDIRNAMES somewhere in the GCC driver that needs to be accounted for in this `--disable-multilib' build method, but my brain hurts when trying to figure out all the twisty parts of gcc.c. Regards Greg -- http://www.diy-linux.org/ -- http://linuxfromscratch.org/mailman/listinfo/lfs-dev FAQ: http://www.linuxfromscratch.org/faq/ Unsubscribe: See the above information page