kdevelop doesn't seem to be wanting to link

Iztok Kobal iztok.kobal at sysen.si
Mon Aug 11 14:38:05 UTC 2003


Lev V. Vanyan wrote:

>Hey guys! Sorry for bothering, i've got a problem while buiding 
>kdevelop-2.1.5_for_KDE_3.1. Everything seems to be Okay, but then i get
>gmake[3]: Entering directory 
>`/home/remedy/compile/kdevelop-2.1.5_for_KDE_3.1/kdevelop'
>/bin/sh ../libtool --silent --mode=link --tag=CXX g++  -Wnon-virtual-dtor 
>-Wno-long-long -Wundef -Wall -pedantic -W -Wpointer-arith 
>-Wmissing-prototypes -Wwrite-strings -ansi -D_XOPEN_SOURCE=500 -D_BSD_SOURCE 
>-Wcast-align -Wconversion -O2 -fno-exceptions -fno-check-new 
>-ftemplate-depth-99    -o kdevelop -L/usr/X11R6/lib -L/usr/lib/qt3/lib 
>-L/usr/lib  -R /usr/lib -R /usr/lib/qt3/lib -R /usr/X11R6/lib 
>ccompletionopts.o simpleparser.o kdevregexp.o cprjconfchange.o cprjcompopts.o 
>cprjaddopts.o cppcodecompletion.o codecompletion_arghint.o ccompconf.o 
>ctoolclass.o kdevsession.o clibpropdlgimpl.o ckonsolewidget.o docviewman.o 
>ckdevelop.o ckdevelop_classview.o ckdevelop_noslot.o cprjoptionsdlg.o 
>ckappwizard.o ckdevelop_init.o main.o kstartuplogo.o kdevlistview.o 
>grepdialog.o doctreeview.o dbgtoolbar.o dbgpsdlg.o ctreeview.o ctreehandler.o 
>ctoolsconfigdlg.o crealfileview.o cproject.o coutputwidget.o cnewfiledlg.o 
>cnewclassdlg.o cmakemanualdlgdata.o cmakemanualdlg.o clogfileview.o 
>ckdevsetupdlg.o ckdevelop_whatsthis.o ckdevelop_project.o cclasstreehandler.o 
>ckdevaccel.o cgrouppropertiesdlg.o cgeneratenewfile.o cfinddoctextdlg.o 
>cfilepropdlg.o cexecuteargdlg.o ceditwidget.o cdoctreepropdlg.o cdocbrowser.o 
>ccvaddfolderdlg.o cclonefunctiondlg.o cclassview.o wzconnectdlgimpl.o 
>cclasstooltreeview.o cclasstooldlg.o caddnewtranslationdlg.o 
>caddexistingfiledlg.o caddclassmethoddlg.o caddclassattributedlg.o 
>ccompletionoptsdlg.o cprjcompoptsdlg.o cprjaddoptsdlg.o ccompconfdlg.o 
>clibpropdlg.o wzconnectdlg.o wzconnectdlgimpl.moc.o cprjcompopts.moc.o 
>cprjaddopts.moc.o ccompletionopts.moc.o codecompletion_arghint.moc.o 
>ckonsolewidget.moc.o ckdevelop.moc.o ccompconf.moc.o clibpropdlgimpl.moc.o  
>./vc/libkdevelopvc.la ./kwrite/libkdevelopkwrite.la 
>./gfxview/libkdevelopgfxview.la ./dbg/libkdevelopdbg.la 
>./classwizard/libclasswizard.a ./kpp/libkdevelopkpp.la 
>./classparser/libclassparser.a ./ctags/libctags.a ./setup/libkdevelopsetup.la 
>./widgets/qextmdi/src/libkdevelopqextmdi.la  -lkio -lkhtml -lkdeui -lkdecore 
>-lqt-mt  -lpng -lz -lm -lXext -lX11  -lSM -lICE -lpthread
>./classparser/libclassparser.a(ClassParser.o)(.text+0x1d5): In function 
>`CClassParser::commentInRange(CParsedItem*)':
>: undefined reference to `comment_end'
>./classparser/libclassparser.a(ClassParser.o)(.text+0x1c86): In function 
>`CClassParser::fillInParsedStruct(CParsedContainer*)':
>: undefined reference to `comment'
>./classparser/libclassparser.a(ClassParser.o)(.text+0x2ed6): In function 
>`CClassParser::parseNamespace(CParsedScopeContainer*)':
>: undefined reference to `comment'
>./classparser/libclassparser.a(ClassParser.o)(.text+0x4446): In function 
>`CClassParser::fillInParsedVariable(CParsedAttribute*)':
>: undefined reference to `comment'
>./classparser/libclassparser.a(ClassParser.o)(.text+0x61a5): In function 
>`CClassParser::fillInParsedMethod(CParsedMethod*, bool)':
>: undefined reference to `comment'
>./classparser/libclassparser.a(ClassParser.o)(.text+0x9494): In function 
>`CClassParser::parseClass(CParsedClass*)':
>: undefined reference to `comment'
>./classparser/libclassparser.a(ClassParser.o)(.text+0xb23e): In function 
>`CClassParser::reset()':
>: undefined reference to `comment_start'
>./classparser/libclassparser.a(ClassParser.o)(.text+0xb248): In function 
>`CClassParser::reset()':
>: undefined reference to `comment_end'
>./classparser/libclassparser.a(ClassParser.o)(.text+0xb28a): In function 
>`CClassParser::parseFile(std::basic_ifstream<char, std::char_traits<char> 
>  
>
>>&)':
>>    
>>
>: undefined reference to 
>`yyFlexLexer::yyFlexLexer[in-charge](std::basic_istream<char, 
>std::char_traints<char> >*, std::basic_ostream<char, std::char_traits<char> 
>  
>
>>*)
>>    
>>
>
>I've got Mandrake-9.1 distribution, the kdevelop package was configured
>as ./configure --prefix=/usr/local
>
>Any help would be appreciated
>  
>
comment, comment_start and comment_end are defined as public in the 
kdevelop/classparser/tokenizer.cc

As required by linker they should be present in the 
......../kdevelop/classparser/libclassparser.a and compiled as unmangled 
symbols. If your system uses ELF executable format you can check the 
symbols by :

cd ........./kdevelop/classparser
nm libclassparser.a | grep comment 
or
nm tokenizer.o | grep comment

The symbols should appear as:

<address> B comment
<address> D comment_start
<address> D comment_end

If you make
nm classparser.o | grep comment

they should appear as

<address> U comment
....
....

If they are mangled or their storage class is marked with lowercase 
letters you should check with your compiler and make modifications so 
that the symbol names in classparser.o and tokenizer.o correspond - 
being them all mangled or unmangled, and that their storage class is 
marked with the uppercase which means they are exported.

I hope it helps.

Iztok





More information about the KDevelop-devel mailing list