From mboxrd@z Thu Jan 1 00:00:00 1970 From: Roel Janssen Subject: Re: IcedTea is not linking correctly with libjvm.so Date: Tue, 24 Oct 2017 15:11:19 +0200 Message-ID: <8760b4u1wp.fsf@gnu.org> References: <87y3o56kve.fsf@gnu.org> <874lqsc139.fsf@gnu.org> Mime-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit Return-path: Received: from eggs.gnu.org ([2001:4830:134:3::10]:53676) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1e6yzR-0005Wz-PL for guix-devel@gnu.org; Tue, 24 Oct 2017 09:11:30 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1e6yzQ-0006Rx-M9 for guix-devel@gnu.org; Tue, 24 Oct 2017 09:11:29 -0400 In-reply-to: <874lqsc139.fsf@gnu.org> List-Id: "Development of GNU Guix and the GNU System distribution." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: guix-devel-bounces+gcggd-guix-devel=m.gmane.org@gnu.org Sender: "Guix-devel" To: Ludovic =?utf-8?Q?Court=C3=A8s?= Cc: guix-devel Ludovic Courtès writes: > Hi! > > Roel Janssen skribis: > >> Looking into this shared object, I found that it cannot find libjvm.so: >> $ ldd /gnu/store/q9ad5zvxpm2spiddcj01sw3jkm5vpgva-icedtea-3.5.1/lib/amd64/libnet.so >> linux-vdso.so.1 => (0x00007ffe355ab000) >> libdl.so.2 => /gnu/store/20jhhjzgyqkiw1078cyy3891amqm8d4f-glibc-2.25/lib/libdl.so.2 (0x00007f3984931000) >> libjvm.so => not found >> libpthread.so.0 => /gnu/store/20jhhjzgyqkiw1078cyy3891amqm8d4f-glibc-2.25/lib/libpthread.so.0 (0x00007f39846f8000) >> libjava.so => /gnu/store/q9ad5zvxpm2spiddcj01sw3jkm5vpgva-icedtea-3.5.1/lib/amd64/libjava.so (0x00007f39844cc000) >> libgcc_s.so.1 => /gnu/store/0ss2akh5grfdfqnik6mm3lj4yyyb08np-gcc-5.4.0-lib/lib/libgcc_s.so.1 (0x00007f39842b4000) >> libc.so.6 => /gnu/store/20jhhjzgyqkiw1078cyy3891amqm8d4f-glibc-2.25/lib/libc.so.6 (0x00007f3983f15000) >> /lib64/ld-linux-x86-64.so.2 (0x00007f3984d4d000) >> libjvm.so => not found >> libverify.so => /gnu/store/q9ad5zvxpm2spiddcj01sw3jkm5vpgva-icedtea-3.5.1/lib/amd64/libverify.so (0x00007f3983d05000) >> libjvm.so => not found > > Oh, bad! :-) > > The package has this: > > ;; The DSOs use $ORIGIN to refer to each other, but (guix build > ;; gremlin) doesn't support it yet, so skip this phase. > #:validate-runpath? #f > > The comment was first added in fb799cb72e, when it was true, but shortly > after (guix build gremlin) gained support for that. So we should > probably set this to #t once the package is fixed. > > Ludo’. With the patch I submitted earlier today, I tried to set the #:validate-runpath? to #t, but the build failed. It seems there are more libraries with linking errors: $ ldd /gnu/store/fy8krxbj60z9kx9hwsp4f08qjgr2cb20-icedtea-2.6.11/lib/amd64/xawt/libmawt.so linux-vdso.so.1 (0x00007ffc94ed3000) ... libawt.so => not found libjava.so => not found libjvm.so => not found ... So, again libjvm.so, because this is in different directory. libmawt.so is used by libjawt.so, (and libjawt.so cannot find libmawt.so either). So there's definitely more to investigate/fix here. Nevertheless, my immediate need is to fix that libjvm.so linkage error from libjvm.so. So I would like to go ahead with the patch I submitted earlier. I am investigating the remaining linkage errors and whether there's a better fix than creating symbolic links. Kind regards, Roel Janssen