Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 479414 - dev-libs/libusbx-1.0.16-r1 unable to read SONAME from libusb-1.0.so
Summary: dev-libs/libusbx-1.0.16-r1 unable to read SONAME from libusb-1.0.so
Status: RESOLVED INVALID
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: [OLD] Core system (show other bugs)
Hardware: All Linux
: Normal normal
Assignee: Peter Stuge
URL:
Whiteboard:
Keywords:
Depends on: 478878
Blocks:
  Show dependency tree
 
Reported: 2013-08-01 15:06 UTC by Ray Griffin (rorgoroth)
Modified: 2013-08-01 18:56 UTC (History)
4 users (show)

See Also:
Package list:
Runtime testing required: ---


Attachments
build.log (build.log,19.67 KB, text/x-log)
2013-08-01 15:06 UTC, Ray Griffin (rorgoroth)
Details
eclass-debug.log (eclass-debug.log,923 bytes, text/x-log)
2013-08-01 17:59 UTC, Ray Griffin (rorgoroth)
Details
environment (environment,78.42 KB, text/plain)
2013-08-01 17:59 UTC, Ray Griffin (rorgoroth)
Details

Note You need to log in before you can comment on or make changes to this bug.
Description Ray Griffin (rorgoroth) 2013-08-01 15:06:27 UTC
Fails to upgrade:

 * ERROR: dev-libs/libusbx-1.0.16-r1::gentoo failed (install phase):
 *   unable to read SONAME from libusb-1.0.so
 * 
 * Call stack:
 *     ebuild.sh, line   93:  Called src_install
 *   environment, line 2110:  Called gen_usr_ldscript '-a' 'usb-1.0'
 *   environment, line 1293:  Called die
 * The specific snippet of code:
 *                       [[ -z ${tlib} ]] && die "unable to read SONAME from ${lib}";
 * 


Reproducible: Always




Portage 2.2.0_alpha191 (default/linux/amd64/13.0/no-multilib, gcc-4.8.1, glibc-2.17, 3.10.1-pf x86_64)
=================================================================
                         System Settings
=================================================================
System uname: Linux-3.10.1-pf-x86_64-Pentium-R-_Dual-Core_CPU_E5200_@_2.50GHz-with-gentoo-2.2
KiB Mem:     3080152 total,   1488004 free
KiB Swap:          0 total,         0 free
Timestamp of tree: Thu, 01 Aug 2013 13:15:01 +0000
ld GNU gold (GNU Binutils 2.23.1) 1.11
app-shells/bash:          4.2_p45
dev-lang/python:          2.7.5-r1, 3.2.5-r1, 3.3.2-r1
dev-util/cmake:           2.8.11.1
dev-util/pkgconfig:       0.28
sys-apps/baselayout:      2.2
sys-apps/sandbox:         2.6-r1
sys-devel/autoconf:       2.13, 2.69
sys-devel/automake:       1.11.6, 1.13.4, 1.14
sys-devel/binutils:       2.23.1
sys-devel/gcc:            4.8.1
sys-devel/gcc-config:     1.8
sys-devel/libtool:        2.4.2
sys-devel/make:           3.82-r4
sys-kernel/linux-headers: 3.9 (virtual/os-headers)
sys-libs/glibc:           2.17
Repositories: gentoo rorgoroth
Installed sets: @gamelibs
ACCEPT_KEYWORDS="amd64 ~amd64"
ACCEPT_LICENSE="* -@EULA"
CBUILD="x86_64-pc-linux-gnu"
CFLAGS="-O2 -march=native -pipe"
CHOST="x86_64-pc-linux-gnu"
CONFIG_PROTECT="/etc"
CONFIG_PROTECT_MASK="/etc/ca-certificates.conf /etc/env.d /etc/fonts/fonts.conf /etc/gconf /etc/gentoo-release /etc/revdep-rebuild /etc/sandbox.d /etc/terminfo"
CXXFLAGS="-O2 -march=native -pipe"
DISTDIR="/usr/portage/distfiles"
FCFLAGS="-O2 -pipe"
FEATURES="assume-digests binpkg-logs config-protect-if-modified distlocks ebuild-locks fixlafiles merge-sync news parallel-fetch preserve-libs protect-owned sandbox sfperms strict unknown-features-warn unmerge-logs unmerge-orphans userfetch userpriv usersandbox usersync"
FFLAGS="-O2 -pipe"
GENTOO_MIRRORS="http://mirror.qubenet.net/mirror/gentoo/  http://212.219.56.132/sites/www.ibiblio.org/gentoo/  http://212.219.56.139/sites/www.ibiblio.org/gentoo/  http://212.219.56.133/sites/www.ibiblio.org/gentoo/  http://mirrors.linuxant.fr/distfiles.gentoo.org/"
LANG="en_GB.UTF-8"
LDFLAGS="-Wl,-O1 -Wl,--as-needed"
MAKEOPTS="-j1"
PKGDIR="/usr/portage/packages"
PORTAGE_CONFIGROOT="/"
PORTAGE_RSYNC_OPTS="--recursive --links --safe-links --perms --times --omit-dir-times --compress --force --whole-file --delete --stats --human-readable --timeout=180 --exclude=/distfiles --exclude=/local --exclude=/packages"
PORTAGE_TMPDIR="/var/tmp"
PORTDIR="/usr/portage"
PORTDIR_OVERLAY="/usr/local/portage"
SYNC="rsync://rsync.uk.gentoo.org/gentoo-portage"
USE="X \ acl alsa amd64 apng berkdb bzip2 cairo cli corefonts cracklib crypt curl cxx dbus dri exif fftw fontconfig fortran gdbm gif gles2 gtk gudev hwdb iconv icu introspection jpeg jpeg2k jpg keymap llvm lzma lzo minizip mmx mmxext modules mp3 mp4 mpd mudflap ncurses nls nptl ogg opengl openmp opus pam pango pcre pdf png policykit pulseaudio python rar readline sdl session smp smpeg sse sse2 ssl ssse3 svg systemd tcpd theora threads truetype udev unicode vaapi vdpau vorbis vpx webp x264 xcb xpm xvid zip zlib zsh-completion" ABI_X86="64" ALSA_CARDS="hda-intel" APACHE2_MODULES="authn_core authz_core socache_shmcb unixd actions alias auth_basic authn_alias authn_anon authn_dbm authn_default authn_file authz_dbm authz_default authz_groupfile authz_host authz_owner authz_user autoindex cache cgi cgid dav dav_fs dav_lock deflate dir disk_cache env expires ext_filter file_cache filter headers include info log_config logio mem_cache mime mime_magic negotiation rewrite setenvif speling status unique_id userdir usertrack vhost_alias" CALLIGRA_FEATURES="kexi words flow plan sheets stage tables krita karbon braindump author" CAMERAS="ptp2" COLLECTD_PLUGINS="df interface irq load memory rrdtool swap syslog" ELIBC="glibc" GPSD_PROTOCOLS="ashtech aivdm earthmate evermore fv18 garmin garmintxt gpsclock itrax mtk3301 nmea ntrip navcom oceanserver oldstyle oncore rtcm104v2 rtcm104v3 sirf superstar2 timing tsip tripmate tnt ubx" INPUT_DEVICES="evdev" KERNEL="linux" LCD_DEVICES="bayrad cfontz cfontz633 glk hd44780 lb216 lcdm001 mtxorb ncurses text" LIBREOFFICE_EXTENSIONS="presenter-console presenter-minimizer" LINGUAS="en_GB" OFFICE_IMPLEMENTATION="libreoffice" PHP_TARGETS="php5-4" PYTHON_SINGLE_TARGET="python2_7" PYTHON_TARGETS="python2_7 python3_2" RUBY_TARGETS="ruby19 ruby18" USERLAND="GNU" VIDEO_CARDS="nvidia" XTABLES_ADDONS="quota2 psd pknock lscan length2 ipv4options ipset ipp2p iface geoip fuzzy condition tee tarpit sysrq steal rawnat logmark ipmark dhcpmac delude chaos account"
Unset:  CPPFLAGS, CTARGET, EMERGE_DEFAULT_OPTS, INSTALL_MASK, LC_ALL, PORTAGE_BUNZIP2_COMMAND, PORTAGE_COMPRESS, PORTAGE_COMPRESS_FLAGS, PORTAGE_RSYNC_EXTRA_OPTS, USE_PYTHON
Comment 1 Ray Griffin (rorgoroth) 2013-08-01 15:06:52 UTC
Created attachment 354830 [details]
build.log
Comment 2 Samuli Suominen (RETIRED) gentoo-dev 2013-08-01 16:25:25 UTC
Try

# emerge -C virtual/libusb:0 virtual/libusb:1 dev-libs/libusb-compat dev-libs/libusb dev-libs/libusbx

# emerge -1 virtual/libusb:0 virtual/libusb:1
Comment 3 Alexis Ballier gentoo-dev 2013-08-01 16:30:05 UTC
and: do you have scanelf installed ?
Comment 4 Ray Griffin (rorgoroth) 2013-08-01 16:35:26 UTC
(In reply to Samuli Suominen from comment #2)
Unfortunately that produces the same error.

(In reply to Alexis Ballier from comment #3)
I do indeed, app-misc/pax-utils-0.7 to be precise.
Comment 5 Alexis Ballier gentoo-dev 2013-08-01 17:29:09 UTC
what are the contents of /var/tmp/portage/dev-libs/libusbx-1.0.16-r1/image//usr/lib/ ?


what happens if you 'cd' there and type:
scanelf -qF'%S#F' libusb-1.0.so
Comment 6 Ray Griffin (rorgoroth) 2013-08-01 17:37:16 UTC
ls output:
libusb-1.0.la  libusb-1.0.so  libusb-1.0.so.0  libusb-1.0.so.0.1.0  pkgconfig

scanelf -qF'%S#F' libusb-1.0.so output:
libusb-1.0.so.0
Comment 7 Samuli Suominen (RETIRED) gentoo-dev 2013-08-01 17:41:42 UTC
It should look like this. Post your result here for comparison.

$ cat /usr/lib64/libusb.so
/* GNU ld script
   Since Gentoo has critical dynamic libraries in /lib, and the static versions
   in /usr/lib, we need to have a "fake" dynamic lib in /usr/lib, otherwise we
   run into linking problems.  This "fake" dynamic lib is a linker script that
   redirects the linker to the real lib.  And yes, this works in the cross-
   compiling scenario as the sysroot-ed linker will prepend the real path.

   See bug http://bugs.gentoo.org/4411 for more info.
 */
OUTPUT_FORMAT ( elf64-x86-64 )
GROUP ( /lib64/libusb-0.1.so.4 )

$ objdump -p /lib64/libusb-0.1.so.4 |grep -i soname
  SONAME               libusb-0.1.so.4
Comment 8 Samuli Suominen (RETIRED) gentoo-dev 2013-08-01 17:43:06 UTC
(In reply to Samuli Suominen from comment #7)
> It should look like this. Post your result here for comparison.
> 
> $ cat /usr/lib64/libusb.so
> /* GNU ld script
>    Since Gentoo has critical dynamic libraries in /lib, and the static
> versions
>    in /usr/lib, we need to have a "fake" dynamic lib in /usr/lib, otherwise
> we
>    run into linking problems.  This "fake" dynamic lib is a linker script
> that
>    redirects the linker to the real lib.  And yes, this works in the cross-
>    compiling scenario as the sysroot-ed linker will prepend the real path.
> 
>    See bug http://bugs.gentoo.org/4411 for more info.
>  */
> OUTPUT_FORMAT ( elf64-x86-64 )
> GROUP ( /lib64/libusb-0.1.so.4 )
> 
> $ objdump -p /lib64/libusb-0.1.so.4 |grep -i soname
>   SONAME               libusb-0.1.so.4

Well, output of all four commands, for both libusb-compat and libusb or libusbx

$ cat /usr/lib64/libusb-1.0.so 
/* GNU ld script
   Since Gentoo has critical dynamic libraries in /lib, and the static versions
   in /usr/lib, we need to have a "fake" dynamic lib in /usr/lib, otherwise we
   run into linking problems.  This "fake" dynamic lib is a linker script that
   redirects the linker to the real lib.  And yes, this works in the cross-
   compiling scenario as the sysroot-ed linker will prepend the real path.

   See bug http://bugs.gentoo.org/4411 for more info.
 */
OUTPUT_FORMAT ( elf64-x86-64 )
GROUP ( /lib64/libusb-1.0.so.0 )

$ objdump -p /lib64/libusb-1.0.so.0 |grep -i soname
  SONAME               libusb-1.0.so.0
Comment 9 Alexis Ballier gentoo-dev 2013-08-01 17:51:47 UTC
(In reply to Samuli Suominen from comment #7)
> It should look like this. Post your result here for comparison.

it dies before creating the ldscript I think.
see gen_usr_ldscript in toolchain-funcs.eclass. scanelf returns the correct value

please attach:
/var/tmp/portage/dev-libs/libusbx-1.0.16-r1/temp/eclass-debug.log
and
/var/tmp/portage/dev-libs/libusbx-1.0.16-r1/temp/environment
Comment 10 Ray Griffin (rorgoroth) 2013-08-01 17:59:00 UTC
(In reply to Samuli Suominen from comment #8)
Hmm... I actually don't have any of those files.
After your commands earlier I have 0 libusb packages installed and cant get any of them installed again, trying to install libusb or libusbx both give the same error.

(In reply to Alexis Ballier from comment #9)
Okay I shall.
Comment 11 Ray Griffin (rorgoroth) 2013-08-01 17:59:23 UTC
Created attachment 354842 [details]
eclass-debug.log
Comment 12 Ray Griffin (rorgoroth) 2013-08-01 17:59:40 UTC
Created attachment 354844 [details]
environment
Comment 13 Alexis Ballier gentoo-dev 2013-08-01 18:16:13 UTC
@mgorny: there seems to be a problem for no-multilib amd64.

Look at that environment file, he gets: declare -x ABI="64"
which is certainly wrong and confuses get_libdir
Comment 14 Ray Griffin (rorgoroth) 2013-08-01 18:20:58 UTC
(In reply to Alexis Ballier from comment #13)
Ah!
I removed it from my make.conf and now we are all good and everything is installed and updated.

Was this a mistake on my part having just 64? I admittedly did a fresh install a short time ago and re-used some portage config files, I just removed the 32 since I no longer needed it.
Comment 15 Alexis Ballier gentoo-dev 2013-08-01 18:23:52 UTC
(In reply to Ray Griffin from comment #14)
> (In reply to Alexis Ballier from comment #13)
> Ah!
> I removed it from my make.conf and now we are all good and everything is
> installed and updated.
> 
> Was this a mistake on my part having just 64? I admittedly did a fresh
> install a short time ago and re-used some portage config files, I just
> removed the 32 since I no longer needed it.

wait, did you set the 'ABI' variable ? or ABI_X86?
Comment 16 Ray Griffin (rorgoroth) 2013-08-01 18:31:47 UTC
(In reply to Alexis Ballier from comment #15)

Yup.
It's wrong, isn't it. I set it during the big fuss about it and have just tracked down the forum topic I got it from. I can't believe after quite some time only now it has shown up. Please accept my apologies for accidentally wasting your time :|
Comment 17 Alexis Ballier gentoo-dev 2013-08-01 18:36:47 UTC
(In reply to Ray Griffin from comment #16)
> (In reply to Alexis Ballier from comment #15)
> 
> Yup.
> It's wrong, isn't it. I set it during the big fuss about it and have just
> tracked down the forum topic I got it from. I can't believe after quite some
> time only now it has shown up. Please accept my apologies for accidentally
> wasting your time :|

so if you set the 'ABI' variable this is certainly wrong and will break all kind of things in your system, the bug is invalid.

if you had set ABI_X86 and ABI got set by some hidden mechanism this is a problem we should fix since setting ABI_X86="64" as your emerge --info shows is not invalid.

was you emerge --info up to date ?
Comment 18 Ray Griffin (rorgoroth) 2013-08-01 18:46:21 UTC
(In reply to Alexis Ballier from comment #17)
>so if you set the 'ABI' variable this is certainly wrong and will break all kind of things in your system, the bug is invalid.
ABI= is what I saw in the forums and what I put in my make.conf at the time.

>if you had set ABI_X86 and ABI got set by some hidden mechanism this is a problem we should fix since setting ABI_X86="64" as your emerge --info shows is not invalid.
>was you emerge --info up to date ?

Yeah it was up to date, that is confusing, now I look ABI_X86="64" is set, not in my make.conf though as mentioned above, so the good news is that ABI_X86="64" is getting set correctly by default I guess.

I shall mark as invalid, thank you both for the help.
Comment 19 Alexis Ballier gentoo-dev 2013-08-01 18:51:39 UTC
(In reply to Ray Griffin from comment #18)

good, thanks!

> (In reply to Alexis Ballier from comment #17)
> >so if you set the 'ABI' variable this is certainly wrong and will break all kind of things in your system, the bug is invalid.
> ABI= is what I saw in the forums and what I put in my make.conf at the time.

please flame the one who posted this for me :)
Comment 20 Ray Griffin (rorgoroth) 2013-08-01 18:56:56 UTC
(In reply to Alexis Ballier from comment #19)
I would if I felt like dragging up an old-ish thread up, I have however filed a request for it to be edited/fixed/cleaned in case others come across it in the future ;)