The dependency says 'java-runtime-headless>=17'
Yeah, as far as I can see, upstream says 17 only.
Git Clone URL: | https://aur.archlinux.org/unifi.git (read-only, click to copy) |
---|---|
Package Base: | unifi |
Description: | Centralized management system for Ubiquiti UniFi AP |
Upstream URL: | https://unifi-network.ui.com |
Licenses: | custom |
Conflicts: | tomcat-native |
Submitter: | seblu |
Maintainer: | freswa |
Last Packager: | freswa |
Votes: | 68 |
Popularity: | 0.026775 |
First Submitted: | 2017-08-22 01:31 (UTC) |
Last Updated: | 2024-07-16 16:56 (UTC) |
The dependency says 'java-runtime-headless>=17'
Yeah, as far as I can see, upstream says 17 only.
Unifi doesn't support Java 22.
[2024-07-19 14:05:41,555] <launcher> ERROR launcher - Java 22 is not supported!
Please adjust the dependencies.
I am using a fresh install of 8.2.93-1 with mongodb-bin
latest version.
I can only get unifi 8.2.93-1 to work with mongodb36 and mongodb40, anything newer than that and the service will just restart over and over forever unable to open the mongodb database.
The link of mongodb is not working atm. Somebody contact with the mantainer of mongodb aur package
Using systemctl start unifi
on a fresh install results in WARN Unable to load properties from '/usr/lib/unifi/data/system.properties' - /usr/lib/unifi/data/system.properties (No such file or directory)
. The symlink in /usr/lib/unifi/data
exists and it points into a real location in /var/lib/unifi/data
which is owned by the unifi account.
I use an actual override.conf
for the unifi.service
to pin it to jre17
[Service]
ExecStart=
ExecStart=/usr/lib/jvm/java-17-openjdk/bin/java --add-opens java.base/java.time=ALL-UNNAMED -jar /usr/lib/unifi/lib/ace.jar start
ExecStop=
ExecStop=/usr/lib/jvm/java-17-openjdk/bin/java -jar /usr/lib/unifi/lib/ace.jar stop
So proper depends=(jre17-openjdk-headless)
would be possible without touching the default system java version.
As an addition thought... since Arch only officially supports java 17 (as LTS) and 21 as stated in the wiki article and I can't even get the AUR versions of 18 and 19 to build in a clean chroot, should the PKGBUILD be simply restricted to 17 with a dependency java-runtime-headless=17
?
Following up on comments from pnedkov and GaryScottMartin, it looks like Unifi 8.0.7 introduced a restriction on using java 21. Since the core openjdk
packages are at 21 this is more likely to be a issue with new installs (as pnedkov discovered) or if you clear out java versions (as GaryScottMartin discovered).
If run with java 21, unifi
8.0.7 fails to launch and /var/log/unifi/server.log
contains the following:
[2023-12-03 08:59:39,797] <launcher> INFO launcher - Initializing on Linux(6.6.3-arch1-1), jre21(21)
[2023-12-03 08:59:39,797] <launcher> ERROR launcher - Java 21 is not supported!
Fix as pnedkov did by installing an older version of your preferred java package (e.g. 17) and setting it as the default using the archlinux-java
command.
I'm not sure how the PKGBUILD should be altered to reflect this new restriction. I experimented with adding java-runtime-headless<21
to the dependencies with the existing java-runtime-headless>=17
. Unfortunately these are treated separately as dependencies so when installing with pacman
you get two prompts and can end up installing two versions - with an incompatible version becoming the default.
Today I set up a brand new Arch Linux host with unifi and stumbled on the same problem GaryScottMartin has described in the previous post. Then I examined glennr's script (https://get.glennr.nl/unifi/install/unifi-8.0.7.sh) and I noticed that the latest java he is installing is version 17. So, I installed it manually and now unifi starts successfully.
[root@unifi ~]# java --version
openjdk 21 2023-09-19
OpenJDK Runtime Environment (build 21+35)
OpenJDK 64-Bit Server VM (build 21+35, mixed mode, sharing)
[root@unifi ~]#
[root@unifi ~]# pacman -S jre17-openjdk
...
Packages (2) jre17-openjdk-headless-17.0.9.u8-2 jre17-openjdk-17.0.9.u8-2
...
[root@unifi ~]# archlinux-java status
Available Java environments:
java-17-openjdk
java-21-openjdk (default)
[root@unifi ~]#
[root@unifi ~]# archlinux-java set java-17-openjdk
[root@unifi ~]# java --version
openjdk 17.0.9 2023-10-17
OpenJDK Runtime Environment (build 17.0.9+8)
OpenJDK 64-Bit Server VM (build 17.0.9+8, mixed mode)
[root@unifi ~]#
[root@unifi ~]# systemctl start unifi.service
Pinned Comments
freswa commented on 2019-10-30 11:50 (UTC)
We are on Stable with this Package. Please flag out-of-date only if the Version provided with this package does not match the version under "Stable" in this link: https://help.ubnt.com/hc/en-us/articles/360008240754#1