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