[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[bug#40492] [PATCH] gnu: Add meshlab
From: |
Ludovic Courtès |
Subject: |
[bug#40492] [PATCH] gnu: Add meshlab |
Date: |
Wed, 22 Apr 2020 21:52:56 +0200 |
User-agent: |
Gnus/5.13 (Gnus v5.13) Emacs/26.3 (gnu/linux) |
Egun on, :-)
Ekaitz Zarraga <address@hidden> skribis:
> Thanks for the detailed answer. I'll check the formatting errors.
> About the RUNPATH checks, I isolated one of the errors and I don't know what
> to change.
>
> This is the error of the file libsamplefilter.so during the runpath check:
>
> /gnu/store/lcpp0gpispfqw8zna2mjrr6cwj3ih133-meshlab-Meshlab-2020.04/lib/meshlab/plugins/libsamplefilter.so:
> error: depends on 'libmeshlab-common.so', which cannot be found in RUNPATH
> ("/gnu/store/lcpp0gpispfqw8zna2mjrr6cwj3ih133-meshlab-Meshlab-2020.04/lib"
> "/gnu/store/ahqgl4h89xqj695lgqvsaf6zh2nhy4pj-glibc-2.29/lib"
> "/gnu/store/2plcy91lypnbbysb18ymnhaw3zwk8pg1-gcc-7.4.0-lib/lib"
> "/gnu/store/n6ji2fxg1cn6abd2bn2jd14pglyblysr-qtbase-5.12.7/lib"
> "/gnu/store/qbq794vbw5scpxvnzlnyvdkqfr9163rk-qtscript-5.12.7/lib"
> "/gnu/store/2k1bsh663bilxndca4gx4zrdp7m63fjb-qtxmlpatterns-5.12.7/lib"
> "/gnu/store/2mf0clz9w64diy0kz11qcs4q5wg9hc6z-mesa-19.3.4/lib"
> "/gnu/store/2plcy91lypnbbysb18ymnhaw3zwk8pg1-gcc-7.4.0-lib/lib/gcc/x86_64-unknown-linux-gnu/7.4.0/../../..")
> /gnu/store/lcpp0gpispfqw8zna2mjrr6cwj3ih133-meshlab-Meshlab-2020.04/lib/meshlab/plugins/libsamplefilterdyn.so:
> error: depends on 'libmeshlab-common.so', which cannot be found in RUNPATH
> ("/gnu/store/lcpp0gpispfqw8zna2mjrr6cwj3ih133-meshlab-Meshlab-2020.04/lib"
> "/gnu/store/ahqgl4h89xqj695lgqvsaf6zh2nhy4pj-glibc-2.29/lib"
> "/gnu/store/2plcy91lypnbbysb18ymnhaw3zwk8pg1-gcc-7.4.0-lib/lib"
> "/gnu/store/n6ji2fxg1cn6abd2bn2jd14pglyblysr-qtbase-5.12.7/lib"
> "/gnu/store/qbq794vbw5scpxvnzlnyvdkqfr9163rk-qtscript-5.12.7/lib"
> "/gnu/store/2k1bsh663bilxndca4gx4zrdp7m63fjb-qtxmlpatterns-5.12.7/lib"
> "/gnu/store/2mf0clz9w64diy0kz11qcs4q5wg9hc6z-mesa-19.3.4/lib"
> "/gnu/store/2plcy91lypnbbysb18ymnhaw3zwk8pg1-gcc-7.4.0-lib/lib/gcc/x86_64-unknown-linux-gnu/7.4.0/../../..")
> validating RUNPATH of 2 binaries in
> "/gnu/store/lcpp0gpispfqw8zna2mjrr6cwj3ih133-meshlab-Meshlab-2020.04/bin"...
>
> But the first element in the RUNPATH is the place where the library is. This
> is the library's path:
>
> /gnu/store/lcpp0gpispfqw8zna2mjrr6cwj3ih133-meshlab-Meshlab-2020.04/lib/meshlab/libmeshlab-common.so
>
>
> This is the linking of the libsamplefilter.so file:
>
> [ 98%] Linking CXX shared module ../../distrib/plugins/libsamplefilter.so
> cd
> /tmp/guix-build-meshlab-Meshlab-2020.04.drv-0/source/build/sampleplugins/samplefilter
> &&
> /gnu/store/iz9500ssxcqlyr74hg1jq10ycrh42yq1-cmake-minimal-3.15.1/bin/cmake -E
> cmake_link_script CMakeFiles/samplefilter.dir/link.txt --verbose=1
> /gnu/store/x3jx25cd3q363mr7nbgzrhrv1vza6cf7-gcc-7.4.0/bin/c++ -fPIC -O2 -g
> -DNDEBUG -Wl,--no-undefined -shared -o
> ../../distrib/plugins/libsamplefilter.so
> CMakeFiles/samplefilter.dir/samplefilter_autogen/mocs_compilation.cpp.o
> CMakeFiles/samplefilter.dir/samplefilter.cpp.o
> -Wl,-rpath,/tmp/guix-build-meshlab-Meshlab-2020.04.drv-0/source/build/common::::::
> ../../common/libmeshlab-common.so
> /gnu/store/n6ji2fxg1cn6abd2bn2jd14pglyblysr-qtbase-5.12.7/lib/libQt5OpenGL.so.5.12.7
>
> /gnu/store/qbq794vbw5scpxvnzlnyvdkqfr9163rk-qtscript-5.12.7/lib/libQt5Script.so.5.12.7
>
> /gnu/store/n6ji2fxg1cn6abd2bn2jd14pglyblysr-qtbase-5.12.7/lib/libQt5Widgets.so.5.12.7
>
> /gnu/store/n6ji2fxg1cn6abd2bn2jd14pglyblysr-qtbase-5.12.7/lib/libQt5Gui.so.5.12.7
>
> /gnu/store/n6ji2fxg1cn6abd2bn2jd14pglyblysr-qtbase-5.12.7/lib/libQt5Xml.so.5.12.7
>
> /gnu/store/2k1bsh663bilxndca4gx4zrdp7m63fjb-qtxmlpatterns-5.12.7/lib/libQt5XmlPatterns.so.5.12.7
>
> /gnu/store/n6ji2fxg1cn6abd2bn2jd14pglyblysr-qtbase-5.12.7/lib/libQt5Network.so.5.12.7
>
> /gnu/store/n6ji2fxg1cn6abd2bn2jd14pglyblysr-qtbase-5.12.7/lib/libQt5Core.so.5.12.7
> ../../libexternal-glew.a
> /gnu/store/2mf0clz9w64diy0kz11qcs4q5wg9hc6z-mesa-19.3.4/lib/libGL.so
>
> The -rpath and -Wl are set to
> /tmp/guix-build-meshlab-Meshlab-2020.04.drv-0/source/build/common
> but it should be set to the directory it showed previously, right?
Not really, I think CMake initially sets the RUNPATH to the build tree,
as shown above, that’s OK. I think it changes it upon “make install”.
> If I need to change that, what do I have to do?
One way to fix it would be to arrange to pass ‘-Wl,-rpath,'$ORIGIN'’ on
the link command line of the plugins.
Another solution would be to add a post-install phase to move
libmeshlab-common.so* to $output/lib, which seems more conventional,
though perhaps upstream had good reasons not to do that.
HTH!
Ludo’.