PDA

View Full Version : Compiling Issues - Fedora 4



nicks
06-23-2005, 06:55 PM
So I gave up on SuSE, installed Fedora 4. I got past the './configure', now I have a new issue.



[root@localhost showeq-5.0.0.22]# make && make install
make all-recursive
make[1]: Entering directory `/SEQ/showeq-5.0.0.22'
Making all in src
make[2]: Entering directory `/SEQ/showeq-5.0.0.22/src'
if g++ -DHAVE_CONFIG_H -I. -I. -I.. -I/usr/lib/qt-3.3/include -I/usr/X11R6/include -DPKGDATADIR=\"/usr/local/share/showeq/\" -I/usr/include/pcap -D_REENTRANT -O2 -Wall -g -ggdb -DDEBUG -finline-functions -DQT_THREAD_SUPPORT=1 -DDISPLAY_ICONS=false -DICON_DIR=\"/eq-icons/\" -g -O2 -MT main.o -MD -MP -MF ".deps/main.Tpo" -c -o main.o main.cpp; \
then mv -f ".deps/main.Tpo" ".deps/main.Po"; else rm -f ".deps/main.Tpo"; exit 1; fi
point.h:114: error: invalid use of constructor as a template
point.h:114: note: use ‘Point3D<_T>::Point3D’ instead of ‘Point3D<_T>::Point3D<_T>’ to name the constructor in a qualified name
point.h:121: error: invalid use of constructor as a template
point.h:121: note: use ‘Point3D<_T>::Point3D’ instead of ‘Point3D<_T>::Point3D<_T>’ to name the constructor in a qualified name
point.h:128: error: invalid use of constructor as a template
point.h:128: note: use ‘Point3D<_T>::Point3D’ instead of ‘Point3D<_T>::Point3D<_T>’ to name the constructor in a qualified name
point.h:135: error: invalid use of constructor as a template
point.h:135: note: use ‘Point3D<_T>::Point3D’ instead of ‘Point3D<_T>::Point3D<_T>’ to name the constructor in a qualified name
make[2]: *** [main.o] Error 1
make[2]: Leaving directory `/SEQ/showeq-5.0.0.22/src'
make[1]: *** [all-recursive] Error 1
make[1]: Leaving directory `/SEQ/showeq-5.0.0.22'
make: *** [all] Error 2
[root@localhost showeq-5.0.0.22]# CC=gcc3 CXX=g++3 QTDIR=/path/to/qt
[root@localhost showeq-5.0.0.22]# make && make install
make all-recursive
make[1]: Entering directory `/SEQ/showeq-5.0.0.22'
Making all in src
make[2]: Entering directory `/SEQ/showeq-5.0.0.22/src'
if g++ -DHAVE_CONFIG_H -I. -I. -I.. -I/usr/lib/qt-3.3/include -I/usr/X11R6/include -DPKGDATADIR=\"/usr/local/share/showeq/\" -I/usr/include/pcap -D_REENTRANT -O2 -Wall -g -ggdb -DDEBUG -finline-functions -DQT_THREAD_SUPPORT=1 -DDISPLAY_ICONS=false -DICON_DIR=\"/eq-icons/\" -g -O2 -MT main.o -MD -MP -MF ".deps/main.Tpo" -c -o main.o main.cpp; \
then mv -f ".deps/main.Tpo" ".deps/main.Po"; else rm -f ".deps/main.Tpo"; exit 1; fi
point.h:114: error: invalid use of constructor as a template
point.h:114: note: use ‘Point3D<_T>::Point3D’ instead of ‘Point3D<_T>::Point3D<_T>’ to name the constructor in a qualified name
point.h:121: error: invalid use of constructor as a template
point.h:121: note: use ‘Point3D<_T>::Point3D’ instead of ‘Point3D<_T>::Point3D<_T>’ to name the constructor in a qualified name
point.h:128: error: invalid use of constructor as a template
point.h:128: note: use ‘Point3D<_T>::Point3D’ instead of ‘Point3D<_T>::Point3D<_T>’ to name the constructor in a qualified name
point.h:135: error: invalid use of constructor as a template
point.h:135: note: use ‘Point3D<_T>::Point3D’ instead of ‘Point3D<_T>::Point3D<_T>’ to name the constructor in a qualified name
make[2]: *** [main.o] Error 1
make[2]: Leaving directory `/SEQ/showeq-5.0.0.22/src'
make[1]: *** [all-recursive] Error 1
make[1]: Leaving directory `/SEQ/showeq-5.0.0.22'
make: *** [all] Error 2

Thanks again guys =)

purple
06-23-2005, 06:56 PM
gcc --version says what? Does Fedora Core 4 ship with crazy new gcc?

nicks
06-23-2005, 06:58 PM
[root@localhost showeq-5.0.0.22]# gcc --version
gcc (GCC) 4.0.0 20050519 (Red Hat 4.0.0-8)
Copyright (C) 2005 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.

Thanks again, purple.

purple
06-23-2005, 07:13 PM
I've not used gcc 4 yet. Do they give you gcc 3 too that you can choose somehow or only 4? It kinda looks like maybe from that middle line that does nothing in your cut and paste. Try "CC=gcc3 make && make install".

Alternately, you can try to fix whatever compatibility problems popup. For example, go into point.h and do what it recommends to the constructors there and see what happens. Just go to each of those lines in src/point.h and change "Point3D<_T>::Point3D<_T>" to "Point3D<_T>::Point3D".

nicks
06-23-2005, 07:35 PM
what would the command lines be to make that change, linux noob here =/

I tried your first suggestion, no good.



[root@localhost showeq-5.0.0.22]# CC=gcc3 make && make install
make all-recursive
make[1]: Entering directory `/SEQ/showeq-5.0.0.22'
Making all in src
make[2]: Entering directory `/SEQ/showeq-5.0.0.22/src'
if g++ -DHAVE_CONFIG_H -I. -I. -I.. -I/usr/lib/qt-3.3/include -I/usr/X11R6/include -DPKGDATADIR=\"/usr/local/share/showeq/\" -I/usr/include/pcap -D_REENTRANT -O2 -Wall -g -ggdb -DDEBUG -finline-functions -DQT_THREAD_SUPPORT=1 -DDISPLAY_ICONS=false -DICON_DIR=\"/eq-icons/\" -g -O2 -MT main.o -MD -MP -MF ".deps/main.Tpo" -c -o main.o main.cpp; \
then mv -f ".deps/main.Tpo" ".deps/main.Po"; else rm -f ".deps/main.Tpo"; exit 1; fi
point.h:114: error: invalid use of constructor as a template
point.h:114: note: use ‘Point3D<_T>::Point3D’ instead of ‘Point3D<_T>::Point3D<_T>’ to name the constructor in a qualified name
point.h:121: error: invalid use of constructor as a template
point.h:121: note: use ‘Point3D<_T>::Point3D’ instead of ‘Point3D<_T>::Point3D<_T>’ to name the constructor in a qualified name
point.h:128: error: invalid use of constructor as a template
point.h:128: note: use ‘Point3D<_T>::Point3D’ instead of ‘Point3D<_T>::Point3D<_T>’ to name the constructor in a qualified name
point.h:135: error: invalid use of constructor as a template
point.h:135: note: use ‘Point3D<_T>::Point3D’ instead of ‘Point3D<_T>::Point3D<_T>’ to name the constructor in a qualified name
make[2]: *** [main.o] Error 1
make[2]: Leaving directory `/SEQ/showeq-5.0.0.22/src'
make[1]: *** [all-recursive] Error 1
make[1]: Leaving directory `/SEQ/showeq-5.0.0.22'
make: *** [all] Error 2

purple
06-23-2005, 07:37 PM
Maybe try CC=gcc3 ./configure && CC=gcc3 make && make install

purple
06-23-2005, 07:44 PM
Oh, I guess it's using g++. Is there a g++3 or something?

To make the file changes, you need an editor. Using vim:
% vim src/point.h
(this will open the file. Now type the follow, new lines being enter)
:%s/Point3D<_T>::Point3D<_T>/Point3D<_T>::Point3D/
:wq

It should say 4 substituions on 4 lines at the bottom after the first command. The second one saves the file and quits.

Then go back to make && make install.

Cryonic
06-23-2005, 07:45 PM
only problem is that if the default gcc is 4, then you might not be able to link against the qt libs the system comes with when trying to use gcc 3.

nicks
06-23-2005, 08:02 PM
/sigh....I don't think I'm meant to run SEQ



[root@localhost SEQ]# cd showeq-5.0.0.22
[root@localhost showeq-5.0.0.22]# CC=gcc3 ./configure && CC=gcc3 make && make install
checking build system type... Invalid configuration `i686-pc-linux-': machine `i686-pc-linux' not recognized
configure: error: /bin/sh ./config.sub i686-pc-linux- failed

purple
06-23-2005, 08:06 PM
Try using celeseq's packages then? I got no idea if he does a FC4 one though, it might just be FC3 and RHEL something or another.

BlueAdept
06-27-2005, 04:41 PM
Easiest solution is to install FC3 instead of 4.

I don't know how long it is going to be before changes are made to make it work. I don't know if purple is willing to do that kind of testing and programing and I think Zaphod doesn't have the time to mess with SEQ anymore.

purple
06-27-2005, 04:56 PM
I won't touch gcc4 until gentoo puts it stable. I don't want to deal with it. I did make the above changes from the cut and paste though *shrug*

CeleSEQ
06-29-2005, 10:45 AM
I'm moving this week, but once everything is settled on Thursday, I'll be working on FC4 packages. I took a really really brief look at it the day after FC4 came out, and I'm pretty sure that it's just a matter of a bit of fiddling with the build options, and maybe a couple of compat- rpms, and it should build.

nicks
06-30-2005, 02:12 PM
So I'm making the switch to Fedora 3, finally got the last CD downloaded last night. I hear a lot of RPMs, going to do some research through this site about that. I also a while ago stumbled upon a few guides that walk through all of it. Well wish me luck, so far I'm about 0 for 10. This is frustrating for me, being an IT although this Linux stuff is like learning Latin. Thanks to all of you for your continuing support.

CeleSEQ
07-04-2005, 09:08 AM
If you install FC3, including the development environment, then update all your installed packages to the latest errata with up2date or yum, then you should not need any special updates to compile SEQ. All the subcomponents in FC3 are appropriate versions.

The problem with FC4 is that they are the first distro to jump to the new gcc version 4. I'm working on getting htat going...

If you want, sometime today I'll have my site back online I think, although it'll be at a different address it looks like. When I do that, I'll pop out some .23 rpms for FC3 and RHEL4, and we'll see if i have a solution to the FC4 thing by then.

CeleSEQ
07-07-2005, 09:30 AM
Well, it's not quite the same as compiling on FC4, but the rpms I build on FC3 work fine on FC4, I'm told. I still need to do a bit more testing to see if any of the compat-* rpms are required to do this, but one of my co-workers has been using the FC3 RPM on FC4 successfully.

You can grab the latest packages at http://fedora.showeq.org

archprlest
07-08-2005, 08:33 AM
Using Purple's Post


To make the file changes, you need an editor. Using vim:
% vim src/point.h
(this will open the file. Now type the follow, new lines being enter)
:%s/Point3D<_T>::Point3D<_T>/Point3D<_T>::Point3D/
:wq

It should say 4 substituions on 4 lines at the bottom after the first command. The second one saves the file and quits.

Then go back to make && make install.

For the six template class in two files I was able to compile showeq using FC4 and gcc4. There were many warnings about virtual function having non-virtual destructors.

for now if you want to use fc4 and compile showeq you can find help at http://fedoranews.org/mediawiki/index.php/Caveats_and_Known_Bugs_on_FC4