Thread: [Plib-users] building on ubuntu linux 6.10, gcc 4.1.2
Brought to you by:
sjbaker
From: John G. <cy...@gm...> - 2006-11-08 22:05:22
|
Hi, When building plib-1.8.4 from source, I see the following error: make[2]: Leaving directory `/home/jkgrant/soft/dev/src/delta3d/deps/srcs/plib-1.8.4/src/fnt' Making all in ssgAux make[2]: Entering directory `/home/jkgrant/soft/dev/src/delta3d/deps/srcs/plib-1.8.4/src/ssgAux' if g++ -DPACKAGE_NAME=3D\"\" -DPACKAGE_TARNAME=3D\"\" -DPACKAGE_VERSION=3D\= "\" -DPACKAGE_STRING=3D\"\" -DPACKAGE_BUGREPORT=3D\"\" -DPACKAGE=3D\"plib\" -DVERSION=3D\"1.8.4\" -DHAVE_LIBPTHREAD=3D1 -DHAVE_LIBGL=3D1 -DHAVE_LIBDL= =3D1 -DSTDC_HEADERS=3D1 -DHAVE_SYS_TYPES_H=3D1 -DHAVE_SYS_STAT_H=3D1 -DHAVE_STDL= IB_H=3D1 -DHAVE_STRING_H=3D1 -DHAVE_MEMORY_H=3D1 -DHAVE_STRINGS_H=3D1 -DHAVE_INTTYPE= S_H=3D1 -DHAVE_STDINT_H=3D1 -DHAVE_UNISTD_H=3D1 -I. -I. -I../../src/sg -I../../src= /ssg -I../../src/util -g -O2 -Wall -MT ssgaCelestialBody.o -MD -MP -MF ".deps/ssgaCelestialBody.Tpo" -c -o ssgaCelestialBody.o ssgaCelestialBody.cxx; \ then mv -f ".deps/ssgaCelestialBody.Tpo" ".deps/ssgaCelestialBody.Po"; else rm -f ".deps/ssgaCelestialBody.Tpo"; exit 1; fi ssgaSky.h:107: error: extra qualification =1B$-1=F2=F8ssgaCelestialBodyList= ::=F2=F9 on member =F2=F8ssgaCelestialBodyList=F2=F9 ssgaSky.h:195: error: extra qualification =1B$-1=F2=F8ssgaCloudLayerList::= =F2=F9 on member =F2=F8ssgaCloudLayerList=F2=F9 make[2]: *** [ssgaCelestialBody.o] Error 1 Looking at the code, the only thing that jumps out to me is the private inheritance class ssgaCelestialBodyList : private ssgSimpleList ... Is this a known problem? Has it been fixed in the government? Thanks! |
From: Stuart M. <stu...@bl...> - 2006-11-09 21:30:10
|
Hi, Haven=92t compiled on ubuntu, but =93extra qualification=94 and looking = at those two lines then I=92d say it=92s the fact that it explicitly gives = the class name in the destructor i.e. it has =20 ssgaCloudLayerList::~ssgaCloudLayerList() { ... =20 when it could just have =20 ~ssagaCloudLayerList() { ... =20 --Stuart. =20 -----Original Message----- From: pli...@li... [mailto:pli...@li...] On Behalf Of John Grant Sent: Wednesday, November 08, 2006 10:05 PM To: pli...@li... Subject: [Plib-users] building on ubuntu linux 6.10, gcc 4.1.2 =20 Hi, When building plib-1.8.4 from source, I see the following error: make[2]: Leaving directory `/home/jkgrant/soft/dev/src/delta3d/deps/srcs/plib-1.8.4/src/fnt' Making all in ssgAux make[2]: Entering directory `/home/jkgrant/soft/dev/src/delta3d/deps/srcs/plib- 1.8.4/src/ssgAux' if g++ -DPACKAGE_NAME=3D\"\" -DPACKAGE_TARNAME=3D\"\" = -DPACKAGE_VERSION=3D\"\" -DPACKAGE_STRING=3D\"\" -DPACKAGE_BUGREPORT=3D\"\" -DPACKAGE=3D\"plib\" -DVERSION=3D\" 1.8.4\" -DHAVE_LIBPTHREAD=3D1 -DHAVE_LIBGL=3D1 = -DHAVE_LIBDL=3D1 -DSTDC_HEADERS=3D1 -DHAVE_SYS_TYPES_H=3D1 -DHAVE_SYS_STAT_H=3D1 -DHAVE_STDLIB_H=3D1 -DHAVE_STRING_H=3D1 -DHAVE_MEMORY_H=3D1 = -DHAVE_STRINGS_H=3D1 -DHAVE_INTTYPES_H=3D1 -DHAVE_STDINT_H=3D1 -DHAVE_UNISTD_H=3D1 -I. -I. -I../../src/sg -I../../src/ssg -I../../src/util -g -O2 -Wall -MT ssgaCelestialBody.o -MD -MP -MF ".deps/ssgaCelestialBody.Tpo" -c -o ssgaCelestialBody.o ssgaCelestialBody.cxx; \ then mv -f ".deps/ssgaCelestialBody.Tpo" ".deps/ssgaCelestialBody.Po"; else rm -f ".deps/ssgaCelestialBody.Tpo"; exit 1; fi=20 ssgaSky.h:107: error: extra qualification = $-1=F2=F8ssgaCelestialBodyList::=F2=F9 on member =F2=F8ssgaCelestialBodyList=F2=F9 ssgaSky.h:195: error: extra qualification = $-1=F2=F8ssgaCloudLayerList::=F2=F9 on member =F2=F8ssgaCloudLayerList=F2=F9 make[2]: *** [ssgaCelestialBody.o] Error 1 Looking at the code, the only thing that jumps out to me is the private inheritance class ssgaCelestialBodyList : private ssgSimpleList ... Is this a known problem? Has it been fixed in the government? Thanks!=20 |
From: Jan R. <slo...@gm...> - 2006-11-09 21:37:43
|
Am Thu, 9 Nov 2006 21:30:02 -0000 schrieb "Stuart McDonald" <stu...@bl...>: > class name in the destructor i.e. it has > > ssgaCloudLayerList::~ssgaCloudLayerList() { ... > > when it could just have > > ~ssagaCloudLayerList() { ... Hello, I've seen problems like this with other programs as well, always when using the gcc4 compiler where gcc3 always worked without warnings. Is this feature (no class name needed for the dtor) new to the C++ standard or has C++ always been like this and the existing compilers simply did not complain? I'm not a C++ expert but I've always learned to put the class name in front of every single method of a class... Kind regards, Jan R. -- Jan Reucker email: jan dot reucker at web dot de web: http://www.reucker-online.de |
From: John G. <cy...@gm...> - 2006-11-11 17:19:27
|
Good catch, I must be tired so it didn't jump out at me. As for the remark about always prefixing member functions with their class name, that is precisely what MUST happen. So, you are right. However, in this case, I think the offender was implemented *inside* the class declaration, so the prefix was overkill. Has this been fixed in SVN/CVS ? Thanks, -John On 11/9/06, Jan Reucker <slo...@gm...> wrote: > > Am Thu, 9 Nov 2006 21:30:02 -0000 schrieb "Stuart McDonald" < > stu...@bl...>: > > > class name in the destructor i.e. it has > > > > ssgaCloudLayerList::~ssgaCloudLayerList() { ... > > > > when it could just have > > > > ~ssagaCloudLayerList() { ... > > Hello, > > I've seen problems like this with other programs as well, always > when using the gcc4 compiler where gcc3 always worked without > warnings. Is this feature (no class name needed for the dtor) > new to the C++ standard or has C++ always been like this and the > existing compilers simply did not complain? > > I'm not a C++ expert but I've always learned to put the class > name in front of every single method of a class... > > Kind regards, > Jan R. > > -- > Jan Reucker > email: jan dot reucker at web dot de > web: http://www.reucker-online.de > > ------------------------------------------------------------------------- > Using Tomcat but need to do more? Need to support web services, security? > Get stuff done quickly with pre-integrated technology to make your job > easier > Download IBM WebSphere Application Server v.1.0.1 based on Apache Geronimo > http://sel.as-us.falkag.net/sel?cmd=lnk&kid=120709&bid=263057&dat=121642 > _______________________________________________ > plib-users mailing list > pli...@li... > https://lists.sourceforge.net/lists/listinfo/plib-users > |
From: Jan R. <slo...@gm...> - 2006-11-12 07:24:11
|
Am Sat, 11 Nov 2006 09:19:26 -0800 schrieb "John Grant" <cy...@gm...>: > Good catch, I must be tired so it didn't jump out at me. > > As for the remark about always prefixing member functions with their class > name, that is precisely what MUST happen. So, you are right. However, in > this case, I think the offender was implemented *inside* the class > declaration, so the prefix was overkill. I see, in this case I agree. I overlooked that it was inside the class declaration. Thanks! Jan -- Jan Reucker email: jan dot reucker at web dot de web: http://www.reucker-online.de |