Question

I am trying to install JPype on Ubuntu 13.04. I have Oracle Java 1.7 installed. But when I do so, I get the following error:

src/native/common/include/jpype.h:45:17: fatal error: jni.h: No such file or directory

Unlike a lot of similar questions on stackoverflow, the file isn't present on my system i.e.

locate jni.h

returns nothing. Yes, I have run sudo updatedb before issuing above command.

Was it helpful?

Solution

You have installed a JRE and not a JDK.

To compile JNI native code, you need to install a JDK, which comes with the appropriate jni.h header, as well as the OS specific headers.

When you do that, update your include path to

-I <path_to_jdk>/include -I <path_to_jdk>/include/linux

OTHER TIPS

In fact, this is the correct package to be installed!

$ sudo aptitude install openjdk-7-source
$ sudo updatedb
$ locate jni.h
$ /usr/lib/jvm/java-7-openjdk-amd64/include/jni.h
Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top