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/>
------------------------------

Reply via email to