Skip to content

pip install of v1.0.15 fails with OpenJDK on Ubuntu 14 #121

@wettenhj

Description

@wettenhj

This method of distinguishing between OpenJDK and Oracle JDK doesn't seem to work for me: cde259c

$ java -version
java version "1.7.0_151"
OpenJDK Runtime Environment (IcedTea 2.6.11) (7u151-2.6.11-0ubuntu1.14.04.1)
OpenJDK 64-Bit Server VM (build 24.151-b01, mixed mode)

pip install javabridge==1.0.14 works fine for me on Ubuntu 14.04.1, but the latest version (1.0.15) fails to install with fatal error: jni.h: No such file or directory:

Collecting javabridge
  Using cached javabridge-1.0.15.tar.gz
Requirement already satisfied: numpy in ./virtualenvs/mytardis/lib/python2.7/site-packages (from javabridge)
Building wheels for collected packages: javabridge
  Running setup.py bdist_wheel for javabridge ... error
  Complete output from command /home/mytardis/virtualenvs/mytardis/bin/python -u -c "import setuptools, tokenize;__file__='/tmp/pip-build-LGEeSa/javabridge/setup.py';f=getattr(tokenize, 'open', open)(__file__);code=f.read().replace('\r\n', '\n');f.close();exec(compile(code, __file__, 'exec'))" bdist_wheel -d /tmp/tmph0prcBpip-wheel- --python-tag cp27:
  running bdist_wheel
  running build
  running build_py
  creating build
  creating build/lib.linux-x86_64-2.7
  creating build/lib.linux-x86_64-2.7/javabridge
  copying javabridge/noseplugin.py -> build/lib.linux-x86_64-2.7/javabridge
  copying javabridge/locate.py -> build/lib.linux-x86_64-2.7/javabridge
  copying javabridge/__init__.py -> build/lib.linux-x86_64-2.7/javabridge
  copying javabridge/jutil.py -> build/lib.linux-x86_64-2.7/javabridge
  copying javabridge/wrappers.py -> build/lib.linux-x86_64-2.7/javabridge
  copying javabridge/_version.py -> build/lib.linux-x86_64-2.7/javabridge
  creating build/lib.linux-x86_64-2.7/javabridge/tests
  copying javabridge/tests/test_cpython.py -> build/lib.linux-x86_64-2.7/javabridge/tests
  copying javabridge/tests/test_javabridge.py -> build/lib.linux-x86_64-2.7/javabridge/tests
  copying javabridge/tests/__init__.py -> build/lib.linux-x86_64-2.7/javabridge/tests
  copying javabridge/tests/test_wrappers.py -> build/lib.linux-x86_64-2.7/javabridge/tests
  copying javabridge/tests/test_jutil.py -> build/lib.linux-x86_64-2.7/javabridge/tests
  creating build/lib.linux-x86_64-2.7/javabridge/jars
  copying javabridge/jars/rhino-1.7R4.jar -> build/lib.linux-x86_64-2.7/javabridge/jars
  copying javabridge/jars/test.jar -> build/lib.linux-x86_64-2.7/javabridge/jars
  copying javabridge/jars/runnablequeue.jar -> build/lib.linux-x86_64-2.7/javabridge/jars
  copying javabridge/jars/cpython.jar -> build/lib.linux-x86_64-2.7/javabridge/jars
  copying javabridge/jars/libjava2cpython.so -> build/lib.linux-x86_64-2.7/javabridge/jars
  running build_ext
  javac -source 6 -target 6 /tmp/pip-build-LGEeSa/javabridge/java/org/cellprofiler/runnablequeue/RunnableQueue.java
  warning: [options] bootstrap class path not set in conjunction with -source 1.6
  1 warning
  javac -source 6 -target 6 /tmp/pip-build-LGEeSa/javabridge/java/org/cellprofiler/javabridge/test/RealRect.java
  warning: [options] bootstrap class path not set in conjunction with -source 1.6
  1 warning
  javac -source 6 -target 6 /tmp/pip-build-LGEeSa/javabridge/java/org/cellprofiler/javabridge/CPython.java /tmp/pip-build-LGEeSa/javabridge/java/org/cellprofiler/javabridge/CPythonInvocationHandler.java
  warning: [options] bootstrap class path not set in conjunction with -source 1.6
  Note: /tmp/pip-build-LGEeSa/javabridge/java/org/cellprofiler/javabridge/CPythonInvocationHandler.java uses unchecked or unsafe operations.
  Note: Recompile with -Xlint:unchecked for details.
  1 warning
  building 'javabridge._javabridge' extension
  creating build/temp.linux-x86_64-2.7
  x86_64-linux-gnu-gcc -pthread -fno-strict-aliasing -DNDEBUG -g -fwrapv -O2 -Wall -Wstrict-prototypes -fPIC -I/home/mytardis/virtualenvs/mytardis/local/lib/python2.7/site-packages/numpy/core/include -I/usr/lib/jvm/java-7-openjdk-amd64/jre/include -I/usr/lib/jvm/java-7-openjdk-amd64/jre/include/linux -I/usr/include/python2.7 -c _javabridge.c -o build/temp.linux-x86_64-2.7/_javabridge.o
  In file included from /home/mytardis/virtualenvs/mytardis/local/lib/python2.7/site-packages/numpy/core/include/numpy/ndarraytypes.h:1809:0,
                   from /home/mytardis/virtualenvs/mytardis/local/lib/python2.7/site-packages/numpy/core/include/numpy/ndarrayobject.h:18,
                   from /home/mytardis/virtualenvs/mytardis/local/lib/python2.7/site-packages/numpy/core/include/numpy/arrayobject.h:4,
                   from _javabridge.c:435:
  /home/mytardis/virtualenvs/mytardis/local/lib/python2.7/site-packages/numpy/core/include/numpy/npy_1_7_deprecated_api.h:15:2: warning: #warning "Using deprecated NumPy API, disable it by " "#defining NPY_NO_DEPRECATED_API NPY_1_7_API_VERSION" [-Wcpp]
   #warning "Using deprecated NumPy API, disable it by " \
    ^
  _javabridge.c:437:17: fatal error: jni.h: No such file or directory
   #include "jni.h"
                   ^
  compilation terminated.
  error: command 'x86_64-linux-gnu-gcc' failed with exit status 1
  
  ----------------------------------------
  Failed building wheel for javabridge
  Running setup.py clean for javabridge
Failed to build javabridge
Installing collected packages: javabridge
  Running setup.py install for javabridge ... error
    Complete output from command /home/mytardis/virtualenvs/mytardis/bin/python -u -c "import setuptools, tokenize;__file__='/tmp/pip-build-LGEeSa/javabridge/setup.py';f=getattr(tokenize, 'open', open)(__file__);code=f.read().replace('\r\n', '\n');f.close();exec(compile(code, __file__, 'exec'))" install --record /tmp/pip-iddXPx-record/install-record.txt --single-version-externally-managed --compile --install-headers /home/mytardis/virtualenvs/mytardis/include/site/python2.7/javabridge:
    running install
    running build
    running build_py
    creating build
    creating build/lib.linux-x86_64-2.7
    creating build/lib.linux-x86_64-2.7/javabridge
    copying javabridge/noseplugin.py -> build/lib.linux-x86_64-2.7/javabridge
    copying javabridge/locate.py -> build/lib.linux-x86_64-2.7/javabridge
    copying javabridge/__init__.py -> build/lib.linux-x86_64-2.7/javabridge
    copying javabridge/jutil.py -> build/lib.linux-x86_64-2.7/javabridge
    copying javabridge/wrappers.py -> build/lib.linux-x86_64-2.7/javabridge
    copying javabridge/_version.py -> build/lib.linux-x86_64-2.7/javabridge
    creating build/lib.linux-x86_64-2.7/javabridge/tests
    copying javabridge/tests/test_cpython.py -> build/lib.linux-x86_64-2.7/javabridge/tests
    copying javabridge/tests/test_javabridge.py -> build/lib.linux-x86_64-2.7/javabridge/tests
    copying javabridge/tests/__init__.py -> build/lib.linux-x86_64-2.7/javabridge/tests
    copying javabridge/tests/test_wrappers.py -> build/lib.linux-x86_64-2.7/javabridge/tests
    copying javabridge/tests/test_jutil.py -> build/lib.linux-x86_64-2.7/javabridge/tests
    creating build/lib.linux-x86_64-2.7/javabridge/jars
    copying javabridge/jars/rhino-1.7R4.jar -> build/lib.linux-x86_64-2.7/javabridge/jars
    copying javabridge/jars/test.jar -> build/lib.linux-x86_64-2.7/javabridge/jars
    copying javabridge/jars/runnablequeue.jar -> build/lib.linux-x86_64-2.7/javabridge/jars
    copying javabridge/jars/cpython.jar -> build/lib.linux-x86_64-2.7/javabridge/jars
    copying javabridge/jars/libjava2cpython.so -> build/lib.linux-x86_64-2.7/javabridge/jars
    running build_ext
    javac -source 6 -target 6 /tmp/pip-build-LGEeSa/javabridge/java/org/cellprofiler/runnablequeue/RunnableQueue.java
    warning: [options] bootstrap class path not set in conjunction with -source 1.6
    1 warning
    javac -source 6 -target 6 /tmp/pip-build-LGEeSa/javabridge/java/org/cellprofiler/javabridge/test/RealRect.java
    warning: [options] bootstrap class path not set in conjunction with -source 1.6
    1 warning
    javac -source 6 -target 6 /tmp/pip-build-LGEeSa/javabridge/java/org/cellprofiler/javabridge/CPython.java /tmp/pip-build-LGEeSa/javabridge/java/org/cellprofiler/javabridge/CPythonInvocationHandler.java
    warning: [options] bootstrap class path not set in conjunction with -source 1.6
    Note: /tmp/pip-build-LGEeSa/javabridge/java/org/cellprofiler/javabridge/CPythonInvocationHandler.java uses unchecked or unsafe operations.
    Note: Recompile with -Xlint:unchecked for details.
    1 warning
    building 'javabridge._javabridge' extension
    creating build/temp.linux-x86_64-2.7
    x86_64-linux-gnu-gcc -pthread -fno-strict-aliasing -DNDEBUG -g -fwrapv -O2 -Wall -Wstrict-prototypes -fPIC -I/home/mytardis/virtualenvs/mytardis/local/lib/python2.7/site-packages/numpy/core/include -I/usr/lib/jvm/java-7-openjdk-amd64/jre/include -I/usr/lib/jvm/java-7-openjdk-amd64/jre/include/linux -I/usr/include/python2.7 -c _javabridge.c -o build/temp.linux-x86_64-2.7/_javabridge.o
    In file included from /home/mytardis/virtualenvs/mytardis/local/lib/python2.7/site-packages/numpy/core/include/numpy/ndarraytypes.h:1809:0,
                     from /home/mytardis/virtualenvs/mytardis/local/lib/python2.7/site-packages/numpy/core/include/numpy/ndarrayobject.h:18,
                     from /home/mytardis/virtualenvs/mytardis/local/lib/python2.7/site-packages/numpy/core/include/numpy/arrayobject.h:4,
                     from _javabridge.c:435:
    /home/mytardis/virtualenvs/mytardis/local/lib/python2.7/site-packages/numpy/core/include/numpy/npy_1_7_deprecated_api.h:15:2: warning: #warning "Using deprecated NumPy API, disable it by " "#defining NPY_NO_DEPRECATED_API NPY_1_7_API_VERSION" [-Wcpp]
     #warning "Using deprecated NumPy API, disable it by " \
      ^
    _javabridge.c:437:17: fatal error: jni.h: No such file or directory
     #include "jni.h"
                     ^
    compilation terminated.
    error: command 'x86_64-linux-gnu-gcc' failed with exit status 1

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions