Bug 9158 - Cannot build openjdk-8 on fido due to missing autotools patch
Summary: Cannot build openjdk-8 on fido due to missing autotools patch
Status: RESOLVED WONTFIX
Alias: None
Product: OE-Core
Classification: Build System, Metadata & Runtime
Component: core (show other bugs)
Version: 1.8.2
Hardware: x86 Multiple
: Medium normal
Target Milestone: 1.8.3
Assignee: Ross Burton
QA Contact:
URL:
Whiteboard:
Depends on:
Blocks:
 
Reported: 2016-02-23 21:48 UTC by Henry Bruce
Modified: 2016-09-30 16:38 UTC (History)
3 users (show)

See Also:
OS type for building Yocto: ---
Type of Regression: ---
Verified:
Documentation change: No (bug/feature does not impact docs)


Attachments

Note You need to log in before you can comment on or make changes to this bug.
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.