Gentoo Forums
Gentoo Forums
Gentoo Forums
Quick Search: in
sys-devel/gcc-4.8.3: test fails "ld: cannot find -ljack"
View unanswered posts
View posts from last 24 hours

 
Reply to topic    Gentoo Forums Forum Index Other Things Gentoo
View previous topic :: View next topic  
Author Message
daniel.santos
n00b
n00b


Joined: 05 Jun 2007
Posts: 49

PostPosted: Sun Jul 06, 2014 8:10 pm    Post subject: sys-devel/gcc-4.8.3: test fails "ld: cannot find -ljack Reply with quote

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
View user's profile Send private message
russK
l33t
l33t


Joined: 27 Jun 2006
Posts: 665

PostPosted: Mon Jul 07, 2014 1:38 am    Post subject: Reply with quote

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
View user's profile Send private message
daniel.santos
n00b
n00b


Joined: 05 Jun 2007
Posts: 49

PostPosted: Mon Jul 07, 2014 5:08 am    Post subject: Reply with quote

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
View user's profile Send private message
lacimarsik
n00b
n00b


Joined: 07 Apr 2016
Posts: 12

PostPosted: Fri Jul 29, 2016 6:17 pm    Post subject: Reply with quote

Thank you daniel.santos - this helped to solve a similar issue on my machine!
Back to top
View user's profile Send private message
audiodef
Watchman
Watchman


Joined: 06 Jul 2005
Posts: 6639
Location: The soundosphere

PostPosted: Wed Aug 03, 2016 10:27 pm    Post subject: Reply with quote

Can you please tell me which jack-audio-connection-kit you are using? There is one in the proaudio overlay and one in Portage. They are the same, but the one in Portage uses a virtual and omits one or two still-relevant use flags. I'm wondering if you are using the Portage ebuild if you should emerge -C that one and emerge the one from proaudio.
_________________
decibel Linux: https://decibellinux.org
Github: https://github.com/Gentoo-Music-and-Audio-Technology
Facebook: https://www.facebook.com/decibellinux
Discord: https://discord.gg/73XV24dNPN
Back to top
View user's profile Send private message
lacimarsik
n00b
n00b


Joined: 07 Apr 2016
Posts: 12

PostPosted: Thu Aug 04, 2016 10:16 am    Post subject: Reply with quote

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
View user's profile Send private message
audiodef
Watchman
Watchman


Joined: 06 Jul 2005
Posts: 6639
Location: The soundosphere

PostPosted: Thu Aug 04, 2016 3:35 pm    Post subject: Reply with quote

I just realized the OP is from two years ago. This surely has gotten fixed in the mix by now...
_________________
decibel Linux: https://decibellinux.org
Github: https://github.com/Gentoo-Music-and-Audio-Technology
Facebook: https://www.facebook.com/decibellinux
Discord: https://discord.gg/73XV24dNPN
Back to top
View user's profile Send private message
lacimarsik
n00b
n00b


Joined: 07 Apr 2016
Posts: 12

PostPosted: Sun Aug 07, 2016 2:50 pm    Post subject: Reply with quote

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
View user's profile Send private message
Display posts from previous:   
Reply to topic    Gentoo Forums Forum Index Other Things Gentoo All times are GMT
Page 1 of 1

 
Jump to:  
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum