[kde-solaris] KDE 3.1RC3 Compile Problem

Cory C. Omand kde-solaris@mail.kde.org
Sun Nov 17 01:28:00 2002


I'm attempting to compile KDE 3.1RC3 on Solaris 9 using the SunOne 
Developer Studio 7 compiler collection, and am running into some strange 
problems.  I have made it as far as kdelibs - kdeui to be exact.  Within 
kdeui, the compilation fails on kaccelmanager.cpp for what seems to be a 
C++ syntax problem.  As the CVS repository indicates this file has not 
changed for 2 months, and others on this list have had success in 
compiling kdelibs, I am wondering whether this error is due to a 
difference between Sun DS7 STL and GCC (libstdc++) STL.

Can anyone give me a pointer as to why this error is occuring:

Making all in kdeui
make[2]: Entering directory 
`/usr/share/src/build/kderc/kdelibs-3.0.99/kdeui'
Making all in .
make[3]: Entering directory 
`/usr/share/src/build/kderc/kdelibs-3.0.99/kdeui'
source='kaccelmanager.cpp' object='kaccelmanager.lo' libtool=yes \
depfile='.deps/kaccelmanager.Plo' tmpdepfile='.deps/kaccelmanager.TPlo' \
depmode=none /bin/bash ../admin/depcomp \
/bin/bash ../libtool --silent --mode=compile --tag=CXX CC 
-DHAVE_CONFIG_H -I. -I. -I.. -I../kdefx -I../interfaces -I../dcop 
-I../libltdl -I../kdecore -I../kdeui -I../kio -I../kio/kio 
-I../kio/kfile -I.. -I/opt/kde/include     -mt -DQT_THREAD_SUPPORT 
-I/usr/local/include -D_REENTRANT -D_POSIX_PTHREAD_SEMANTICS 
-DUSE_SOLARIS -DSVR4 -I/usr/local/include  -O -library=Crun,Cstd  
-DQT_NO_TRANSLATION -DQT_CLEAN_NAMESPACE -DQT_NO_ASCII_CAST 
-DQT_NO_COMPAT  -c -o kaccelmanager.lo `test -f 'kaccelmanager.cpp' || 
echo './'`kaccelmanager.cpp
"../kdecore/kdebug.h", line 219: Warning: d hides kdbgstream::d.
"kaccelmanager.cpp", line 112: Error: 
KAcceleratorManagerPrivate::ItemList is not accessible from 
KAcceleratorManagerPrivate::Item.
"kaccelmanager.cpp", line 139: Error: 
KAcceleratorManagerPrivate::ItemList is not accessible from 
KAcceleratorManagerPrivate::Item::addChild(KAcceleratorManagerPrivate::Item*).
2 Error(s) and 1 Warning(s) detected.
make[3]: *** [kaccelmanager.lo] Error 1
make[3]: Leaving directory `/usr/share/src/build/kderc/kdelibs-3.0.99/kdeui'
make[2]: *** [all-recursive] Error 1
make[2]: Leaving directory `/usr/share/src/build/kderc/kdelibs-3.0.99/kdeui'
make[1]: *** [all-recursive] Error 1
make[1]: Leaving directory `/usr/share/src/build/kderc/kdelibs-3.0.99'
make: *** [all] Error 2

The error location (kaccelmanager.cpp:112) is within the delcaration of 
KAcceleratorManagerPrivate::ItemList.  ItemList is a typedef'd QPtrList 
containing <Item> objects, but Item is declared as a private inner 
class, which itself refers to an ItemList.  I am not sure what the 
resolution rules are in this case, but at first glance this seems to me 
to be a circular reference (??).

Any assistance would be appreciated,
C. Omand