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

Mavericks Issue? #86

Closed
xjamundx opened this Issue Nov 11, 2013 · 10 comments

Comments

Projects
None yet
9 participants
@xjamundx

xjamundx commented Nov 11, 2013

I'm not a Java expert, but I am having this issue.

~/dev $ npm install java@0.2.7
npm http GET http://npm.paypal.com/java/0.2.7
npm http 200 http://npm.paypal.com/java/0.2.7
npm http GET http://registry.npmjs.org/java/-/java-0.2.7.tgz
npm http 200 http://registry.npmjs.org/java/-/java-0.2.7.tgz

> java@0.2.7 install /Users/jamuferguson/dev/node_modules/java
> node-gyp rebuild

  CXX(target) Release/obj.target/nodejavabridge_bindings/src/java.o
In file included from ../src/java.cpp:2:
../src/java.h:7:10: fatal error: 'jni.h' file not found
#include <jni.h>
         ^
1 error generated.
make: *** [Release/obj.target/nodejavabridge_bindings/src/java.o] Error 1
gyp ERR! build error 
gyp ERR! stack Error: `make` failed with exit code: 2
gyp ERR! stack     at ChildProcess.onExit (/usr/local/lib/node_modules/npm/node_modules/node-gyp/lib/build.js:267:23)
gyp ERR! stack     at ChildProcess.EventEmitter.emit (events.js:98:17)
gyp ERR! stack     at Process.ChildProcess._handle.onexit (child_process.js:789:12)
gyp ERR! System Darwin 13.0.0
gyp ERR! command "node" "/usr/local/lib/node_modules/npm/node_modules/node-gyp/bin/node-gyp.js" "rebuild"
gyp ERR! cwd /Users/jamuferguson/dev/node_modules/java
gyp ERR! node -v v0.10.21
gyp ERR! node-gyp -v v0.10.10
gyp ERR! not ok 
npm ERR! weird error 1
npm ERR! not ok code 0

Here is my version number and stuff

~/dev $ which java
/usr/bin/java
~/dev $ java -version
java version "1.6.0_65"
Java(TM) SE Runtime Environment (build 1.6.0_65-b14-462-11M4609)
Java HotSpot(TM) 64-Bit Server VM (build 20.65-b04-462, mixed mode)
@inolen

This comment has been minimized.

Show comment
Hide comment
@inolen

inolen Nov 12, 2013

Contributor

Seems like perhaps JAVA_HOME may not being discovered properly. I'd try manually setting that, and if that still doesn't work, mucking with binging.gyp line ~130 until you can resolve the issue.

Contributor

inolen commented Nov 12, 2013

Seems like perhaps JAVA_HOME may not being discovered properly. I'd try manually setting that, and if that still doesn't work, mucking with binging.gyp line ~130 until you can resolve the issue.

@kevinrc

This comment has been minimized.

Show comment
Hide comment
@kevinrc

kevinrc Nov 12, 2013

I was having the same issue as Jamund and I've managed to work around it. The solution seems to be setting the JAVA_HOME env variable. I also updated to 1.7.0_45 but I'm not sure that had any effect on finding the solution.

kevinrc commented Nov 12, 2013

I was having the same issue as Jamund and I've managed to work around it. The solution seems to be setting the JAVA_HOME env variable. I also updated to 1.7.0_45 but I'm not sure that had any effect on finding the solution.

@apowers313

This comment has been minimized.

Show comment
Hide comment
@apowers313

apowers313 Nov 12, 2013

I'm on Mavericks with the same version of Java and haven't seen this issue and can't reproduce it by unsetting or changing JAVA_HOME.

apowers313 commented Nov 12, 2013

I'm on Mavericks with the same version of Java and haven't seen this issue and can't reproduce it by unsetting or changing JAVA_HOME.

@xjamundx

This comment has been minimized.

Show comment
Hide comment
@xjamundx

xjamundx Nov 13, 2013

In case anyone else has the problem. I did the following.

  1. Installed newest Java from http://java.com/en/download/mac_download.jsp
  2. export JAVA_HOME=/Library/Java/JavaVirtualMachines/jdk1.7.0_45.jdk/Contents/Home/
  3. npm install java

See: http://stackoverflow.com/questions/9704376/how-to-install-java-native-development-headers-on-os-x-lion for a reference

xjamundx commented Nov 13, 2013

In case anyone else has the problem. I did the following.

  1. Installed newest Java from http://java.com/en/download/mac_download.jsp
  2. export JAVA_HOME=/Library/Java/JavaVirtualMachines/jdk1.7.0_45.jdk/Contents/Home/
  3. npm install java

See: http://stackoverflow.com/questions/9704376/how-to-install-java-native-development-headers-on-os-x-lion for a reference

@xjamundx xjamundx closed this Nov 13, 2013

@kevinrc

This comment has been minimized.

Show comment
Hide comment
@kevinrc

kevinrc Nov 14, 2013

In talking with a few other folks who have Mavericks and did not have this issue, it appears that if you had 1.7.0_45 before upgrading to Mavericks the issue doesn't appear. After Mavericks the JDK installer no longer appears to update the current_jdk link. So, the only way to solve the issue is to set JAVA_HOME or update the link to point to the latest JDK.

kevinrc commented Nov 14, 2013

In talking with a few other folks who have Mavericks and did not have this issue, it appears that if you had 1.7.0_45 before upgrading to Mavericks the issue doesn't appear. After Mavericks the JDK installer no longer appears to update the current_jdk link. So, the only way to solve the issue is to set JAVA_HOME or update the link to point to the latest JDK.

@loretoparisi

This comment has been minimized.

Show comment
Hide comment
@loretoparisi

loretoparisi Dec 6, 2016

@kevinrc I'm having this error on macOS Sierra and idk 1.8, did you experienced it on recent models of MPB and java8?

loretoparisi commented Dec 6, 2016

@kevinrc I'm having this error on macOS Sierra and idk 1.8, did you experienced it on recent models of MPB and java8?

@nselikoff

This comment has been minimized.

Show comment
Hide comment
@nselikoff

nselikoff Jul 26, 2017

I was experiencing a similar issue, although the file that couldn't be found was jni_md.h. Turns out, if you're using jenv (https://github.com/gcuisinier/jenv), because it uses a shim and symlink for JAVA_HOME, node-java will resolve the path to "Users" not "Library" and therefore won't include the extra darwin subdirectory (where jni_md.h is located).

nselikoff commented Jul 26, 2017

I was experiencing a similar issue, although the file that couldn't be found was jni_md.h. Turns out, if you're using jenv (https://github.com/gcuisinier/jenv), because it uses a shim and symlink for JAVA_HOME, node-java will resolve the path to "Users" not "Library" and therefore won't include the extra darwin subdirectory (where jni_md.h is located).

@nicholasren

This comment has been minimized.

Show comment
Hide comment
@nicholasren

nicholasren Sep 19, 2017

I'm using jenvand run into the exactly same problem @nselikoff mentioned above.
My current workaround is copy jni_md.h and jawt_md.h from <JDK_HOME>/Contents/Home/include/darwin to <JDK_HOME>/Contents/Home/include and run npm install java

nicholasren commented Sep 19, 2017

I'm using jenvand run into the exactly same problem @nselikoff mentioned above.
My current workaround is copy jni_md.h and jawt_md.h from <JDK_HOME>/Contents/Home/include/darwin to <JDK_HOME>/Contents/Home/include and run npm install java

@parminder7

This comment has been minimized.

Show comment
Hide comment
@parminder7

parminder7 Jun 13, 2018

@nicholasren I am also using jenv and tried your recommended solution, but I am still getting

../src/java.h:7:10: fatal error: 'jni.h' file not found
#include <jni.h>

error. What do you suggest to do next?

parminder7 commented Jun 13, 2018

@nicholasren I am also using jenv and tried your recommended solution, but I am still getting

../src/java.h:7:10: fatal error: 'jni.h' file not found
#include <jni.h>

error. What do you suggest to do next?

@paulwcy

This comment has been minimized.

Show comment
Hide comment
@paulwcy

paulwcy Jun 19, 2018

I'm using jenv as well...
Setting JAVA_HOME worked for me
export JDK_HOME=$(/usr/libexec/java_home -v 1.8)

paulwcy commented Jun 19, 2018

I'm using jenv as well...
Setting JAVA_HOME worked for me
export JDK_HOME=$(/usr/libexec/java_home -v 1.8)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment