[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [PATCH] gnu: kde: Add kdelibs.
From: |
宋文武 |
Subject: |
Re: [PATCH] gnu: kde: Add kdelibs. |
Date: |
Fri, 07 Nov 2014 22:59:33 +0800 |
User-agent: |
Notmuch/0.18.1 (http://notmuchmail.org) Emacs/24.4.1 (x86_64-unknown-linux-gnu) |
Andreas Enge <address@hidden> writes:
> On Thu, Nov 06, 2014 at 12:46:21PM +0100, Ludovic Courtès wrote:
>> Apologies if this was already mentioned, but why don’t
>> -DCMAKE_INSTALL_RPATH_USE_LINK_PATH=TRUE and
>> -DCMAKE_INSTALL_RPATH=$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=ON 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=ON default in our cmake-build-system
>
> And indeed:
> $ ldd ~/.guix-profile/bin/ktouch
> linux-vdso.so.1 (0x00007fff961ff000)
> libkdeclarative.so.5 => 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/k7w7wdpvaqlkwq0ijz9149pqn3lq8a5n-gcc-4.8.3-lib/lib:/gnu/store/k7w7wdpvaqlkwq0ijz9149pqn3lq8a5n-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/sr9lv3vhviy151zv315zdgi2rvq97a9r-cmake-2.8.12/bin/cmake -E
> cmake_link_script CMakeFiles/ktouch.dir/link.txt --verbose=1
> /gnu/store/13ahaqlmniysmbls5d1fcmzy59yd5xk5-gcc-4.8.3/bin/c++
> -Wnon-virtual-dtor -Wno-long-long -Wundef -Wcast-align -Wchar-subscripts
> -Wall -W -Wpointer-arith -Wformat-security -fno-exceptions -DQT_NO_EXCEPTIONS
> -fno-check-new -fno-common -Woverloaded-virtual -fno-threadsafe-statics
> -fvisibility=hidden -Werror=return-type -fvisibility-inlines-hidden -O2 -g
> -DNDEBUG -DQT_NO_DEBUG -Wl,--enable-new-dtags
> CMakeFiles/ktouch.dir/ktouch_automoc.o CMakeFiles/ktouch.dir/main.o
> CMakeFiles/ktouch.dir/application.o CMakeFiles/ktouch.dir/mainwindow.o
> CMakeFiles/ktouch.dir/bindings/utils.o
> CMakeFiles/ktouch.dir/bindings/stringformatter.o
> CMakeFiles/ktouch.dir/declarativeitems/applicationbackground.o
> CMakeFiles/ktouch.dir/declarativeitems/cursorshapearea.o
> CMakeFiles/ktouch.dir/declarativeitems/griditem.o
> CMakeFiles/ktouch.dir/declarativeitems/lessonpainter.o
> CMakeFiles/ktouch.dir/declarativeitems/preferencesproxy.o
> CMakeFiles/ktouch.dir/declarativeitems/scalebackgrounditem.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
> 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/trainingstats.o
> CMakeFiles/ktouch.dir/core/profile.o CMakeFiles/ktouch.dir/core/dataindex.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/undocommands/keyboardlayoutcommands.o
> CMakeFiles/ktouch.dir/models/resourcemodel.o
> CMakeFiles/ktouch.dir/models/lessonmodel.o
> CMakeFiles/ktouch.dir/models/charactersmodel.o CMakeFiles/ktouch.dir/models/
> categorizedresourcesortfilterproxymodel.o
> CMakeFiles/ktouch.dir/models/errorsmodel.o
> CMakeFiles/ktouch.dir/models/learningprogressmodel.o
> CMakeFiles/ktouch.dir/editor/resourceeditor.o
> CMakeFiles/ktouch.dir/editor/resourceeditorwidget.o
> CMakeFiles/ktouch.dir/editor/newresourceassistant.o
> CMakeFiles/ktouch.dir/editor/resourcetypeswidget.o
> CMakeFiles/ktouch.dir/editor/newcoursewidget.o
> CMakeFiles/ktouch.dir/editor/newkeyboardlayoutwidget.o
> CMakeFiles/ktouch.dir/editor/resourcetemplatewidget.o
> CMakeFiles/ktouch.dir/editor/abstracteditor.o
> CMakeFiles/ktouch.dir/editor/courseeditor.o
> CMakeFiles/ktouch.dir/editor/keyboardlayoutcombobox.o
> CMakeFiles/ktouch.dir/editor/lessontexteditor.o
> CMakeFiles/ktouch.dir/editor/lessontexthighlighter.o
> CMakeFiles/ktouch.dir/editor/keyboardlayouteditor.o
> CMakeFiles/ktouch.dir/editor/keyboardlayouteditorview.o
> CMakeFiles/ktouch.dir/editor/keyboardlayoutpropertieswidget.o
> CMakeFiles/ktouch.dir/editor/charactersviewdelegate.o
> CMakeFiles/ktouch.dir/trainingconfigwidget.o CMakeFiles/
> ktouch.dir/colorsconfigwidget.o
> CMakeFiles/ktouch.dir/customlessoneditorwidget.o
> CMakeFiles/ktouch.dir/keyboardlayoutmenu.o
> CMakeFiles/ktouch.dir/preferences.o -o ktouch -rdynamic
> /gnu/store/mipmjv4mpsf3rrsk1mbhpqzlw939v6ny-kdelibs-4.14.2/lib/libkdeclarative.so.5.14.2
>
> /gnu/store/mipmjv4mpsf3rrsk1mbhpqzlw939v6ny-kdelibs-4.14.2/lib/libplasma.so.3.0.0
>
> /gnu/store/mipmjv4mpsf3rrsk1mbhpqzlw939v6ny-kdelibs-4.14.2/lib/libkio.so.5.14.2
>
> /gnu/store/mipmjv4mpsf3rrsk1mbhpqzlw939v6ny-kdelibs-4.14.2/lib/libkcmutils.so.4.14.2
> /gnu/store/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/store/ay41dmszxgl57mxsfrp0misnz159csw1-qt-4.8.6/lib/libQtDeclarative.so
> /gnu/store/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-kdelibs-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-qt-4.8.6/lib/libQtSvg.so
> /gnu/store/mipmjv4mpsf3rrsk1mbhpqzlw939v6ny-kdelibs-4.14.2/lib/libkdecore.so.5.14.2
> /gnu/store/ay41dmszxgl57mxsfrp0misnz159csw1-qt-4.8.6/lib/libQtCore.so
> -lpthread
> /gnu/store/ay41dmszxgl57mxsfrp0misnz159csw1-qt-4.8.6/lib/libQtDBus.so
> /gnu/store/ay41dmszxgl57mxsfrp0misnz159csw1-qt-4.8.6/lib/libQtGui.so
> -Wl,-rpath,:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
>
> 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=TRUE
> 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
>
- Re: [PATCH] gnu: kde: Add kdelibs., (continued)
- Re: [PATCH] gnu: kde: Add kdelibs., Andreas Enge, 2014/11/05
- Re: [PATCH] gnu: kde: Add kdelibs., Andreas Enge, 2014/11/05
- Re: [PATCH] gnu: kde: Add kdelibs., Ludovic Courtès, 2014/11/06
- Re: [PATCH] gnu: kde: Add kdelibs., Andreas Enge, 2014/11/06
- Re: [PATCH] gnu: kde: Add kdelibs., Andreas Enge, 2014/11/06
- Re: [PATCH] gnu: kde: Add kdelibs., Andreas Enge, 2014/11/06
- Re: [PATCH] gnu: kde: Add kdelibs., Eric Bavier, 2014/11/06
- Re: [PATCH] gnu: kde: Add kdelibs., Andreas Enge, 2014/11/06
- Re: [PATCH] gnu: kde: Add kdelibs., Ludovic Courtès, 2014/11/07
- Re: [PATCH] gnu: kde: Add kdelibs., Andreas Enge, 2014/11/07
- Re: [PATCH] gnu: kde: Add kdelibs.,
宋文武 <=