View previous topic :: View next topic |
Author |
Message |
daniel.santos n00b
Joined: 05 Jun 2007 Posts: 49
|
Posted: Sun Jul 06, 2014 8:10 pm Post subject: sys-devel/gcc-4.8.3: test fails "ld: cannot find -ljack |
|
|
This is on x86_64. I have a mostly stable keyworded system. gcc-4.8.3 is currently ~amd64, as is this version of jack (which was required by something else that I ~amd64-ed). I have the following jack-related packages installed:
Code: | # equery u $(qlist -ICS jack)
!!! No USE flags found for media-plugins/gst-plugins-jack-0.10.31
!!! No USE flags found for media-plugins/gst-plugins-jack-1.2.3
[ Legend : U - final flag setting for installation]
[ : I - package is installed with flag ]
[ Colors : set, unset ]
* Found these USE flags for media-sound/jack-audio-connection-kit-0.121.3-r1:
U I
+ + 3dnow : Use the 3DNow! instruction set
- - abi_x86_32 : 32-bit (x86) libraries
+ + alsa : Add support for media-libs/alsa-lib (Advanced Linux Sound Architecture)
- - cpudetection : Enables runtime cpudetection
- - debug : Enable extra debug codepaths, like asserts and extra output. If you want to get meaningful backtraces see
http://www.gentoo.org/proj/en/qa/backtraces.xml
- - doc : Add extra documentation (API, Javadoc, etc). It is recommended to enable per package instead of globally
+ + examples : Install examples, usually source code
+ + mmx : Use the MMX instruction set
- - oss : Add support for OSS (Open Sound System)
+ + pam : Add basic realime configuration via sys-auth/realtime-base
+ + sse : Use the SSE instruction set |
This is causing me to wonder if the problem is due to mixing stable & unstable keywords (I'm only using ABI_X86="64"). It's expecting the 32 bit version of jack, but it isn't installed.
Code: |
mv -f .deps/gnu_javax_sound_midi_dssi_DSSISynthesizer.Tpo .deps/gnu_javax_sound_midi_dssi_DSSISynthesizer.Plo
/bin/sh ../../../libtool --tag=CC --mode=link /home/tmp-portage/portage/sys-devel/gcc-4.8.3/work/build/./gcc/xgcc -B/home/tmp-portage/portage/sys-devel/gcc-4.8.3/work/build/./gcc/ -B/usr/x86_64-pc-linux-gnu/bin/ -B/usr/x86_64-pc-linux-gnu/lib/ -isystem /usr/x86_64-pc-linux-gnu/include -isystem /usr/x86_64-pc-linux-gnu/sys-include -m32 -W -Wall -Wmissing-declarations -Wwrite-strings -Wmissing-prototypes -Wno-long-long -fexceptions -fasynchronous-unwind-tables -march=native -O2 -g3 -m32 -module -version-info 0:0:0 -no-undefined -avoid-version -m32 -o libgjsmdssi.la -rpath /usr/lib/../lib32/gcj-4.8.3-14 gnu_javax_sound_midi_dssi_DSSIMidiDeviceProvider.lo gnu_javax_sound_midi_dssi_DSSISynthesizer.lo ../../../native/jni/classpath/jcl.lo -ljack
...skipping some lines from other jobs (hopefully I'm not skipping something important)
libtool: link: /home/tmp-portage/portage/sys-devel/gcc-4.8.3/work/build/./gcc/xgcc -B/home/tmp-portage/portage/sys-devel/gcc-4.8.3/work/build/./gcc/ -B/usr/x86_64-pc-linux-gnu/bin/ -B/usr/x86_64-pc-linux-gnu/lib/ -isystem /usr/x86_64-pc-linux-gnu/include -isystem /usr/x86_64-pc-linux-gnu/sys-include -m32 -shared .libs/gnu_javax_sound_midi_dssi_DSSIMidiDeviceProvider.o .libs/gnu_javax_sound_midi_dssi_DSSISynthesizer.o ../../../native/jni/classpath/.libs/jcl.o -ljack -m32 -march=native -m32 -m32 -Wl,-soname -Wl,libgjsmdssi.so -o .libs/libgjsmdssi.so
...
/usr/x86_64-pc-linux-gnu/bin/ld: skipping incompatible /usr/lib/libjack.so when searching for -ljack
/usr/x86_64-pc-linux-gnu/bin/ld: cannot find -ljack
collect2: error: ld returned 1 exit status
make[8]: *** [libgjsmdssi.la] Error 1
make[8]: Leaving directory `/home/tmp-portage/portage/sys-devel/gcc-4.8.3/work/build/x86_64-pc-linux-gnu/32/libjava/classpath/native/jni/midi-dssi'
...
make[7]: *** [all-recursive] Error 1
make[7]: Leaving directory `/home/tmp-portage/portage/sys-devel/gcc-4.8.3/work/build/x86_64-pc-linux-gnu/32/libjava/classpath/native/jni'
make[6]: *** [all-recursive] Error 1
make[6]: Leaving directory `/home/tmp-portage/portage/sys-devel/gcc-4.8.3/work/build/x86_64-pc-linux-gnu/32/libjava/classpath/native'
make[5]: *** [all-recursive] Error 1
make[5]: Leaving directory `/home/tmp-portage/portage/sys-devel/gcc-4.8.3/work/build/x86_64-pc-linux-gnu/32/libjava/classpath'
make[4]: *** [all-recursive] Error 1
...
make[4]: Leaving directory `/home/tmp-portage/portage/sys-devel/gcc-4.8.3/work/build/x86_64-pc-linux-gnu/32/libjava'
make[3]: *** [multi-do] Error 1
make[3]: Leaving directory `/home/tmp-portage/portage/sys-devel/gcc-4.8.3/work/build/x86_64-pc-linux-gnu/libjava'
make[2]: *** [all-multi] Error 2
...
make[2]: Leaving directory `/home/tmp-portage/portage/sys-devel/gcc-4.8.3/work/build/x86_64-pc-linux-gnu/libjava'
make[1]: *** [all-target-libjava] Error 2
make[1]: *** Waiting for unfinished jobs....
|
|
|
Back to top |
|
|
russK l33t
Joined: 27 Jun 2006 Posts: 665
|
Posted: Mon Jul 07, 2014 1:38 am Post subject: |
|
|
Maybe it's an incompatibility with your jdk? I see a lot of '-m32' flags in the linker flags.
And what does 'java -version' say? |
|
Back to top |
|
|
daniel.santos n00b
Joined: 05 Jun 2007 Posts: 49
|
Posted: Mon Jul 07, 2014 5:08 am Post subject: |
|
|
russK wrote: | And what does 'java -version' say? |
Code: | # java -version
java version "1.6.0_31"
OpenJDK Runtime Environment (IcedTea6 1.13.3) (Gentoo build 1.6.0_31-b31)
OpenJDK 64-Bit Server VM (build 23.25-b01, mixed mode) |
So I'm thinking that it's because my machine is primarily amd64 keyworded, but these are ~amd64 ebuilds and, thus, expecting the whole damn abi_x64_32 to be enabled since my profile is multilib. I have gotten one of them to work by doing this:
Code: | # I'm building this on an hdd, and I just used a directory in my /home device
cd /home/tmp-portage/portage/sys-devel/gcc-4.8.3/work/build/x86_64-pc-linux-gnu/32/libjava/classpath/native/jni/midi-dssi
vi Makefile
# search for -ljack and remove it
# save
FEATURES="noauto" ebuild /usr/portage/sys-devel/gcc/gcc-4.8.3.ebuild package merge
|
Basically, I hacked it, but it would be nice to have a real solution
EDIT: Ok, now I'm just running this script when emerging gcc
Code: | #!/bin/bash
while true; do
for f in /home/tmp-portage/portage/sys-devel/gcc-{4.9.0,4.8.3}/work/build/x86_64-pc-linux-gnu/32/libjava/classpath/native/jni/midi-dssi/Makefile; do
if grep ' -ljack' $f > /dev/null 2>&1; then
echo "Nuking -ljack from $f !"
sed -i 's/ -ljack//g' $f
fi
done
sleep 16
done |
|
|
Back to top |
|
|
lacimarsik n00b
Joined: 07 Apr 2016 Posts: 12
|
Posted: Fri Jul 29, 2016 6:17 pm Post subject: |
|
|
Thank you daniel.santos - this helped to solve a similar issue on my machine! |
|
Back to top |
|
|
audiodef Watchman
Joined: 06 Jul 2005 Posts: 6639 Location: The soundosphere
|
|
Back to top |
|
|
lacimarsik n00b
Joined: 07 Apr 2016 Posts: 12
|
Posted: Thu Aug 04, 2016 10:16 am Post subject: |
|
|
I had the same error lines as daniel.santos, even the compile command being the same + unable to compile gcc-4.9.3,
my jack is actually pulled in from proaudio overlay
Code: | # emerge -vp jack-audio-connection-kit
These are the packages that would be merged, in order:
Calculating dependencies... done!
[ebuild R #] media-sound/jack-audio-connection-kit-1.9.10::proaudio USE="alsa dbus pam -celt -doc -ieee1394 -opus" ABI_X86="(64) -32 (-x32)" PYTHON_TARGETS="python2_7" 0 KiB
|
|
|
Back to top |
|
|
audiodef Watchman
Joined: 06 Jul 2005 Posts: 6639 Location: The soundosphere
|
|
Back to top |
|
|
lacimarsik n00b
Joined: 07 Apr 2016 Posts: 12
|
Posted: Sun Aug 07, 2016 2:50 pm Post subject: |
|
|
I wish it did, but I have a brand new Gentoo installation and updated portage/proaudio tree as i'm writing now, and still has to use daniel.santos's fix ...
but given that this can be something specific with my system, and the hotfix works ok therefore it's not blocking, it's not anything to worry about
audiodef wrote: | I just realized the OP is from two years ago. This surely has gotten fixed in the mix by now... |
|
|
Back to top |
|
|
|