Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Ubuntu 18.04 JDK install failing because of weird dependency issues #64

Closed
geerlingguy opened this issue May 10, 2018 · 16 comments
Closed

Comments

@geerlingguy
Copy link
Owner

Maybe this is an upstream issue? On a barebones ubuntu1804 install, I can replicate with just running apt-get install -y openjdk-11-jdk

Errors from apt:

Setting up openjdk-11-jre-headless:amd64 (10.0.1+10-3ubuntu1) ...
update-alternatives: using /usr/lib/jvm/java-11-openjdk-amd64/bin/rmid to provide /usr/bin/rmid (rmid) in auto mode
update-alternatives: error: error creating symbolic link '/usr/share/man/man1/rmid.1.gz.dpkg-tmp': No such file or directory
dpkg: error processing package openjdk-11-jre-headless:amd64 (--configure):
 installed openjdk-11-jre-headless:amd64 package post-installation script subprocess returned error exit status 2
dpkg: dependency problems prevent configuration of openjdk-11-jdk-headless:amd64:
 openjdk-11-jdk-headless:amd64 depends on openjdk-11-jre-headless (= 10.0.1+10-3ubuntu1); however:
  Package openjdk-11-jre-headless:amd64 is not configured yet.

dpkg: error processing package openjdk-11-jdk-headless:amd64 (--configure):
 dependency problems - leaving unconfigured
Setting up humanity-icon-theme (0.6.15) ...
Setting up libgtk-3-0:amd64 (3.22.30-1ubuntu1) ...
Setting up libgtk-3-bin (3.22.30-1ubuntu1) ...
dpkg: dependency problems prevent configuration of openjdk-11-jdk:amd64:
 openjdk-11-jdk:amd64 depends on openjdk-11-jdk-headless (= 10.0.1+10-3ubuntu1); however:
  Package openjdk-11-jdk-headless:amd64 is not configured yet.

dpkg: error processing package openjdk-11-jdk:amd64 (--configure):
 dependency problems - leaving unconfigured
dpkg: dependency problems prevent configuration of default-jdk:
 default-jdk depends on openjdk-11-jdk; however:
  Package openjdk-11-jdk:amd64 is not configured yet.

dpkg: error processing package default-jdk (--configure):
 dependency problems - leaving unconfigured
dpkg: dependency problems prevent configuration of default-jre-headless:
 default-jre-headless depends on openjdk-11-jre-headless; however:
  Package openjdk-11-jre-headless:amd64 is not configured yet.

dpkg: error processing package default-jre-headless (--configure):
 dependency problems - leaving unconfigured
dpkg: dependency problems prevent configuration of default-jdk-headless:
 default-jdk-headless depends on default-jre-headless (= 2:1.10-63ubuntu1~02); however:
  Package default-jre-headless is not configured yet.
 default-jdk-headless depends on openjdk-11-jdk-headless; however:
  Package openjdk-11-jdk-headless:amd64 is not configured yet.

dpkg: error processing package default-jdk-headless (--configure):
 dependency problems - leaving unconfigured
dpkg: dependency problems prevent configuration of openjdk-11-jre:amd64:
 openjdk-11-jre:amd64 depends on openjdk-11-jre-headless (= 10.0.1+10-3ubuntu1); however:
  Package openjdk-11-jre-headless:amd64 is not configured yet.

dpkg: error processing package openjdk-11-jre:amd64 (--configure):
 dependency problems - leaving unconfigured
dpkg: dependency problems prevent configuration of ca-certificates-java:
 ca-certificates-java depends on openjdk-11-jre-headless | java8-runtime-headless; however:
  Package openjdk-11-jre-headless:amd64 is not configured yet.
  Package java8-runtime-headless is not installed.
  Package default-jre-headless which provides java8-runtime-headless is not configured yet.
  Package openjdk-11-jre-headless:amd64 which provides java8-runtime-headless is not configured yet.

dpkg: error processing package ca-certificates-java (--configure):
 dependency problems - leaving unconfigured
Setting up ubuntu-mono (16.10+18.04.20180421.1-0ubuntu1) ...
dpkg: dependency problems prevent configuration of default-jre:
 default-jre depends on default-jre-headless (= 2:1.10-63ubuntu1~02); however:
  Package default-jre-headless is not configured yet.
 default-jre depends on openjdk-11-jre; however:
  Package openjdk-11-jre:amd64 is not configured yet.

dpkg: error processing package default-jre (--configure):
 dependency problems - leaving unconfigured
Processing triggers for libc-bin (2.27-0ubuntu3) ...
Processing triggers for systemd (237-3ubuntu8) ...
Processing triggers for libgdk-pixbuf2.0-0:amd64 (2.36.11-2) ...
Errors were encountered while processing:
 openjdk-11-jre-headless:amd64
 openjdk-11-jdk-headless:amd64
 openjdk-11-jdk:amd64
 default-jdk
 default-jre-headless
 default-jdk-headless
 openjdk-11-jre:amd64
 ca-certificates-java
 default-jre
E: Sub-process /usr/bin/dpkg returned an error code (1)
@geerlingguy
Copy link
Owner Author

Strangest part is:

Package java8-runtime-headless is not installed.

I don't see a java8-runtime-headless package or virtual package anywhere...

@geerlingguy
Copy link
Owner Author

And installing default-jdk doesn't work either. Couldn't find an upstream bug report.

@geerlingguy
Copy link
Owner Author

See: https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=863199#23

I had the same issue and solved it using
mkdir -p /usr/share/man/man1
before installing openjdk-8-jre-headless

@bogdan-marian
Copy link

It is happening again in ubuntu 18.04

AndreZiviani added a commit to chaordic/ansible-role-java that referenced this issue Sep 19, 2019
* customize per centos/rhel version and switch v7 to opendk8 - required for elk5

* fix small merge error

* display java version at the end

* ensure idempotency

* newline between blocks

* Test Fedora 27 instead of Fedora 24 and add Debian 9 tests.

* Add Debian-9-specific settings.

* Add some files missing from previous commit.

* Update variable inclusion method to work correctly.

* Fix Galaxy meta/main.yml to parse Debian versions correctly.

* Fix deprecation warnings in Ansible 2.5 for state 'present'.

* refs geerlingguy#55 - remove deprecation warnings

* refs geerlingguy#55 - removed 'static' as requested

* support for Ubuntu 18.04

* Fixed the case sensitive issue for Ubuntu
(Resolves geerlingguy#62)

* Fixes geerlingguy#61: Support Ubuntu 18.04 Bionic.

* Issue geerlingguy#64: Allow failures of test build on Ubuntu 18.04.

* Fixes geerlingguy#64: Test builds failing due to a Debian Stretch and Ubuntu 18.04 bug with man dir missing.

* fix include_vars for Ubuntu

* PR geerlingguy#43 follow-up: Remove redundant RedHat vars file.

* Fix breakage for RedHat distros

Some RedHat instances report `ansible_distribution` as 'RedHat',
not 'Red Hat Enterprise Linux', and not detecting that was causing
the vars to not be included, breaking subsequent tasks.

* Only display the Java version with higher verbosity levels.

* Switch tests to use Molecule.

* Increase debug verbosity for java version.

* Do not use loop on package module with squash_actions

* Remove trailing white space to pass TravisCI check

* Update tests for optimum efficiency.

* Fixes geerlingguy#64: Ensure man directory exists so Docker container installs work.

* Fix lint issues picked up by galaxy-lint-rules.

* It fails without become: yes under role

* [geerlingguyGH-74] optional java version check

* [geerlingguyGH-74] no new line at end of file

* PR geerlingguy#75 follow-up: Drop the unneccessary java_version check.

* Remove debian8 tests as it is now failing and old.

* Remove unused tests.

* Update main.yml

* Update role name.

* Added debian 10  management.

* Added Debian 10 to tests.

* Add Fedora 30 to test suite.
@jdbohrman
Copy link

Same, happening to me as well.

@mrtnzagustin
Copy link

@bogdan-marian, @jdbohrman did you resolve it? happening in docker with debian here.

@dudefellah
Copy link

I was just getting annoyed with this in the Debian buster-slim docker image. I don't think the issue is really specific to this role (despite the fact that I didn't actually look at how this role works). In a Docker container, the manpages path isn't available since it has minimal packages installed:

update-alternatives: using /usr/lib/jvm/java-11-openjdk-amd64/bin/rmid to provide /usr/bin/rmid (rmid) in auto mode
update-alternatives: error: error creating symbolic link '/usr/share/man/man1/rmid.1.gz.dpkg-tmp': No such file or directory

So if you just manually add that path, or install a package that creates that path, you should be able to avoid this problem.

@chopstik
Copy link

@dudefellah your suggestion worked for me - Debian within a Docker container. Just added the following to the Dockerfile before apt-get:
RUN mkdir /usr/share/man/man1/

@geerlingguy
Copy link
Owner Author

@dudefellah / @chopstik — that's exactly the solution I came to in this comment: #64 (comment)

espresso3389 added a commit to espresso3389/pdfium_android that referenced this issue Jul 1, 2020
@Learnfr
Copy link

Learnfr commented Sep 2, 2020

you have to remove the line "Depends: java-runtime" from ./jmx_prometheus_httpserver/src/deb/control/control and then run mvn package to rebuild a new package
I have the same issue because I use openjdk and not oracle jvm

@purvabansal
Copy link

This is strange. What does this directory store and how did the installation work after creating it?

baztian added a commit to baztian/ansible-java that referenced this issue Jan 11, 2021
@Crandel
Copy link

Crandel commented Jan 20, 2021

Just install man

@dvasdekis
Copy link

Just install man

Didn't work for me! Had to RUN mkdir /usr/share/man/man1/

@n-robert
Copy link

n-robert commented Jun 6, 2021

Thanks to @dudefellah, @chopstik!

@msangel
Copy link

msangel commented Jul 17, 2022

For future readers: when using it with include_role task and you got this error still, it may be that globally you have become: no while this role requires yes. Solution: override become just for this task:

---
- hosts: all
  become: no
    tasks:
.....
    - name: Install Java
      vars:
        java_packages:
          - openjdk-8-jdk
      include_role:
        name: geerlingguy.java
        apply:
          become: true   # < --- this one

@guoqiangqi
Copy link

See: https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=863199#23

I had the same issue and solved it using
mkdir -p /usr/share/man/man1
before installing openjdk-8-jre-headless

Met the same issue, the soultion works ,thanks !

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests