On 06/04/2018 10:51 πμ, Νίκος Λαμπόβας wrote:
On 5 April 2018 at 19:12, Thanos Baloukas <baloukast...@sch.gr
<mailto:baloukast...@sch.gr>> wrote:
On 05/04/2018 12:38 μμ, Νίκος Λαμπόβας wrote:
On 25 February 2018 at 11:35, Thanos Baloukas
<baloukast...@sch.gr <mailto:baloukast...@sch.gr>
On 02/25/2018 10:58 AM, Νίκος Λαμπόβας wrote:
Thank you for the quick answer.
As said in the email subject the book is LFS, the
version is
7.10 and the Host is a virtual machine with Ubuntu
12.04 LTS.
The Oracle VM Virtualbox is running on Windows 10.
...
snip
...
Firstly, is there a reason you are installing the outdated LFS 7.10
and not the latest 8.2?
i started lfs when lfs 7.10 was the new version but i postponed it
in order to build it parallel to my OS course of NTUA
Did you check carefully with version-check.sh
bash, version 4.2.25(1)-release
/bin/sh -> /bin/bash
Binutils: (GNU Binutils for Ubuntu) 2.22
bison (GNU Bison) 2.5
/usr/bin/yacc -> /usr/bin/bison.yacc
bzip2, Version 1.0.6, 6-Sept-2010.
Coreutils: 8.13
diff (GNU diffutils) 3.2
find (GNU findutils) 4.4.2
GNU Awk 4.1.1, API: 1.1 (GNU MPFR 3.1.0-p3, GNU MP 5.0.2)
/usr/bin/awk -> /usr/bin/gawk
gcc (Ubuntu/Linaro 4.7.3-2ubuntu1~12.04) 4.7.3
g++ (Ubuntu/Linaro 4.7.3-2ubuntu1~12.04) 4.7.3
(Ubuntu EGLIBC 2.15-0ubuntu10.6) 2.15
grep (GNU grep) 2.10
gzip 1.4
Linux version 3.13.0-32-generic
m4 (GNU M4) 1.4.16
GNU Make 3.81
patch 2.6.1
Perl version='5.14.2';
GNU sed version 4.2.1
tar (GNU tar) 1.26
makeinfo (GNU texinfo) 4.13
xz (XZ Utils) 5.1.0alpha
g++ compilation OK
Not sure about EGLIBC, the rest look good.
LFS-7.10 had library-check.sh too.
I have built lfs all over again until "6.40 perl" for watching
all warnings and possible package errors.
The commands you mentioned on 'Creating Essential Files and
Symlinks' were executed successfully.
Also there is no reference of 'tools' in gcc specs file on '
Adjusting the toolchain' and all debug messages
for program interpreter are mention /lib/ld-linux.so.2 and not
/tools/lib/ld-linux.so.2.
A strange thing i have noticed is that all binaries of the
packages before 6.17 GCC-6.2.0, have correct paths
on ldd command. For example:
ldd /usr/bin/file
linux-gate.so.1 (0xb773a000)
libmagic.so.1 => /usr/lib/libmagic.so.1 (0xb7710000)
libz.so.1 => /lib/libz.so.1 (0xb76f5000)
libc.so.6 => /lib/libc.so.6 (0xb753e000)
/lib/ld-linux.so.2 (0xb773b000)
But after GCC-6.2.0 all the libraries point to 'tools'. For example:
ldd /bin/bzip2
linux-gate.so.1 (0xb7747000)
libbz2.so.1.0 => not found
libc.so.6 => /tools/lib/libc.so.6 (0xb758e000)
/tools/lib/ld-linux.so.2 (0xb7748000)
When i execute "LD_DEBUG=libs ldd /usr/bin/file" a binary
compiled before GCC-6.2.0 i find that it searches
in the beginning the system path that refers to a directory
relative to "tools".
LD_DEBUG=libs ldd /usr/bin/file
11241: find library=libdl.so.2 [0]; searching
11241: search cache=/tools/etc/ld.so.cache
11241: search
path=/tools/lib/tls/i686/sse2:/tools/lib/tls/i686:/tools/lib/tls/sse2:/tools/lib/tls:/tools/lib/i686/sse2:/tools/lib/i686:/tools/lib/sse2:/tools/lib
(system search path)
11241: trying file=/tools/lib/tls/i686/sse2/libdl.so.2
11241: trying file=/tools/lib/tls/i686/libdl.so.2
11241: trying file=/tools/lib/tls/sse2/libdl.so.2
11241: trying file=/tools/lib/tls/libdl.so.2
11241: trying file=/tools/lib/i686/sse2/libdl.so.2
11241: trying file=/tools/lib/i686/libdl.so.2
11241: trying file=/tools/lib/sse2/libdl.so.2
11241: trying file=/tools/lib/libdl.so.2
11241:
11241: find library=libc.so.6 [0]; searching
11241: search cache=/tools/etc/ld.so.cache
11241: search path=/tools/lib (system search path)
11241: trying file=/tools/lib/libc.so.6
11241:
11241: calling init: /tools/lib/libc.so.6
11241: calling init: /tools/lib/libdl.so.2
11241: initialize program: /bin/bash
11241: transferring control: /bin/bash
11241:
11241: find library=libnss_files.so.2 [0]; searching
11241: search cache=/tools/etc/ld.so.cache
11241: search path=/tools/lib (system search path)
11241: trying file=/tools/lib/libnss_files.so.2
11241:
11241: calling init: /tools/lib/libnss_files.so.2
11244: calling fini: /bin/bash [0]
11244: calling fini: /tools/lib/libdl.so.2 [0]
11244: calling fini: /tools/lib/libnss_files.so.2 [0]
11244:
11245: find library=libmagic.so.1 [0]; searching
11245: search cache=/etc/ld.so.cache
11245: trying file=/usr/lib/libmagic.so.1
.
.
.
How can i fix this?
What is the output of
ls -l /usr/bin/ldd
and
echo $PATH
in chroot? If /tools/bin precedes /usr/bin you are executing
/tools/bin/ldd
This is the output:
root:/build_lfs_scripts# ls -l /usr/bin/ldd
-rwxr-xr-x 1 root root 5858 Mar 9 16:50 /usr/bin/ldd
root:/build_lfs_scripts# echo $PATH
/bin:/usr/bin:/sbin:/usr/sbin:/tools/bin
If the above are ok and you are absolutely sure that ALL the sanity
checks on 6.10 Adjusting the Toolchain
this is the output:
'/tools/bin/ld' -> '/tools/bin/ld-old'
'/tools/i686-pc-linux-gnu/bin/ld' -> '/tools/i686-pc-linux-gnu/bin/ld-old'
'/tools/bin/ld-new' -> '/tools/bin/ld'
'/tools/i686-pc-linux-gnu/bin/ld' -> '/tools/bin/ld'
[Requesting program interpreter: /lib/ld-linux.so.2]
/usr/lib/crt1.o succeeded
/usr/lib/crti.o succeeded
/usr/lib/crtn.o succeeded
#include <...> search starts here:
/usr/include
SEARCH_DIR("=/tools/i686-pc-linux-gnu/lib32")
SEARCH_DIR("/usr/lib")
SEARCH_DIR("/lib")
SEARCH_DIR("=/tools/i686-pc-linux-gnu/lib");
attempt to open /lib/libc.so.6 succeeded
found ld-linux.so.2 at /lib/ld-linux.so.2
removed 'dummy.c'
removed 'a.out'
removed 'dummy.log'
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
(on version 7.10 there is no log for 6.10 section)
Also the specs file for 6.10 section in the dir (
/tools/lib/gcc/i686-pc-linux-gnu/6.2.0/specs) has this entry for the linker
%{muclibc:/lib/ld-uClibc.so.0;:%{mbionic:/system/bin/linker;:%{mmusl:/lib/ld-musl-i386.so.1;:/lib/ld-linux.so.2}}}
which is correct but for the gcc in 6.17 there's no such
modification and no specs file.
Not sure about that. As I wrote above I'm not even sure your host's libc
meets the requirements.
and 6.17 GCC-6.2.0 were/are
as the book says,
/usr/lib/gcc/i686-pc-linux-gnu/6.2.0/../../../crt1.o succeeded
/usr/lib/gcc/i686-pc-linux-gnu/6.2.0/../../../crti.o succeeded
/usr/lib/gcc/i686-pc-linux-gnu/6.2.0/../../../crtn.o succeeded
#include <...> search starts here:
/usr/lib/gcc/i686-pc-linux-gnu/6.2.0/include
/usr/local/include
/usr/lib/gcc/i686-pc-linux-gnu/6.2.0/include-fixed
/usr/include
SEARCH_DIR("/usr/i686-pc-linux-gnu/lib32")
SEARCH_DIR("/usr/local/lib32")
SEARCH_DIR("/lib32")
SEARCH_DIR("/usr/lib32")
SEARCH_DIR("/usr/i686-pc-linux-gnu/lib")
SEARCH_DIR("/usr/local/lib")
SEARCH_DIR("/lib")
SEARCH_DIR("/usr/lib");
attempt to open /lib/libc.so.6 succeeded
found ld-linux.so.2 at /lib/ld-linux.so.2
removed 'dummy.c'
removed 'a.out'
removed 'dummy.log'
Seems good.
One last thing I noted is your bash prompt
> root:/build_lfs_scripts#
which indicates that you scripted the build. That has benefits, but
did you ensure that your scripts exit when a command fails, putting
'set -e' (without quotes) after #!/bin/bash? If using pipes,
'set -o pipefail' is needed too.
I'm sorry I can't help you more to debug this.
I didn't install LFS-7.10 and haven't build on x86 for a long time.
Good luck with your course.
Καλή Ανάσταση! Happy Easter!
PS: Sorry for the quoting mess.
--
Thanos
--
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