>From a9deda0a7b6162b037ff9ffb08135275c06b340c Mon Sep 17 00:00:00 2001 From: Roel Janssen Date: Tue, 24 Oct 2017 12:20:26 +0200 Subject: [PATCH] gnu: java: Fix libjvm.so linkage problem in icedtea-7. * gnu/packages/java.scm (icedtea-7): Add phase to create a symbolic link to libjvm.so. --- gnu/packages/java.scm | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/gnu/packages/java.scm b/gnu/packages/java.scm index 95fba20e8..81cfdc132 100644 --- a/gnu/packages/java.scm +++ b/gnu/packages/java.scm @@ -1404,6 +1404,18 @@ bootstrapping purposes.") (copy-recursively "openjdk.build/j2re-image" jre) (copy-recursively "openjdk.build/j2sdk-image" jdk)) #t)) + ;; Some of the libraries in the lib/amd64 folder link to libjvm.so. But that + ;; shared object is located in the server/ folder, so it cannot be found. + ;; This phase creates a symbolic link in the lib/amd64 folder so that the + ;; other libraries can find it. + ;; + ;; See https://lists.gnu.org/archive/html/guix-devel/2017-10/msg00169.html + (add-after 'install 'install-libjvm + (lambda* (#:key inputs outputs #:allow-other-keys) + (let* ((lib-path (string-append (assoc-ref outputs "out") "/lib/amd64"))) + (system* "ln" "--symbolic" + (string-append lib-path "/server/libjvm.so") + (string-append lib-path "/libjvm.so"))))) ;; By default IcedTea only generates an empty keystore. In order to ;; be able to use certificates in Java programs we need to generate a ;; keystore from a set of certificates. For convenience we use the -- 2.14.2