lfs-book, version 6.4, chapter 6.7, "make: gcc: Command not found"

jaredp webonomic at gmail.com
Fri Feb 13 23:24:02 PST 2009


I'm a n00b and only in ch. 5.  But when when he did the command:

# echo $PATH

and it returned:
/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/bin/X11

I am thinking another indication that the wrong user is being used is
the reference to X11 in the $PATH.  As far as I can see in the book,
there is no X11/windowing stuff in LFS...?

Jared



On Fri, Feb 13, 2009 at 8:47 PM, Chris Staub <chris at beaker67.com> wrote:
> Aaron Schawalder wrote:
>> (I apologize for sending this mail again. I have sent the last mail with
>> wrong return address. I am sorry.)
>>
>
> I'm seeing a long list of problems with what you're doing...
>
>> Hello
>>
>> I am new to lfs and have successfully built the toolchain. At the end
>> oft chapter "5.12 GCC-4.3.2 - Pass 2" the output of readelf was correct:
>>
>> lfs at esprit:/mnt/lfs/tools$ echo 'main(){}' > dummy.c
>> lfs at esprit:/mnt/lfs/tools$ cc dummy.c
>> lfs at esprit:/mnt/lfs/tools$ readelf -l a.out | grep ': /tools'
>>      [Requesting program interpreter: /tools/lib/ld-linux.so.2]
>>
> At least this much is correct.
>
>> All went fine and I was very careful to always strictly follow the
>> commands of the lfs-book.
>>
>> I entered chapter 6.7 and I performed the following commands:
>> root:/sources# tar jxf linux-2.6.27.4.tar.bz2
>> root:/sources# cd linux-2.6.27.4
>> root:/sources/linux-2.6.27.4# make mrproper
>> make: gcc: Command not found
>> root:/sources/linux-2.6.27.4# gcc --version
>> bash: /tools/bin/gcc: No such file or directory
>>
>> Something is wrong ...
>>
>> I performed the following tests:
>> /home/lfs is the home directory of user "lfs"
>>
>> root:/sources/linux-2.6.27.4# exit
>> logout
>> esprit:/home/lfs# echo $LFS
>> /mnt/lfs
>> esprit:/home/lfs# readelf -l /tools/bin/gcc | grep interpret
>>      [Requesting program interpreter: /lib/ld-linux.so.2]
>> esprit:/home/lfs#
>
> I don't see the point of this. You're neither the lfs user nor inside
> chroot - this is just as a regular user, so you're only testing the host
> system's gcc.
>
>>
>> esprit:/home/lfs# echo 'main(){}' > dummy.c
>> esprit:/home/lfs# cc dummy.c
>> bash: cc: command not found
>> esprit:/home/lfs# cd /tools/bin
>> esprit:/tools/bin# vdir ./cc
>> lrwxrwxrwx 1 root root 3 Jan  4 07:57 ./cc -> gcc
>> esprit:/tools/bin#
>
> Obviously "cc" isn't going to be found if /tools/bin isn't in the PATH.
>>
>> New login as user "lfs" just as in chapter 5:
>> lfs at esprit:~$ cd /mnt/lfs/tools/
>> lfs at esprit:/mnt/lfs/tools$ ls
>> bin  etc  i686-pc-linux-gnu  include  lib  libexec  sbin  share  var
>> lfs at esprit:/mnt/lfs/tools$ echo 'main(){}' > dummy.c
>> bash: dummy.c: Permission denied
>> lfs at esprit:/mnt/lfs/tools$ su
>> Password: esprit:/mnt/lfs/tools# echo $PATH
>> /usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/bin/X11
>> esprit:/mnt/lfs/tools# echo 'main(){}' > dummy.c
>> esprit:/mnt/lfs/tools# ls
>> bin  dummy.c  etc  i686-pc-linux-gnu  include  lib  libexec  sbin
>> share  var
>> esprit:/mnt/lfs/tools# ./bin/cc dummy.c esprit:/mnt/lfs/tools# readelf
>> -l a.out | grep interpret
>>      [Requesting program interpreter: /tools/lib/ld-linux.so.2]
>> esprit:/mnt/lfs/tools#
>> I don't understand why this failure occurs. I would be pleased if
>> somebody could give me advise in this issue.
>>
>> Kind regards
>>
>> A.Schawalder
>
> readelf -l /tools/bin/gcc | grep interpret
>
> My guess is it will say /lib, not /tools/lib. If so, gcc is linked
> wrong, in which case my guess would be that you forgot to rm the source
> and/or build dirs for gcc in between pass 1 and pass 2. If that's the
> case, you'll need to rm -rf /tools/* and go back to the beginning of
> chapter 5.
> --
> http://linuxfromscratch.org/mailman/listinfo/lfs-support
> FAQ: http://www.linuxfromscratch.org/lfs/faq.html
> Unsubscribe: See the above information page
>



More information about the lfs-support mailing list