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

Bug 692512

Summary: =media-sound/denemo-2.3.0 USE=jack fails with ld: error: //usr/lib/libjack.so: incompatible target - on x86 multilib
Product: Gentoo Linux Reporter: Bernd <waebbl-gentoo>
Component: Current packagesAssignee: Bernd <waebbl-gentoo>
Status: RESOLVED WORKSFORME    
Severity: normal CC: alexander, proxy-maint
Priority: Normal    
Version: unspecified   
Hardware: All   
OS: Linux   
See Also: https://github.com/gentoo/gentoo/pull/12704
Whiteboard:
Package list:
Runtime testing required: ---
Bug Depends on:    
Bug Blocks: 506276    
Attachments: denemo-2.3.0:20190819-102622.log
denemo-2.3.0:20190819-102929.log.bz2
denemo-2.3.0:20190819-103514.log
emerge-info-denemo.txt

Description Bernd 2019-08-19 10:27:21 UTC
When trying to emerge media-sound/denemo-2.3.0 with USE=jack enabled it fails with

/usr/lib/gcc/x86_64-pc-linux-gnu/8.3.0/../../../../x86_64-pc-linux-gnu/bin/ld: error: //usr/lib/libjack.so: incompatible target
/usr/lib/gcc/x86_64-pc-linux-gnu/8.3.0/../../../../x86_64-pc-linux-gnu/bin/ld: warning: skipping incompatible /usr/lib/libxml2.so while searching for xml2

followed by more similar errors.

I first was thinking, this might be related to bug #691274, but now I think, it might have several causes.

When manually changing the libdir entry from in /usr/lib64/pkgconfig/rubberband.pc to read ${exec_prefix}/lib64, the build succeeds even with USE=jack enabled.

What I don't understand, why libtool is picking jack to convert the 'relative' library -ljack into an absolute path /usr/lib/libjack.so (see below). There are a bunch of other libraries, which also get linked into the binaries and are available in both abi_x86_64 and abi_x86_32 on my machine. The configure.ac snippet which searches for jack, looks unconspicuous to me.

/bin/sh ../libtool  --tag=CC   --mode=link x86_64-pc-linux-gnu-gcc  -O2 -pipe -march=bdver2 -fstack-protector-strong -fstack-check -pthread -I/usr/include/guile/2.0 -fdiagnostics-color=auto -I/usr/include/glib-2.0 -I/usr/lib64/glib-2.0/include -I/usr/include/libxml2 -pthread -I/usr/include/librsvg-2.0 -I/usr/include/gdk-pixbuf-2.0 -I/usr/include/libmount -I/usr/include/blkid -I/usr/include/cairo -I/usr/include/pixman-1 -I/usr/include/uuid -I/usr/include/freetype2 -I/usr/include/harfbuzz -I/usr/include/glib-2.0 -I/usr/lib64/glib-2.0/include -I/usr/include/libdrm -I/usr/include/libpng16 -I/usr/include/uuid -I/usr/include/freetype2 -I/usr/include/harfbuzz -I/usr/include/glib-2.0 -I/usr/lib64/glib-2.0/include -lgthread-2.0 -pthread -lglib-2.0 -lsndfile -I/usr/include/glib-2.0 -I/usr/lib64/glib-2.0/include -D_HAVE_JACK_   -D_WITH_AUBIO_4_ -pthread -I/usr/include/gtk-3.0 -I/usr/include/at-spi2-atk/2.0 -I/usr/include/at-spi-2.0 -I/usr/include/dbus-1.0 -I/usr/lib64/dbus-1.0/include -I/usr/include/gtk-3.0 -I/usr/include/gio-unix-2.0/ -I/usr/include/cairo -I/usr/include/pango-1.0 -I/usr/include/fribidi -I/usr/include/atk-1.0 -I/usr/include/cairo -I/usr/include/pixman-1 -I/usr/include/freetype2 -I/usr/include/harfbuzz -I/usr/include/libdrm -I/usr/include/gdk-pixbuf-2.0 -I/usr/include/libpng16 -I/usr/include/libmount -I/usr/include/blkid -I/usr/include/uuid -I/usr/include/glib-2.0 -I/usr/lib64/glib-2.0/include -pthread -I/usr/include/gtksourceview-3.0 -I/usr/include/libxml2 -I/usr/include/gtk-3.0 -I/usr/include/at-spi2-atk/2.0 -I/usr/include/at-spi-2.0 -I/usr/include/dbus-1.0 -I/usr/lib64/dbus-1.0/include -I/usr/include/gtk-3.0 -I/usr/include/gio-unix-2.0/ -I/usr/include/cairo -I/usr/include/pango-1.0 -I/usr/include/fribidi -I/usr/include/atk-1.0 -I/usr/include/cairo -I/usr/include/pixman-1 -I/usr/include/freetype2 -I/usr/include/harfbuzz -I/usr/include/libdrm -I/usr/include/gdk-pixbuf-2.0 -I/usr/include/libpng16 -I/usr/include/libmount -I/usr/include/blkid -I/usr/include/uuid -I/usr/include/glib-2.0 -I/usr/lib64/glib-2.0/include -pthread -I/usr/include/evince/3.0 -I/usr/include/gtk-3.0 -I/usr/include/at-spi2-atk/2.0 -I/usr/include/at-spi-2.0 -I/usr/include/dbus-1.0 -I/usr/lib64/dbus-1.0/include -I/usr/include/gtk-3.0 -I/usr/include/gio-unix-2.0/ -I/usr/include/cairo -I/usr/include/pango-1.0 -I/usr/include/fribidi -I/usr/include/atk-1.0 -I/usr/include/cairo -I/usr/include/pixman-1 -I/usr/include/freetype2 -I/usr/include/harfbuzz -I/usr/include/libdrm -I/usr/include/gdk-pixbuf-2.0 -I/usr/include/libpng16 -I/usr/include/libmount -I/usr/include/blkid -I/usr/include/uuid -I/usr/include/glib-2.0 -I/usr/lib64/glib-2.0/include -DUSE_EVINCE -I/usr/include/alsa -D_HAVE_ALSA_ -D_HAVE_FLUIDSYNTH_  -D_HAVE_RUBBERBAND_  -D_HAVE_PORTAUDIO_ -pthread  -D_HAVE_PORTMIDI_ -D_HAVE_X11_  -Wl,-O1 -Wl,--as-needed -Wl,--defsym=__gentoo_check_ldflags__=0 -o cairo_svg2path cairo_svg2path.o  -lguile-2.0 -lgc  -lglib-2.0 -lxml2 -lrsvg-2 -lm -lgio-2.0 -lgdk_pixbuf-2.0 -lgobject-2.0 -lglib-2.0 -lcairo -lfontconfig -lfreetype -lgthread-2.0 -pthread -lglib-2.0 -lsndfile -lsmf -lm -lglib-2.0 -D_HAVE_JACK_ -ljack -lpthread -laubio -lgtk-3 -lgdk-3 -lpangocairo-1.0 -lpango-1.0 -latk-1.0 -lcairo-gobject -lcairo -lgdk_pixbuf-2.0 -lgio-2.0 -lgobject-2.0 -lglib-2.0 -lgtksourceview-3.0 -lgtk-3 -lgdk-3 -lpangocairo-1.0 -lpango-1.0 -latk-1.0 -lcairo-gobject -lcairo -lgdk_pixbuf-2.0 -lgio-2.0 -lgobject-2.0 -lglib-2.0 -levview3 -levdocument3 -lgtk-3 -lgdk-3 -lpangocairo-1.0 -lpango-1.0 -latk-1.0 -lcairo-gobject -lcairo -lgdk_pixbuf-2.0 -lgio-2.0 -lgobject-2.0 -lgthread-2.0 -pthread -lglib-2.0 -DUSE_EVINCE -lasound -D_HAVE_FLUIDSYNTH_ -lfluidsynth -D_HAVE_RUBBERBAND_ -L/usr/lib -lrubberband -lportaudio -lasound -lm -lpthread -lfftw3 -lportmidi  -D_HAVE_X11_
libtool: link: x86_64-pc-linux-gnu-gcc -O2 -pipe -march=bdver2 -fstack-protector-strong -fstack-check -pthread -I/usr/include/guile/2.0 -fdiagnostics-color=auto -I/usr/include/glib-2.0 -I/usr/lib64/glib-2.0/include -I/usr/include/libxml2 -pthread -I/usr/include/librsvg-2.0 -I/usr/include/gdk-pixbuf-2.0 -I/usr/include/libmount -I/usr/include/blkid -I/usr/include/cairo -I/usr/include/pixman-1 -I/usr/include/uuid -I/usr/include/freetype2 -I/usr/include/harfbuzz -I/usr/include/glib-2.0 -I/usr/lib64/glib-2.0/include -I/usr/include/libdrm -I/usr/include/libpng16 -I/usr/include/uuid -I/usr/include/freetype2 -I/usr/include/harfbuzz -I/usr/include/glib-2.0 -I/usr/lib64/glib-2.0/include -pthread -I/usr/include/glib-2.0 -I/usr/lib64/glib-2.0/include -D_HAVE_JACK_ -D_WITH_AUBIO_4_ -pthread -I/usr/include/gtk-3.0 -I/usr/include/at-spi2-atk/2.0 -I/usr/include/at-spi-2.0 -I/usr/include/dbus-1.0 -I/usr/lib64/dbus-1.0/include -I/usr/include/gtk-3.0 -I/usr/include/gio-unix-2.0/ -I/usr/include/cairo -I/usr/include/pango-1.0 -I/usr/include/fribidi -I/usr/include/atk-1.0 -I/usr/include/cairo -I/usr/include/pixman-1 -I/usr/include/freetype2 -I/usr/include/harfbuzz -I/usr/include/libdrm -I/usr/include/gdk-pixbuf-2.0 -I/usr/include/libpng16 -I/usr/include/libmount -I/usr/include/blkid -I/usr/include/uuid -I/usr/include/glib-2.0 -I/usr/lib64/glib-2.0/include -pthread -I/usr/include/gtksourceview-3.0 -I/usr/include/libxml2 -I/usr/include/gtk-3.0 -I/usr/include/at-spi2-atk/2.0 -I/usr/include/at-spi-2.0 -I/usr/include/dbus-1.0 -I/usr/lib64/dbus-1.0/include -I/usr/include/gtk-3.0 -I/usr/include/gio-unix-2.0/ -I/usr/include/cairo -I/usr/include/pango-1.0 -I/usr/include/fribidi -I/usr/include/atk-1.0 -I/usr/include/cairo -I/usr/include/pixman-1 -I/usr/include/freetype2 -I/usr/include/harfbuzz -I/usr/include/libdrm -I/usr/include/gdk-pixbuf-2.0 -I/usr/include/libpng16 -I/usr/include/libmount -I/usr/include/blkid -I/usr/include/uuid -I/usr/include/glib-2.0 -I/usr/lib64/glib-2.0/include -pthread -I/usr/include/evince/3.0 -I/usr/include/gtk-3.0 -I/usr/include/at-spi2-atk/2.0 -I/usr/include/at-spi-2.0 -I/usr/include/dbus-1.0 -I/usr/lib64/dbus-1.0/include -I/usr/include/gtk-3.0 -I/usr/include/gio-unix-2.0/ -I/usr/include/cairo -I/usr/include/pango-1.0 -I/usr/include/fribidi -I/usr/include/atk-1.0 -I/usr/include/cairo -I/usr/include/pixman-1 -I/usr/include/freetype2 -I/usr/include/harfbuzz -I/usr/include/libdrm -I/usr/include/gdk-pixbuf-2.0 -I/usr/include/libpng16 -I/usr/include/libmount -I/usr/include/blkid -I/usr/include/uuid -I/usr/include/glib-2.0 -I/usr/lib64/glib-2.0/include -DUSE_EVINCE -I/usr/include/alsa -D_HAVE_ALSA_ -D_HAVE_FLUIDSYNTH_ -D_HAVE_RUBBERBAND_ -D_HAVE_PORTAUDIO_ -pthread -D_HAVE_PORTMIDI_ -D_HAVE_X11_ -Wl,-O1 -Wl,--defsym=__gentoo_check_ldflags__=0 -o generate_source generate_source.o -pthread -D_HAVE_JACK_ -pthread -DUSE_EVINCE -D_HAVE_FLUIDSYNTH_ -D_HAVE_RUBBERBAND_ -D_HAVE_X11_  -Wl,--as-needed -lguile-2.0 -lgc -lxml2 -lrsvg-2 -lfontconfig -lfreetype -lsndfile -lsmf //usr/lib/libjack.so -ldb -ldl -laubio -lgtksourceview-3.0 -levview3 -levdocument3 -lgtk-3 -lgdk-3 -lpangocairo-1.0 -lpango-1.0 -latk-1.0 -lcairo-gobject -lcairo -lgdk_pixbuf-2.0 -lgio-2.0 -lgobject-2.0 -lgthread-2.0 -lglib-2.0 -lfluidsynth -L/usr/lib -lrubberband -lportaudio -lasound -lm -lpthread -lfftw3 -lportmidi -pthread -Wl,-rpath -Wl,//usr/lib
/usr/lib/gcc/x86_64-pc-linux-gnu/8.3.0/../../../../x86_64-pc-linux-gnu/bin/ld: error: //usr/lib/libjack.so: incompatible target

Building without USE=jack finishes the build.
I'm going to attach build logs for several use cases on this.
Comment 1 Bernd 2019-08-19 10:28:51 UTC
Created attachment 587396 [details]
denemo-2.3.0:20190819-102622.log

USE=jack, unmodified rubberband.pc
Comment 2 Bernd 2019-08-19 10:33:17 UTC
Created attachment 587398 [details]
denemo-2.3.0:20190819-102929.log.bz2

USE=-jack, unmodified rubberband.pc, compressed due to size
Comment 3 Bernd 2019-08-19 10:38:35 UTC
Created attachment 587400 [details]
denemo-2.3.0:20190819-103514.log

USE=jack modified /usr/lib64/pkgconfig/rubberband.pc, so that libdir=${exec_prefix}/lib64
Comment 4 Bernd 2019-08-19 10:39:54 UTC
Created attachment 587402 [details]
emerge-info-denemo.txt

output from emerge --info denemo
Comment 5 Bernd 2021-04-09 21:14:32 UTC
The issue no longer appears.
Closing this, feel free to re-open if anyone is hitting the bug.