The public HBase 1.x and 2.x coprocessor API is tied to protobuf 2.5, and Phoenix is using that.
Perusing the HBase docs, it seems that HBase 3 drops protobuf 2.5 support for coprocessors, so we'll need to look into updating to Protobuf 3 at some point, but I don't know if anyone is working on that. IIRC you can specify the protoc executable for the protobuf compiler maven plugin directly, so recompiling protoc 2.5 for arm, and overriding the protoc location for the maven plugin should get you unblocked. Also see https://github.com/apache/hbase/pull/1598/files On Thu, May 20, 2021 at 10:09 AM Martin Tzvetanov Grigorov < mgrigo...@apache.org> wrote: > Hello Phoenix devs, > > I am trying to build Phoenix on Linux ARM64 but it fails with: > > [ERROR] Failed to execute goal > org.xolstice.maven.plugins:protobuf-maven-plugin:0.6.1:compile > (compile-protoc) on project phoenix-core: Unable to resolve artifact: > Missing: > [ERROR] ---------- > [ERROR] 1) com.google.protobuf:protoc:exe:linux-aarch_64:2.5.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=2.5.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=com.google.protobuf > -DartifactId=protoc -Dversion=2.5.0 -Dclassifier=linux-aarch_64 > -Dpackaging=exe -Dfile=/path/to/file -Durl=[url] -DrepositoryId=[id] > [ERROR] > [ERROR] Path to dependency: > [ERROR] 1) org.apache.phoenix:phoenix-core:jar:5.2.0-SNAPSHOT > [ERROR] 2) com.google.protobuf:protoc:exe:linux-aarch_64:2.5.0 > [ERROR] > [ERROR] ---------- > [ERROR] 1 required artifact is missing. > [ERROR] > [ERROR] for artifact: > [ERROR] org.apache.phoenix:phoenix-core:jar:5.2.0-SNAPSHOT > [ERROR] > [ERROR] from the specified remote repositories: > [ERROR] apache release ( > https://repository.apache.org/content/repositories/releases/, > releases=true, snapshots=true), > [ERROR] apache.snapshots (https://repository.apache.org/snapshots, > releases=false, snapshots=true), > [ERROR] central (https://repo.maven.apache.org/maven2, releases=true, > snapshots=false) > > > The problem is that Protobuf 2.5 does not provide binaries for Linux > ARM64. They have been added in 3.x series. > What are the chances to upgrade Protobuf dependency to 3.x ? > > Regards, > Martin > -- *István Tóth* | Staff Software Engineer st...@cloudera.com <https://www.cloudera.com> [image: Cloudera] <https://www.cloudera.com/> [image: Cloudera on Twitter] <https://twitter.com/cloudera> [image: Cloudera on Facebook] <https://www.facebook.com/cloudera> [image: Cloudera on LinkedIn] <https://www.linkedin.com/company/cloudera> <https://www.cloudera.com/> ------------------------------