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

Reply via email to