MohamadSaada / LogiGSK

A Linux based software package to control led's on Logitech G910, G810, G610 and G410.
GNU General Public License v3.0
112 stars 18 forks source link

JRE Kubuntu update just broke LogiGSK? #28

Closed JohJohOneThousand closed 6 years ago

JohJohOneThousand commented 6 years ago

Hi team, I'm no expert but it looks like a routine Kubuntu system update included a JRE update and now LogiGSK won't launch. Manual launch attempt:

Starting the LogiGSK service... Cannot find any VM in Java Home /usr/lib/jvm/default-java The LogiGSK service has started.

my apt log

Start-Date: 2018-08-21 17:40:22 Commandline: packagekit role='update-packages' Requested-By: [OBFUSCATED] (1000) Upgrade: libapt-inst2.0:amd64 (1.6.3, 1.6.3ubuntu0.1), apt:amd64 (1.6.3, 1.6.3ubuntu0.1), libapt-pkg5.0:amd64 (1.6.3, 1.6.3ubuntu0.1), openjdk-11-jre-headless:amd64 (10.0.1+10-3ubuntu1, 10.0.2+13-1ubuntu0.18.04.1), openjdk-11-jre:amd64 (10.0.1+10-3ubuntu1, 10.0.2+13-1ubuntu0.18.04.1), wpasupplicant:amd64 (2:2.6-15ubuntu2, 2:2.6-15ubuntu2.1), apt-utils:amd64 (1.6.3, 1.6.3ubuntu0.1) End-Date: 2018-08-21 17:40:30

All the best and thanks for the cool util :)

andrakis commented 6 years ago

I had the same issue on Lubuntu, and it appears that jsvc, which is reporting that first error message, is looking in slightly the wrong directory.

The fix I found was to run this:

sudo ln -s /usr/lib/jvm/default-java/lib /usr/lib/jvm/default-java/lib/amd64

I found the issue by running the jsvc command that the LogiGSK service uses to start, and added the -debug option. I saw the following telltale sign:

Checking library /usr/lib/jvm/default-java/jre/lib/amd64/server/libjvm.so
Checking library /usr/lib/jvm/default-java/lib/amd64/server/libjvm.so
Cannot locate library for VM server (skipping)

The file amd64/server/libjvm.so that it cannot find is actually in /usr/lib/jvm/default-java/lib/server/libjvm.so, and the amd64 directory did not exist.

The directory structure seems to have changed slightly, and simply symlinking amd64 to the lib directory fixes the issue for me.

This may affect other architectures, and I would suggest a similar approach be used (launching jsvc with -debug) to determine what path is being searched for, and symlinking that as above.

JohJohOneThousand commented 6 years ago

Good job. Fixed. Thank you :)

MohamadSaada commented 6 years ago

@andrakis thanks for solving the problem. Great work.