KonduitAI / konduit-serving

Enterprise runtime for machine learning models
https://serving.konduit.ai/
Apache License 2.0
47 stars 15 forks source link

konduit-serving-grpc build issue on ARM64 #337

Open AlexDBlack opened 4 years ago

AlexDBlack commented 4 years ago

It looks like the vertx protoc-gen-grpc-java plugin does not have native binaries for ARM64/aarch_64.

We can of course skip this module on ARM for now as a workaround until fixed.

Build command:

mvn clean install -DskipTests -Ptest -Pcpu -Ppython -Pnative -Ppmml -Ptensorflow -Dchip=cpu -Djavacpp.platform=linux-arm64

Result:

[INFO] ------------------------------------------------------------------------
[INFO] Reactor Summary for konduit-serving 0.1.0-SNAPSHOT:
[INFO] 
[INFO] konduit-serving .................................... SUCCESS [  1.562 s]
[INFO] konduit-serving-pipeline ........................... SUCCESS [ 28.645 s]
[INFO] konduit-serving-api ................................ SUCCESS [ 48.092 s]
[INFO] konduit-serving-core ............................... SUCCESS [ 52.772 s]
[INFO] konduit-serving-codegen ............................ SUCCESS [ 11.688 s]
[INFO] konduit-serving-orchestration ...................... SUCCESS [ 15.096 s]
[INFO] konduit-serving-pmml ............................... SUCCESS [02:03 min]
[INFO] konduit-serving-tfjava ............................. SUCCESS [ 11.810 s]
[INFO] konduit-serving-native ............................. SUCCESS [  2.083 s]
[INFO] konduit-serving-python ............................. SUCCESS [  2.370 s]
[INFO] konduit-serving-distro-bom ......................... SUCCESS [  0.507 s]
[INFO] konduit-serving-data ............................... SUCCESS [  0.036 s]
[INFO] konduit-serving-nd4j ............................... SUCCESS [  2.021 s]
[INFO] konduit-serving-models ............................. SUCCESS [  0.024 s]
[INFO] konduit-serving-deeplearning4j ..................... SUCCESS [  2.773 s]
[INFO] konduit-serving-image .............................. SUCCESS [ 29.665 s]
[INFO] konduit-serving-io ................................. SUCCESS [  0.024 s]
[INFO] konduit-serving-camera ............................. SUCCESS [  1.993 s]
[INFO] konduit-serving-tensorflow ......................... SUCCESS [01:18 min]
[INFO] konduit-serving-samediff ........................... SUCCESS [  1.695 s]
[INFO] konduit-serving-vertx .............................. SUCCESS [  1.292 s]
[INFO] konduit-serving-vertx-protocols .................... SUCCESS [  0.376 s]
[INFO] konduit-serving-http ............................... SUCCESS [  2.064 s]
[INFO] konduit-serving-grpc ............................... FAILURE [ 39.410 s]
[INFO] konduit-serving-mqtt ............................... SKIPPED
[INFO] konduit-serving-test ............................... SKIPPED
[INFO] ------------------------------------------------------------------------
[INFO] BUILD FAILURE
[INFO] ------------------------------------------------------------------------
[INFO] Total time:  07:43 min
[INFO] Finished at: 2020-05-23T19:50:27+10:00
[INFO] ------------------------------------------------------------------------
[ERROR] Failed to execute goal org.xolstice.maven.plugins:protobuf-maven-plugin:0.6.1:compile-custom (compile) on project konduit-serving-grpc: Unable to resolve artifact: Missing:
[ERROR] ----------
[ERROR] 1) io.vertx:protoc-gen-grpc-java:exe:linux-aarch_64:1.25.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=io.vertx -DartifactId=protoc-gen-grpc-java -Dversion=1.25.0 -Dclassifier=linux-aarch_64 -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=io.vertx -DartifactId=protoc-gen-grpc-java -Dversion=1.25.0 -Dclassifier=linux-aarch_64 -Dpackaging=exe -Dfile=/path/to/file -Durl=[url] -DrepositoryId=[id]
[ERROR] 
[ERROR]   Path to dependency: 
[ERROR]     1) ai.konduit.serving:konduit-serving-grpc:jar:0.1.0-SNAPSHOT
[ERROR]     2) io.vertx:protoc-gen-grpc-java:exe:linux-aarch_64:1.25.0
[ERROR] 
[ERROR] ----------
[ERROR] 1 required artifact is missing.
[ERROR] 
[ERROR] for artifact: 
[ERROR]   ai.konduit.serving:konduit-serving-grpc:jar:0.1.0-SNAPSHOT
[ERROR] 
[ERROR] from the specified remote repositories:
[ERROR]   konduit-packages (https://packages.konduit.ai/repository/maven-public/, releases=true, snapshots=true),
[ERROR]   snapshots-repo (https://oss.sonatype.org/content/repositories/snapshots, releases=false, snapshots=true),
[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 <goals> -rf :konduit-serving-grpc
ShamsUlAzeem commented 4 years ago

Skipping this will fail konduit-serving-cli compilation since it's a dependency. We can add this as a provided dependency and then use grpc client only when it's available in the classpath