Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Can't link with -ljvm in java 11 #436

Closed
fiducioso-dan opened this issue Jun 8, 2018 · 3 comments
Closed

Can't link with -ljvm in java 11 #436

fiducioso-dan opened this issue Jun 8, 2018 · 3 comments

Comments

@fiducioso-dan
Copy link

fiducioso-dan commented Jun 8, 2018

Now that Ubuntu 18.04 bionic beaver is out OpenJDK 11 is becoming more popular (EDIT I just found out that Ubuntu 18.04 labels the package as 11 but it is really openjdk 10 for now.) This package doesn't compile well.

Dockerfile to reproduce the issue:

FROM ubuntu:18.04

# Install official nodejs package and prereqs to install npm java package
RUN apt-get update
RUN apt-get install --no-install-recommends -y python2.7 lsb-release apt-transport-https curl ca-certificates openjdk-11-jdk-headless build-essential gnupg2
RUN curl -s https://deb.nodesource.com/gpgkey/nodesource.gpg.key | apt-key add -
RUN echo "deb https://deb.nodesource.com/node_8.x $(lsb_release -sc) main" > /etc/apt/sources.list.d/nodesource.list
RUN apt-get update
RUN apt-get install --no-install-recommends -y nodejs

# installing as root causes weirdness so create user and set up local package.json
RUN adduser --disabled-password --gecos "" node
USER node
RUN cd $HOME && npm init -y && npm install java@0.9.1

Relevant output:

> java@0.9.1 install /home/node/node_modules/java
> node-gyp rebuild

make: Entering directory '/home/node/node_modules/java/build'
  CXX(target) Release/obj.target/nodejavabridge_bindings/src/java.o
  CXX(target) Release/obj.target/nodejavabridge_bindings/src/javaObject.o
  CXX(target) Release/obj.target/nodejavabridge_bindings/src/javaScope.o
  CXX(target) Release/obj.target/nodejavabridge_bindings/src/methodCallBaton.o
  CXX(target) Release/obj.target/nodejavabridge_bindings/src/nodeJavaBridge.o
  CXX(target) Release/obj.target/nodejavabridge_bindings/src/utils.o
  SOLINK_MODULE(target) Release/obj.target/nodejavabridge_bindings.node
/usr/bin/x86_64-linux-gnu-ld: cannot find -ljvm
collect2: error: ld returned 1 exit status
make: *** [Release/obj.target/nodejavabridge_bindings.node] Error 1
nodejavabridge_bindings.target.mk:137: recipe for target 'Release/obj.target/nodejavabridge_bindings.node' failed
make: Leaving directory '/home/node/node_modules/java/build'

If you change the java package to openjdk-8-jdk-headless it will install fine.

@joeferner
Copy link
Owner

Can you try again with the newly published v0.10.0

@swsharp
Copy link

swsharp commented Jun 8, 2018

I just encountered this issue using java-1.8.0-openjdk-devel.ppc64le 1:1.8.0.171-7.b10.el7 on RHEL 7.

> java@0.9.1 install {releasePath}/node_modules/java
> node-gyp rebuild

make: Entering directory `{releasePath}/node_modules/java/build'
  CXX(target) Release/obj.target/nodejavabridge_bindings/src/java.o
  CXX(target) Release/obj.target/nodejavabridge_bindings/src/javaObject.o
  CXX(target) Release/obj.target/nodejavabridge_bindings/src/javaScope.o
  CXX(target) Release/obj.target/nodejavabridge_bindings/src/methodCallBaton.o
  CXX(target) Release/obj.target/nodejavabridge_bindings/src/nodeJavaBridge.o
  CXX(target) Release/obj.target/nodejavabridge_bindings/src/utils.o
  SOLINK_MODULE(target) Release/obj.target/nodejavabridge_bindings.node
/bin/ld: cannot find -ljvm
collect2: error: ld returned 1 exit status
make: *** [Release/obj.target/nodejavabridge_bindings.node] Error 1
make: Leaving directory `{releasePath}/node_modules/java/build'

@fiducioso-dan
Copy link
Author

@joeferner Awesome v0.10.0 compiles fine now.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants