trinity-devel@lists.pearsoncomputing.net

Message: previous - next
Month: December 2017

Re: [trinity-devel] Linker error tdelibs

From: Kai Peter <kp@...>
Date: Fri, 29 Dec 2017 12:23:55 +0100
On 2017-12-28 15:50, Slávek Banko wrote:
> On Thursday 28 of December 2017 10:44:28 Kai Peter wrote:
>> Hi,
>> 
>> I want to build trinity core and did follow the order at the website.
>> As it was mentioned as optional I didn't build avahi-tqt and tqca. I
>> have disabled cups too. Now I get a linker error with tdelibs:
>> 
>> [ 90%] Linking CXX shared library libtdehtml.so
>> cd /mnt/NAS/Projects/trinity/core/09-tdelibs/build/tdehtml &&
>> /usr/bin/cmake -E cmake_link_script
>> CMakeFiles/tdehtml-shared.dir/link.txt --verbose=1
>> /usr/bin/c++ -fPIC    -DQT_NO_ASCII_CAST -DQT_CLEAN_NAMESPACE
>> -DQT_NO_STL -DQT_NO_COMPAT -DQT_NO_TRANSLATION -DQT_THREAD_SUPPORT
>> -D_REENTRANT -include tqt.h -I/usr/local/tde/include
>> -I/usr/local/tde/include/tqt -DQT_NO_ASCII_CAST -DQT_CLEAN_NAMESPACE
>> -DQT_NO_STL -DQT_NO_COMPAT -DQT_NO_TRANSLATION -DQT_THREAD_SUPPORT
>> -D_REENTRANT -include tqt.h -Woverloaded-virtual -Wl,--no-undefined
>> -shared -Wl,-soname,libtdehtml.so.14 -o libtdehtml.so.14.0.0
>> CMakeFiles/tdehtml-shared.dir/tdehtmlview.cpp.o
>> CMakeFiles/tdehtml-shared.dir/tdehtml_part.cpp.o
>> CMakeFiles/tdehtml-shared.dir/tdehtml_run.cpp.o
>> CMakeFiles/tdehtml-shared.dir/tdehtml_factory.cpp.o
>> CMakeFiles/tdehtml-shared.dir/tdehtml_settings.cc.o
>> CMakeFiles/tdehtml-shared.dir/tdehtml_events.cpp.o
>> CMakeFiles/tdehtml-shared.dir/tdehtml_ext.cpp.o
>> CMakeFiles/tdehtml-shared.dir/tdehtml_pagecache.cpp.o
>> CMakeFiles/tdehtml-shared.dir/tdehtml_iface.cc.o
>> CMakeFiles/tdehtml-shared.dir/tdehtml_printsettings.cpp.o
>> CMakeFiles/tdehtml-shared.dir/tdehtmlimage.cpp.o
>> CMakeFiles/tdehtml-shared.dir/kjserrordlg.cpp.o
>> CMakeFiles/tdehtml-shared.dir/htmlpageinfo.cpp.o
>> CMakeFiles/tdehtml-shared.dir/tdehtml_iface_skel.cpp.o
>> -L/usr/local/tde/lib
>> -Wl,-rpath,/usr/local/tde/lib:/mnt/NAS/Projects/trinity/core/09-tdelibs
>> /build/tdeutils:/mnt/NAS/Projects/trinity/core/09-tdelibs/build/tdeprint
>> :/mnt/NAS/Projects/trinity/core/09-tdelibs/build/kjs:/mnt/NAS/Projects/t
>> rinity/core/09-tdelibs/build/tdeparts:/mnt/NAS/Projects/trinity/core/09-
>> tdelibs/build/tdeio:/mnt/NAS/Projects/trinity/core/09-tdelibs/build/tdeu
>> i:/mnt/NAS/Projects/trinity/core/09-tdelibs/build/tdesu:/mnt/NAS/Project
>> s/trinity/core/09-tdelibs/build/tdewallet/client:/mnt/NAS/Projects/trini
>> ty/core/09-tdelibs/build/tdecore:/mnt/NAS/Projects/trinity/core/09-tdeli
>> bs/build/dcop:/mnt/NAS/Projects/trinity/core/09-tdelibs/build/tdefx:
>> java/libkjava.a ecma/libkjs_html.a dom/libtdehtmldom.a
>> css/libtdehtmlcss.a html/libtdehtmlhtml.a xml/libtdehtmlxml.a
>> rendering/libtdehtmlrender.a misc/libtdehtmlmisc.a
>> ../tdeutils/libtdeutils.so.1.2.0 ../tdeprint/libtdeprint.so.14.0.0
>> ../kjs/libkjs.so.1.2.0 -ljpeg ../tdeparts/libtdeparts.so.2.1.0
>> ../tdeio/libtdeio.so.14.0.0 ../tdeui/libtdeui.so.14.0.0 -lfreetype
>> -lfontconfig -lXext ../tdesu/libtdesu.so.14.0.0
>> ../tdewallet/client/libtdewalletclient.so.1.0.1 -lacl -lattr
>> ../tdecore/libtdecore.so.14.0.0 ../dcop/libDCOP.so.14.0.0
>> ../tdefx/libtdefx.so.14.0.0 -ltqt -lqt-mt -lXrender -lX11 -lc -lz
>> -lXcomposite -lICE -lSM -lutil -lpcre
>> misc/libtdehtmlmisc.a(htmlhashes.cpp.o): In function
>> `tdehtml::getAttrID(char const*, int)':
>> htmlhashes.cpp:(.text+0x27b): undefined reference to `findAttr(char
>> const*, unsigned int)'
>> collect2: error: ld returned 1 exit status
>> make[2]: *** [tdehtml/CMakeFiles/tdehtml-shared.dir/build.make:521:
>> tdehtml/libtdehtml.so.14.0.0] Error 1
>> make[2]: Leaving directory
>> '/mnt/NAS/Projects/trinity/core/09-tdelibs/build'
>> make[1]: *** [CMakeFiles/Makefile2:9838:
>> tdehtml/CMakeFiles/tdehtml-shared.dir/all] Error 2
>> make[1]: Leaving directory
>> '/mnt/NAS/Projects/trinity/core/09-tdelibs/build'
>> make: *** [Makefile:130: all] Error 2
>> 
>> It seems that there is something missing - but what? What have to be
>> linked? Do I have to install some additional package/lib? I couldn't
>> locate `findAttr(char const*, unsigned int)' yet. Any help is
>> appreciated. My OS is an up-to-date Gentoo.
>> 
>> Thanks
>> Kai
> 
> Hi Kai,
> 
> the same problem I have seen once reported - I suspect on Slackware. 
> But I
> do not know how he solved it.
> 
> The findAttr function is defined in htmlattrs.c, which is directly
> included into htmlhashes.cpp => so there is no reason to be findAttr
> considered as an external reference.
> 
> The only thing that comes to my mind is that findAttr is defined as 
> inline
> and the compiler does not perform the inlining of this function for 
> some
> reason.
> 
> Cheers
I did comment out the inline definitions and it did compile/link well. 
Lets see if there are side effects later on.

Thanks
Kai

-- 
Sent with eQmail-1.10