OpenNMS 24 installation in Debian Buster: unmet dependencies

I’ve been trying to install the last version of OpenNMS in the brand new stable Debian Buster, following the Official Install Guide leads to an apt error with the repositories:

W: Conflicting distribution: https://debian.opennms.org stable Release (expected stable but got opennms-24)

That error can be fixed just changing the stable keyword in /etc/apt/sources.list.d/opennms.list repository file with opennms-24.

But after that, I get dependency errors from apt when I’m trying to install OpenNMS (trying to install those packages leads to another dependency package errors).

root@triplecero:~# apt install opennms
Reading package lists… Done
Building dependency tree
Reading state information… Done
Some packages could not be installed. This may mean that you have
requested an impossible situation or if you are using the unstable
distribution that some required packages have not yet been created
or been moved out of Incoming.
The following information may help to resolve the situation:

The following packages have unmet dependencies:
opennms : Depends: opennms-server (= 24.1.2-1) but it is not going to be installed
Depends: opennms-webapp-jetty (= 24.1.2-1) but it is not going to be installed
Recommends: opennms-source (= 24.1.2-1) but it is not going to be installed
E: Unable to correct problems, you have held broken packages.
root@triplecero:~#

Changing the repository from opennms-24 to opennms-23 or opennms-22 leads to another unmet dependency errors with PostgreSQL.

Seems obvious the Debian OpenNMS repository has broken dependency packages. There’s any other alternative to this or just have to wait to be fixed…?

I tried to verify today your issue installing on Debian Buster with the following:

  • Installed a minimal server without Gnome just with OpenSSH server from here
  • Before installing OpenNMS I’ve installed openjdk-11-jdk and gnupg2
  • Followed the installation guide and all went through

To start OpenNMS with systemctl start opennms, I had to set /etc/default/opennms with the following:

cat /etc/default/opennms
JAVA_HOME=/usr/lib/jvm/java-11-openjdk-amd64

Hi Indigo.

I understand you’ve installed successfully OpenNMS in your Linux, in my case I don’t have a /etc/default/opennms because obviously, I’ve been unable to install it.

Both openjdk-11-jdk and gnupg2 are installed in my Debian Buster

I just tried to verify if it is possible to install Horizon 24.1.2 on Debian Buster, which is possible and I was not able to see the unmet dependencies with PostgreSQL. Can you share the following output from the following commands to investigate the problem in your installation:

  • cat /etc/apt/sources.list.d/opennms.list
  • dpkg -l | grep opennms
  • apt show opennms
root@triplecero:~# cat /etc/apt/sources.list.d/opennms.list
deb https://debian.opennms.org opennms-24 main
deb-src https://debian.opennms.org opennms-24 main
root@triplecero:~# dpkg -l | grep opennms
root@triplecero:~# apt show opennms
Package: opennms
Version: 23.0.4-1
Priority: optional
Section: contrib/net
Maintainer: Jeff Gehlbach <jeffg @ opennms .org>
Installed-Size: 9,216 B
Depends: opennms-db (= 23.0.4-1), opennms-server (= 23.0.4-1), opennms-webapp-jetty (= 23.0.4-1)
Recommends: opennms-source (= 23.0.4-1)
Suggests: opennms-doc
Download-Size: 3,024 B
APT-Sources: https:// debian. opennms. org opennms-23/main i386 Packages
Description: Enterprise-grade Open-source Network Management Platform (Full Install)
 OpenNMS is an enterprise-grade network management system written in Java.
 .
 OpenNMS can monitor various network services to determine status and service
 level availability.  Data collection is performed using protocols such as SNMP
 to generate reports and alert on thresholds.  An extensible event management
 and notification system handles both internally and externally generated
 events (such as SNMP traps), and generates notices via email, pager, SMS, etc.
 .
 This package provides the components needed for a reasonable default
 installation of OpenNMS.

root@triplecero:~#

So there are two things which look suspicious to me:

  1. The version number is 23.0.4-1 and it should be 24.1.2-1
  2. in the apt source list file is opennms-24 and should be stable

can you please do the following steps:

  1. change opennms-24 in /etc/apt/sources.list.d/opennms.list to stable
  2. run as root apt-get clean && apt-get autoclean && apt-get update
  3. run apt show opennms and verify you have 24.1.2-1

If it shows 24.1.2, try to install it with apt -y install opennms. If you still get errors, please post this error mesage below.

My bad. I made some changes in the repository name: I changed opennms-24 to opennms-23 and opennms-22 and back to opennms-23, instead of opennms-24, which contains the last version of OpenNMS. I was updating my last post to use opennms-24 when you were replaying, so there’s an inconsistency in the version numbers (in the last post, not in the first one).

As I stated in the first post, I followed the official installation guide, using the stable repository which leads to an apt error.

I’m going to follow your instructions, anyway.

root@triplecero:~# apt-get clean && apt-get autoclean && apt-get update
Reading package lists... Done
Building dependency tree
Reading state information... Done
Hit:1 http:// repo. mysql. org/apt/ debian. stretch InRelease
Get:2 http:// ftp. debian. org/ debian. buster-backports InRelease [44.1 kB]
Hit:3 http:// deb. debian. org/ debian. buster InRelease
Hit:4 http:// deb. debian. org/ debian. security buster/updates InRelease
Hit:5 http:// deb. debian. org/ debian. buster-updates InRelease
Hit:6 http:// linorg. usp. br/ debian. marillat stable InRelease
Ign:7 http:// nightly. odoo .org/12.0/nightly/deb ./ InRelease
Ign:8 https:// debian. opennms. org stable InRelease
Hit:9 http:// nightly.odoo .org/12.0/nightly/deb ./ Release
Get:10 https:// debian. opennms. org stable Release [11.2 kB]
Get:11 https:// debian. opennms. org stable Release.gpg [224 B]
Get:13 https:// debian. opennms. org stable/main Sources [3,696 B]
Get:14 https:// debian. opennms. org stable/main i386 Packages [25.8 kB]
Get:15 https:// debian. opennms. org stable/main i386 Contents (deb) [97.6 kB]
Fetched 183 kB in 10s (18.6 kB/s)
Reading package lists... Done
W: Conflicting distribution: https://  debian. opennms. org stable Release (expected stable but got opennms. 24)
root@triplecero:~# apt show opennms
Package: opennms
Version: 24.1.2-1
Priority: optional
Section: contrib/net
Maintainer: Jeff Gehlbach <jeffg @ opennms. org>
Installed-Size: 9,216 B
Depends: opennms. db (= 24.1.2-1), opennms. server (= 24.1.2-1), opennms. webapp-jetty (= 24.1.2-1)
R  .orgmends: opennms. source (= 24.1.2-1), openjdk-11-jdk-headless | openjdk-11-jdk | oracle-java8-installer | openjdk-8-jdk-headless | openjdk-8-jdk | java8-jdk
Suggests: opennms. doc
Download-Size: 3,072 B
APT-Sources: https://  debian. opennms. org stable/main i386 Packages
Description: Enterprise-grade Open-source Network Management Platform (Full Install)
 OpenNMS is an enterprise-grade network management system written in Java.
 .
 OpenNMS can monitor various network services to determine status and service
 level availability. Data collection is performed using protocols such as SNMP
 to generate repo. ts and alert on thresholds.  An extensible event management
 and notification system handles both internally and externally generated
 events (such as SNMP traps), and generates notices via email, pager, SMS, etc.
 .
 This package provides the components needed for a reasonable default
 installation of OpenNMS.
root@triplecero:~# apt -y install opennms
Reading package lists... Done
Building dependency tree
Reading state information... Done
Some packages could not be installed. This may mean that you have
requested an impossible situation or if you are using the unstable
distribution that some required packages have not yet been created
or been moved out of Incoming.
The following information may help to resolve the situation:

The following packages have unmet dependencies:
 opennms : Depends: opennms. server (= 24.1.2-1) but it is not going to be installed
           Depends: opennms. webapp-jetty (= 24.1.2-1) but it is not going to be installed
           Recomends: opennms. source (= 24.1.2-1) but it is not going to be installed
E: Unable to correct problems, you have held broken packages.

NOTE: I added blank spaces in the URLs because of the 2 URL restriction in this website.

Can you run the command

apt-get -y -o Debug::pkgProblemResolver=yes install opennms

and share the output? It seems there is something installed on your system which breaks the dependencies and we have to figure out what’s installed causing that issue.

triplecero:~# apt-get -y -o Debug::pkgProblemResolver=yes install opennms
Reading package lists... Done
Building dependency tree       
Reading state information... Done
Starting pkgProblemResolver with broken count: 1
Starting 2 pkgProblemResolver with broken count: 1
Investigating (0) opennms-server:i386 < none -> 24.1.2-1 @un uN Ib >
Broken opennms-server:i386 Depends on libopennms-java:i386 < none | 24.1.2-1 @un uH > (= 24.1.2-1)
  Considering libopennms-java:i386 0 as a solution to opennms-server:i386 2
  Holding Back opennms-server:i386 rather than change libopennms-java:i386
Investigating (0) opennms-webapp-jetty:i386 < none -> 24.1.2-1 @un uN Ib >
Broken opennms-webapp-jetty:i386 Depends on opennms-server:i386 < none | 24.1.2-1 @un uH > (= 24.1.2-1)
  Considering opennms-server:i386 2 as a solution to opennms-webapp-jetty:i386 1
  Holding Back opennms-webapp-jetty:i386 rather than change opennms-server:i386
Investigating (0) opennms-source:i386 < none -> 24.1.2-1 @un uN Ib >
Broken opennms-source:i386 Depends on opennms-webapp-jetty:i386 < none | 24.1.2-1 @un uH > (= 24.1.2-1)
  Considering opennms-webapp-jetty:i386 1 as a solution to opennms-source:i386 0
  Holding Back opennms-source:i386 rather than change opennms-webapp-jetty:i386
Investigating (1) opennms:i386 < none -> 24.1.2-1 @un puN Ib >
Broken opennms:i386 Depends on opennms-server:i386 < none | 24.1.2-1 @un uH > (= 24.1.2-1)
  Considering opennms-server:i386 2 as a solution to opennms:i386 9999
    Reinst Failed early because of jicmp:i386
    Reinst Failed because of libopennms-java:i386
Broken opennms:i386 Depends on opennms-webapp-jetty:i386 < none | 24.1.2-1 @un uH > (= 24.1.2-1)
  Considering opennms-webapp-jetty:i386 1 as a solution to opennms:i386 9999
    Reinst Failed because of opennms-server:i386
Done
Some packages could not be installed. This may mean that you have
requested an impossible situation or if you are using the unstable
distribution that some required packages have not yet been created
or been moved out of Incoming.
The following information may help to resolve the situation:

The following packages have unmet dependencies:
 opennms : Depends: opennms-server (= 24.1.2-1) but it is not going to be installed
           Depends: opennms-webapp-jetty (= 24.1.2-1) but it is not going to be installed
           Recommends: opennms-source (= 24.1.2-1) but it is not going to be installed
E: Unable to correct problems, you have held broken packages.
triplecero:~#

Ok, I can see your problem, you try to install on a 32bit system. You need to switch to a 64bit architecture. There are no 32bit packages for JICMP and JICMP6 which are required by OpenNMS.

Actually there should be 32-bit packages, somehow they didn’t make it over to the 24 repo. I’ve fixed it now, if you could try again.

2 Likes

I tried again and now it finally works, but after run apt update I’m still getting the apt error message:

W: Conflicting distribution: https://debian.opennms.org stable Release (expected stable but got opennms-24)

Thanks for the fix!

You can ignore that message, the reason is we have a floating link from stable -> opennms-24. Happy you got it running!

Ok, I get it, but I still rather not to see any error message after apt update running., so if you could remove that error message will be nice.

Yeah, it’s been a long-term TODO to rework the way the distro-generating tools work but I’ve not had a chance to do it.