Public bug reported:

[Impact] 
Currently ceph 12.2.4-0ubuntu1 FTBFS on Bionic because it can't find the javah 
binary.

The javah binary has been removed from OpenJDK 10 and the java compiler
should be used in its place to build native headers by calling "javac
-h".

[Test Case]
Build ceph 12.2.4-0ubuntu1 in Bionic with a current default-jdk (ie. depends on 
openjdk-11-jdk), it should FTBFS with:

[ 41%] Generating native/com_ceph_fs_CephMount.h
cd /<<PKGBUILDDIR>>/obj-x86_64-linux-gnu/src/java && 
Java_JAVAH_EXECUTABLE-NOTFOUND -classpath 
/<<PKGBUILDDIR>>/obj-x86_64-linux-gnu/src/java/libcephfs.jar -jni -o 
/<<PKGBUILDDIR>>/obj-x86_64-linux-gnu/src/java/native/com_ceph_fs_CephMount.h 
com.ceph.fs.CephMount
/bin/sh: 1: Java_JAVAH_EXECUTABLE-NOTFOUND: not found

When fixed the build is build is expected to succeed.

[Regression Potential] 
No regression is expected as the generated headers are the same.

[Other Info]
 * This SRU should not be backported to any Ubuntu release were the default-jdk 
depends on openjdk-8 (although it is supposed to be supported, I haven't tested 
that).
 * The javac -h option has been available since OpenJDK 8 - see JEP-313 and 
JDK-8182758 [1].
 * Please note that it is not usually possible to simply replace "javah" calls 
with "javac -h": the syntax and expected arguments are different; the "-h 
<output header directory>" argument should be added to the existing javac calls.

[References]
[1] https://bugs.java.com/view_bug.do?bug_id=JDK-8182758

** Affects: ceph (Ubuntu)
     Importance: Undecided
         Status: New

-- 
You received this bug notification because you are a member of Ubuntu
Bugs, which is subscribed to Ubuntu.
https://bugs.launchpad.net/bugs/1766995

Title:
  [SRU] ceph: replace javah usage with a call to javac

To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu/+source/ceph/+bug/1766995/+subscriptions

-- 
ubuntu-bugs mailing list
ubuntu-bugs@lists.ubuntu.com
https://lists.ubuntu.com/mailman/listinfo/ubuntu-bugs

Reply via email to