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