LinuxQuestions.org

LinuxQuestions.org (/questions/)
-   Linux From Scratch (https://www.linuxquestions.org/questions/linux-from-scratch-13/)
-   -   gcc-4.5.2 - Pass 1 error -gcc command not found ?? (https://www.linuxquestions.org/questions/linux-from-scratch-13/gcc-4-5-2-pass-1-error-gcc-command-not-found-892180/)

adi_30stm 07-17-2011 11:59 AM

gcc-4.5.2 - Pass 1 error -gcc command not found ??
 
Hi I am having trouble getting past chapter 5.5 of Linux From Scratch 6.8 book in which we have to install GCC-4.5.2.
After make and install of GCC-4.5.2 when we have to execute this below command for linking :

ln -vs libgcc.a `$LFS_TGT-gcc -print-libgcc-file-name | \
sed 's/libgcc/&_eh/'`

i get an error :

bash: -gcc : command not found

What does this above error mean ..please help ?
Or atleast guide what exactly $LFS_TGT-gcc is doing maybe then i can figure it out ?
It does link libgcc.a despise the above error ...
Is this an issue to be ignored ?
BTW i am using VirtualBox to build the LFS n LFS LiveCD


Thank you

weibullguy 07-17-2011 12:08 PM

It means you haven't set the variable LFS_TGT or it somehow got unset. You were supposed to do that in chapter 4.4. It also means your binutils build is probably not correct either.

druuna 07-17-2011 12:08 PM

Hi,

This $LFS_TGT-gcc should expand to the value that $LFS_TGT holds and -gcc (example: i686-lfs-linux-gnu-gcc)

LFS_TGT is set in this chapter: 4.4. Setting Up the Environment

Hope this helps.

TobiSGD 07-17-2011 12:09 PM

If you get that error you must have made a mistake earlier. Seems to me that the variable $LFS_TGT is not set.

adi_30stm 07-17-2011 12:49 PM

I checked .bash_profile and .bashrc content using cat command ... and they are the same in both according to the book ...

.bash_profile ...content :

exec env -i HOME=$HOME TERM=$TERM PS1='\u:\w\$ ' /bin/bash

.bashrc ....content :

set +h
umask 022
LFS=/mnt/lfs
LC_ALL=POSIX
LFS_TGT=$(uname -m)-lfs-linux-gnu
PATH=/tools/bin:/bin:/usr/bin
export LFS LC_ALL LFS_TGT PATH

I hope that is correct unless i am supposed to replace the uname -m with i686 ??

And binutils compiled fine ..at least i think coz i checked the log file i didn't notice any errors even the tools section contains a folder called i686-lfs-linux-gnu

Even the gcc-4.5.2 compile and install went without any errors. Should i try recompiling them again ..for reinstall do we first remove the directory files ?

---------- Post added 07-17-11 at 11:19 PM ----------

Btw thank you for the quick reply :)

druuna 07-17-2011 01:00 PM

Hi,
Quote:

Originally Posted by adi_30stm (Post 4417433)
I checked .bash_profile and .bashrc content using cat command ... and they are the same in both according to the book ...

Did you check if the LFS_TGT variable is set?

Quote:

I hope that is correct unless i am supposed to replace the uname -m with i686 ??
No, you do not need to do that by hand. uname -m is a command that is executed and will do it for you.

Quote:

And binutils compiled fine ..at least i think coz i checked the log file i didn't notice any errors even the tools section contains a folder called i686-lfs-linux-gnu

Even the gcc-4.5.2 compile and install went without any errors. Should i try recompiling them again
If LFS_TGT was not set correctly then you need to start from scratch.

Quote:

..for reinstall do we first remove the directory files ?
If you redo a package you always need to remove the source directory (as stated in the LFS book: 5.3. General Compilation Instructions - Last important block.......)

adi_30stm 07-17-2011 01:06 PM

Is there a way to tell if it was set correctly ...because i went back checked .bash_profile and .bashrc both are correct according to the book . I know uname -m is a command i ran it just to make sure and the out i received was i686

So my only option is from scratch ?

adi_30stm 07-17-2011 01:14 PM

I tried recreating the .bashrc and bash_profile and then ran the "source ~/.bash_profile" command and i get an error :

bash: exec: env: not found

druuna 07-17-2011 01:19 PM

Hi,
Quote:

Originally Posted by adi_30stm (Post 4417446)
Is there a way to tell if it was set correctly

You don't know how to echo a variable? If that is the case then your level of experience is probably too little to build an LFS system (vi. Prerequisites).

Anyway: echo $LFS_TGT

Quote:

...because i went back checked .bash_profile and .bashrc both are correct according to the book . I know uname -m is a command i ran it just to make sure and the out i received was i686
If .bashrc was/is correct then you would not have had the error you originally posted. It shows that LFS_TGT was not set. Are you sure you are executing the commands as user lfs?

Quote:

So my only option is from scratch ?
You're still very early in the process of building, I would start from scratch (but also keep in mind what the Prerequisites says.....).

Hope this helps.

adi_30stm 07-17-2011 01:25 PM

Umm.. I did run them as user lfs and yes i do know how echo a file ... that is why i mentioned if i were to replace it with i686 ... well thanks i anyway i will consider your idea of starting over :)

Thank you

adi_30stm 07-17-2011 02:19 PM

Hey druuna,

Question is .bashrc supposed to be created as root or user lfs ??

druuna 07-17-2011 02:24 PM

Hi,

As stated in the book (4.3. Adding the LFS User. Last step): User lfs

Hope this helps.

adi_30stm 07-17-2011 02:28 PM

Thanks i think i figured what is wrong :) thanks for the help

druuna 07-17-2011 03:04 PM

You're welcome :)

Have fun with the build!

druuna 07-27-2011 03:10 PM

You're welcome :)


All times are GMT -5. The time now is 12:54 AM.