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 |