Bug 242311 - build fails - qHash
Summary: build fails - qHash
Status: RESOLVED FIXED
Alias: None
Product: kget
Classification: Applications
Component: torrent (show other bugs)
Version: unspecified
Platform: Compiled Sources Solaris
: NOR normal
Target Milestone: ---
Assignee: KGet authors
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2010-06-21 01:29 UTC by tropikhajma
Modified: 2011-03-15 22:40 UTC (History)
1 user (show)

See Also:
Latest Commit:
Version Fixed In:


Attachments
kdenetwork build completely with this one (339 bytes, patch)
2010-06-21 22:32 UTC, tropikhajma
Details
diff (947 bytes, patch)
2011-03-15 22:40 UTC, Matthias Fuchs
Details

Note You need to log in before you can comment on or make changes to this bug.
Description tropikhajma 2010-06-21 01:29:02 UTC
Version:           unspecified (using Devel) 
OS:                Solaris

kdenetwork 4.4.86 fails to build with the below message
this worked fine with 4.4.85

using the sun studio 12u1compiler, which is slightly more picky about C++ than gcc


...
pkgbuild: /opt/sunstudio12.1/bin/CC  -library=no%Cstd -library=Crun -xannotate=no  -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 -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 -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 -L/opt/kde4/lib -R/opt/kde4/lib -L/usr/lib -R/usr/lib -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 -xannotate=no    -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/kget.dir/kget_automoc.o CMakeFiles/kget.dir/dbus/dbuskgetwrapper.o CMakeFiles/kget.dir/conf/dlgwebinterface.o CMakeFiles/kget.dir/conf/preferencesdialog.o CMakeFiles/kget.dir/conf/transfersgrouptree.o CMakeFiles/kget.dir/conf/transfersgroupwidget.o CMakeFiles/kget.dir/conf/pluginselector.o CMakeFiles/kget.dir/conf/verificationpreferences.o CMakeFiles/kget.dir/ui/droptarget.o CMakeFiles/kget.dir/ui/transfersview.o CMakeFiles/kget.dir/ui/transfersviewdelegate.o CMakeFiles/kget.dir/ui/splash.o CMakeFiles/kget.dir/ui/transferdetails.o CMakeFiles/kget.dir/ui/viewscontainer.o CMakeFiles/kget.dir/ui/newtransferdialog.o CMakeFiles/kget.dir/ui/groupsettingsdialog.o CMakeFiles/kget.dir/ui/transfersettingsdialog.o CMakeFiles/kget.dir/ui/contextmenu.o CMakeFiles/kget.dir/ui/tray.o CMakeFiles/kget.dir/ui/history/rangetreewidget.o CMakeFiles/kget.dir/ui/history/transferhistory.o CMakeFiles/kget.dir/ui/history/transferhistoryitemdelegate.o CMakeFiles/kget.dir/ui/history/transferhistorycategorizeddelegate.o CMakeFiles/kget.dir/ui/history/transferhistorycategorizedview.o CMakeFiles/kget.dir/ui/linkview/kget_linkview.o CMakeFiles/kget.dir/ui/linkview/kget_sortfilterproxymodel.o CMakeFiles/kget.dir/ui/mirror/mirrorsettings.o CMakeFiles/kget.dir/ui/mirror/mirrormodel.o CMakeFiles/kget.dir/ui/renamefile.o CMakeFiles/kget.dir/ui/verificationdialog.o CMakeFiles/kget.dir/ui/metalinkcreator/metalinkcreator.o CMakeFiles/kget.dir/ui/metalinkcreator/generalwidget.o CMakeFiles/kget.dir/ui/metalinkcreator/metalinker.o CMakeFiles/kget.dir/ui/metalinkcreator/filedlg.o CMakeFiles/kget.dir/ui/metalinkcreator/localemodels.o CMakeFiles/kget.dir/ui/metalinkcreator/dragdlg.o CMakeFiles/kget.dir/ui/metalinkcreator/urlwidget.o CMakeFiles/kget.dir/ui/metalinkcreator/filehandler.o CMakeFiles/kget.dir/ui/signaturedlg.o CMakeFiles/kget.dir/mainwindow.o CMakeFiles/kget.dir/main.o CMakeFiles/kget.dir/extensions/webinterface/httpserver.o CMakeFiles/kget.dir/mainadaptor.o CMakeFiles/kget.dir/ui/nepomukwidget.o  -o kget  -L/opt/kde4/lib -L/export/home/test/packages/BUILD/kdenetwork-4.4.86svn1138650/build-kdenetwork-4.4.86svn1138650/lib /opt/kde4/lib/libQtTest.so /opt/kde4/lib/libkdeui.so.5.5.0 /opt/kde4/lib/libkio.so.5.5.0 /opt/kde4/lib/libkutils.so.4.5.0 ../lib/libkgetcore.so.4.5.0 /opt/kde4/lib/libknotifyconfig.so.4.5.0 /opt/kde4/lib/libqca.so /opt/kde4/lib/libnepomuk.so /opt/kde4/lib/libkonq.so /opt/kde4/lib/libqgpgme.so /opt/kde4/lib/libgpgme++-pthread.so -lgpgme-pthread -lpthread -lgpg-error -lsocket -lnsl /opt/kde4/lib/libkemoticons.so.4.5.0 /opt/kde4/lib/libkidletime.so.4.5.0 /opt/kde4/lib/libkcmutils.so.4.5.0 /opt/kde4/lib/libkprintutils.so.4.5.0 /opt/kde4/lib/libkio.so.5.5.0 /opt/kde4/lib/libkdeui.so.5.5.0 /opt/kde4/lib/libQtSvg.so /opt/kde4/lib/libQtNetwork.so /opt/kde4/lib/libQtXml.so /opt/kde4/lib/libkdecore.so.5.5.0 /opt/kde4/lib/libQtDBus.so /opt/kde4/lib/libQtCore.so -lthread /opt/kde4/lib/libQtGui.so -R/opt/kde4/lib:/export/home/test/packages/BUILD/kdenetwork-4.4.86svn1138650/build-kdenetwork-4.4.86svn1138650/lib:
pkgbuild: ld: warning: file /opt/kde4/lib/libkio.so.5.5.0: attempted multiple inclusion of file
pkgbuild: ld: warning: file /opt/kde4/lib/libkdeui.so.5.5.0: attempted multiple inclusion of file
pkgbuild: Undefined                     first referenced
pkgbuild:  symbol                           in file
pkgbuild: unsigned qHash(const QUrl&)          CMakeFiles/kget.dir/ui/metalinkcreator/metalinker.o  (symbol belongs to implicit dependency /opt/kde4/lib/libsoprano.so.4)
pkgbuild: ld: fatal: symbol referencing errors. No output written to kget

Reproducible: Always
Comment 1 Lukas Appelhans 2010-06-21 09:38:39 UTC
I wonder if we support this compiler...

Except that I'd say it may be a problem of the redefinition of qHash() in Soprano (which was a problem before afair...).

Lukas
Comment 2 Sebastian Trueg 2010-06-21 10:31:12 UTC
Since Qt 4.6 or 4.5 (cant remember) qHash(QUrl) comes built-in. That is why recent Soprano versions have an ifdef disabling the Soprano qhash version. So all you need is a recent soprano built with the same qt you are building kdenetwork with.
Comment 3 tropikhajma 2010-06-21 12:49:10 UTC
soprano 2.4.63, Qt 4.6.2


mmm, the checks are for qt 4.7 in soprano/node.h, soprano/qhashqurlcompat.cpp, index/qurlhash.h:

QT_VERSION >= 0x040700


but I guess I could try lowering that :
packages/BUILD/qt-4.6.2/i386/qt-everywhere-opensource-src-4.6.2/src/xmlpatterns/type/qprimitives_p.h:    inline uint qHash(const QUrl &uri)
Comment 4 tropikhajma 2010-06-21 21:59:45 UTC
adding '-lsoprano' to the build flags fixed the issue for me so I guess tweaking CMakeFiles.txt somewhere should do it
Comment 5 tropikhajma 2010-06-21 22:32:47 UTC
Created attachment 48207 [details]
kdenetwork build completely with this one
Comment 6 Lukas Appelhans 2010-06-21 22:40:47 UTC
Ok good stuff, I have no problem for this to go in... do you have an SVN account?

Lukas
Comment 7 tropikhajma 2010-06-22 00:02:43 UTC
SVN commit 1140974 by pavelheimlich:

linking soprano
BUG:242311


 M  +1 -1      CMakeLists.txt  


WebSVN link: http://websvn.kde.org/?view=rev&revision=1140974
Comment 8 Matthias Fuchs 2011-03-15 22:40:45 UTC
Created attachment 58055 [details]
diff

Could you please try if current trunk still compiles with the sun compiler and the attached patch?