kdegames/kfouleggs/ miscompile in 3.5 branch

Ryan p0z3r at earthlink.net
Sun Dec 25 06:29:32 GMT 2005


On Saturday 24 December 2005 03:54, Michael Pyne wrote:
> On Thursday 22 December 2005 17:29, R. wrote:
> > Just updated my svn of kdegames from the 3.5 branch.  Compiling it
> > provides many undefined references.  The only thing that seemed strange
> > to me is that board.h includes "common/board.h" which doesn't appear to
> > be there any longer.
> >
> > I'm using gcc (GCC) 4.0.2.
>
> I have been fighting with this ever since visibility support was enabled in
> KDE.  The libksirtet code doesn't seem to have been properly designed to
> export the classes that need exporting, so the symbols in question aren't
> found when kfouleggs and ksirtet tries to link them in.  So this must be
> why you're seeing this, since gcc 4 supports visibility.

Well my quick and dirty personal solution was to edit my Makefile in 
kde3.5/kdegames/libksirtet/common/ to include the option of 
visibility=default.

CXXFLAGS = -fvisibility=default -Wno-long-long ...

Then rebuild the library, cd back to ksirtet and rebuild there and bingo it 
worked.

>
> I gave up after my third commit to "fix" the problem.  I suspect you could
> truly fix it by simply KDE_EXPORT'ing every single class in libksirtet
> (which I tried to do by changing the CXXFLAGS to have -fvisibility=default
> in the Makefile.am's there if visibility support was detected).  But, I'm
> too worn out for the effort involved.

I tried looking into your suggestion but couldn't get very far with it.  I 
wonder why this one library gives this problem where as it built fine around 
11-29-2005.

>
> Regards,
>  - Michael Pyne




More information about the kde-core-devel mailing list