I need to install the GCC compiler on a my Linus machine.
First step is to run the ./configure command and here we need to specify
./configure --target="target machine name (CPU type-Manufacturer-OS)
or other way would be just give the command ./configure and it guesses the target name from the file config.guess.
uname -a in my system gives
Linux 137.132.80.158 2.6.25-14.fc9.i686 #1 SMP Thu May 1 06:28:41 EDT 2008 i686 i686 i386 GNU/Linux
So I tried giving the format CPU type-Manufacturer-OS for my system as
i686-unknown-Linux
Also tried adding a new case in config.guess file to add my case ie for i686.
It keeps giving error "Invalid Configuration" if I directly give in the configure command or edit the config.guess file.
How do I give the rite values of CPU type-Manufacturer-OS ...Is there any command to find the values.Please let me know as Iam not able to proceed forward as configure command itself gives error.
Configure command works now with the values i386-redhat-linux.....
Also sorry I had done some mistake cat /proc/version gives the following output:
Linux version 2.6.25-14.fc9.i686 (mockbuild@) (gcc version 4.3.0 20080428 (Red Hat 4.3.0-8) (GCC) ) #1 SMP Thu May 1 06:28:41 EDT 2008
Let me actually tell you what Iam trying to do so that you could help me in a better way.
Iam trying to install the opentv SDK3.2 kit (interactive tv application ) from the link Welcome to OpenTV .
Thier code is in ansi C and needs to be complied using the kit to get the ocode as the output.
Iam doing this for the first time and just following the instructions given in thier install file.
Install File says:
`cd' to the directory containing the package's source code and type
`./configure' to configure the package for your system. If you're
using `csh' on an old version of System V, you might need to type
`sh ./configure' instead to prevent `csh' from trying to execute
`configure' itself.
Type `make' to compile the package.
Optionally, type `make check' to run any self-tests that come with
the package.
Type `make install' to install the programs and any data files and
documentation.
Now Output for configure in my system is as follows:
I ran the command from the gcc2.60 directory as it has all the .c files present.
[vijv@137 gcc-2.60] ./configure i386-redhat-linux
Linked `config.h' to `./config/i386/xm-linux.h'
Linked `tm.h' to `./config/i386/linux.h'
Linked `aux-output.c' to `./config/i386/i386.c'
Linked `tconfig.h' to `./config/i386/xm-linux.h'
Linked `hconfig.h' to `./config/i386/xm-linux.h'
Linked `md' to `./config/i386/i386.md'
Merged i386/x-linux.
Merged c++ fragment(s).
Created `./Makefile'.
Merged i386/x-linux.
Created `cp/Makefile'.
Links are now set up for target i386-redhat-linux.
Now when I give make command as per the second step in the same directory ,it gives me errors....Am I doing something wrong ?....or is this the rite way to do it.
Do let me know in case u need any more info from me.
output of make command:
make
cc -DIN_GCC -DPOSIX -g -I. -I. -I./config \
-DGCC_INCLUDE_DIR=\"/usr/local/lib/gcc-lib/i386-redhat-linux/2.6.0/include\" \
-DGPLUSPLUS_INCLUDE_DIR=\"/usr/local/lib/g++-include\" \
-DLOCAL_INCLUDE_DIR=\"/usr/local/include\" \
-DCROSS_INCLUDE_DIR=\"/usr/local/lib/gcc-lib/i386-redhat-linux/2.6.0/sys-include\" \
-DTOOL_INCLUDE_DIR=\"/usr/local/i386-redhat-linux/include\" \
-c `echo ./cccp.c | sed 's,^\./,,'`
cccp.c: In function �main':
cccp.c:1193: warning: incompatible implicit declaration of built-in function �strlen'
cccp.c:1228: warning: incompatible implicit declaration of built-in function �bzero'
cccp.c:1278: warning: incompatible implicit declaration of built-in function �strcpy'
cccp.c:1312: warning: incompatible implicit declaration of built-in function �strcpy'
cccp.c:1313: warning: incompatible implicit declaration of built-in function �strcat'
cccp.c:1347: warning: incompatible implicit declaration of built-in function �strcpy'
............................there are many similar warnings before the command completes.....
First of all, the rules of the forums are to write in English, correct English, so please do not write "Thanx!!!!" and "Thanx for ur time".... please write "Thanks" and "Thank you for your time" These are the rules. We don't support invented cyberchat languages here.
Second, I am glad to see you made some progress. I don't see where your attempt to compile failed. The output shows warnings. Warnings are not failures.
Will make sure to use the correct language hence forth.
Actually like what you had mentioned earlier it shows that the latest version of GCC is by default present in the version of redhat linux that Iam using.
so I think I can directly start compiling c and c++ code instead of trying to install the older version of GCC compiler as it might lead to a conflict....
Correct. You don't need to install GCC unless the version of the OPTV SDK fails to compile due to compiler errors. This normally happens when the library versions are not compatible. If your OPTV SDK compiles, and it seems that it does, you should be fine.
You can contact OPTV, give them your GCC version number and ask them if they have any further recommendations. Often, the instructions will say "GCC version x.y.z, or higher".
Just to let you know that downgrading your GCC to a older version will break your linux system. Please don't do that in the future or else you might want to re-install your system. Linux kernel is so dependent in glibc and gcc.