From mboxrd@z Thu Jan 1 00:00:00 1970 From: =?utf-8?B?5a6L5paH5q2m?= Subject: Re: [PATCH] gnu: kde: Add kdelibs. Date: Fri, 07 Nov 2014 22:59:33 +0800 Message-ID: <878ujn9huy.fsf@gmail.com> References: <87tx2d2ykt.fsf@gnu.org> <87ioitwfxf.fsf@gmail.com> <20141105211818.GA1181@debian> <20141105232032.GA24522@debian> <871tpglfg2.fsf@gnu.org> <20141106223744.GA15793@debian> 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]:52363) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1Xml11-0007o9-MP for guix-devel@gnu.org; Fri, 07 Nov 2014 10:00:01 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1Xml0w-00030P-RS for guix-devel@gnu.org; Fri, 07 Nov 2014 09:59:55 -0500 In-Reply-To: <20141106223744.GA15793@debian> 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: Andreas Enge , Ludovic =?utf-8?Q?Court=C3=A8s?= Cc: Guix-devel , Federico Beffa Andreas Enge writes: > 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? > > From 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 I vote for making CMAKE_VERBOSE_MAKEFILE=3DON default in our cmake-build-sy= stem > > 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 > ... > 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.14.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/../../= .. > > (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/sr9lv3vhviy= 151zv315zdgi2rvq97a9r-cmake-2.8.12/bin/cmake -E cmake_link_script CMakeFile= s/ktouch.dir/link.txt --verbose=3D1 > /gnu/store/13ahaqlmniysmbls5d1fcmzy59yd5xk5-gcc-4.8.3/bin/c++ -Wnon-vi= rtual-dtor -Wno-long-long -Wundef -Wcast-align -Wchar-subscripts -Wall -W -= Wpointer-arith -Wformat-security -fno-exceptions -DQT_NO_EXCEPTIONS -fno-ch= eck-new -fno-common -Woverloaded-virtual -fno-threadsafe-statics -fvisibili= ty=3Dhidden -Werror=3Dreturn-type -fvisibility-inlines-hidden -O2 -g -DNDEB= UG -DQT_NO_DEBUG -Wl,--enable-new-dtags CMakeFiles/ktouch.dir/ktouch_aut= omoc.o CMakeFiles/ktouch.dir/main.o CMakeFiles/ktouch.dir/application.o CMa= keFiles/ktouch.dir/mainwindow.o CMakeFiles/ktouch.dir/bindings/utils.o CMak= eFiles/ktouch.dir/bindings/stringformatter.o CMakeFiles/ktouch.dir/declarat= iveitems/applicationbackground.o CMakeFiles/ktouch.dir/declarativeitems/cur= sorshapearea.o CMakeFiles/ktouch.dir/declarativeitems/griditem.o CMakeFiles= /ktouch.dir/declarativeitems/lessonpainter.o CMakeFiles/ktouch.dir/declarat= iveitems/preferencesproxy.o CMakeFiles/ktouch.dir/declarativeitems/scalebac= kgrounditem.o CMakeFiles/ktouch.dir/declarativeitems/ > traininglinecore.o CMakeFiles/ktouch.dir/core/resource.o CMakeFiles/ktouc= h.dir/core/keyboardlayoutbase.o CMakeFiles/ktouch.dir/core/keyboardlayout.o= CMakeFiles/ktouch.dir/core/abstractkey.o CMakeFiles/ktouch.dir/core/key.o = CMakeFiles/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/trainings= tats.o CMakeFiles/ktouch.dir/core/profile.o CMakeFiles/ktouch.dir/core/data= index.o CMakeFiles/ktouch.dir/core/dataaccess.o CMakeFiles/ktouch.dir/core/= dbaccess.o CMakeFiles/ktouch.dir/core/profiledataaccess.o CMakeFiles/ktouch= .dir/core/resourcedataaccess.o CMakeFiles/ktouch.dir/core/userdataaccess.o = CMakeFiles/ktouch.dir/undocommands/coursecommands.o CMakeFiles/ktouch.dir/u= ndocommands/keyboardlayoutcommands.o CMakeFiles/ktouch.dir/models/resourcem= odel.o CMakeFiles/ktouch.dir/models/lessonmodel.o CMakeFiles/ktouch.dir/mod= els/charactersmodel.o CMakeFiles/ktouch.dir/models/ > categorizedresourcesortfilterproxymodel.o CMakeFiles/ktouch.dir/models/er= rorsmodel.o CMakeFiles/ktouch.dir/models/learningprogressmodel.o CMakeFiles= /ktouch.dir/editor/resourceeditor.o CMakeFiles/ktouch.dir/editor/resourceed= itorwidget.o CMakeFiles/ktouch.dir/editor/newresourceassistant.o CMakeFiles= /ktouch.dir/editor/resourcetypeswidget.o CMakeFiles/ktouch.dir/editor/newco= ursewidget.o CMakeFiles/ktouch.dir/editor/newkeyboardlayoutwidget.o CMakeFi= les/ktouch.dir/editor/resourcetemplatewidget.o CMakeFiles/ktouch.dir/editor= /abstracteditor.o CMakeFiles/ktouch.dir/editor/courseeditor.o CMakeFiles/kt= ouch.dir/editor/keyboardlayoutcombobox.o CMakeFiles/ktouch.dir/editor/lesso= ntexteditor.o CMakeFiles/ktouch.dir/editor/lessontexthighlighter.o CMakeFil= es/ktouch.dir/editor/keyboardlayouteditor.o CMakeFiles/ktouch.dir/editor/ke= yboardlayouteditorview.o CMakeFiles/ktouch.dir/editor/keyboardlayoutpropert= ieswidget.o CMakeFiles/ktouch.dir/editor/charactersviewdelegate.o CMakeFile= s/ktouch.dir/trainingconfigwidget.o CMakeFiles/ > ktouch.dir/colorsconfigwidget.o CMakeFiles/ktouch.dir/customlessoneditorw= idget.o CMakeFiles/ktouch.dir/keyboardlayoutmenu.o CMakeFiles/ktouch.dir/pr= eferences.o -o ktouch -rdynamic /gnu/store/mipmjv4mpsf3rrsk1mbhpqzlw939v6n= y-kdelibs-4.14.2/lib/libkdeclarative.so.5.14.2 /gnu/store/mipmjv4mpsf3rrsk1= mbhpqzlw939v6ny-kdelibs-4.14.2/lib/libplasma.so.3.0.0 /gnu/store/mipmjv4mps= f3rrsk1mbhpqzlw939v6ny-kdelibs-4.14.2/lib/libkio.so.5.14.2 /gnu/store/mipmj= v4mpsf3rrsk1mbhpqzlw939v6ny-kdelibs-4.14.2/lib/libkcmutils.so.4.14.2 /gnu/s= tore/ay41dmszxgl57mxsfrp0misnz159csw1-qt-4.8.6/lib/libQtCore.so -lpthread /= gnu/store/ay41dmszxgl57mxsfrp0misnz159csw1-qt-4.8.6/lib/libQtOpenGL.so /gnu= /store/ay41dmszxgl57mxsfrp0misnz159csw1-qt-4.8.6/lib/libQtScript.so /gnu/st= ore/ay41dmszxgl57mxsfrp0misnz159csw1-qt-4.8.6/lib/libQtDeclarative.so /gnu/= store/ay41dmszxgl57mxsfrp0misnz159csw1-qt-4.8.6/lib/libQtXmlPatterns.so /gn= u/store/ay41dmszxgl57mxsfrp0misnz159csw1-qt-4.8.6/lib/libQtSql.so /gnu/stor= e/mipmjv4mpsf3rrsk1mbhpqzlw939v6ny-kdelibs-4.14.2/ > lib/libkcmutils.so.4.14.2 /gnu/store/mipmjv4mpsf3rrsk1mbhpqzlw939v6ny-kde= libs-4.14.2/lib/libkio.so.5.14.2 /gnu/store/ay41dmszxgl57mxsfrp0misnz159csw= 1-qt-4.8.6/lib/libQtNetwork.so /gnu/store/ay41dmszxgl57mxsfrp0misnz159csw1-= qt-4.8.6/lib/libQtXml.so /gnu/store/mipmjv4mpsf3rrsk1mbhpqzlw939v6ny-kdelib= s-4.14.2/lib/libkdeui.so.5.14.2 /gnu/store/ay41dmszxgl57mxsfrp0misnz159csw1= -qt-4.8.6/lib/libQtSvg.so /gnu/store/mipmjv4mpsf3rrsk1mbhpqzlw939v6ny-kdeli= bs-4.14.2/lib/libkdecore.so.5.14.2 /gnu/store/ay41dmszxgl57mxsfrp0misnz159c= sw1-qt-4.8.6/lib/libQtCore.so -lpthread /gnu/store/ay41dmszxgl57mxsfrp0misn= z159csw1-qt-4.8.6/lib/libQtDBus.so /gnu/store/ay41dmszxgl57mxsfrp0misnz159c= sw1-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? after read this, I think it's desired behaviors of cmake's imported targets: http://www.cmake.org/pipermail/cmake/2010-September/039639.html > Andreas >=20=20=20=20