LinuxQuestions.org
Share your knowledge at the LQ Wiki.
Go Back   LinuxQuestions.org > Forums > Linux Forums > Linux - Software
User Name
Password
Linux - Software This forum is for Software issues.
Having a problem installing a new program? Want to know which application is best for the job? Post your question in this forum.

Notices


Reply
  Search this Thread
Old 01-25-2006, 06:11 AM   #1
laasunde
LQ Newbie
 
Registered: Sep 2002
Posts: 25

Rep: Reputation: 15
gcc make error


Hi,

Got fedora core 4 with gcc4 on my system at the moment. Need to install gcc 3.3.6

Have done the following:
# Download gcc-3.3.6.tar.gz to /tmp
# tar -xf gcc-3.3...
# cd gcc-3.3.....
# ./configure prefix=/usr/local (Runs ok)
# make (Get error message below)

Code:
f/com.c: At top level:
f/com.c:11080:error: conflicting types for 'ffecom_gfrt_basictype'
f/com.h:236:error:previous declaration of 'ffecom_gfrt_basictype' was here
make[1]: *** [f/com.o] error 1
make[1]: leaving directory '/tmp/gcc-3.3.6/gcc'
make: *** [all-gcc] Error 2
Is there any conflict between my existing gcc4 and the gcc I'm trying to install? How can I fix this problem?
 
Old 01-25-2006, 07:33 AM   #2
jomen
Senior Member
 
Registered: May 2004
Location: Leipzig/Germany
Distribution: Arch
Posts: 1,687

Rep: Reputation: 55
from gcc-install-docs:
"First, we highly recommend that GCC be built into a separate directory than the sources which does not reside within the source tree. This is how we generally build GCC; building where srcdir == objdir should still work, but doesn't get extensive testing; building where objdir is a subdirectory of srcdir is unsupported."
I suggest to read through the relevant sections in the LFS installatin documentation - this is almost ready for cut-and-paste and has worked for me every time
http://www.linuxfromscratch.org/

in short:
mkdir ../gcc-build
cd ../gcc-build
../gcc-3.3.6/configure ...and your options here...

maybe you should run "make bootstrap" instead of just "make"
 
Old 01-25-2006, 12:09 PM   #3
laasunde
LQ Newbie
 
Registered: Sep 2002
Posts: 25

Original Poster
Rep: Reputation: 15
Thanks for your feedback.

Earlier today I did the following;
# Downloaded gcc-3.3.6.tar to /tmp
# tar -xf gcc-3.3.6.tar
# mkdir /tmp/gcc-build
# cd /tmp/gcc-build
# ../configure --prefix=/usr/local/
# make

Now I get the same error message as above, so I go into gcc-3.3.6/gcc/f and look at com.h and com.c at line 236 and 11080 as stated in the error message. I found that the return parameter in the header file was different than the return type used in the source file. So I change the file and did make again. The process went on for a while then I get this message:

Code:
Java/java-tree.h:170: Error: static declaration of 'flag_jni' follows non-static declaration
Java/gjavah.c:49: Error: previous declaration of 'flag_jni' was here

// Java/gjavah.c - line 49
static int flag_jni=0;


// Java/java-tree.h - line 170
extern int flag_jni;
This all seems very strange to me. Am I doing something wrong pre the running the make command? The error look like programming errors which I cannot understand still would be present in a gcc source code. I rather believe Im doing something wrong. Anyway, can anyone help me out. Cheers.

Last edited by laasunde; 01-25-2006 at 12:11 PM.
 
Old 01-25-2006, 12:54 PM   #4
jomen
Senior Member
 
Registered: May 2004
Location: Leipzig/Germany
Distribution: Arch
Posts: 1,687

Rep: Reputation: 55
Sorry if this seems strange now and I also might be wrong here, but:
Does'nt Fedora use prebuilt packages like .rpm or even .deb?
As far as I know, you don't usually compile your own programs there (even if you could), you just install prebuilt packages - would'nt that be the easy way?
Again - LFS (rather their excellent handbook on how to do it and why...)would be my reference for this if I had problems. Your error seems to stem from a part or the compiler you will probably never use anyway - from trying to build gjc - you should specify during configure, which compilers you want to build. For c and c++ this would be:

../configure --prefix=/usr/local/ --enable-languages=c,c++

LFS uses quite a few more options and they are explaining exactly why they are being used and not using them can lead to all sorts of problems later on or even during build...
Their recommended options are these:
--enable-clocale=gnu --enable-shared
--enable-threads=posix --enable-__cxa_atexit
--enable-languages=c,c++ --disable-libstdcxx-pch

Last edited by jomen; 01-25-2006 at 01:08 PM.
 
Old 01-25-2006, 04:24 PM   #5
laasunde
LQ Newbie
 
Registered: Sep 2002
Posts: 25

Original Poster
Rep: Reputation: 15
Thanks for your input.

One question, by installing gcc via a rpm package would that overwrite my existing gcc 4.0 on the system? (How can I prevent that)
 
Old 01-25-2006, 05:03 PM   #6
jomen
Senior Member
 
Registered: May 2004
Location: Leipzig/Germany
Distribution: Arch
Posts: 1,687

Rep: Reputation: 55
It will probably get installed alongside.
I don't know about how this is handeled on Fedora but typically it is possible to have multiple versions installed - its different between distributions how they handle which one is the "active" compiler - on Gentoo there is a tool gcc-config, which switches compiler-versions - it simply adjusts the paths to binaries and libraries...
 
Old 02-04-2006, 11:34 AM   #7
eatmetal
LQ Newbie
 
Registered: Mar 2004
Location: South Carolina USA
Distribution: Fedora Core 4
Posts: 5

Rep: Reputation: 0
Older versions of gcc on Fedora 4

The fedora 4 install disk comes with a couple of packages that actually will use older versions of gcc to build things. I've seen on a couple of other sites that GCC version 4 is too strict, so I tried to install gcc 3.3.6 and it wouldn't compile (I think, again, because 4.0.2 is too strict). After some browsing I found this:
mjmwired.net/resources/mjm-fedora-fc4.html#compat
or
mjmwired.net/linux/2005/11/15/using-alternate-compilers/
(linuxquestions.org won't let me insert hyperlinks because I don't post here often).

Essentially, installing the packages compat-gcc-32 and compat-gcc-32-c++ will give you the commands gcc32 and g++32. These are gcc version 3.2.3.

I currently have installed:
compat-gcc-32-c++-3.2.3-47.fc4
compat-gcc-32-3.2.3-47.fc4
compat-libf2c-32-3.2.3-47.fc4
compat-gcc-32-g77-3.2.3-47.fc4

These are all from the fedora 4 install disks. That seems to resolve some issues with what I'm trying to do.

The thing about these is that they actually use different commands for the old versions of gcc. Using gcc -V 3.2.3 doesn't work. You actually have to type the commands gcc32 or g++32. Try ./configure --help in the directory where you're trying to build something to see how to get the configure script to use a different command.

Good luck!
 
  


Reply


Thread Tools Search this Thread
Search this Thread:

Advanced Search

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is Off
HTML code is Off



Similar Threads
Thread Thread Starter Forum Replies Last Post
gcc error (can't make exexutables) TheDude05 Linux - Software 6 09-06-2005 03:51 PM
gcc-3.4.3 make -k check stops on error? Yerp Linux From Scratch 1 04-16-2005 03:25 AM
Error in gcc while trying to run make TheBelush Linux - Newbie 3 01-23-2005 12:34 AM
gcc make error in ch5.5 of LFS 6.0 Barnette Linux From Scratch 5 01-03-2005 11:09 AM
gcc-3.3.3 make install error Louis_Carole Linux From Scratch 4 07-31-2004 03:14 PM

LinuxQuestions.org > Forums > Linux Forums > Linux - Software

All times are GMT -5. The time now is 02:45 AM.

Main Menu
Advertisement
My LQ
Write for LQ
LinuxQuestions.org is looking for people interested in writing Editorials, Articles, Reviews, and more. If you'd like to contribute content, let us know.
Main Menu
Syndicate
RSS1  Latest Threads
RSS1  LQ News
Twitter: @linuxquestions
Open Source Consulting | Domain Registration