trinity-devel@lists.pearsoncomputing.net

Message: previous - next
Month: December 2017

Re: [trinity-devel] Linker error tdelibs

From: Slávek Banko <slavek.banko@...>
Date: Thu, 28 Dec 2017 15:50:09 +0100
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
-- 
Slávek