Re: [lfs-support] make -k check failure for binutils ch 8.18
On Mon, 2020-10-26 at 16:08 -0600, Alexander Brassel wrote: > Additionally, > > here is running sed: > > ``` > make DESTDIR=$LFS install > cd .. > cd .. > cd gcc > ls > case $(uname -m) in x86_64) sed -e '/m64=/s/lib64/lib/' -i.orig > gcc/config/i386/t-linux64; ;; esac > rm -rf build > mkdir build && cd build > cat $LFS_TGT > mkdir -pv $LFS_TGT/libgcc > ln -s ../../../libgcc/gthr-posix.h $LFS_TGT/libgcc/gthr-default.h > ``` The sed seems ok. I think I am unable to find what went wrong, but having the libgcc_s and libstdc++ library in $LFS/usr/lib64 is not expected with the 10.0 book, nor is it expected to have a $LFS/usr/lib64 directory. Only $LFS/lib64 should exist, with only symlinks inside it. You'd better start over: remove anything in $LFS except the $LFS/sources directory (and $LFS/lost+found if it exists), make sure there are no extracted tarballs in $LFS/sources ("find $LFS/sources -maxdepth 1 -mindepth 1 -type d" for example). And restart at the beginning of chapter 4. Pay special attention to instructions containing "64". Also, be sure to delete the extracted packages when you are done with them. Check whether /usr/lib64 exists after each package installation, just in case. Pierre -- http://lists.linuxfromscratch.org/listinfo/lfs-support FAQ: http://www.linuxfromscratch.org/blfs/faq.html Unsubscribe: See the above information page Do not top post on this list. A: Because it messes up the order in which people normally read text. Q: Why is top-posting such a bad thing? A: Top-posting. Q: What is the most annoying thing in e-mail? http://en.wikipedia.org/wiki/Posting_style
Re: [lfs-support] make -k check failure for binutils ch 8.18
On Mon, Oct 26, 2020 at 11:46:23AM -0600, Alexander Brassel wrote: > When running the check, I see errors reported about missing libgcc_s.so.1 > > ``` > make[5]: *** [Makefile:9399: gdb_index_test_1] Error 1 > make[5]: Target 'gdb_index_test_1.stdout' not remade because of errors. > `echo g++ -W -Wall-Wstack-usage=262144 -D_LARGEFILE_SOURCE > -D_FILE_OFFSET_BITS=64 -fmerge-constants -g -O2 -fno-use-linker-plugin -o > gdb_index_test_2 | sed -e 's/\([^ ]*\)\(.*\)/\1 -Bgcctestdir\/\2/' -e > 's/-Wp,-D_FORTIFY_SOURCE=[0-9][0-9]*//'` -Wl,--gdb-index > gdb_index_test_cdebug.o > gcctestdir/collect-ld: error: cannot open > /usr/lib/gcc/x86_64-lfs-linux-gnu/10.2.0/../../../../lib/libgcc_s.so: No > such file or directory > gcctestdir/collect-ld: error: cannot open > /usr/lib/gcc/x86_64-lfs-linux-gnu/10.2.0/../../../../lib/libgcc_s.so: No > such file or directory > collect2: error: ld returned 1 exit status > make[5]: *** [Makefile:9405: gdb_index_test_2] Error 1 > ``` > > So I checked the directory layout and usr/lib/libgcc_s.so does exist. > However, it's a pointer to: > > `readlink libgcc_s.so` > produces: `/tools/lib/libgcc_s.so` > > Navigating to /tools/lib: > ``` > (lfs chroot) root:/tools/lib# ls > gcc libcc1.la libcc1.so libcc1.so.0 libcc1.so.0.0.0 > ``` > > Why might this setup be occuring? The libgcc_s files should have been installed in $LFS/usr in gcc pass 2 at the end of chapter 6. $LFS should be /mnt/lfs. The only packages installed in /mnt/lfs/tools are binutils pass 1 and gcc pass 1. No idea why yours is different, but I wonder if you have passed 'tools' to a different package (before 10.0 we put a lot of things in tools, now we DESTDIR to $LFS/usr). ĸen -- The people next door oppress me all night long. I tell them: I work all day, a man's got to have some time to learn to play the tuba. That's oppression, that is.[ Guards! Guards! ] -- http://lists.linuxfromscratch.org/listinfo/lfs-support FAQ: http://www.linuxfromscratch.org/blfs/faq.html Unsubscribe: See the above information page Do not top post on this list. A: Because it messes up the order in which people normally read text. Q: Why is top-posting such a bad thing? A: Top-posting. Q: What is the most annoying thing in e-mail? http://en.wikipedia.org/wiki/Posting_style
Re: [lfs-support] make -k check failure for binutils ch 8.18
Additionally, here is running sed: ``` make DESTDIR=$LFS install cd .. cd .. cd gcc ls case $(uname -m) in x86_64) sed -e '/m64=/s/lib64/lib/' -i.orig gcc/config/i386/t-linux64; ;; esac rm -rf build mkdir build && cd build cat $LFS_TGT mkdir -pv $LFS_TGT/libgcc ln -s ../../../libgcc/gthr-posix.h $LFS_TGT/libgcc/gthr-default.h ``` -- http://lists.linuxfromscratch.org/listinfo/lfs-support FAQ: http://www.linuxfromscratch.org/blfs/faq.html Unsubscribe: See the above information page Do not top post on this list. A: Because it messes up the order in which people normally read text. Q: Why is top-posting such a bad thing? A: Top-posting. Q: What is the most annoying thing in e-mail? http://en.wikipedia.org/wiki/Posting_style
Re: [lfs-support] make -k check failure for binutils ch 8.18
> > Please do not top post... > Sorry! It seems as if gmail does this by default. I've attempted to get rid of it. Note, a listing of /usr/lib64 may give some clue. I did make a symlink for libgcc_s.so to /usr/lib earlier if I recall to address another issue. Here is `/usr/lib64`: ``` lfs:~$ ls $LFS/usr/lib64 libgcc_s.solibstdc++.a libstdc++.solibstdc++.so.6.0.28 libstdc++fs.a libsupc++.a libgcc_s.so.1 libstdc++.la libstdc++.so.6 libstdc++.so.6.0.28-gdb.py libstdc++fs.la libsupc++.la ``` I am going to examine pass 2 in the meantime. -- http://lists.linuxfromscratch.org/listinfo/lfs-support FAQ: http://www.linuxfromscratch.org/blfs/faq.html Unsubscribe: See the above information page Do not top post on this list. A: Because it messes up the order in which people normally read text. Q: Why is top-posting such a bad thing? A: Top-posting. Q: What is the most annoying thing in e-mail? http://en.wikipedia.org/wiki/Posting_style
Re: [lfs-support] make -k check failure for binutils ch 8.18
On Mon, 2020-10-26 at 21:53 +0100, Pierre Labastie wrote: > Please do not top post... > > On Mon, 2020-10-26 at 13:54 -0600, Alexander Brassel wrote: > > Hi Ken, > > > > > The libgcc_s files should have been installed in $LFS/usr in gcc > > > pass 2 at the end of chapter 6. $LFS should be /mnt/lfs. The > > > only > > > packages installed in /mnt/lfs/tools are binutils pass 1 and gcc > > > pass 1. > > > > That's interesting. When I check the LFS users history, I find the > > following commands: > > > > ``` > > lfs:~$ cat ~/.bash_history | grep -- --enable-languages=c,c++ > > ../configure -- > > target=$LFS_TGT -- > > prefix=$LFS/tools > > --with-glibc-version=2.11 > > > > --with-sysroot=$LFS -- > > with-newlib --without-headers > > > > --enable-initfini-array > > > > --disable-nls -- > > disable-shared --disable-multilib > > > > --disable-decimal-float > > > > --disable-threads -- > > disable-libatomic --disable-libgomp > > > > --disable-libquadmath > > > > --disable-libssp -- > > disable-libvtv --disable- > > libstdcxx > > --enable-languages=c,c++ > > That is pass1 > > > ../configure -- > > build=$(../config.guess) --host=$LFS_TGT > > > > --prefix=/usr > > > > CC_FOR_TARGET=$LFS_TGT-gcc -- > > with-build-sysroot=$LFS --enable-initfini- > > array --disable-nls > > > > --disable-multilib - > > - > > disable-decimal-float --disable- > > libatomic > > --disable-libgomp > > > > --disable-libquadmath -- > > disable-libssp --disable-libvtv > > > > --disable-libstdcxx > > > > --enable-languages=c,c++ > > > > That is pass2, and it seems ok, but see below. > > > > > > No idea why yours is different, but I wonder if you have passed > > > 'tools' to a different package (before 10.0 we put a lot of > > > things > > > in tools, now we DESTDIR to $LFS/usr). > > > > > For what it's worth here, I am using 10.0 > > > > I looked through all of the places I used destdir during temp > > toolchain onwards. I see the following: > > ``` > > lfs:~$ cat ~/.bash_history | grep -- DESTDIR > > make DESTDIR=$LFS install -j8 > > make DESTDIR=$LFS install -j8 > > make DESTDIR=$LFS install > > make DESTDIR=$LFS TIC_PATH=$(pwd)/build/progs/tic install > > make DESTDIR=$LFS TIC_PATH=$(pwd)/build/progs/tic install -j8 > > make DESTDIR=$LFS install -j8 > > make DESTDIR=$LFS install -j8 > > make DESTDIR=$LFS install -j8 > > make DESTDIR=$LFS install -j8 > > make DESTDIR=$LFS install > > make DESTDIR=$LFS install -j8 > > make DESTDIR=$LFS install -j8 > > make DESTDIR=$LFS install -j8 > > ./configure --prefix=/usr --host=$LFS_TGT && make -j8 && make > > DESTDIR=$LFS install -j8 > > make DESTDIR=$LFS install -j8 > > make DESTDIR=$LFS install -j8 > > make DESTDIR=$LFS install -j8 > > make DESTDIR=$LFS install -j8 > > make -j8 && make DESTDIR=$LFS install -j8 > > make DESTDIR=$LFS install > > make DESTDIR=$LFS install -j8 > > ``` > > > > Don't seem to be any locations where `tool` is passed, and I have > > $LFS in my /etc/environment (checked to make sure it is correctly > > set > > to `/mnt/lfs`) > > > > When looking at chapter 6.18 (second pass of gcc) is the `-- > > prefix=usr` directive in configure be responsible for ensuring that > > the gcc shared libs are installed correctly? > > yes, but see below > > > > > Additionally, is there any extra, helpful info that I could provide > > to you? I've proactively provided the contents of /usr, /lib, and > > /usr/lib. > > > > ``` > > lfs:~$ ls $LFS/usr > > bin include lib lib64 libexec local sbin share src var > > x86_64-lfs-linux-gnu > > ``` > > Hmmm, shouldn't contain lib64... > > > > > ``` > > lfs:~$ ls $LFS/lib > > firmware libbz2.so.1.0 libgcc_s.so libmount.so.1.1.0 > > libnss_db.so.2 libreadline.so.8 libutil-2.32.so > > ld-2.32.so libbz2.so.1.0.8 libgcc_s.so.1 libmvec-2.32.so > > > > [...] > > ``` > > Ah, so
Re: [lfs-support] make -k check failure for binutils ch 8.18
Please do not top post... On Mon, 2020-10-26 at 13:54 -0600, Alexander Brassel wrote: > Hi Ken, > > > The libgcc_s files should have been installed in $LFS/usr in gcc > > pass 2 at the end of chapter 6. $LFS should be /mnt/lfs. The only > > packages installed in /mnt/lfs/tools are binutils pass 1 and gcc > > pass 1. > > That's interesting. When I check the LFS users history, I find the > following commands: > > ``` > lfs:~$ cat ~/.bash_history | grep -- --enable-languages=c,c++ > ../configure -- > target=$LFS_TGT --prefix=$LFS/tools > --with-glibc-version=2.11 > --with-sysroot=$LFS -- > with-newlib --without-headers > --enable-initfini-array > --disable-nls -- > disable-shared --disable-multilib > --disable-decimal-float > --disable-threads -- > disable-libatomic --disable-libgomp > --disable-libquadmath > --disable-libssp -- > disable-libvtv --disable-libstdcxx > --enable-languages=c,c++ That is pass1 > ../configure -- > build=$(../config.guess) --host=$LFS_TGT > --prefix=/usr > CC_FOR_TARGET=$LFS_TGT-gcc -- > with-build-sysroot=$LFS --enable-initfini- > array --disable-nls > --disable-multilib -- > disable-decimal-float --disable-libatomic > --disable-libgomp > --disable-libquadmath -- > disable-libssp --disable-libvtv > --disable-libstdcxx > --enable-languages=c,c++ > That is pass2, and it seems ok, but see below. > > > No idea why yours is different, but I wonder if you have passed > > 'tools' to a different package (before 10.0 we put a lot of things > > in tools, now we DESTDIR to $LFS/usr). > > > For what it's worth here, I am using 10.0 > > I looked through all of the places I used destdir during temp > toolchain onwards. I see the following: > ``` > lfs:~$ cat ~/.bash_history | grep -- DESTDIR > make DESTDIR=$LFS install -j8 > make DESTDIR=$LFS install -j8 > make DESTDIR=$LFS install > make DESTDIR=$LFS TIC_PATH=$(pwd)/build/progs/tic install > make DESTDIR=$LFS TIC_PATH=$(pwd)/build/progs/tic install -j8 > make DESTDIR=$LFS install -j8 > make DESTDIR=$LFS install -j8 > make DESTDIR=$LFS install -j8 > make DESTDIR=$LFS install -j8 > make DESTDIR=$LFS install > make DESTDIR=$LFS install -j8 > make DESTDIR=$LFS install -j8 > make DESTDIR=$LFS install -j8 > ./configure --prefix=/usr --host=$LFS_TGT && make -j8 && make > DESTDIR=$LFS install -j8 > make DESTDIR=$LFS install -j8 > make DESTDIR=$LFS install -j8 > make DESTDIR=$LFS install -j8 > make DESTDIR=$LFS install -j8 > make -j8 && make DESTDIR=$LFS install -j8 > make DESTDIR=$LFS install > make DESTDIR=$LFS install -j8 > ``` > > Don't seem to be any locations where `tool` is passed, and I have > $LFS in my /etc/environment (checked to make sure it is correctly set > to `/mnt/lfs`) > > When looking at chapter 6.18 (second pass of gcc) is the `-- > prefix=usr` directive in configure be responsible for ensuring that > the gcc shared libs are installed correctly? yes, but see below > > Additionally, is there any extra, helpful info that I could provide > to you? I've proactively provided the contents of /usr, /lib, and > /usr/lib. > > ``` > lfs:~$ ls $LFS/usr > bin include lib lib64 libexec local sbin share src var > x86_64-lfs-linux-gnu > ``` Hmmm, shouldn't contain lib64... > > ``` > lfs:~$ ls $LFS/lib > firmware libbz2.so.1.0 libgcc_s.so libmount.so.1.1.0 > libnss_db.so.2 libreadline.so.8 libutil-2.32.so > ld-2.32.so libbz2.so.1.0.8 libgcc_s.so.1 libmvec-2.32.so > [...] > ``` Ah, so here is libgcc_s.so ! Something wrong again, It is normally in /usr/lib > > ``` > lfs:~$ ls $LFS/usr/lib > [...] > ``` > In view of the fact that you have /usr/lib64, and that libgcc_s.so has been installed into $LFS/lib, I suspect there is something wrong in the sed at the beginning of gcc-pass2 installation. But that could be something else... Note, a listing of /usr/lib64 may
Re: [lfs-support] make -k check failure for binutils ch 8.18
Hi Ken, The libgcc_s files should have been installed in $LFS/usr in gcc > pass 2 at the end of chapter 6. $LFS should be /mnt/lfs. The only > packages installed in /mnt/lfs/tools are binutils pass 1 and gcc > pass 1. > That's interesting. When I check the LFS users history, I find the following commands: ``` lfs:~$ cat ~/.bash_history | grep -- --enable-languages=c,c++ ../configure --target=$LFS_TGT --prefix=$LFS/tools --with-glibc-version=2.11 --with-sysroot=$LFS--with-newlib --without-headers --enable-initfini-array--disable-nls --disable-shared --disable-multilib --disable-decimal-float--disable-threads --disable-libatomic --disable-libgomp --disable-libquadmath --disable-libssp --disable-libvtv --disable-libstdcxx --enable-languages=c,c++ ../configure --build=$(../config.guess) --host=$LFS_TGT --prefix=/usr CC_FOR_TARGET=$LFS_TGT-gcc --with-build-sysroot=$LFS --enable-initfini-array --disable-nls --disable-multilib --disable-decimal-float--disable-libatomic --disable-libgomp --disable-libquadmath --disable-libssp --disable-libvtv --disable-libstdcxx --enable-languages=c,c++ ``` No idea why yours is different, but I wonder if you have passed > 'tools' to a different package (before 10.0 we put a lot of things > in tools, now we DESTDIR to $LFS/usr). > For what it's worth here, I am using 10.0 I looked through all of the places I used destdir during temp toolchain onwards. I see the following: ``` lfs:~$ cat ~/.bash_history | grep -- DESTDIR make DESTDIR=$LFS install -j8 make DESTDIR=$LFS install -j8 make DESTDIR=$LFS install make DESTDIR=$LFS TIC_PATH=$(pwd)/build/progs/tic install make DESTDIR=$LFS TIC_PATH=$(pwd)/build/progs/tic install -j8 make DESTDIR=$LFS install -j8 make DESTDIR=$LFS install -j8 make DESTDIR=$LFS install -j8 make DESTDIR=$LFS install -j8 make DESTDIR=$LFS install make DESTDIR=$LFS install -j8 make DESTDIR=$LFS install -j8 make DESTDIR=$LFS install -j8 ./configure --prefix=/usr --host=$LFS_TGT && make -j8 && make DESTDIR=$LFS install -j8 make DESTDIR=$LFS install -j8 make DESTDIR=$LFS install -j8 make DESTDIR=$LFS install -j8 make DESTDIR=$LFS install -j8 make -j8 && make DESTDIR=$LFS install -j8 make DESTDIR=$LFS install make DESTDIR=$LFS install -j8 ``` Don't seem to be any locations where `tool` is passed, and I have $LFS in my /etc/environment (checked to make sure it is correctly set to `/mnt/lfs`) When looking at chapter 6.18 (second pass of gcc) is the `--prefix=usr` directive in configure be responsible for ensuring that the gcc shared libs are installed correctly? Additionally, is there any extra, helpful info that I could provide to you? I've proactively provided the contents of /usr, /lib, and /usr/lib. ``` lfs:~$ ls $LFS/usr bin include lib lib64 libexec local sbin share src var x86_64-lfs-linux-gnu ``` ``` lfs:~$ ls $LFS/lib firmware libbz2.so.1.0libgcc_s.solibmount.so.1.1.0 libnss_db.so.2 libreadline.so.8libutil-2.32.so ld-2.32.so libbz2.so.1.0.8libgcc_s.so.1 libmvec-2.32.so libnss_dns-2.32.so libreadline.so.8.0 libutil.so.1 ld-linux-x86-64.so.2 libc-2.32.solibhistory.so.8libmvec.so.1 libnss_dns.so.2 libresolv-2.32.solibuuid.so.1 libBrokenLocale-2.32.so libc.so.6libhistory.so.8.0 libncursesw.so.6 libnss_files-2.32.so libresolv.so.2libuuid.so.1.3.0 libBrokenLocale.so.1 libcrypt-2.32.so liblzma.so.5 libncursesw.so.6.2 libnss_files.so.2 librt-2.32.solibz.so.1 libSegFault.so libcrypt.so.1liblzma.so.5.2.5 libnsl-2.32.so libnss_hesiod-2.32.so librt.so.1libz.so.1.2.11 libanl-2.32.so libdl-2.32.solibm-2.32.so libnsl.so.1 libnss_hesiod.so.2 libsmartcols.so.1libzstd.so.1 libanl.so.1 libdl.so.2libm.so.6 libnss_compat-2.32.so libpcprofile.so libsmartcols.so.1.1.0 libzstd.so.1.4.5 libblkid.so.1 libfdisk.so.1libmemusage.so libnss_compat.so.2 libpthread-2.32.so libthread_db-1.0.so libblkid.so.1.1.0 libfdisk.so.1.1.0 libmount.so.1 libnss_db-2.32.so libpthread.so.0 libthread_db.so.1 ``` ``` lfs:~$ ls $LFS/usr/lib Mcrt1.o libbz2.a libfl.so.2 libmenuw.so.6.2 libpython3.so libz.a Scrt1.o libbz2.so libfl.so.2.0.0 libmount.so libreadline.so libz.so audit libc.a libformw.so 'libmount.so*' libresolv.a libzstd.so bash libc.so
[lfs-support] make -k check failure for binutils ch 8.18
When running the check, I see errors reported about missing libgcc_s.so.1 ``` make[5]: *** [Makefile:9399: gdb_index_test_1] Error 1 make[5]: Target 'gdb_index_test_1.stdout' not remade because of errors. `echo g++ -W -Wall-Wstack-usage=262144 -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -fmerge-constants -g -O2 -fno-use-linker-plugin -o gdb_index_test_2 | sed -e 's/\([^ ]*\)\(.*\)/\1 -Bgcctestdir\/\2/' -e 's/-Wp,-D_FORTIFY_SOURCE=[0-9][0-9]*//'` -Wl,--gdb-index gdb_index_test_cdebug.o gcctestdir/collect-ld: error: cannot open /usr/lib/gcc/x86_64-lfs-linux-gnu/10.2.0/../../../../lib/libgcc_s.so: No such file or directory gcctestdir/collect-ld: error: cannot open /usr/lib/gcc/x86_64-lfs-linux-gnu/10.2.0/../../../../lib/libgcc_s.so: No such file or directory collect2: error: ld returned 1 exit status make[5]: *** [Makefile:9405: gdb_index_test_2] Error 1 ``` So I checked the directory layout and usr/lib/libgcc_s.so does exist. However, it's a pointer to: `readlink libgcc_s.so` produces: `/tools/lib/libgcc_s.so` Navigating to /tools/lib: ``` (lfs chroot) root:/tools/lib# ls gcc libcc1.la libcc1.so libcc1.so.0 libcc1.so.0.0.0 ``` Why might this setup be occuring? -- http://lists.linuxfromscratch.org/listinfo/lfs-support FAQ: http://www.linuxfromscratch.org/blfs/faq.html Unsubscribe: See the above information page Do not top post on this list. A: Because it messes up the order in which people normally read text. Q: Why is top-posting such a bad thing? A: Top-posting. Q: What is the most annoying thing in e-mail? http://en.wikipedia.org/wiki/Posting_style