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