Review Request: undefined symbol - missing link to QtGui

Kevin Funk krf at gmx.de
Thu Feb 3 20:49:53 CET 2011


-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
http://git.reviewboard.kde.org/r/100437/#review1180
-----------------------------------------------------------


Hey Pavel,

I'm curious about what is causing this. As far as I can see we do not use QMatrix in our source code. On Linux, the translation unit for Track.o does not show any use of QMatrix symbols either.

Could you please run `find . -name "*.o" -exec sh -c 'objdump -t $1 > $1.txt; grep -Hn QMatrix $1.txt' {} {} \;` in amarok/utilities/collectionscanner/CMakeFiles/amarokcollectionscanner.dir? You'll find that directory in your build directory. The exec part scans all the generated object code of the amarokcollectionscanner target for QMatrix symbols.

If objdump is not available for you, please re-try with elfdump or plain dump instead.

Thanks a lot.

- Kevin


On Jan. 23, 2011, 9:12 p.m., Pavel Heimlich wrote:
> 
> -----------------------------------------------------------
> This is an automatically generated e-mail. To reply, visit:
> http://git.reviewboard.kde.org/r/100437/
> -----------------------------------------------------------
> 
> (Updated Jan. 23, 2011, 9:12 p.m.)
> 
> 
> Review request for Amarok.
> 
> 
> Summary
> -------
> 
> building amarok 2.4.0 fails with the below message.
> The attached patch fixes it.
> 
> This is on Solaris 11e, x86, using the Sun Studio 12u1 compiler
> 
> /usr/bin/gmake -f
> utilities/collectionscanner/CMakeFiles/amarokcollectionscanner.dir/build.make
> utilities/collectionscanner/CMakeFiles/amarokcollectionscanner.dir/build
> gmake[3]: Entering directory
> `/export/home/test/packages/BUILD/amarok-2.4.0/build-amarok-2.4.0'
> Linking CXX executable amarokcollectionscanner
> cd
> /export/home/test/packages/BUILD/amarok-2.4.0/build-amarok-2.4.0/utilities/collectionscanner
> && /opt/kde4/bin/cmake -E cmake_link_script
> CMakeFiles/amarokcollectionscanner.dir/link.txt --verbose=1
> /opt/sunstudio12.1/bin/CC   -D__EXTENSIONS__ -DSOLARIS -D_REENTRANT -DNDEBUG
> -D__EXTENSIONS__ -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64
> -D_POSIX_PTHREAD_SEMANTICS -DSOLARIS -DSOLARIS10 -DNO_DEBUG -D_UNICODE
> -DUNICODE -D_RWSTD_REENTRANT  -D_XOPEN_SOURCE=500 -D_XPG5 
> -I/usr/include/stdcxx4/ansi -I/usr/include/stdcxx4 -I/opt/kde4/include
> -I/usr/include/stdcxx4/ansi -I/usr/include/stdcxx4 -library=no%Cstd
> -library=Crun
> -features=anachronisms,except,rtti,export,extensions,nestedaccess,tmplife,tmplrefstatic
> -instances=global -template=geninlinefuncs -s -xdebugformat=dwarf -xlang=c99
> -xalias_level=compatible -xustr=ascii_utf16_ushort -Qoption ccfe -features=gcc
> -Qoption ccfe -features=zla -Qoption ccfe ++boolflag:sunwcch=false -mt
> -xF=%none -xbuiltin=%all -xinline=%auto -xprefetch=auto
> -xprefetch_auto_type=indirect_array_access -xprefetch_level=3
> -xalias_level=compatible -KPIC -DPIC -xipo=0 -xO3 -xregs=no%frameptr -xjobs=2
> -xrestrict=%all -xthreadvar=%all -z combreloc -z redlocsym -z nodefaultlib -z
> ignore -z now -z rescan -z absexec -xldscope=symbolic -xlibmil -s
> -xtarget=pentium4 -m32 -xarch=sse2 -xchip=pentium4 -xcache=8/64/4:256/128/8 -lc
> -lm -ldl -lpthread -lposix4 -lrt -mt -Y P,/opt/kde4/lib -i -L/opt/kde4/lib
> -R/opt/kde4/lib -L/usr/lib -R/usr/lib -Bdynamic -lstdcxx4 -lCrun -lc -lm  -g
> -xO3 -DQT_NO_DEBUG  -L/opt/kde4/lib -R/opt/kde4/lib  -lstdcxx4 -lCrun
> -L/usr/lib -R/usr/lib -lxml2 -lrt -lsocket -L/usr/X11/lib -R/usr/X11/lib
> -lXdamage CMakeFiles/amarokcollectionscanner.dir/CollectionScanner.o
> CMakeFiles/amarokcollectionscanner.dir/Directory.o
> CMakeFiles/amarokcollectionscanner.dir/Album.o
> CMakeFiles/amarokcollectionscanner.dir/Track.o
> CMakeFiles/amarokcollectionscanner.dir/Playlist.o
> CMakeFiles/amarokcollectionscanner.dir/BatchFile.o
> CMakeFiles/amarokcollectionscanner.dir/__/__/shared/MetaTagLib.o
> CMakeFiles/amarokcollectionscanner.dir/__/__/shared/MetaReplayGain.o
> CMakeFiles/amarokcollectionscanner.dir/__/__/shared/FileType.o
> CMakeFiles/amarokcollectionscanner.dir/__/__/shared/taglib_filetype_resolvers/wavfiletyperesolver.o
> CMakeFiles/amarokcollectionscanner.dir/__/__/shared/taglib_filetype_resolvers/mp4filetyperesolver.o
> CMakeFiles/amarokcollectionscanner.dir/__/__/shared/taglib_filetype_resolvers/asffiletyperesolver.o
>  -o amarokcollectionscanner  /opt/kde4/lib/libQtCore.so -lthread
> /opt/kde4/lib/libQtXml.so /opt/kde4/lib/libQtDBus.so
> /opt/kde4/lib/libkdecore.so.5.6.0 -L/opt/kde4/lib -ltag -L/opt/kde4/lib
> -ltag-extras /opt/kde4/lib/libQtCore.so -lthread /opt/kde4/lib/libQtDBus.so
> -R::::::::::::: 
> ld: warning: file /opt/kde4/lib/libQtCore.so: attempted multiple inclusion of
> file
> ld: warning: file /opt/kde4/lib/libQtDBus.so: attempted multiple inclusion of
> file
> Undefined            first referenced
>  symbol                  in file
> QMatrix::QMatrix()               CMakeFiles/amarokcollectionscanner.dir/Track.o
>  (symbol belongs to implicit dependency /opt/kde4/lib/libQtGui.so.4)
> QMatrix::QMatrix(const QMatrix&)           
> CMakeFiles/amarokcollectionscanner.dir/Track.o  (symbol belongs to implicit
> dependency /opt/kde4/lib/libQtGui.so.4)
> ld: fatal: symbol referencing errors. No output written to
> amarokcollectionscanner
> 
> Reproducible: Always
> 
> 
> This addresses bug 264112.
>     https://bugs.kde.org/show_bug.cgi?id=264112
> 
> 
> Diffs
> -----
> 
>   utilities/collectionscanner/CMakeLists.txt 40b6012 
> 
> Diff: http://git.reviewboard.kde.org/r/100437/diff
> 
> 
> Testing
> -------
> 
> it builds with the patch on Solaris 11
> 
> 
> Thanks,
> 
> Pavel
> 
>

-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://mail.kde.org/pipermail/amarok-devel/attachments/20110203/bcde9f92/attachment-0001.htm 


More information about the Amarok-devel mailing list