On Fri, Jun 21, 2024 at 6:03 AM David Lomas <d...@pale-eds.co.uk.invalid> wrote:
> Thanks Nick—to test my basic setup, I tried copying that extension from > the 1.5.4 branch (to match the current version of gauc I'm running in > docker), and built it. I had to make 2 changes—not sure if this is > expected, but it required a <version>7.0.0</version> entry in the Guice > dependency (not sure if the latest version is correct), and I also had to > add these lines to the pom: > > <properties> > <maven.compiler.source>11</maven.compiler.source> > <maven.compiler.target>11</maven.compiler.target> > </properties> > > I was then able to compile and install the extension in > guacamole-home/extensions/ before rebuilding and restarting the > container. But during startup, I see this in the logs: > > guacamole_compose | 09:54:10.264 [localhost-startStop-1] ERROR > o.a.g.extension.ExtensionModule - Extension > "guacamole-auth-header-1.5.4.jar" could not be loaded: Authentication > provider class cannot be loaded (wrong version of API?). > > I'm guessing this (and the earlier changes I had to make (including > removing the <parent></parent> entry from the pom) is because I'm trying > to build this in isolation outside the main source tree; is that right? If > so, do I need to just install the whole client to build this extension, or > is it something else? > > It isn't so much that you're trying to build outside of the main code tree, it's more likely that the pom.xml changes you've made - in particular to the Guice version - are likely going to cause you to end up with very different code, and you'll probably need to load, not just the module you've compiled, but the entirety of the WAR file and other extensions, from code compiled with the same dependencies, particularly Guice and the Java target. I'm not sure what issues you were running into that caused you to bump the Guice version up, but the versions we've got in there, now, are very much designed to maintain Java 1.8 (Jara 8) compatibility. Once you go to Guice 7 you then are required to bump Java up to version 11, as you've found out, and both of those changes are going to cause widespread compatibility issues between the "stock" versions that we provide as downloads and anything you compile. -Nick >