gmacario / easy-build

Collection of Dockerfiles for building embedded software distributions
Mozilla Public License 2.0
154 stars 83 forks source link

build-yocto-genivi: Update JVM to 1.8 or greater #241

Closed gmacario closed 7 years ago

gmacario commented 7 years ago

Failure in recipe audiomanagerplugins, task do_configure when building meta-ivi 12.0

...
-- CommonAPI-DBus Version: 3.1.10
-- Searching for common-api generator executable commonapi-generator-linux-x86_64 ...
-- Will execute common-api generator at path /home/build/my-ygb03/build/tmp/sysroots/x86_64-linux/usr/share/capicxx-core-native-3.1.10.2/commonapi-generator-linux-x86_64 with /hom
e/build/my-ygb03/build/tmp/work/core2-64-poky-linux/audiomanagerplugins/7.0-r0/git/PluginCommandInterfaceCAPI/fidl/CommandInterface.fidl
CMake Error at /home/build/my-ygb03/build/tmp/sysroots/qemux86-64/usr/share/cmake/Modules/CommonAPI.cmake:192 (message):
  Failed to generate files from FIDL:Incompatible JVM:

  Version 1.7.0_121 of the JVM is not suitable for this product.  Version:
  1.8 or greater is required.
Call Stack (most recent call first):
  /home/build/my-ygb03/build/tmp/sysroots/qemux86-64/usr/share/cmake/Modules/CommonAPI.cmake:221 (FIND_AND_EXEC_GENERATOR)
  /home/build/my-ygb03/build/tmp/sysroots/qemux86-64/usr/share/cmake/Modules/CommonAPI.cmake:295 (EXECUTE_GENERATOR)
  PluginCommandInterfaceCAPI/CMakeLists.txt:76 (COMMON_API_GENERATE_SOUCRES)

-- Configuring incomplete, errors occurred!
See also "/home/build/my-ygb03/build/tmp/work/core2-64-poky-linux/audiomanagerplugins/7.0-r0/build/CMakeFiles/CMakeOutput.log".
WARNING: exit code 1 from a shell command.
ERROR: Function failed: do_configure (log file is located at /home/build/my-ygb03/build/tmp/work/core2-64-poky-linux/audiomanagerplugins/7.0-r0/temp/log.do_configure.17973)

As of today Docker image gmacario/build-yocto-genivi includes

gmacario@mv-linux-powerhorse:~/work/my-ygb03/meta-ivi/meta-ivi/recipes-extended/common-api⟫ docker exec -ti ygbbuild03 /bin/bash
build@ygbbuild03:~$ java -version
java version "1.7.0_121"
OpenJDK Runtime Environment (IcedTea 2.6.8) (7u121-2.6.8-1ubuntu0.14.04.1)
OpenJDK 64-Bit Server VM (build 24.121-b00, mixed mode)
build@ygbbuild03:~$
gmacario commented 7 years ago

build-yocto-genivi/Dockerfile is currently based on Docker image gocd/gocd-agent:16.1.0

Unfortunately recent gocd/gocd-agent images are based on CentOS, while 16.1.0 was based on Ubuntu 14.04.5 LTS.

I feel risky to rebase gmacario/build-yocto-genivi on latest gocd/gocd-agent.

It is probably easier to rebase gmacario/build-yocto-genivi on Ubuntu 16.04 LTS and install gocd-agent as part of the Dockerfile.

Notice that OpenJDK 8 is available from Ubuntu 14.10 Utopic and higher, but is not supported on Ubuntu 14.04.x: https://bugs.launchpad.net/trusty-backports/+bug/1368094

As a workaround, you can install OpenJDK 8 from a PPA repository.