0

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.

w2lame
  • 2,774
  • 6
  • 35
  • 48

2 Answers2

3

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

Samhain
  • 1,767
  • 1
  • 12
  • 20
2

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
Bruno Agutoli
  • 200
  • 3
  • 8