Openjdk-infrastructure: Debian 8 Playbook Issues

Created on 26 Nov 2019  路  9Comments  路  Source: AdoptOpenJDK/openjdk-infrastructure

Extension from #890 . Using this issue as a way of documenting the issues I have running the playbook on Debian 8, assuming ..AdoptOpenJDK_Unix_Playbook/roles/Common/tasks/Debian.yml is a copy of ..AdoptOpenJDK_Unix_Playbook/roles/Common/tasks/Ubuntu.yml

bug

All 9 comments

Adding both repositories openjdk-r and ubuntu-toolchair-r/test doesn't work as Ubuntu version "Jessie" doesn't exist.

Fix: add update_cache = false to both apt-add-repository tasks, and add another task under them that executes sec -i 's/jessie/trusty/g' /etc/apt/sources.list.d/ * ( except without the wildcard because Ansible doesn't like those )

Installing openjdk-8-jdk is met with an error message stating:

The following packages have unmet dependencies:
 openjdk-8-jdk-headless : Depends: openjdk-8-jre-headless (= 8u222-b10-1~14.04) but it is not going to be installed
 openjdk-8-jre : Depends: openjdk-8-jre-headless (= 8u222-b10-1~14.04) but it is not going to be installed
                 Depends: libjpeg8 (>= 8c) but it is not installable
                 Depends: libpulse0 (>= 1:0.99.1) but 5.0-13 is to be installed
                 Recommends: fonts-dejavu-extra but it is not going to be installed
E: Unable to correct problems, you have held broken packages.

This will need to be removed from AdoptOpenJDK_Unix_Playbook/roles/Common/vars/Debian.yml and an alternative found.

Nvidia_Cuda_Toolkit isn't installed on Debian 8 (nor Ubuntu18) due to the conditions. Simple addition of or (ansible_distribution == "Debian" and ansible_distribution_major_version == "8") to the end of each conditional.

The local_srcinstall role for Protobuf doesn't execute on Debian. Add or ansible_distribution == "Debian" to the conditionals.

https://developer.download.nvidia.com/compute/cuda/repos/ doesn't have any download for Debian so the addition of the extra conditionals does not help you locate something suitable for downloading on that platform later on in the role.

As per a slack conversation : https://adoptopenjdk.slack.com/archives/C09NW3L2J/p1574868024158700
NVidia_Cuda_Toolkit is not _required_ to build openJ9 and as there's no download of Debian, I'll leave this off the list of items to fix for the Playbook.

Installing openjdk-8-jdk is met with an error message ...

To fix this, I would say putting a role to download AdoptOpenJDK8 either in Common/tasks/Debian.yml or just adding it to the playbooks would be the best solution. I installed this via https://github.com/AdoptOpenJDK/openjdk8-binaries/releases/download/jdk8u232-b09/OpenJDK8U-jdk_x64_linux_hotspot_8u232b09.tar.gz manually to build JDK8-J9

Also found whilst building J9 - the system OpenSSL version is 1.0.1 from the vagrant box, so Debian will need to be added to the list of conditionals in the OpenSSL102 role.
The build scripts will also have to be changed. Change /build-farm/platform-specific-configurations/linux.sh so if grep 'release 6' /etc/redhat-release >/dev/null; then (line 46) will be more general, to allow for Debian

Installing openjdk-8-jdk is met with an error message

Our other Debian systems have openjdk-8-jre-headless by the look of it but that's one of the broken dependencies in your output.

Was this page helpful?
0 / 5 - 0 ratings