Post by Paul Rogers@Nikos, I am currently running 7.10 (albeit an x86-64 build), and still
build/maintain my 32-bit (B)LFS systems. I hadn't been paying attention to
your thread, currently distracted setting up the 400+ scripts of my 8.1
build. I'm going through your thread "with gun and camera". I don't have
any of the logs from that build, they're only for debugging a package's
build. Let's see what shows up.
Thanks a lot :)
But first, IF it's necessary to start over again, I think it may be worth
the effort to upgrade gcc in Ch-5.5, -5.10, & -6.17 to 7.3 to get retpoline
and hope there's no breakage. Then I'd also patch the kernel up to get the
KPTI patches. I've patched up to 4.9.75 to get some early patches, and
plan to keep up with the latest 4.9 patches for now. I followed Ken's
approach of a separate gcc-7.3 in /opt for compiling the kernel.
Now to your thread...
- I have some reservations about using Virtual Box, and Ubuntu though
others say that works (I can't. I've been using LFS hosts since 4.1). One
must be certain of the image VB is presenting your build environment. In
particular for a 32-bit build, there's the problem of building gmp for
32-bits on a 64-bit system. I find I must be "forensic" about
cross-building like that. I use --target quite a lot, just to make sure
gcc knows what it will run on.
Sorry for not understanding, when u mean 64-bit system u refer to the VM
host which is Ubuntu 12.04 32-bit? Or my laptops OS which is windows 10
64-bit? i don't get it why is it a problem, since my VM runs on 32-bit.
- I agree with Thanos that the "ldd /bin/bash" is a major problem, and
Post by Paul Rogersmeans you must backtrack at least as far as 6.33, and with your diagnosis
that there was already a problem at 6.17. "ldd /usr/bin/file" shouldn't
still be looking at /tools, which strongly implicates 6.10, "Adjusting the
toolchain".
A strange thing that i have not noticed is this.
Binaries 6.12 - 6.16 compiled with the old gcc have the correct paths on
shared libraries on ldd.
Thus because i keep vm snapshots, i skipped building 6.17 gcc and moved to
6.18.
Then 6.18 Bzip2 without having build the 6.17 gcc, had the correct paths
for shared libraries on ldd.
Thus the problem lies on 6.17 gcc.
Then I reverted the snapshot with the 6.17 gcc been build and i inspected
the dummy.log.
I found these references with 'tools' that i didnt like that much..
LIBRARY_PATH=/usr/lib/gcc/i686-pc-linux-gnu/6.2.0/:/usr/
lib/gcc/i686-pc-linux-gnu/6.2.0/../../../:/tools/lib/
COLLECT_GCC_OPTIONS='-v' '-mtune=generic' '-march=pentiumpro'
/usr/libexec/gcc/i686-pc-linux-gnu/6.2.0/collect2 -plugin
/usr/libexec/gcc/i686-pc-linux-gnu/6.2.0/liblto_plugin.so
-plugin-opt=/usr/libexec/gcc/i686-pc-linux-gnu/6.2.0/lto-wrapper
-plugin-opt=-fresolution=/tmp/ccZrO4rT.res -plugin-opt=-pass-through=-lgcc
-plugin-opt=-pass-through=-lgcc_s -plugin-opt=-pass-through=-lc
-plugin-opt=-pass-through=-lgcc -plugin-opt=-pass-through=-lgcc_s
--eh-frame-hdr -m elf_i386 -dynamic-linker /tools/lib/ld-linux.so.2
/usr/lib/gcc/i686-pc-linux-gnu/6.2.0/../../../crt1.o
/usr/lib/gcc/i686-pc-linux-gnu/6.2.0/../../../crti.o
/usr/lib/gcc/i686-pc-linux-gnu/6.2.0/crtbegin.o
-L/usr/lib/gcc/i686-pc-linux-gnu/6.2.0
-L/usr/lib/gcc/i686-pc-linux-gnu/6.2.0/../../..
-L/tools/lib /tmp/cc5hD6yA.o --verbose -lgcc --as-needed -lgcc_s
--no-as-needed -lc -lgcc --as-needed -lgcc_s --no-as-needed
/usr/lib/gcc/i686-pc-linux-gnu/6.2.0/crtend.o /usr/lib/gcc/i686-pc-linux-
gnu/6.2.0/../../../crtn.o
And then another strange thing is that when i inspected the dummy.log of
6.10 i found that in
COLLECT_GCC_OPTIONS
the option -dynamic-linker is pointing to /lib/ld-linux.so.2 and not
-dynamic-linker /tools/lib/ld-linux.so.2 as it is in 6.17 gcc.
Post by Paul Rogers(And in the absence of a good package manager watching your build and able
to selectively remove everything since, I hope you tarballed Ch5 at
completion, and can start over with a clean "partition" at the start of
Ch6. I always do that and keep it until the build is running reasonably
well,)
i keep snapshots for every group of packages been built (i split section
in 8 groups of packages), i revert them and i dont reboot.
Post by Paul RogersPost by ÎÎ¯ÎºÎ¿Ï ÎαμÏÏβαÏthere is a reference of tools here but is accepted according
to this log
http://lfs.phayoune.org/lfs/build-logs/8.1-rc1/pentium4/
logs/077-adjusting
That is NOT authoritative. The book is!
Your SEARCH_DIR still references /tools. Stop there. Until that is
fixed, everything else is a waste of time and effort.
You need to get back to the end of 6.9 with everything "squeaky
clean"--which may not be easy, but you must be able to prove it--and redo
6.10 exactly as the book says. If it doesn't work, then something has
already departed from the book's path--and that's why I used the word
"forensic" above. No deviations are allowed. And yes, from time to time
I've had problems there myself.
- I start all my build scripts "#!/bin/bash -e" so they "drop out" on
errors. Of course 6.10 relies on visual inspection. I intersperse "echo
"Continue?"; read dummy" at each check, and ^C if it doesn't match.
--
Paul Rogers
Rogers' Second Law: "Everything you do communicates."
(I do not personally endorse any additions after this line. TANSTAAFL :-)
--
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