Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!

Bug 691948

Summary: dev-libs/pigpio-68 - /usr/bin/pigpiod: error while loading shared libraries: libpigpio.so: cannot open shared object file: No such file or directory
Product: Gentoo Linux Reporter: Jan Breig <gentoo>
Component: Current packagesAssignee: Daniel Kenzelmann <gentoo>
Status: RESOLVED FIXED    
Severity: normal CC: proxy-maint
Priority: Normal Keywords: EBUILD, PATCH
Version: unspecified   
Hardware: All   
OS: Linux   
Whiteboard:
Package list:
Runtime testing required: ---
Attachments: ebuild.patch
emerge --info

Description Jan Breig 2019-08-11 17:27:20 UTC
Created attachment 586562 [details, diff]
ebuild.patch

'rc-service pigpiod start' fails with
/usr/bin/pigpiod: error while loading shared libraries: libpigpio.so: cannot open shared object file: No such file or directory

The issue appears due to the EAPI change.
With EAPI 7 the DESTDIR (${D}) variable does not contain a trailing slash. Therefore the library files are not installed properly.

Corresponding part of the install log for EAPI6:
install -m 0644 pigpiod_if2.h     /var/tmp/portage/dev-libs/pigpio-68/image//usr/include
install -m 0755 -d                /var/tmp/portage/dev-libs/pigpio-68/image/lib64
install -m 0755 libpigpio.so      /var/tmp/portage/dev-libs/pigpio-68/image/lib64
install -m 0755 libpigpiod_if.so  /var/tmp/portage/dev-libs/pigpio-68/image/lib64
install -m 0755 libpigpiod_if2.so /var/tmp/portage/dev-libs/pigpio-68/image/lib64
install -m 0755 -d                /var/tmp/portage/dev-libs/pigpio-68/image//usr/bin

Corresponding part of the install log for EAPI7:
install -m 0644 pigpiod_if2.h     /var/tmp/portage/dev-libs/pigpio-68/image/usr/include
install -m 0755 -d                /var/tmp/portage/dev-libs/pigpio-68/imagelib64
install -m 0755 libpigpio.so      /var/tmp/portage/dev-libs/pigpio-68/imagelib64
install -m 0755 libpigpiod_if.so  /var/tmp/portage/dev-libs/pigpio-68/imagelib64
install -m 0755 libpigpiod_if2.so /var/tmp/portage/dev-libs/pigpio-68/imagelib64
install -m 0755 -d                /var/tmp/portage/dev-libs/pigpio-68/image/usr/bin

Since the issue only appears for the libdir (because of the duplicate slash in EAPI6) this can be fixed by adding a leading slash to the libdir variable (see attached patch file).
Comment 1 Jan Breig 2019-08-11 17:29:03 UTC
Created attachment 586564 [details]
emerge --info
Comment 2 Daniel Kenzelmann 2019-08-12 07:02:23 UTC
Was there any change in the behavior of get_libdir recently?

Anyways, there are two pull requests pending, one for fixing old versions, and addditionally adding v70:
See
https://github.com/gentoo/gentoo/pull/12677
Comment 3 Daniel Kenzelmann 2019-08-12 07:08:03 UTC
Additionally, the variable for the libdir seems to have been wrong all the time (should go to /usr/lib{64}/ according to the Makefile)
That also has been fixed in the pull request.
Comment 4 Larry the Git Cow gentoo-dev 2019-08-13 04:54:38 UTC
The bug has been closed via the following commit(s):

https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=c85f15d0dd0ee6fe1c031dc6ab115cb980693c4d

commit c85f15d0dd0ee6fe1c031dc6ab115cb980693c4d
Author:     Daniel Kenzelmann <daniel@pc-daniel-desktop.fritz.box>
AuthorDate: 2019-08-11 08:31:49 +0000
Commit:     Joonas Niilola <juippis@gentoo.org>
CommitDate: 2019-08-13 04:53:50 +0000

    dev-libs/pigpio: fix libdir variable
    
    Fixed libdir variable (/usr/ prefix missing, current ebuilds do not install libs at all)
    
    Closes: https://bugs.gentoo.org/691948
    Signed-off-by: Daniel Kenzelmann <gentoo@k8n.de>
    Signed-off-by: Joonas Niilola <juippis@gentoo.org>

 dev-libs/pigpio/pigpio-67.ebuild | 2 +-
 dev-libs/pigpio/pigpio-68.ebuild | 2 +-
 2 files changed, 2 insertions(+), 2 deletions(-)