trinity-devel@lists.pearsoncomputing.net

Message: previous - next
Month: January 2014

Re: [trinity-devel] [SOLVED](cheated)Re: [trinity-devel] tdepim FTBFS undefined reference to `XScreenSaverQueryExtension'

From: "David C. Rankin" <drankinatty@...>
Date: Thu, 23 Jan 2014 21:57:54 -0600
On 01/23/2014 07:45 PM, Slávek Banko wrote:
> On Wednesday 22 of January 2014 04:05:01 David C. Rankin wrote:
>> On 01/21/2014 07:50 PM, David C. Rankin wrote:
>>> On 01/21/2014 06:35 PM, Slávek Banko wrote:
>>>>> And value of XSS_LIBRARIES variable is what?
>>>>>
>>>>> Slavek
>>>
>>> I don't know ... :-)  Where would I look?
>>>
>>> ./karm/CMakeLists.txt:58:  LINK kcal_resourceremote-shared
>>> tdeprint-shared ${XSS_LIBRARIES}
>>>
>>> OK,
>>>
>>>   What do I do, add some type of print line? of just append -lXss
>>
>>   That's what I did with sed in the build script:
>>
>>
>> sed -i 's/XSS_LIBRARIES}/XSS_LIBRARIES} -lXss/' tdepim/karm/CMakeLists.txt
>>
>>   I still don't know why this was necessary, and haven't picked the
>> CMakeLists.txt/ConfigureChecks.cmake files apart enough to find out why
>> ${XSS_LIBRARIES} isn't finding or including -lXss. For completeness, the
>> libxss package on Arch installs xscrnsaver.pc in /usr/lib/pkgconfig:
>>
>> 20:51 phoinix:/dat_e/ch14> cat david/usr/lib/pkgconfig/xscrnsaver.pc
>> prefix=/usr
>> exec_prefix=${prefix}
>> libdir=${exec_prefix}/lib
>> includedir=${prefix}/include
>>
>> Name: XScrnSaver
>> Description: The XScrnSaver Library
>> Version: 1.2.2
>> Requires: scrnsaverproto
>> Requires.private: x11 xext
>> Cflags: -I${includedir}
>> Libs: -L${libdir} -lXss
>>
>>   pkg-config returns the correct library information:
>>
>> 20:57 phoinix:/dat_e/ch14> pkg-config --libs xscrnsaver
>> -lXss
>>
>>   However, pkg-config seems to fail to return any other useful information
>> and I am not familiar enough with it to know why:
>>
>> 20:59 phoinix:/dat_e/ch14> pkg-config --libs-only-l xscrnsaver
>> -lXss
>> 21:00 phoinix:/dat_e/ch14> pkg-config --libs-only-L xscrnsaver
>> 21:00 phoinix:/dat_e/ch14> pkg-config --cflags xscrnsaver
>> 21:02 phoinix:/dat_e/ch14> pkg-config --cflags-only-I xscrnsaver
>> 21:03 phoinix:/dat_e/ch14> pkg-config --cflags-only-other xscrnsaver
>>
>>   Does anything appear out of whack with the .pc file? I'll have to compare
>> it to other files to see if I can discern any differences.
> 
> Please look in your build-log to check the configuration listing - especially 
> this part:
> 
> -- Looking for XScreenSaverQueryInfo in Xss
> -- Looking for XScreenSaverQueryInfo in Xss - found
> -- checking for one of the modules 'xscrnsaver'
> -- Looking for X11/extensions/scrnsaver.h
> -- Looking for X11/extensions/scrnsaver.h - found
> 
> And then in CMakeCache.txt informations about the pkgconfig for package XSS - 
> this part:
> 
> XSS_CFLAGS:INTERNAL=
> XSS_CFLAGS_I:INTERNAL=
> XSS_CFLAGS_OTHER:INTERNAL=
> XSS_FOUND:INTERNAL=1
> XSS_INCLUDEDIR:INTERNAL=/usr/include
> XSS_INCLUDE_DIRS:INTERNAL=
> XSS_LDFLAGS:INTERNAL=-lXss
> XSS_LDFLAGS_OTHER:INTERNAL=
> XSS_LIBDIR:INTERNAL=/usr/lib/x86_64-linux-gnu
> XSS_LIBRARIES:INTERNAL=Xss
> XSS_LIBRARY_DIRS:INTERNAL=
> XSS_LIBS:INTERNAL=
> XSS_LIBS_L:INTERNAL=
> XSS_LIBS_OTHER:INTERNAL=
> XSS_LIBS_PATHS:INTERNAL=
> 
> 
> Slavek
> 

Thanks Slavek,

  I will have to re-run the build with patches removed. I don't have the
CMakeCache.txt from that build. The log only shows:

-- Looking for XScreenSaverQueryInfo in Xss
-- Looking for XScreenSaverQueryInfo in Xss - found
-- checking for one of the modules 'xscreensaver'
-- Looking for X11/extensions/scrnsaver.h
-- Looking for X11/extensions/scrnsaver.h - found

  Before it fails at 88% due to:

CMakeFiles/karm-shared.dir/idletimedetector.cpp.o: In function
`IdleTimeDetector::IdleTimeDetector(int)':
idletimedetector.cpp:(.text+0xdc): undefined reference to
`XScreenSaverQueryExtension'
idletimedetector.cpp:(.text+0xf2): undefined reference to `XScreenSaverAllocInfo'
CMakeFiles/karm-shared.dir/idletimedetector.cpp.o: In function
`IdleTimeDetector::check()':
idletimedetector.cpp:(.text+0x242): undefined reference to `XScreenSaverQueryInfo'

  So it PASSED the initial cmake checks only to FAIL later during the build.
I'll get the wanted internal when I set up my next build environment and run
everything again.

Full log snippet:

[ 88%] Building CXX object karm/CMakeFiles/karm-shared.dir/taskviewwhatsthis.cpp.o
cd /build/tde-tdepim/src/build/karm && /usr/bin/c++   -DHAVE_CONFIG_H
-D_FILE_OFFSET_BITS=64 -Dkarm_shared_EXPORTS -fpermissive  -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/opt/tqt3/include
-I/usr/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 -fPIC -I/build/tde-tdepim/src/build/karm
-I/build/tde-tdepim/src/tdepim/karm -I/build/tde-tdepim/src/build
-I/build/tde-tdepim/src/tdepim -I/build/tde-tdepim/src/tdepim/libkcal
-I/build/tde-tdepim/src/tdepim/libtdepim
-I/build/tde-tdepim/src/tdepim/tderesources/remote -I/opt/trinity/include
-I/opt/tqt3/include -I/usr/include/tqt    -o
CMakeFiles/karm-shared.dir/taskviewwhatsthis.cpp.o -c
/build/tde-tdepim/src/tdepim/karm/taskviewwhatsthis.cpp
Linking CXX shared library libkarm.so
cd /build/tde-tdepim/src/build/karm && /usr/bin/cmake -E cmake_link_script
CMakeFiles/karm-shared.dir/link.txt --verbose=1
/usr/bin/c++  -fPIC -fpermissive  -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/opt/tqt3/include -I/usr/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 -Wl,--no-undefined -shared
-Wl,-soname,libkarm.so.0 -o libkarm.so.0.0.0
CMakeFiles/karm-shared.dir/tdeaccelmenuwatch.cpp.o
CMakeFiles/karm-shared.dir/desktoptracker.cpp.o
CMakeFiles/karm-shared.dir/edittaskdialog.cpp.o
CMakeFiles/karm-shared.dir/idletimedetector.cpp.o
CMakeFiles/karm-shared.dir/printdialog.cpp.o
CMakeFiles/karm-shared.dir/timekard.cpp.o
CMakeFiles/karm-shared.dir/karmutility.cpp.o
CMakeFiles/karm-shared.dir/ktimewidget.cpp.o
CMakeFiles/karm-shared.dir/karmstorage.cpp.o
CMakeFiles/karm-shared.dir/mainwindow.cpp.o
CMakeFiles/karm-shared.dir/preferences.cpp.o
CMakeFiles/karm-shared.dir/print.cpp.o CMakeFiles/karm-shared.dir/task.cpp.o
CMakeFiles/karm-shared.dir/taskview.cpp.o CMakeFiles/karm-shared.dir/tray.cpp.o
CMakeFiles/karm-shared.dir/csvexportdialog_base.cpp.o
CMakeFiles/karm-shared.dir/csvexportdialog.cpp.o
CMakeFiles/karm-shared.dir/plannerparser.cpp.o
CMakeFiles/karm-shared.dir/karmdcopiface_skel.cpp.o
CMakeFiles/karm-shared.dir/taskviewwhatsthis.cpp.o  -L/opt/tqt3/lib
../tderesources/remote/libkcal_resourceremote.so.1.0.0
/opt/trinity/lib/libtdeprint.so.14.0.0 ../libtdepim/libtdepim.so.1.0.0
../libkcal/libkcal.so.2.0.0 ../ktnef/lib/libktnef.so.1.0.0
../libkmime/libkmime.so.2.2.0 /opt/trinity/lib/libtdeabc.so.1.2.0
/opt/trinity/lib/libvcard.so.0.0.0 /opt/trinity/lib/libtderesources.so.1.2.0
-lical -licalss -licalvcal -lpthread /opt/trinity/lib/libtdeimproxy.so.0.0.0
/opt/trinity/lib/libtdeparts.so.2.1.0 -ltqui /opt/trinity/lib/libtdeio.so.14.0.0
/opt/trinity/lib/libtdeui.so.14.0.0 -lfreetype -lfontconfig
/opt/trinity/lib/libtdesu.so.14.0.0 -lutil
/opt/trinity/lib/libtdewalletclient.so.1.0.1
/opt/trinity/lib/libtdecore.so.14.0.0 /opt/trinity/lib/libDCOP.so.14.0.0
/opt/trinity/lib/libtdefx.so.14.0.0 -ltqt -ltqt-mt -lXrender -lX11 -lc -lz -lidn
-lXcomposite -lICE -lSM -lacl
-Wl,-rpath,/opt/tqt3/lib:/build/tde-tdepim/src/build/tderesources/remote:/opt/trinity/lib:/build/tde-tdepim/src/build/libtdepim:/build/tde-tdepim/src/build/libkcal:/build/tde-tdepim/src/build/ktnef/lib:/build/tde-tdepim/src/build/libkmime:
CMakeFiles/karm-shared.dir/idletimedetector.cpp.o: In function
`IdleTimeDetector::IdleTimeDetector(int)':
idletimedetector.cpp:(.text+0xdc): undefined reference to
`XScreenSaverQueryExtension'
idletimedetector.cpp:(.text+0xf2): undefined reference to `XScreenSaverAllocInfo'
CMakeFiles/karm-shared.dir/idletimedetector.cpp.o: In function
`IdleTimeDetector::check()':
idletimedetector.cpp:(.text+0x242): undefined reference to `XScreenSaverQueryInfo'
collect2: error: ld returned 1 exit status
karm/CMakeFiles/karm-shared.dir/build.make:669: recipe for target
'karm/libkarm.so.0.0.0' failed
make[2]: *** [karm/libkarm.so.0.0.0] Error 1
make[2]: Leaving directory '/build/tde-tdepim/src/build'
CMakeFiles/Makefile2:9652: recipe for target
'karm/CMakeFiles/karm-shared.dir/all' failed
make[1]: *** [karm/CMakeFiles/karm-shared.dir/all] Error 2
make[1]: Leaving directory '/build/tde-tdepim/src/build'
Makefile:119: recipe for target 'all' failed


-- 
David C. Rankin, J.D.,P.E.