JDK-8193636 : FX build fails with jdk-10+36 due to missing javah
  • Type: Bug
  • Component: javafx
  • Sub-Component: build
  • Affected Version: 10
  • Priority: P2
  • Status: Resolved
  • Resolution: Fixed
  • Submitted: 2017-12-15
  • Updated: 2017-12-16
  • Resolved: 2017-12-16
The Version table provides details related to the release that this issue/RFE will be addressed.

Unresolved : Release in which this issue/RFE will be addressed.
Resolved: Release in which this issue/RFE has been resolved.
Fixed : Release in which this issue/RFE has been fixed. The release containing this fix may be available for download as an Early Access Release or a General Availability Release.

To download the current JDK release, click here.
JDK 10
10Fixed
Related Reports
Relates :  
Description
To reproduce:

1. Clone the jdk/jdk10 repo (or jdk/jdk repo and update to the jdk-10+36 tag)

2. Build the JDK (make images)

3. Note that the javah launcher is missing, which is intentional (see JDK-8193503 and JDK-8191054)

* Alternative to steps 1-3: take the latest build of JDK 10 (or even JDK 9) and remove $JAVA_HOME/bin/javah

4. Try to build JavaFX using this JDK:

$ gradle
...
FAILURE: Build failed with an exception.

* Where:
Build file '/localhome/kcr/javafx/openjfx/jfx-kcr/rt/build.gradle' line: 1034

* What went wrong:
A problem occurred evaluating root project 'rt'.
> Missing or incorrect path to 'javah': '/localhome/kcr/jdks/jdk-10/bin/javah'. Perhaps bad JDK_HOME? /localhome/kcr/jdks/jdk-10

Comments
Changeset: 2088dfa7824d Author: kcr Date: 2017-12-15 16:26 -0800 URL: http://hg.openjdk.java.net/openjfx/10-dev/rt/rev/2088dfa7824d 8193636: FX build fails with jdk-10+36 due to missing javah Reviewed-by: prr
16-12-2017

+1 -phil.
15-12-2017

Webrev: http://cr.openjdk.java.net/~kcr/8193636/webrev.00/ Removes the test for the existence of 'javah' as well as the JAVAH property from build.gradle (and removes the mention of it from build.gradle and gradle.properties.template).
15-12-2017

The fix for JDK-8192806 removed the last usage of javah. However, build.gradle is still checking for its existence and failing the build if it was missing. The fix for this issue will be to remove this obsolete check. There is also additional cleanup that would be good to do in buildSrc (there is an obsolete JavaHeaderTask.groovy file and several javah properties set in the per-platform buildSrc/XXXX.gradle files). I will file a follow-up issue for those to minimize the impact / risk of this fix for JDK 10.
15-12-2017