tobyweston / temperature-machine

Data logger for multiple DS18B20 temperature sensors on one or more machines
Apache License 2.0
67 stars 22 forks source link

Temperature-machine won't start on Raspbian Buster #91

Closed pcollinson closed 4 years ago

pcollinson commented 4 years ago

Just tried TM on Buster - and it complains about java...

Jul 24 17:01:03 rover systemd[1]: temperature-machine.service: Failed with result 'exit-code'.
Jul 24 17:02:03 rover systemd[1]: temperature-machine.service: Service RestartSec=1min expired, scheduling restart.
Jul 24 17:02:03 rover systemd[1]: temperature-machine.service: Scheduled restart job, restart counter is at 12.
Jul 24 17:02:03 rover systemd[1]: Stopped temperature data logger based on the DS18B20 sensor.
Jul 24 17:02:03 rover systemd[1]: Starting temperature data logger based on the DS18B20 sensor...
Jul 24 17:02:03 rover systemd[1]: Started temperature data logger based on the DS18B20 sensor.
Jul 24 17:02:04 rover temperature-machine[2568]: The java installation you have is not up to date
Jul 24 17:02:04 rover temperature-machine[2568]: requires at least version 1.6+, you have
Jul 24 17:02:04 rover temperature-machine[2568]: version 11.0.3
Jul 24 17:02:04 rover temperature-machine[2568]: Please go to http://www.java.com/getjava/ and download
Jul 24 17:02:04 rover temperature-machine[2568]: a valid Java Runtime and install before running .

Buster seems to have:

$ apt-cache search --names-only jre
default-jre - Standard Java or Java compatible Runtime
default-jre-headless - Standard Java or Java compatible Runtime (headless)
gcj-4.9-jre - Java runtime environment using GIJ/Classpath
gcj-4.9-jre-headless - Java runtime environment using GIJ/Classpath (headless version)
gcj-4.9-jre-lib - Java runtime library for use with gcj (jar files)
gcj-5-jre - Java runtime environment using GIJ/Classpath
gcj-5-jre-headless - Java runtime environment using GIJ/Classpath (headless version)
gcj-5-jre-lib - Java runtime library for use with gcj (jar files)
gcj-6-jre - Java runtime environment using GIJ/Classpath
gcj-6-jre-headless - Java runtime environment using GIJ/Classpath (headless version)
gcj-6-jre-lib - Java runtime library for use with gcj (jar files)
gcj-jre - Java runtime environment using GIJ/Classpath
gcj-jre-headless - Java runtime environment using GIJ/Classpath (headless version)
libjreen-dbg - powerful Jabber/XMPP library (Qt4 build) - debugging symbols
libjreen-dev - powerful Jabber/XMPP library (Qt4 build) - development files
libjreen-qt5-1 - powerful Jabber/XMPP library implemented in Qt5/C++
libjreen-qt5-dbg - powerful Jabber/XMPP library (Qt5 build) - debugging symbols
libjreen-qt5-dev - powerful Jabber/XMPP library (Qt5 build) - development files
libjreen1 - powerful Jabber/XMPP library implemented in Qt4/C++
libjrexx-java - automaton based regular expression API for java
openjdk-10-jre - OpenJDK Java runtime, using Hotspot JIT
openjdk-10-jre-headless - OpenJDK Java runtime, using Hotspot JIT (headless)
openjdk-10-jre-zero - Alternative JVM for OpenJDK, using Zero
openjdk-11-jre - OpenJDK Java runtime, using Hotspot JIT
openjdk-11-jre-headless - OpenJDK Java runtime, using Hotspot JIT (headless)
openjdk-11-jre-zero - Alternative JVM for OpenJDK, using Zero
openjdk-8-jre - OpenJDK Java runtime, using Hotspot JIT
openjdk-8-jre-headless - OpenJDK Java runtime, using Hotspot JIT (headless)
openjdk-8-jre-zero - Alternative JVM for OpenJDK, using Zero/Shark
openjdk-9-jre - OpenJDK Java runtime, using Hotspot JIT
openjdk-9-jre-headless - OpenJDK Java runtime, using Hotspot JIT (headless)
openjdk-9-jre-zero - Alternative JVM for OpenJDK, using Zero

which is all too complicated for me.... suggestions?

tobyweston commented 4 years ago

I did a release today (2.2) which works with Buster (the previous version does also but I made this one depend on a different version of Java).

You should just be able to run the following:

sudo apt-get update --allow-insecure-repositories
sudo apt-get install --only-upgrade temperature-machine

If you already have version 2.2 and somehow you Java version has gone sideways (it seems like you have 6 installed and you need 8), you can try installing Java 8 manually. Something like:

sudo apt-get install openjdk-8-jdk

I've not testing the later.

pcollinson commented 4 years ago

Aa I finished this report, put my machine back to stretch, then it updated itself.. confirm it works on stretch (just in case you get queries). I'll try the buster version tomorrow.

pcollinson commented 4 years ago

OK - it seems that I have Java 11 AND Java 8 installed on the system. Java11 is the default. I ran:

update-java-alternatives --jre --set java-1.8.0-openjdk-armhf
update-java-alternatives --jre-headless --set java-1.8.0-openjdk-armhf

which seemed to do the trick. Is this overkill?

tobyweston commented 4 years ago

Yep I don’t think it’ll work with Java 11.

Not sure what the best command is to switch but you can test which is running with ‘java -version’.

If you’re happy, feel free to close this issue