Bug 9158

Summary: Cannot build openjdk-8 on fido due to missing autotools patch
Product: [Build System, Metadata & Runtime] OE-Core Reporter: Henry Bruce <henry.bruce>
Component: coreAssignee: Ross Burton <ross.burton>
Status: RESOLVED WONTFIX QA Contact:
Severity: normal    
Priority: Medium CC: meta.mr.watcher, meta.watcher, sgw
Version: 1.8.2   
Target Milestone: 1.8.3   
Hardware: x86   
OS: Multiple   
Whiteboard:
OS type for building Yocto: --- Type of Regression: ---
Verified: Documentation change: No (bug/feature does not impact docs)

Description Henry Bruce 2016-02-23 21:48:26 UTC
openjdk-8 requires the "Allow recipe-individual configure scripts" autotools.bbclass patch (see commit id 753f31e) that has been applied to master, but not fido. 

As a result openjdk-8 will build on master but not on fido.

Part of the openjdk-8 work includes a start at removing the x11 dependency to allow truly headless builds (not yet completed). As fido is still supported, it should benefit from this progress.

Steps to reproduce:
- get poky and meta-java from master
- added meta-java path to bblayers.conf
- add the following to local.conf
   CORE_IMAGE_EXTRA_INSTALL += "openjre-8"
   PREFERRED_PROVIDER_virtual/java-initial-native = "cacao-initial-native"
   PREFERRED_PROVIDER_virtual/java-native = "jamvm-native"
   PREFERRED_PROVIDER_virtual/javac-native = "ecj-bootstrap-native"
- bitbake core-image-minimal
- see error below

| DEBUG: Executing python function sysroot_cleansstate
| DEBUG: Python function sysroot_cleansstate finished
| DEBUG: SITE files ['endian-little', 'common-linux', 'common-glibc', 'bit-64', 'x86_64-linux', 'common']
| DEBUG: Executing shell function autotools_preconfigure
| DEBUG: Shell function autotools_preconfigure finished
| DEBUG: Executing python function autotools_copy_aclocals
| DEBUG: Python function autotools_copy_aclocals finished
| DEBUG: Executing shell function do_configure
| ERROR: no configure script found at build/tmp/work/x86_64-linux/openjdk-8-native/72b05-r0/jdk8u-e8bed1496ff2/configure
Comment 1 Ross Burton 2016-03-08 17:07:23 UTC
I'm a bit concerned about the impact of that patch - it's non-trivial.  Would it be possible for meta-java's fido branch to ship its own copy of the autotools class (renamed to avoid conflicts)?  I can produce a patch if you could test it.
Comment 2 Henry Bruce 2016-03-08 21:19:59 UTC
I understand you concern regarding the complexity of the patch. 

meta-java does not have yocto release branches (just master and master-next) so fido specific approach would not work.

iot-devkit and ostro teams forked meta-java to get openjdk-8 building before it became available upstream. I can look at those options as place holder.
Comment 3 Ross Burton 2016-03-08 21:43:25 UTC
Well, easy enough to add a fido branch.  Or, add the new class to master and always use it with a note that it's an interim solution until fido is unsupported.
Comment 4 Henry Bruce 2016-08-22 17:12:47 UTC
Happy to close this as "Will Not Fix" as fido is now in community support.
Also recent changes to meta-java means it now only builds with krogoth.
Comment 5 Henry Bruce 2016-09-30 16:38:31 UTC
Closing as meta-java requires krogoth or later.