Building LibreSpot-Java Fails due to missing dependency information
txoof opened this issue · comments
When building LibreSpot-Java using Maven following these instructions, Maven throws the following warnings:
[WARNING] The POM for xyz.gianlu.librespot:librespot-lib:jar:1.6.3-SNAPSHOT is missing, no dependency information available
[WARNING] The POM for xyz.gianlu.librespot:librespot-sink-api:jar:1.6.3-SNAPSHOT is missing, no dependency information available
[WARNING] The POM for xyz.gianlu.librespot:librespot-sink:jar:1.6.3-SNAPSHOT is missing, no dependency information available
[WARNING] The POM for xyz.gianlu.librespot:librespot-dacp:jar:1.6.3-SNAPSHOT is missing, no dependency information available
Which result in a BUILD FAILURE with the following ERROR:
[ERROR] Failed to execute goal on project librespot-player: Could not resolve dependencies for project xyz.gianlu.librespot:librespot-player:jar:1.6.3-SNAPSHOT: The following artifacts could not be resolved: xyz.gianlu.librespot:librespot-lib:jar:1.6.3-SNAPSHOT, xyz.gianlu.librespot:librespot-sink-api:jar:1.6.3-SNAPSHOT, xyz.gianlu.librespot:librespot-sink:jar:1.6.3-SNAPSHOT, xyz.gianlu.librespot:librespot-dacp:jar:1.6.3-SNAPSHOT: Could not find artifact xyz.gianlu.librespot:librespot-lib:jar:1.6.3-SNAPSHOT -> [Help 1]
org.apache.maven.lifecycle.LifecycleExecutionException: Failed to execute goal on project librespot-player: Could not resolve dependencies for project xyz.gianlu.librespot:librespot-player:jar:1.6.3-SNAPSHOT: The following artifacts could not be resolved: xyz.gianlu.librespot:librespot-lib:jar:1.6.3-SNAPSHOT, xyz.gianlu.librespot:librespot-sink-api:jar:1.6.3-SNAPSHOT, xyz.gianlu.librespot:librespot-sink:jar:1.6.3-SNAPSHOT, xyz.gianlu.librespot:librespot-dacp:jar:1.6.3-SNAPSHOT: Could not find artifact xyz.gianlu.librespot:librespot-lib:jar:1.6.3-SNAPSHOT
Any suggestions as to how to resolve this would be greatly appreciated!
Try doing a mvn install
too.
I've looped back around and tried again. I installed maven (apt install maven
), pulled the latest version of the source on the default branch (dev) and then ran mvn install
in the root of the project directory (in my case ~/src/librespot-java
)
Maven does a whole lot, but eventually errors out with the following output. Can you offer some pointers?
[INFO] ------------------------------------------------------------------------
[INFO] Reactor Summary for librespot-java 1.6.4-SNAPSHOT:
[INFO]
[INFO] librespot-java ..................................... SUCCESS [ 2.927 s]
[INFO] librespot-java sink API ............................ SUCCESS [ 18.533 s]
[INFO] librespot-java default sink ........................ SUCCESS [ 1.571 s]
[INFO] librespot-java decoder API ......................... SUCCESS [ 0.663 s]
[INFO] librespot-java lib ................................. FAILURE [ 8.400 s]
[INFO] librespot-java DACP interface ...................... SKIPPED
[INFO] librespot-java player .............................. SKIPPED
[INFO] librespot-java api ................................. SKIPPED
[INFO] ------------------------------------------------------------------------
[INFO] BUILD FAILURE
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 39.471 s
[INFO] Finished at: 2023-05-27T07:38:51+02:00
[INFO] ------------------------------------------------------------------------
[ERROR] Failed to execute goal org.xolstice.maven.plugins:protobuf-maven-plugin:0.6.1:compile (default) on project librespot-lib: Unable to resolve artifact: Missing:
[ERROR] ----------
[ERROR] 1) com.google.protobuf:protoc:exe:linux-arm_32:3.23.0
[ERROR]
[ERROR] Try downloading the file manually from the project website.
[ERROR]
[ERROR] Then, install it using the command:
[ERROR] mvn install:install-file -DgroupId=com.google.protobuf -DartifactId=protoc -Dversion=3.23.0 -Dclassifier=linux-arm_32 -Dpackaging=exe -Dfile=/path/to/file
[ERROR]
[ERROR] Alternatively, if you host your own repository you can deploy the file there:
[ERROR] mvn deploy:deploy-file -DgroupId=com.google.protobuf -DartifactId=protoc -Dversion=3.23.0 -Dclassifier=linux-arm_32 -Dpackaging=exe -Dfile=/path/to/file -Durl=[url] -DrepositoryId=[id]
[ERROR]
[ERROR] Path to dependency:
[ERROR] 1) xyz.gianlu.librespot:librespot-lib:jar:1.6.4-SNAPSHOT
[ERROR] 2) com.google.protobuf:protoc:exe:linux-arm_32:3.23.0
[ERROR]
[ERROR] ----------
[ERROR] 1 required artifact is missing.
[ERROR]
[ERROR] for artifact:
[ERROR] xyz.gianlu.librespot:librespot-lib:jar:1.6.4-SNAPSHOT
[ERROR]
[ERROR] from the specified remote repositories:
[ERROR] central (https://repo.maven.apache.org/maven2, releases=true, snapshots=false)
[ERROR]
[ERROR] -> [Help 1]
[ERROR]
[ERROR] To see the full stack trace of the errors, re-run Maven with the -e switch.
[ERROR] Re-run Maven using the -X switch to enable full debug logging.
[ERROR]
[ERROR] For more information about the errors and possible solutions, please read the following articles:
[ERROR] [Help 1] http://cwiki.apache.org/confluence/display/MAVEN/MojoExecutionException
[ERROR]
[ERROR] After correcting the problems, you can resume the build with the command
[ERROR] mvn <args> -rf :librespot-lib
It seems protoc
is not available precompiled on Linux ARM. You need to compile protoc
yourself (or find a precompiled binary) and point to it with protocExecutable
.
Thanks for the advice.
I think I'll just stick with the precompiled binary for this project.