Re: dpkg-shlibdeps: error: cannot find library (Was: Bug#977308: shasta: hardcoded dependencies on boost 1.71)
On Fri, Dec 18, 2020 at 11:47:53PM +, Jeremy Sowden wrote: > If you haven't got this sorted yet, try the attached patch. It also > corrects the SONAME of shasta.so. It does mean there's an RPATH in the > executable, however. > ... Thanks a lot Andreas. -- http://fam-tille.de
Re: dpkg-shlibdeps: error: cannot find library (Was: Bug#977308: shasta: hardcoded dependencies on boost 1.71)
On 2020-12-18, at 15:32:01 +0100, Andreas Tille wrote: > I tried no override_dh_shlibdeps in shasta debian/rules, which has > lead to: > > dpkg-shlibdeps: error: cannot find library > /usr/lib/python3/dist-packages/shasta.cpython-39-x86_64-linux-gnu.so > needed by debian/shasta/usr/bin/shasta (ELF format: 'elf64-x86-64' > abi: '0201003e0000'; RPATH: '') > dpkg-shlibdeps: error: cannot continue due to the error above Note: > libraries are not searched in other binary packages that do not have > any shlibs or symbols file. To help dpkg-shlibdeps find private > libraries, you might need to use -l. > dh_shlibdeps: error: dpkg-shlibdeps -Tdebian/shasta.substvars > debian/shasta/usr/bin/shasta returned exit code 2 > dh_shlibdeps: error: Aborting due to earlier error > > and in the pbuilder chroot I also tried the there commands I added to > the comment in > > > https://salsa.debian.org/med-team/shasta/-/commit/366edd672be428cc553b34b99bc614aa698175d6 > > with no success - dpkg-shlibdeps simply did not found the shared > library which exists at the said place. I wonder what might be wrong > here and how to fix this. If you haven't got this sorted yet, try the attached patch. It also corrects the SONAME of shasta.so. It does mean there's an RPATH in the executable, however. The problem with the previous solution is that it sets the NEEDED value in the executable to the absolute path of the shared library, instead of the SONAME, so it didn't matter what directory was passed, dpkg-shlibdeps wouldn't find a library with the right SONAME. J. diff --git a/debian/rules b/debian/rules index 0e286eb38f66..f1593bfc0179 100755 --- a/debian/rules +++ b/debian/rules @@ -9,6 +9,7 @@ include /usr/share/dpkg/default.mk export DEB_BUILD_MAINT_OPTIONS=hardening=+all DEB_HOST_MULTIARCH ?= $(shell dpkg-architecture -qDEB_HOST_MULTIARCH) +MULTIARCH_SONAME = shasta.cpython-$(shell py3versions -vd | sed 's/\.//')-$(DEB_HOST_MULTIARCH).so %: dh $@ --with python3,sphinxdoc @@ -24,22 +25,23 @@ override_dh_auto_build: find . -name "shasta.so" -exec cp {} docs/PythonApi/ \; PYTHONPATH=docs/PythonApi/ python3 -m sphinx -N -bhtml docs/PythonApi/ build/html # HTML generator +override_dh_python3: + dh_python3 + patchelf \ + --set-soname $(MULTIARCH_SONAME) \ + $(CURDIR)/debian/python3-shasta/usr/lib/python3/dist-packages/$(MULTIARCH_SONAME) + override_dh_install-arch: dh_install -a # Rename shastaDynamic to shasta for ease mv debian/shasta/usr/bin/shastaDynamic debian/shasta/usr/bin/shasta # The library is in a more unusual place (nested within /usr/lib), so modify # the ELF - chrpath -d debian/shasta/usr/bin/shasta - patchelf --replace-needed shasta.so /usr/lib/python3/dist-packages/shasta.cpython-`py3versions -vd | sed 's/\.//'`-${DEB_HOST_MULTIARCH}.so \ + chrpath -r /usr/lib/python3/dist-packages \ + debian/shasta/usr/bin/shasta + patchelf \ + --replace-needed shasta.so $(MULTIARCH_SONAME) \ debian/shasta/usr/bin/shasta - -override_dh_shlibdeps: - # Tried: - #dh_shlibdeps -v -Lpython3-shasta - #dh_shlibdeps -v -l/usr/lib/python3/dist-packages - #dh_shlibdeps -v -l$(CURDIR)/debian/python3-shasta/usr/lib/python3/dist-packages - # but all failed :-( override_dh_missing: # No need to install docker files signature.asc Description: PGP signature
Re: dpkg-shlibdeps: error: cannot find library (Was: Bug#977308: shasta: hardcoded dependencies on boost 1.71)
On Fri, Dec 18, 2020 at 04:07:50PM +0100, Andreas Tille wrote: > On Fri, Dec 18, 2020 at 07:37:12PM +0500, Andrey Rahmatullin wrote: > > On Fri, Dec 18, 2020 at 03:32:01PM +0100, Andreas Tille wrote: > > > I tried no override_dh_shlibdeps in shasta debian/rules, which has lead > > > to: > > > > > > dpkg-shlibdeps: error: cannot find library > > > /usr/lib/python3/dist-packages/shasta.cpython-39-x86_64-linux-gnu.so > > > needed by debian/shasta/usr/bin/shasta (ELF format: 'elf64-x86-64' abi: > > >'0201003e'; RPATH: '') > > Why are you linking an executable to a Python binary module? > > That's a good question. Its actually not me who did this. I think > that's done here: > >https://salsa.debian.org/med-team/shasta/-/blob/master/debian/rules#L27 Eww. But dynamicLibrary/README.md says: """ This directory builds the Shasta dynamic library `shasta.so`. This library is used in three ways: * It is linked in by the shasta dynamic executable `shastaDynamic`. * It can be imported by a python script via `import shasta` to provide Shasta Python bindings. * It can be statically linked in by other C++ code outside Shasta that uses Shasta as a library. """ So this sharing seems to be by design. That's unfortunate (can't say I'm surprised, though). > but I admit I have no idea why Shayan did so. Well, otherwise the binary wouldn't find the library. > I wonder what might be the proper way to do this to share the library > between Python modules and the executable. The proper way is to separate the common code from the Python bindings and link this correctly separated shared library into both the executable and the binary module libraries. -- WBR, wRAR signature.asc Description: PGP signature
Re: dpkg-shlibdeps: error: cannot find library (Was: Bug#977308: shasta: hardcoded dependencies on boost 1.71)
On Fri, Dec 18, 2020 at 07:37:12PM +0500, Andrey Rahmatullin wrote: > On Fri, Dec 18, 2020 at 03:32:01PM +0100, Andreas Tille wrote: > > I tried no override_dh_shlibdeps in shasta debian/rules, which has lead > > to: > > > > dpkg-shlibdeps: error: cannot find library > > /usr/lib/python3/dist-packages/shasta.cpython-39-x86_64-linux-gnu.so needed > > by debian/shasta/usr/bin/shasta (ELF format: 'elf64-x86-64' abi: > > '0201003e'; RPATH: '') > Why are you linking an executable to a Python binary module? That's a good question. Its actually not me who did this. I think that's done here: https://salsa.debian.org/med-team/shasta/-/blob/master/debian/rules#L27 but I admit I have no idea why Shayan did so. I wonder what might be the proper way to do this to share the library between Python modules and the executable. Kind regards Andreas. -- http://fam-tille.de
Re: dpkg-shlibdeps: error: cannot find library (Was: Bug#977308: shasta: hardcoded dependencies on boost 1.71)
On Fri, Dec 18, 2020 at 03:32:01PM +0100, Andreas Tille wrote: > Hi, > > I tried no override_dh_shlibdeps in shasta debian/rules, which has lead > to: > > dpkg-shlibdeps: error: cannot find library > /usr/lib/python3/dist-packages/shasta.cpython-39-x86_64-linux-gnu.so needed > by debian/shasta/usr/bin/shasta (ELF format: 'elf64-x86-64' abi: > '0201003e'; RPATH: '') Why are you linking an executable to a Python binary module? -- WBR, wRAR signature.asc Description: PGP signature
dpkg-shlibdeps: error: cannot find library (Was: Bug#977308: shasta: hardcoded dependencies on boost 1.71)
Hi, I tried no override_dh_shlibdeps in shasta debian/rules, which has lead to: dpkg-shlibdeps: error: cannot find library /usr/lib/python3/dist-packages/shasta.cpython-39-x86_64-linux-gnu.so needed by debian/shasta/usr/bin/shasta (ELF format: 'elf64-x86-64' abi: '0201003e'; RPATH: '') dpkg-shlibdeps: error: cannot continue due to the error above Note: libraries are not searched in other binary packages that do not have any shlibs or symbols file. To help dpkg-shlibdeps find private libraries, you might need to use -l. dh_shlibdeps: error: dpkg-shlibdeps -Tdebian/shasta.substvars debian/shasta/usr/bin/shasta returned exit code 2 dh_shlibdeps: error: Aborting due to earlier error and in the pbuilder chroot I also tried the there commands I added to the comment in https://salsa.debian.org/med-team/shasta/-/commit/366edd672be428cc553b34b99bc614aa698175d6 with no success - dpkg-shlibdeps simply did not found the shared library which exists at the said place. I wonder what might be wrong here and how to fix this. Kind regards Andreas. On Fri, Dec 18, 2020 at 06:03:30PM +0530, Nilesh Patra wrote: > Hi Andreas, > > On Fri, 18 Dec 2020 at 15:53, Andreas Tille wrote: > > > Control: tags -1 help > > > > Hi, > > > > I tried to fix the issue by making dh_shlibdeps work. In > > > > > > https://salsa.debian.org/med-team/shasta/-/commit/366edd672be428cc553b34b99bc614aa698175d6 > > > > I documented what I tried but all failed and I think the key to this bug > > is just making it work. > > > > Any idea? > > > > I've no clue. The "-l" flag doesn't seem to work somehow. May I suggest > forwarding it to the list? I'm positive that Aaron (ucko) will definitely > know a good workaround for this bit. > Also another request: Could you please as well attach the failing logs in > future RFHs? This saves atleast one build for the others. Consider my best > of intentions. > > Regards -- http://fam-tille.de
Re: dpkg-shlibdeps: error: couldn't find library [...] needed by [...]
Thanks, Andrey, for the input. I've dug around a little more now and found that the reason for the error was the fact that the library that couldn't be found was indeed built, but was not part of a package. That's what dpkg-shlibdeps was complaining about. Thanks again, cheers, Nico On Mon, Jan 23, 2017 at 10:02 PM Andrey Rahmatullin <w...@debian.org> wrote: On Mon, Jan 23, 2017 at 08:25:24PM +, Nico Schlömer wrote: > to the CMake config, it all seems to configure and build fine. That is > until dpkg-shlibdeps enters the stage (right before installation): It's not "right before installation". The build process has nothing to do with installing packages. > dpkg-shlibdeps: error: couldn't find library libtrilinos_trilinosss.so.12 And where is that file? > I'm guessing what goes wrong here is that Debian tries to install > libtrilinos_amesos before its dependency libtrilinos_trilinosss. Nothing there installs anything. dpkg-shlibdeps processes ELFs to be included in the packages and tries to find their dependencies and convert them to package-level Depends. -- WBR, wRAR
Re: dpkg-shlibdeps: error: couldn't find library [...] needed by [...]
On Mon, Jan 23, 2017 at 08:25:24PM +, Nico Schlömer wrote: > to the CMake config, it all seems to configure and build fine. That is > until dpkg-shlibdeps enters the stage (right before installation): It's not "right before installation". The build process has nothing to do with installing packages. > dpkg-shlibdeps: error: couldn't find library libtrilinos_trilinosss.so.12 And where is that file? > I'm guessing what goes wrong here is that Debian tries to install > libtrilinos_amesos before its dependency libtrilinos_trilinosss. Nothing there installs anything. dpkg-shlibdeps processes ELFs to be included in the packages and tries to find their dependencies and convert them to package-level Depends. -- WBR, wRAR signature.asc Description: PGP signature
dpkg-shlibdeps: error: couldn't find library [...] needed by [...]
Hi everyone, Still struggling with the binary-or-shlib-defines-rpath [1] here. After having added ``` -DCMAKE_SKIP_INSTALL_RPATH:BOOL=ON -DCMAKE_INSTALL_RPATH_USE_LINK_PATH:BOOL=OFF ``` to the CMake config, it all seems to configure and build fine. That is until dpkg-shlibdeps enters the stage (right before installation): ``` dpkg-shlibdeps: error: couldn't find library libtrilinos_trilinosss.so.12 needed by debian/libtrilinos-amesos12/usr/lib/powerpc64le-linux-gnu/libtrilinos_amesos.so.12.11 (ELF format: 'elf64-powerpcle'; RPATH: ':/usr//lib:/usr/lib/powerpc64le-linux-gnu/openmpi/lib') ``` See [2] for full detail. I'm guessing what goes wrong here is that Debian tries to install libtrilinos_amesos before its dependency libtrilinos_trilinosss. Any hints? Cheers, Nico [1] https://lintian.debian.org/tags/binary-or-shlib-defines-rpath.html [2] https://launchpadlibrarian.net/303577535/buildlog_ubuntu-zesty-ppc64el.trilinos_12.11~20170123171154-786e32e1-1zesty1_BUILDING.txt.gz
Re: dpkg-shlibdeps error
Hi, On Sun, 13 Mar 2011, fre...@free.fr wrote: And dpkg-dev 1.16.0 is Ubuntu-only at this point... might be a multi-arch related bug. Yes, Ubuntu natty in a pbuilder environment. So this is a bug specific to Ubuntu natty at this point and it will be fixed by the next dpkg upload to come in Ubuntu natty. In the mean time you could do this (as root): # mv /var/lib/dpkg/info/amd64/* /var/lib/dpkg/info/ # rmdir /var/lib/dpkg/info/amd64 # ln -sf . /var/lib/dpkg/info/amd64 Cheers, -- Raphaël Hertzog ◈ Debian Developer Follow my Debian News ▶ http://RaphaelHertzog.com (English) ▶ http://RaphaelHertzog.fr (Français) -- To UNSUBSCRIBE, email to debian-mentors-requ...@lists.debian.org with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org Archive: http://lists.debian.org/20110314221625.ga27...@rivendell.home.ouaza.com
Re: dpkg-shlibdeps error
On Sun, 13 Mar 2011, Paul Wise wrote: On Sun, Mar 13, 2011 at 5:38 AM, fre...@free.fr wrote: I got this message while building a package : dpkg-shlibdeps: error: no dependency information found for /usr/lib/libgio-2.0.so.0 (used by foo). Sounds like the code is using gio but not linking against it. Please fix the upstream build system to explicitly link foo against gio. Hum no. This message means that dpkg-shlipdes has found no associated shlibs/symbols files that provides the dependency for that library. There is a /var/lib/dpkg/info/libglib2.0-0.symbols in Debian. And dpkg-dev 1.16.0 is Ubuntu-only at this point... might be a multi-arch related bug. Fred, can you show me the output of those commands? $ dpkg-query --control-path libglib2.0-0 symbols $ ls -al /var/lib/dpkg/info/libglib2.0-0* $ dpkg -s libglib2.0-0 dpkg Cheers, -- Raphaël Hertzog ◈ Debian Developer Follow my Debian News ▶ http://RaphaelHertzog.com (English) ▶ http://RaphaelHertzog.fr (Français) -- To UNSUBSCRIBE, email to debian-mentors-requ...@lists.debian.org with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org Archive: http://lists.debian.org/20110313090443.gb26...@rivendell.home.ouaza.com
Re: dpkg-shlibdeps error
And dpkg-dev 1.16.0 is Ubuntu-only at this point... might be a multi-arch related bug. Yes, Ubuntu natty in a pbuilder environment. $ dpkg-query --control-path libglib2.0-0 symbols /var/lib/dpkg/info/amd64/libglib2.0-0.symbols $ ls -al /var/lib/dpkg/info/libglib2.0-0* ls: cannot access /var/lib/dpkg/info/libglib2.0-0*: No such file or directory $ dpkg -s libglib2.0-0 dpkg Package: libglib2.0-0 Status: install ok installed Priority: required Section: libs Installed-Size: 2996 Maintainer: Ubuntu Desktop Team ubuntu-desk...@lists.ubuntu.com Architecture: amd64 Source: glib2.0 Version: 2.28.2-0ubuntu1 Replaces: libglib2.0-dev ( 2.23.2-2) Depends: libc6 (= 2.9), libpcre3 (= 8.10), libselinux1 (= 1.32), zlib1g (= 1:1.2.2) Recommends: libglib2.0-data, shared-mime-info, libdconf0 Breaks: bamfdaemon ( 0.2.42-0ubuntu2), wncksyncdaemon ( 0.2.8-0ubuntu2) Conflicts: libpango1.0-0 ( 1.11) Description: The GLib library of C routines GLib is a library containing many useful C routines for things such as trees, hashes, lists, and strings. It is a useful general-purpose C library used by projects such as GTK+, GIMP, and GNOME. . This package contains the shared libraries. Homepage: http://www.gtk.org/ Original-Maintainer: Loic Minier l...@dooz.org Package: dpkg Essential: yes Status: install ok installed Priority: required Section: admin Installed-Size: 7056 Origin: debian Maintainer: Ubuntu Developers ubuntu-devel-disc...@lists.ubuntu.com Bugs: debbugs://bugs.debian.org Architecture: amd64 Version: 1.16.0~ubuntu3 Pre-Depends: libbz2-1.0, libc6 (= 2.11), libselinux1 (= 1.32), zlib1g (= 1:1.1.4), coreutils (= 5.93-1), xz-utils Suggests: apt Breaks: apt ( 0.7.7), aptitude ( 0.4.7-1), dpkg-dev ( 1.15.8), libdpkg-perl ( 1.15.8), pinfo ( 0.6.9-3.1), tkinfo ( 2.8-3.1) Conffiles: /etc/dpkg/dpkg.cfg f4413ffb515f8f753624ae3bb365b81b /etc/alternatives/README 69c4ba7f08363e998e0f2e244a04f881 /etc/cron.daily/dpkg b6b8dc21210ea50db7cc4636f521758f /etc/logrotate.d/dpkg 782ea5ae536f67ff51dc8c3e2eeb4cf9 Description: Debian package management system This package provides the low-level infrastructure for handling the installation and removal of Debian software packages. . For Debian package development tools, install dpkg-dev. Homepage: http://wiki.debian.org/Teams/Dpkg Original-Maintainer: Dpkg Developers debian-d...@lists.debian.org -- To UNSUBSCRIBE, email to debian-mentors-requ...@lists.debian.org with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org Archive: http://lists.debian.org/524153349.1420241300012241525.javamail.r...@zimbra4-e1.priv.proxad.net
Re: dpkg-shlibdeps error
I tried with an another package 'smplayer' and same problem : dpkg-shlibdeps: error: no dependency information found for /usr/lib/libstdc++.so.6 (used by debian/smplayer/usr/bin/smplayer). dh_shlibdeps: dpkg-shlibdeps -Tdebian/smplayer.substvars debian/smplayer/usr/bin/smplayer returned exit code 2 make: *** [binary] Error 9 dpkg-buildpackage: error: fakeroot debian/rules binary gave error exit status 2 debuild: fatal error at line 1335: dpkg-buildpackage -rfakeroot -D -us -uc failed -- To UNSUBSCRIBE, email to debian-mentors-requ...@lists.debian.org with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org Archive: http://lists.debian.org/453377386.1436081300017290207.javamail.r...@zimbra4-e1.priv.proxad.net
Re: dpkg-shlibdeps error
On Sun, Mar 13, 2011 at 10:04:43AM +0100, Raphael Hertzog wrote: On Sun, 13 Mar 2011, Paul Wise wrote: On Sun, Mar 13, 2011 at 5:38 AM, fre...@free.fr wrote: I got this message while building a package : dpkg-shlibdeps: error: no dependency information found for /usr/lib/libgio-2.0.so.0 (used by foo). Sounds like the code is using gio but not linking against it. Please fix the upstream build system to explicitly link foo against gio. Hum no. This message means that dpkg-shlipdes has found no associated shlibs/symbols files that provides the dependency for that library. There is a /var/lib/dpkg/info/libglib2.0-0.symbols in Debian. And dpkg-dev 1.16.0 is Ubuntu-only at this point... might be a multi-arch related bug. Fred, can you show me the output of those commands? $ dpkg-query --control-path libglib2.0-0 symbols $ ls -al /var/lib/dpkg/info/libglib2.0-0* $ dpkg -s libglib2.0-0 dpkg This is probably a freshly-bootstrapped Ubuntu natty chroot that has /var/lib/dpkg/info/$arch as a directory, rather than a symlink. I've had a couple of other people report this same issue, and walked them through manually switching /var/lib/dpkg/info/$arch to a symlink for backwards-compatibility. But yeah, it seems dpkg-shlibdeps doesn't work with this database layout; I don't know why. This issue will go away on the next upload of dpkg to Ubuntu (which, as you know, is currently waiting for confirmation of the final multiarch db layout). -- Steve Langasek Give me a lever long enough and a Free OS Debian Developer to set it on, and I can move the world. Ubuntu Developerhttp://www.debian.org/ slanga...@ubuntu.com vor...@debian.org signature.asc Description: Digital signature
dpkg-shlibdeps error
Hello, I got this message while building a package : dpkg-shlibdeps: error: no dependency information found for /usr/lib/libgio-2.0.so.0 (used by foo). Currently installed dpkg-dev v1.16.0 but this error not appear in v1.15.8 And I don't know how to deal with that. Regards, Fred. -- To UNSUBSCRIBE, email to debian-mentors-requ...@lists.debian.org with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org Archive: http://lists.debian.org/702776167.1377991299965899169.javamail.r...@zimbra4-e1.priv.proxad.net
Re: dpkg-shlibdeps error
On Sun, Mar 13, 2011 at 5:38 AM, fre...@free.fr wrote: I got this message while building a package : dpkg-shlibdeps: error: no dependency information found for /usr/lib/libgio-2.0.so.0 (used by foo). Sounds like the code is using gio but not linking against it. Please fix the upstream build system to explicitly link foo against gio. -- bye, pabs http://wiki.debian.org/PaulWise -- To UNSUBSCRIBE, email to debian-mentors-requ...@lists.debian.org with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org Archive: http://lists.debian.org/aanlktikyyh65se9afuwawpxgpqdajbcrorw_j87nb...@mail.gmail.com
dpkg-shlibdeps error
Hello: I am makeing an installable package of a binary only program for x-ray and neutron structure analysis (GSAS). When dpkg-shlibdeps runs on all its compenents, I get the following errors for nearly all of the executables: dpkg-shlibdeps: warning: could not find path for ld-linux.so.2 dpkg-shlibdeps: warning: could not find any packages for (ld-linux.so.2) dpkg-shlibdeps: warning: unable to find dependency information for shared library ld-linux (soname 2, path , dependency field Depends) if I do an ldd on the same executables I get libm.so.6 = /lib/libm.so.6 (0x4001f000) libc.so.6 = /lib/libc.so.6 (0x4004) /lib/ld-linux.so.2 = /lib/ld-linux.so.2 (0x4000) I know that ld-lilnux.so.2 is present and is part of the libc6 package. Is there something I am doing wrong here or is this kind of error to be expected when I have a binary compiled elsewhere? Thanks, Carlo -- Carlo U. Segre -- Professor of Physics Associate Dean for Research, Armour College Illinois Institute of Technology Voice: 312.567.3498Fax: 312.567.3494 [EMAIL PROTECTED]http://www.iit.edu/~segre