trinity-devel@lists.pearsoncomputing.net

Message: previous - next
Month: March 2012

Re: [trinity-devel] After moving tqtinterface to /usr, tdelibs fails: /usr/bin/ld: cannot find -lart_lgpl_2

From: Darrell Anderson <humanreadable@...>
Date: Thu, 15 Mar 2012 13:08:33 -0700 (PDT)
>   After moving tqtinterface to /usr to enable tdeutils
> to build (hardcoded paths
> to tqt), tdelibs fails to build due to not finding the
> art_lgpl_2 library which
> is in /opt/trinity/lib. How do we handle this? Is there an
> 'export X' needed to
> make tdelibs build? The error is:
> 
> Linking CXX shared library libtdecore.so
> cd /build/src/build/tdecore && /usr/bin/cmake -E
> cmake_link_script
> CMakeFiles/tdecore-shared.dir/link.txt --verbose=1
> /usr/bin/c++  -fPIC -march=x86-64 -mtune=generic -O2
> -pipe -fstack-protector
> --param=ssp-buffer-size=4
> -D_FORTIFY_SOURCE=2   -DQT_NO_ASCII_CAST
> -DQT_CLEAN_NAMESPACE -DQT_NO_STL -DQT_NO_COMPAT
> -DQT_NO_TRANSLATION
> -DQT_THREAD_SUPPORT -D_REENTRANT -include tqt.h
> -Wl,--no-undefined -shared
> -Wl,-soname,libtdecore.so.4 -o libtdecore.so.4.2.0
> CMakeFiles/tdecore-shared.dir/libintl.cpp.o
> CMakeFiles/tdecore-shared.dir/kapplication.cpp.o
> CMakeFiles/tdecore-shared.dir/kdebug.cpp.o
> CMakeFiles/tdecore-shared.dir/netwm.cpp.o
> CMakeFiles/tdecore-shared.dir/kconfigbase.cpp.o
> CMakeFiles/tdecore-shared.dir/kconfig.cpp.o
> CMakeFiles/tdecore-shared.dir/ksimpleconfig.cpp.o
> CMakeFiles/tdecore-shared.dir/kconfigbackend.cpp.o
> CMakeFiles/tdecore-shared.dir/kmanagerselection.cpp.o
> CMakeFiles/tdecore-shared.dir/kdesktopfile.cpp.o
> CMakeFiles/tdecore-shared.dir/kstandarddirs.cpp.o
> CMakeFiles/tdecore-shared.dir/ksock.cpp.o
> CMakeFiles/tdecore-shared.dir/kpty.cpp.o
> CMakeFiles/tdecore-shared.dir/kprocess.cpp.o
> CMakeFiles/tdecore-shared.dir/kprocctrl.cpp.o
> CMakeFiles/tdecore-shared.dir/klocale.cpp.o
> CMakeFiles/tdecore-shared.dir/krfcdate.cpp.o
> CMakeFiles/tdecore-shared.dir/kiconeffect.cpp.o
> CMakeFiles/tdecore-shared.dir/kicontheme.cpp.o
> CMakeFiles/tdecore-shared.dir/kiconloader.cpp.o
> CMakeFiles/tdecore-shared.dir/twin.cpp.o
> CMakeFiles/tdecore-shared.dir/twinmodule.cpp.o
> CMakeFiles/tdecore-shared.dir/krootprop.cpp.o
> CMakeFiles/tdecore-shared.dir/kcharsets.cpp.o
> CMakeFiles/tdecore-shared.dir/kckey.cpp.o
> CMakeFiles/tdecore-shared.dir/kshortcut.cpp.o
> CMakeFiles/tdecore-shared.dir/kkeynative_x11.cpp.o
> CMakeFiles/tdecore-shared.dir/kkeyserver_x11.cpp.o
> CMakeFiles/tdecore-shared.dir/kaccelaction.cpp.o
> CMakeFiles/tdecore-shared.dir/kshortcutmenu.cpp.o
> CMakeFiles/tdecore-shared.dir/kaccelbase.cpp.o
> CMakeFiles/tdecore-shared.dir/kaccel.cpp.o
> CMakeFiles/tdecore-shared.dir/kglobalaccel_x11.cpp.o
> CMakeFiles/tdecore-shared.dir/kglobalaccel.cpp.o
> CMakeFiles/tdecore-shared.dir/kstdaccel.cpp.o
> CMakeFiles/tdecore-shared.dir/kshortcutlist.cpp.o
> CMakeFiles/tdecore-shared.dir/kcrash.cpp.o
> CMakeFiles/tdecore-shared.dir/kurl.cpp.o
> CMakeFiles/tdecore-shared.dir/kregexp.cpp.o
> CMakeFiles/tdecore-shared.dir/kglobal.cpp.o
> CMakeFiles/tdecore-shared.dir/kglobalsettings.cpp.o
> CMakeFiles/tdecore-shared.dir/kallocator.cpp.o
> CMakeFiles/tdecore-shared.dir/kvmallocator.cpp.o
> CMakeFiles/tdecore-shared.dir/kmimesourcefactory.cpp.o
> CMakeFiles/tdecore-shared.dir/kinstance.cpp.o
> CMakeFiles/tdecore-shared.dir/kpalette.cpp.o
> CMakeFiles/tdecore-shared.dir/kipc.cpp.o
> CMakeFiles/tdecore-shared.dir/klibloader.cpp.o
> CMakeFiles/tdecore-shared.dir/ktempfile.cpp.o
> CMakeFiles/tdecore-shared.dir/kuniqueapplication.cpp.o
> CMakeFiles/tdecore-shared.dir/kaccelmanager.cpp.o
> CMakeFiles/tdecore-shared.dir/ksavefile.cpp.o
> CMakeFiles/tdecore-shared.dir/krandomsequence.cpp.o
> CMakeFiles/tdecore-shared.dir/kstringhandler.cpp.o
> CMakeFiles/tdecore-shared.dir/kcompletion.cpp.o
> CMakeFiles/tdecore-shared.dir/kcmdlineargs.cpp.o
> CMakeFiles/tdecore-shared.dir/kaboutdata.cpp.o
> CMakeFiles/tdecore-shared.dir/kcompletionbase.cpp.o
> CMakeFiles/tdecore-shared.dir/knotifyclient.cpp.o
> CMakeFiles/tdecore-shared.dir/kaudioplayer.cpp.o
> CMakeFiles/tdecore-shared.dir/kdcoppropertyproxy.cpp.o
> CMakeFiles/tdecore-shared.dir/ksockaddr.cpp.o
> CMakeFiles/tdecore-shared.dir/kextsock.cpp.o
> CMakeFiles/tdecore-shared.dir/netsupp.cpp.o
> CMakeFiles/tdecore-shared.dir/kprocio.cpp.o
> CMakeFiles/tdecore-shared.dir/kbufferedio.cpp.o
> CMakeFiles/tdecore-shared.dir/kpixmapprovider.cpp.o
> CMakeFiles/tdecore-shared.dir/kurldrag.cpp.o
> CMakeFiles/tdecore-shared.dir/kmdcodec.cpp.o
> CMakeFiles/tdecore-shared.dir/ksocks.cpp.o
> CMakeFiles/tdecore-shared.dir/fakes.c.o
> CMakeFiles/tdecore-shared.dir/vsnprintf.c.o
> CMakeFiles/tdecore-shared.dir/ksycoca.cpp.o
> CMakeFiles/tdecore-shared.dir/ksycocadict.cpp.o
> CMakeFiles/tdecore-shared.dir/ksycoca_skel.cpp.o
> CMakeFiles/tdecore-shared.dir/ksycocafactory.cpp.o
> CMakeFiles/tdecore-shared.dir/kxmessages.cpp.o
> CMakeFiles/tdecore-shared.dir/kstartupinfo.cpp.o
> CMakeFiles/tdecore-shared.dir/kcatalogue.cpp.o
> CMakeFiles/tdecore-shared.dir/kasyncio.cpp.o
> CMakeFiles/tdecore-shared.dir/kmultipledrag.cpp.o
> CMakeFiles/tdecore-shared.dir/kstaticdeleter.cpp.o
> CMakeFiles/tdecore-shared.dir/kappdcopiface.cpp.o
> CMakeFiles/tdecore-shared.dir/kappdcopiface_skel.cpp.o
> CMakeFiles/tdecore-shared.dir/kclipboard.cpp.o
> CMakeFiles/tdecore-shared.dir/kcheckaccelerators.cpp.o
> CMakeFiles/tdecore-shared.dir/tdeversion.cpp.o
> CMakeFiles/tdecore-shared.dir/kdebugdcopiface.cpp.o
> CMakeFiles/tdecore-shared.dir/kdebugdcopiface_skel.cpp.o
> CMakeFiles/tdecore-shared.dir/kcalendarsystem.cpp.o
> CMakeFiles/tdecore-shared.dir/kcalendarsystemgregorian.cpp.o
> CMakeFiles/tdecore-shared.dir/kcalendarsystemhijri.cpp.o
> CMakeFiles/tdecore-shared.dir/kcalendarsystemhebrew.cpp.o
> CMakeFiles/tdecore-shared.dir/kcalendarsystemfactory.cpp.o
> CMakeFiles/tdecore-shared.dir/kmacroexpander.cpp.o
> CMakeFiles/tdecore-shared.dir/kidna.cpp.o
> CMakeFiles/tdecore-shared.dir/ktempdir.cpp.o
> CMakeFiles/tdecore-shared.dir/kshell.cpp.o
> CMakeFiles/tdecore-shared.dir/kmountpoint.cpp.o
> CMakeFiles/tdecore-shared.dir/kcalendarsystemjalali.cpp.o
> CMakeFiles/tdecore-shared.dir/kprotocolinfo_tdecore.cpp.o
> CMakeFiles/tdecore-shared.dir/kprotocolinfofactory.cpp.o
> CMakeFiles/tdecore-shared.dir/kxerrorhandler.cpp.o
> CMakeFiles/tdecore-shared.dir/kuser.cpp.o
> CMakeFiles/tdecore-shared.dir/kconfigskeleton.cpp.o
> CMakeFiles/tdecore-shared.dir/kconfigdialogmanager.cpp.o
> CMakeFiles/tdecore-shared.dir/klockfile.cpp.o
> CMakeFiles/tdecore-shared.dir/kqiodevicegzip_p.cpp.o
> CMakeFiles/tdecore-shared.dir/ktimezones.cpp.o
> -L/opt/tqt3/lib
> -Wl,-whole-archive network/libtdecorenetwork.a
> -Wl,-no-whole-archive
> ../libltdl/libltdlc.a svgicons/libkdesvgicons.a
> ../dcop/libDCOP.so.4.2.0
> ../tdefx/libtdefx.so.4.2.0 -lz -lidn -lXcomposite -lICE -lSM
> -ldl -lart_lgpl_2
> -ltqt -ltqt-mt -lXrender -lX11
> -Wl,-rpath,/opt/tqt3/lib:/build/src/build/dcop:/build/src/build/tdefx:
> /usr/bin/ld: cannot find -lart_lgpl_2
> collect2: ld returned 1 exit status
> 
> 07:59 nirvana:/mnt/nv1/home/chroot/david/build> find
> ../opt/ -name "*art_lgpl_2*"
> ../opt/trinity/lib/libart_lgpl_2.la
> ../opt/trinity/lib/libart_lgpl_2.so.2
> ../opt/trinity/lib/libart_lgpl_2.so.2.3.21
> ../opt/trinity/lib/libart_lgpl_2.so
> ../opt/trinity/lib/libart_lgpl_2.a

I looked at my build script for libart_lgpl. I install to /usr. In light of what I wrote yesterday, I checked all of my build scripts. I install tqtinterface and libart_lgpl to /usr. The reason for installing tqtinterface to /usr is because of the many automake scripts are hard-coded to that location.

I install libart_lgpl to /usr because the Trinity version is merely a patched version of the same package that is installed on (probably) all distros to /usr. That is, the Trinity version of libart_lgpl is merely a patched replacement for a stock package and that location must not change or other things in the distro depending upon libart_lgpl would break.

With that in mind, I just updated my sip4-tqt script to /usr as well for the same reason. Sip is a standard distro package. Installing to /usr would be status quo for all distros.

Darrell