On 12/29/2019 9:31 AM, Xi Ruoyao wrote:
On 2019-12-29 08:45 -0700, Alan Feuerbacher wrote:
I'm building LFS Version 20191222-systemd, and have run into a problem
I've not seen before. I've entered the Chroot Environment section
and have gotten up to building glibc.

Configure for glibc failed for the Python3 check. For some reason,
the chroot environment does not find python3 to check its version,
although it finds other programs with no trouble.

For example, the system finds sed:
###
(lfs chroot) root:/tools/bin# ./sed --version
./sed (GNU sed) 4.7
. . .
###

But the system does not find python3.8 or the link python3:
###
(lfs chroot) root:/tools/bin# ./python3.8 --version
bash: ./python3.8: No such file or directory
###

Yet everything looks fine in a directory listing:
###
(lfs chroot) root:/tools/bin# ls -l py*
lrwxrwxrwx 1 root root        8 Dec 29 06:02 pydoc3 -> pydoc3.8
-rwxr-xr-x 1 root root       80 Dec 29 06:02 pydoc3.8
lrwxrwxrwx 1 root root        9 Dec 29 06:02 python3 -> python3.8
lrwxrwxrwx 1 root root       16 Dec 29 06:02 python3-config ->
python3.8-config
-rwxr-xr-x 1 root root 20059976 Dec 29 06:02 python3.8
-rwxr-xr-x 1 root root     3083 Dec 29 06:02 python3.8-config
###

Am I missing something?

Alan
Try:

readelf -l /usr/bin/gcc | grep interpreter

It should say "[Requesting program interpreter: /tools/lib64/ld-linux-x86-
64.so.2]".  On 32-bit systems it may be /tools/lib/ld-linux.so.2.  Anyway there
should be a /tools prefix.

If it's correct, try

/tools/bin/ldd /usr/bin/python3.8

If there is any dependency "not found", that's the problem.

On UNIX if "execve" call returns with ENOENT, there is no way to figure out if
the executable file itself does not exist or one necessary shared object does
not exist.  So the shell just say "No such file" and the user should investigate
to figure out the reason.

(I've seen this kind of "the executable exists but shell say no such file"
questions many times.  Is it in the FAQ?  If not we should add it.)

I think you meant "/tools/bin/gcc", right? So

(lfs chroot) root:/tools/bin# readelf -l /usr/bin/gcc | grep interpreter
readelf: Error: '/usr/bin/gcc': No such file

(lfs chroot) root:/tools/bin# readelf -l /tools/bin/gcc | grep interpreter
    [Requesting program interpreter: /tools/lib64/ld-linux-x86-64.so.2]

Similarly:

(lfs chroot) root:/tools/bin# /tools/bin/ldd /usr/bin/python3.8
ldd: /usr/bin/python3.8: No such file or directory

(lfs chroot) root:/tools/bin# /tools/bin/ldd /tools/bin/python3.8
        linux-vdso.so.1 (0x00007ffe8dde0000)
        libcrypt.so.2 => not found
        libpthread.so.0 => /tools/lib/libpthread.so.0
(0x00007fdcf7e80000)
        libdl.so.2 => /tools/lib/libdl.so.2 (0x00007fdcf7e7b000)
        libutil.so.1 => /tools/lib/libutil.so.1 (0x00007fdcf7e76000)
        libm.so.6 => /tools/lib/libm.so.6 (0x00007fdcf7d33000)
        libc.so.6 => /tools/lib/libc.so.6 (0x00007fdcf7b75000)
        /lib64/ld-linux-x86-64.so.2 => /tools/lib64/ld-linux-x86-
64.so.2 (0x00007fdcf7ea3000)

The only "not found" is libcrypt.so.2 => not found

Another check:

lfs chroot) root:/tools/bin# ldd --version
ldd (GNU libc) 2.30
Copyright (C) 2019 Free Software Foundation, Inc.
This is free software; see the source for copying conditions.  There is
NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR
PURPOSE.
Written by Roland McGrath and Ulrich Drepper.


--
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