DSheirer / sdrtrunk

A cross-platform java application for decoding, monitoring, recording and streaming trunked mobile and related radio protocols using Software Defined Radios (SDR). Website:
GNU General Public License v3.0
1.54k stars 247 forks source link

Compiling failure on QubesOS (Fedora/Debian) #1274

Open kord1e opened 2 years ago

kord1e commented 2 years ago

I tried to compile on Fedora and Debian running as QubesOS VMs but it failed. Console outputs below.

On Debian I installed gradle from repositories as well as JavaFX/openjfx as someone suggested. Compiling still failed.

It's strange that it complains about incompatibility with Gradle 8.0 but it downloads Gradle 7.4.2.

Fedora:

$ ./gradlew clean build
Downloading https://services.gradle.org/distributions/gradle-7.4.2-bin.zip
...........10%...........20%...........30%...........40%...........50%...........60%...........70%...........80%...........90%...........100%

Welcome to Gradle 7.4.2!

Here are the highlights of this release:
 - Aggregated test and JaCoCo reports
 - Marking additional test source directories as tests in IntelliJ
 - Support for Adoptium JDKs in Java toolchains

For more details see https://docs.gradle.org/7.4.2/release-notes.html

Starting a Gradle Daemon (subsequent builds will be faster)

> Configure project :
Building a single runtime image using locally installed JDK

> Task :compileJava FAILED

FAILURE: Build failed with an exception.

* What went wrong:
Execution failed for task ':compileJava'.
> error: invalid source release: 17

* Try:
> Run with --stacktrace option to get the stack trace.
> Run with --info or --debug option to get more log output.
> Run with --scan to get full insights.

* Get more help at https://help.gradle.org

Deprecated Gradle features were used in this build, making it incompatible with Gradle 8.0.

You can use '--warning-mode all' to show the individual deprecation warnings and determine if they come from your own scripts or plugins.

See https://docs.gradle.org/7.4.2/userguide/command_line_interface.html#sec:command_line_warnings

BUILD FAILED in 55s
2 actionable tasks: 1 executed, 1 up-to-date

and java -version:

$ java -version
openjdk version "11.0.15" 2022-04-19
OpenJDK Runtime Environment 18.9 (build 11.0.15+10)
OpenJDK 64-Bit Server VM 18.9 (build 11.0.15+10, mixed mode, sharing)

Debian:

$ ./gradlew clean build
Downloading https://services.gradle.org/distributions/gradle-7.4.2-bin.zip
...........10%...........20%...........30%...........40%...........50%...........60%...........70%...........80%...........90%...........100%

Welcome to Gradle 7.4.2!

Here are the highlights of this release:
 - Aggregated test and JaCoCo reports
 - Marking additional test source directories as tests in IntelliJ
 - Support for Adoptium JDKs in Java toolchains

For more details see https://docs.gradle.org/7.4.2/release-notes.html

Starting a Gradle Daemon (subsequent builds will be faster)

> Configure project :
Building a single runtime image using locally installed JDK

> Task :compileJava
warning: using incubating module(s): jdk.incubator.vector
/home/user/sdrtrunk/src/main/java/io/github/dsheirer/controller/channel/Channel.java:45: error: package javafx.beans does not exist
import javafx.beans.Observable;
                   ^
/home/user/sdrtrunk/src/main/java/io/github/dsheirer/controller/channel/Channel.java:46: error: package javafx.beans.property does not exist

<<<<<<<< many more java warnings here >>>>>>>>>>

Note: Some input files use or override a deprecated API.
Note: Recompile with -Xlint:deprecation for details.
Note: Some input files use unchecked or unsafe operations.
Note: Recompile with -Xlint:unchecked for details.
100 errors
1 warning
only showing the first 100 errors, of 7791 total; use -Xmaxerrs if you would like to see more

> Task :compileJava FAILED

FAILURE: Build failed with an exception.

* What went wrong:
Execution failed for task ':compileJava'.
> Compilation failed; see the compiler error output for details.

* Try:
> Run with --stacktrace option to get the stack trace.
> Run with --info or --debug option to get more log output.
> Run with --scan to get full insights.

* Get more help at https://help.gradle.org

Deprecated Gradle features were used in this build, making it incompatible with Gradle 8.0.

You can use '--warning-mode all' to show the individual deprecation warnings and determine if they come from your own scripts or plugins.

See https://docs.gradle.org/7.4.2/userguide/command_line_interface.html#sec:command_line_warnings

BUILD FAILED in 1m 10s
2 actionable tasks: 1 executed, 1 up-to-date

and java -version:

$ java -version
openjdk version "17.0.3" 2022-04-19
OpenJDK Runtime Environment (build 17.0.3+7-Debian-1deb11u1)
OpenJDK 64-Bit Server VM (build 17.0.3+7-Debian-1deb11u1, mixed mode, sharing)
kord1e commented 2 years ago

This was a JavaFX related problem, not a Gradle problem. I applied the fix from pull request #1182 and compiling was successful. It's strange because I have openjfx packages installed.