Details
-
Bug
-
Status: Closed
-
Blocker
-
Resolution: Fixed
-
None
-
None
Description
When I try to build master of Hive from source code on "aarch64" server, I met following error:
[ERROR] Failed to execute goal com.github.os72:protoc-jar-maven-plugin:3.5.1.1:run (default) on project hive-standalone-metastore-common: Error resolving artifact: com.google.protobuf:protoc:2.5.0: Could not find artifact com.google.protobuf:protoc:exe:linux-aarch_64:2.5.0 in central (https://repo.maven.apache.org/maven2)
that is because Hive using the "com.google.protobuf:protoc:2.5.0" as required artifact, which does not have released package for "aarch64" platform.
In order to fix this, I bumped the protobuf used in standalone-metadata to 2.6.1 and added a new profile, this profile will identify
the hardware architecture and if it is Aarch64, it will override the protobuf group.id and package to com.github.os72 which
includes ARM support. For X86 platform, Hive will still download the protobuf packages from org.google repo. With this method,
we can make Hive able to run on Aarch64 and keep the influence to existing x86 users to the minimum.