From: 宋文武 <iyzsong@gmail.com>
To: "Andreas Enge" <andreas@enge.fr>, "Ludovic Courtès" <ludo@gnu.org>
Cc: Guix-devel <guix-devel@gnu.org>, Federico Beffa <beffa@ieee.org>
Subject: Re: [PATCH] gnu: kde: Add kdelibs.
Date: Fri, 07 Nov 2014 22:59:33 +0800 [thread overview]
Message-ID: <878ujn9huy.fsf@gmail.com> (raw)
In-Reply-To: <20141106223744.GA15793@debian>
Andreas Enge <andreas@enge.fr> 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
>
next prev parent reply other threads:[~2014-11-07 15:00 UTC|newest]
Thread overview: 22+ messages / expand[flat|nested] mbox.gz Atom feed top
2014-11-05 19:50 [PATCH] gnu: kde: Add kdelibs Federico Beffa
2014-11-05 20:15 ` Ludovic Courtès
2014-11-05 20:28 ` Eric Bavier
2014-11-05 21:00 ` Federico Beffa
2014-11-05 21:18 ` Andreas Enge
2014-11-05 23:20 ` Andreas Enge
2014-11-06 11:46 ` Ludovic Courtès
2014-11-06 22:37 ` Andreas Enge
2014-11-06 22:54 ` Andreas Enge
2014-11-06 23:12 ` Andreas Enge
2014-11-06 23:09 ` Eric Bavier
2014-11-06 23:24 ` Andreas Enge
2014-11-07 9:20 ` Ludovic Courtès
2014-11-07 14:51 ` Andreas Enge
2014-11-07 14:59 ` 宋文武 [this message]
[not found] <641d5f5d.31e3.14aaea456bc.Coremail.iyzsong@163.com>
2015-01-03 7:20 ` 宋文武
2015-01-03 11:06 ` Andreas Enge
2015-01-04 21:29 ` Ludovic Courtès
-- strict thread matches above, loose matches on Subject: below --
2014-11-04 21:37 Andreas Enge
2014-11-05 13:18 ` Ludovic Courtès
2014-11-05 13:49 ` 宋文武
2014-11-05 19:22 ` Andreas Enge
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=878ujn9huy.fsf@gmail.com \
--to=iyzsong@gmail.com \
--cc=andreas@enge.fr \
--cc=beffa@ieee.org \
--cc=guix-devel@gnu.org \
--cc=ludo@gnu.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
Code repositories for project(s) associated with this external index
https://git.savannah.gnu.org/cgit/guix.git
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.