summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRoel Janssen <roel@gnu.org>2017-10-30 11:19:51 +0100
committerRoel Janssen <roel@gnu.org>2017-10-30 11:19:51 +0100
commit491dc2fb16a5ae1d30d1607322e19922d8dec5c3 (patch)
tree436b355e0d2100e0ec7135ac62c712cd1d3f0efc
parent91496dfc9a4c3a708b5c2604fad3e42e101fea04 (diff)
downloadpatches-491dc2fb16a5ae1d30d1607322e19922d8dec5c3.tar
patches-491dc2fb16a5ae1d30d1607322e19922d8dec5c3.tar.gz
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.
-rw-r--r--gnu/packages/java.scm17
1 files changed, 17 insertions, 0 deletions
diff --git a/gnu/packages/java.scm b/gnu/packages/java.scm
index ff5f1c9ae6..1fcd237d55 100644
--- a/gnu/packages/java.scm
+++ b/gnu/packages/java.scm
@@ -1405,6 +1405,23 @@ 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
+ ;;
+ ;; FIXME: Find the bug in the build system, so that this symlink is
+ ;; not needed.
+ (add-after 'install 'install-libjvm
+ (lambda* (#:key inputs outputs #:allow-other-keys)
+ (let* ((lib-path (string-append (assoc-ref outputs "out")
+ "/lib/amd64")))
+ (symlink (string-append lib-path "/server/libjvm.so")
+ (string-append lib-path "/libjvm.so")))
+ #t))
;; 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