Hi Ken, all,
On 03/05/2016 03:45 AM, Ken Moffat wrote:
I seem to be doing really well this week - everything I touch
breaks! I've gone back to fedora (23) and tried to use that to
build LFS (I suspect that my earlier "it was working, then it broke
after I updated it" experience was because I was trying to mount my
/sources (an nfs mount) automatically - I recall there was some
problem with nfs mounts when we had systemd as an option in trunk,
and for the moment letting root mount it manually (i.e. ,user) and
ro,exec (for my scripts) appears to work.
I've been able to build LFS using Fedora 23. Specifically, the
Scientific Spin which comes with KDE and a load of packages (R, Octave,
etc.)
With regards to host requirements I noticed that yacc is an executable
not a link:
[root@localhost /]# ls -al /usr/bin/yacc
-rwxr-xr-x. 1 root root 98944 Jun 17 2015 /usr/bin/yacc
[root@localhost /]# file /usr/bin/yacc
/usr/bin/yacc: ELF 64-bit LSB shared object, x86-64, version 1 (SYSV),
dynamically linked, interpreter /lib64/ld-linux-x86-64.so.2, for
GNU/Linux 2.6.32,
BuildID[sha1]=e7fa618c196e753c463a89ca0d13752b12a86fd2, stripped
but any other LFS requirement is satisfied after a long "dnf update".
Without any change I installed my scripts and started the build with no
special problem. (Well no problem after I added a second disk to the VM
and got rid of that LVM...err...layer).
LFS builds well, kernel compiles to suit vmware's needs and FC23 host
boots the new LFS 7.9-rc2 from that second disk at first attempt.
On the first attempt (only runnng tests for the toolchain), it
segfaulted in e2fsprogs at the start of make install-libs.
Starting from such a clean FC23 host, e2fsprogs builds well. However
when "making install" (I do "make DESTDIR...", to be more specific), it
reads:
...
You don't have a working TeX binary (tex) installed anywhere in
your PATH, and texi2dvi cannot proceed without one. If you want to use
this script, you'll need to install TeX (if you don't have it) or change
your PATH or TEX environment variable (if you do). See the --help
output for more details.
For information about obtaining TeX, please see http://tug.org/texlive,
or do a web search for TeX and your operating system or distro.
make[1]: [libext2fs.dvi] Error 1 (ignored)
...
which I also get either in a recent Debian host or building from my
"reference" LFS 7.5 host.
If this is the actual point of failure, do you get that warning in your
build?
Is your target clean from any TeX files, or is it possible that some TeX
files somehow sneaked into the target system in a previous build?
The first thing "make install" does is to build some documentation.
...
make[1]: Entering directory '/tmp/e2fsprogs-1.42.13/build/doc'
making install-shlibs in lib/et
make[1]: Entering directory '/tmp/e2fsprogs-1.42.13/build'
make[1]: 'util/subst.conf' is up to date.
make[1]: Leaving directory '/tmp/e2fsprogs-1.42.13/build'
TEXI2DVI libext2fs.dvi
make[1]: Entering directory '/tmp/e2fsprogs-1.42.13/build/lib/et'
make[1]: Entering directory '/tmp/e2fsprogs-1.42.13/build'
make[1]: 'lib/config.h' is up to date.
make[1]: Leaving directory '/tmp/e2fsprogs-1.42.13/build'
cd ../../util ; make symlinks
MKINSTALLDIRS /lib /usr/lib
make[2]: Entering directory '/tmp/e2fsprogs-1.42.13/build/util'
make[1]: Entering directory '/tmp/e2fsprogs-1.42.13/build'
make[1]: 'lib/dirpaths.h' is up to date.
make[1]: Leaving directory '/tmp/e2fsprogs-1.42.13/build'
mkdir /destdir/e2fsprogs-1.42.13
CC ../../util/symlinks.c
make[1]: Entering directory '/tmp/e2fsprogs-1.42.13/build'
make[1]: 'lib/ext2fs/ext2_types.h' is up to date.
make[1]: Leaving directory '/tmp/e2fsprogs-1.42.13/build'
mkdir /destdir/e2fsprogs-1.42.13/lib
Makefile:332: recipe for target 'libext2fs.dvi' failed
...
It shouldn't be failing on any my 3 hosts because texi2dvi does exist in
/tools, but this behavior is consistent across all of them (a hardcoded
path in e2fsprogs?...).
Maybe yours doesn't fail...but segfaults.
I put that down to selinux (apparently erroneously), unmounted -
during that I noticed that /dev, /proc and /sys were NOT bound to
/mnt/lfs, which puzzled me - then I turned off selinux, rebooted,
and tried again.
I don't know much about SELinux but seems enabled in this FC23 host.
[root@localhost ~]# cat /etc/selinux/config
# This file controls the state of SELinux on the system.
# SELINUX= can take one of these three values:
# enforcing - SELinux security policy is enforced.
# permissive - SELinux prints warnings instead of enforcing.
# disabled - No SELinux policy is loaded.
SELINUX=enforcing
I have an 'intochroot.sh' script which is run by user lfs after
su'ing to root. On LFS that handles the bind mounts without trouble,
(I think it tests from outside chroot to see if they are mounted,
and if not it binds them) but on fedora it did not bind them. That
is one place where I differ from the book. Anyway, I did that part
by hand, as root in fedora.
But again it segfaulted in e2fsprogs at make install-libs.
This time, I took a look at the Makefiles (in build/), but AFAICS
only the toplevel Makefile defines install-libs, as
install-libs-recursive, and I cannot find any other references to
install-libs and therefore no explicit rule for the recursive
variant - I guess that -recursive perhaps tells make to run
install-libs in all the directories, but I cannot see any
instructions for that in any of them, so I'm no wiser about what
command is segfaulting. I'm obviously missing something. Anybody,
please ?
ĸen
Sorry, I can only confirm that a clean Fedora 23 (Scientific Spin) can
build LFS 7.9-rc2 up to first boot. By LFS I mean just LFS, not BLFS
that I haven't build (except 'sudo' that I need for my first boot).
Regards.
Alz
--
http://lists.linuxfromscratch.org/listinfo/lfs-dev
FAQ: http://www.linuxfromscratch.org/faq/
Unsubscribe: See the above information page