From mboxrd@z Thu Jan 1 00:00:00 1970 From: Andreas Enge Subject: Re: [PATCH] gnu: kde: Add kdelibs. Date: Thu, 6 Nov 2014 23:37:44 +0100 Message-ID: <20141106223744.GA15793@debian> References: <87tx2d2ykt.fsf@gnu.org> <87ioitwfxf.fsf@gmail.com> <20141105211818.GA1181@debian> <20141105232032.GA24522@debian> <871tpglfg2.fsf@gnu.org> Mime-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable Return-path: Received: from eggs.gnu.org ([2001:4830:134:3::10]:42405) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1XmVgr-0002LL-Of for guix-devel@gnu.org; Thu, 06 Nov 2014 17:38:13 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1XmVgk-00073E-62 for guix-devel@gnu.org; Thu, 06 Nov 2014 17:38:05 -0500 Content-Disposition: inline In-Reply-To: <871tpglfg2.fsf@gnu.org> List-Id: "Development of GNU Guix and the GNU System distribution." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: guix-devel-bounces+gcggd-guix-devel=m.gmane.org@gnu.org Sender: guix-devel-bounces+gcggd-guix-devel=m.gmane.org@gnu.org To: Ludovic =?iso-8859-15?Q?Court=E8s?= Cc: Guix-devel , Federico Beffa On Thu, Nov 06, 2014 at 12:46:21PM +0100, Ludovic Court=C3=A8s wrote: > Apologies if this was already mentioned, but why don=E2=80=99t > -DCMAKE_INSTALL_RPATH_USE_LINK_PATH=3DTRUE and > -DCMAKE_INSTALL_RPATH=3D$out/lib (in cmake-build-system.scm) lead to > binaries with a RUNPATH? As Eric said, this should produce binaries > with an appropriate RUNPATH, no? Or does it only take care of setting > the RUNPATH to $out/lib? =46rom what I understood, the first variable should have solved the problem. I set -DCMAKE_VERBOSE_MAKEFILE=3DON and compiled ktouch. When running it, it stops with ktouch: error while loading shared libraries: libkdeclarative.so.5: cannot = open shared object file: No such file or directory And indeed: $ ldd ~/.guix-profile/bin/ktouch=20 linux-vdso.so.1 (0x00007fff961ff000) libkdeclarative.so.5 =3D> not found ... (lots of other "not found"). $ objdump -x ~/.guix-profile/bin/ktouch =2E.. Dynamic Section: NEEDED libkdeclarative.so.5 NEEDED libplasma.so.3 NEEDED libkio.so.5 NEEDED libkcmutils.so.4 NEEDED libQtCore.so.4 NEEDED libpthread.so.0 NEEDED libQtOpenGL.so.4 NEEDED libQtScript.so.4 NEEDED libQtDeclarative.so.4 NEEDED libQtXmlPatterns.so.4 NEEDED libQtSql.so.4 NEEDED libQtNetwork.so.4 NEEDED libQtXml.so.4 NEEDED libkdeui.so.5 NEEDED libQtSvg.so.4 NEEDED libkdecore.so.5 NEEDED libQtDBus.so.4 NEEDED libQtGui.so.4 NEEDED libstdc++.so.6 NEEDED libm.so.6 NEEDED libgcc_s.so.1 NEEDED libc.so.6 RUNPATH /gnu/store/7c30kyzagk84inhnb2nbxcmnh76xgh6c-ktouch-4= =2E14.2/lib:/gnu/store/4k20pkxgvfc22wpcvh6xr26ma4b619ad-glibc-2.20/lib:/gnu= /store/k7w7wdpvaqlkwq0ijz9149pqn3lq8a5n-gcc-4.8.3-lib/lib64:/gnu/store/k7w7= wdpvaqlkwq0ijz9149pqn3lq8a5n-gcc-4.8.3-lib/lib:/gnu/store/k7w7wdpvaqlkwq0ij= z9149pqn3lq8a5n-gcc-4.8.3-lib/lib/gcc/x86_64-unknown-linux-gnu/4.8.3/../../= =2E. (Thanks to Ludovic for the suggestion to use objdump!) The linker line looks like this: Linking CXX executable ktouch cd /tmp/nix-build-ktouch-4.14.2.drv-0/build/src && /gnu/store/sr9lv3vhviy15= 1zv315zdgi2rvq97a9r-cmake-2.8.12/bin/cmake -E cmake_link_script CMakeFiles/= ktouch.dir/link.txt --verbose=3D1 /gnu/store/13ahaqlmniysmbls5d1fcmzy59yd5xk5-gcc-4.8.3/bin/c++ -Wnon-virt= ual-dtor -Wno-long-long -Wundef -Wcast-align -Wchar-subscripts -Wall -W -Wp= ointer-arith -Wformat-security -fno-exceptions -DQT_NO_EXCEPTIONS -fno-chec= k-new -fno-common -Woverloaded-virtual -fno-threadsafe-statics -fvisibility= =3Dhidden -Werror=3Dreturn-type -fvisibility-inlines-hidden -O2 -g -DNDEBUG= -DQT_NO_DEBUG -Wl,--enable-new-dtags CMakeFiles/ktouch.dir/ktouch_autom= oc.o CMakeFiles/ktouch.dir/main.o CMakeFiles/ktouch.dir/application.o CMake= Files/ktouch.dir/mainwindow.o CMakeFiles/ktouch.dir/bindings/utils.o CMakeF= iles/ktouch.dir/bindings/stringformatter.o CMakeFiles/ktouch.dir/declarativ= eitems/applicationbackground.o CMakeFiles/ktouch.dir/declarativeitems/curso= rshapearea.o CMakeFiles/ktouch.dir/declarativeitems/griditem.o CMakeFiles/k= touch.dir/declarativeitems/lessonpainter.o CMakeFiles/ktouch.dir/declarativ= eitems/preferencesproxy.o CMakeFiles/ktouch.dir/declarativeitems/scalebackg= rounditem.o CMakeFiles/ktouch.dir/declarativeitems/ traininglinecore.o CMakeFiles/ktouch.dir/core/resource.o CMakeFiles/ktouch.= dir/core/keyboardlayoutbase.o CMakeFiles/ktouch.dir/core/keyboardlayout.o C= MakeFiles/ktouch.dir/core/abstractkey.o CMakeFiles/ktouch.dir/core/key.o CM= akeFiles/ktouch.dir/core/keychar.o CMakeFiles/ktouch.dir/core/specialkey.o = CMakeFiles/ktouch.dir/core/coursebase.o CMakeFiles/ktouch.dir/core/course.o= CMakeFiles/ktouch.dir/core/lesson.o CMakeFiles/ktouch.dir/core/trainingsta= ts.o CMakeFiles/ktouch.dir/core/profile.o CMakeFiles/ktouch.dir/core/datain= dex.o CMakeFiles/ktouch.dir/core/dataaccess.o CMakeFiles/ktouch.dir/core/db= access.o CMakeFiles/ktouch.dir/core/profiledataaccess.o CMakeFiles/ktouch.d= ir/core/resourcedataaccess.o CMakeFiles/ktouch.dir/core/userdataaccess.o CM= akeFiles/ktouch.dir/undocommands/coursecommands.o CMakeFiles/ktouch.dir/und= ocommands/keyboardlayoutcommands.o CMakeFiles/ktouch.dir/models/resourcemod= el.o CMakeFiles/ktouch.dir/models/lessonmodel.o CMakeFiles/ktouch.dir/model= s/charactersmodel.o CMakeFiles/ktouch.dir/models/ categorizedresourcesortfilterproxymodel.o CMakeFiles/ktouch.dir/models/erro= rsmodel.o CMakeFiles/ktouch.dir/models/learningprogressmodel.o CMakeFiles/k= touch.dir/editor/resourceeditor.o CMakeFiles/ktouch.dir/editor/resourceedit= orwidget.o CMakeFiles/ktouch.dir/editor/newresourceassistant.o CMakeFiles/k= touch.dir/editor/resourcetypeswidget.o CMakeFiles/ktouch.dir/editor/newcour= sewidget.o CMakeFiles/ktouch.dir/editor/newkeyboardlayoutwidget.o CMakeFile= s/ktouch.dir/editor/resourcetemplatewidget.o CMakeFiles/ktouch.dir/editor/a= bstracteditor.o CMakeFiles/ktouch.dir/editor/courseeditor.o CMakeFiles/ktou= ch.dir/editor/keyboardlayoutcombobox.o CMakeFiles/ktouch.dir/editor/lessont= exteditor.o CMakeFiles/ktouch.dir/editor/lessontexthighlighter.o CMakeFiles= /ktouch.dir/editor/keyboardlayouteditor.o CMakeFiles/ktouch.dir/editor/keyb= oardlayouteditorview.o CMakeFiles/ktouch.dir/editor/keyboardlayoutpropertie= swidget.o CMakeFiles/ktouch.dir/editor/charactersviewdelegate.o CMakeFiles/= ktouch.dir/trainingconfigwidget.o CMakeFiles/ ktouch.dir/colorsconfigwidget.o CMakeFiles/ktouch.dir/customlessoneditorwid= get.o CMakeFiles/ktouch.dir/keyboardlayoutmenu.o CMakeFiles/ktouch.dir/pref= erences.o -o ktouch -rdynamic /gnu/store/mipmjv4mpsf3rrsk1mbhpqzlw939v6ny-= kdelibs-4.14.2/lib/libkdeclarative.so.5.14.2 /gnu/store/mipmjv4mpsf3rrsk1mb= hpqzlw939v6ny-kdelibs-4.14.2/lib/libplasma.so.3.0.0 /gnu/store/mipmjv4mpsf3= rrsk1mbhpqzlw939v6ny-kdelibs-4.14.2/lib/libkio.so.5.14.2 /gnu/store/mipmjv4= mpsf3rrsk1mbhpqzlw939v6ny-kdelibs-4.14.2/lib/libkcmutils.so.4.14.2 /gnu/sto= re/ay41dmszxgl57mxsfrp0misnz159csw1-qt-4.8.6/lib/libQtCore.so -lpthread /gn= u/store/ay41dmszxgl57mxsfrp0misnz159csw1-qt-4.8.6/lib/libQtOpenGL.so /gnu/s= tore/ay41dmszxgl57mxsfrp0misnz159csw1-qt-4.8.6/lib/libQtScript.so /gnu/stor= e/ay41dmszxgl57mxsfrp0misnz159csw1-qt-4.8.6/lib/libQtDeclarative.so /gnu/st= ore/ay41dmszxgl57mxsfrp0misnz159csw1-qt-4.8.6/lib/libQtXmlPatterns.so /gnu/= store/ay41dmszxgl57mxsfrp0misnz159csw1-qt-4.8.6/lib/libQtSql.so /gnu/store/= mipmjv4mpsf3rrsk1mbhpqzlw939v6ny-kdelibs-4.14.2/ lib/libkcmutils.so.4.14.2 /gnu/store/mipmjv4mpsf3rrsk1mbhpqzlw939v6ny-kdeli= bs-4.14.2/lib/libkio.so.5.14.2 /gnu/store/ay41dmszxgl57mxsfrp0misnz159csw1-= qt-4.8.6/lib/libQtNetwork.so /gnu/store/ay41dmszxgl57mxsfrp0misnz159csw1-qt= -4.8.6/lib/libQtXml.so /gnu/store/mipmjv4mpsf3rrsk1mbhpqzlw939v6ny-kdelibs-= 4.14.2/lib/libkdeui.so.5.14.2 /gnu/store/ay41dmszxgl57mxsfrp0misnz159csw1-q= t-4.8.6/lib/libQtSvg.so /gnu/store/mipmjv4mpsf3rrsk1mbhpqzlw939v6ny-kdelibs= -4.14.2/lib/libkdecore.so.5.14.2 /gnu/store/ay41dmszxgl57mxsfrp0misnz159csw= 1-qt-4.8.6/lib/libQtCore.so -lpthread /gnu/store/ay41dmszxgl57mxsfrp0misnz1= 59csw1-qt-4.8.6/lib/libQtDBus.so /gnu/store/ay41dmszxgl57mxsfrp0misnz159csw= 1-qt-4.8.6/lib/libQtGui.so -Wl,-rpath,:::::::::::::::::::::::::::::::::::::= ::::::::::::::::::::::::=20 You see lots of "...so" and no "-l...", which is apparently the cmake way of doing things. But no "-Wl,-rpath" despite -DCMAKE_INSTALL_RPATH_USE_LINK_PATH=3DTRUE Does this mean that this option only honours paths coming from "-l", while at the same time using "-l" is unusual with cmake? Andreas =20