I like the new build system, the mostly improved test results are very encouraging. But I suspect I've still got a lot to learn about how the combination of the new approach plus my own scripts can go wrong.
I completed my normal build from last Saturday's books a day or so ago, and almost everything was rosy, or else (in terms of tests) 'as expected'. But I was not happy about how I remind myself which directories need to exist and be writable by the lfs user (I'm used to creating a few extras for my approach, and binding or chowning, but I can't remember what else is needed - it was more than 6 weeks since my previous build :) I also noticed that I had not logged the test results from tcl and expect - they sailed through and obviously wrote to the screen, but I had no idea what they said. I've also got an interest in updated binutils, gcc, autoconf-beta as noted, and llvm-1.0.0rc1 if I get that far (this is an 'experimental' system). So, this afternoon I started a new build (only those packages have changed since the previous build, to cut down variations and/or identify what they break). Things were going well until I ran the glibc tests. I use pairs of scripts: Top-level for everything done as user lfs, an intochroot script, and a chroot script for everything done as root up to the end of chapter 8. These then invoke a series of scripts for packages, each of which should exit if there is an unexpected error. In glibc, I got the misc/tst-ttyname failure and the package script exited without attempting to install. Fine, I'd removed the '|| true' because recent builds had not had any failures in glibc. Add it back, restart the chroot script. Or not: /sources/scripts/lfs-dev/git/chroot.d/glibc: line 25: /bin/rm: No such file or directory /sources/scripts/lfs-dev/git/functions: line 851: /usr/bin/awk: No such file or directory /sources/scripts/lfs-dev/git/functions: line 851: /bin/date: No such file or directory I was still in chroot, looking around all the items in $LFS/lib seemed to be present and correct. The nI tried exitign chroot and trying to re-enter it: chroot: failed to run command '/usr/bin/env': No such file or directory Again, it was present and the items referenced by ldd seemed to be there. Ran 'strace -o trace chroot /mnt/lfs' but that just gave me much the same: execve("/bin/bash", ["/bin/bash", "-i"], 0x7ffc231e3600 /* 18 vars */) = -1 ENOENT (No such file or directory) And of course $LFS/bin/bash was present and again the libs seemed ok. Start over. This time I backed up before entering chroot, then temporarily put a stop after each package up to and including glibc. Then a series of run, stop, exit chroot, remove the stop from the controlling script, re-enter chroot, run the chroot script. All good. In glibc I got the same failed test, but the script now continued and installed. Exit chroot, remove the last stop, re-enter chroot, continue. So, I know *something* can go wrong with my script, but no idea what. Fun, isn't it ? ;-) ĸen -- +++ Divide By Cucumber Error. Please Reinstall Universe And Reboot +++ - Hogfather -- http://lists.linuxfromscratch.org/listinfo/lfs-dev FAQ: http://www.linuxfromscratch.org/faq/ Unsubscribe: See the above information page