librespot-org / librespot-java

The most up-to-date open source Spotify client

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

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.