Uploaded image for project: 'Apache Arrow'
  1. Apache Arrow
  2. ARROW-16534

[Java] Update gandiva protobuf library version to support M1

    XMLWordPrintableJSON

Details

    • Bug
    • Status: Resolved
    • Major
    • Resolution: Fixed
    • 8.0.0, 9.0.0
    • 9.0.0
    • Java
    • macOS, M1

    Description

      Gandiva needs to generate Protobuf Java sources from the definitions, and this relies on a JAR that has the native Protobuf compiler embedded in it - but the current package doesn't have an ARMv8 build available.  protobuf-java version 3.20.1 does have M1 support.
       
      This means that building from source as documented (https://arrow.apache.org/docs/developers/java/building.html) cannot be done on M1 as the following exception occurs:
       

      {{{{[INFO] BUILD FAILURE
      [INFO] ------------------------------------------------------------------------
      [INFO] Total time: 03:38 min
      [INFO] Finished at: 2022-05-10T16:19:24-04:00
      [INFO] ------------------------------------------------------------------------
      [ERROR] Failed to execute goal org.xolstice.maven.plugins:protobuf-maven-plugin:0.6.1:compile (default) on project arrow-gandiva: Unable to resolve artifact: Missing:
      [ERROR] ----------
      [ERROR] 1) com.google.protobuf:protoc:exe:osx-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=osx-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=osx-aarch_64 -Dpackaging=exe -Dfile=/path/to/file -Durl=[url] -DrepositoryId=[id]
      [ERROR]
      [ERROR] Path to dependency:
      [ERROR] 1) org.apache.arrow.gandiva:arrow-gandiva:jar:9.0.0-SNAPSHOT
      [ERROR] 2) com.google.protobuf:protoc:exe:osx-aarch_64:2.5.0
      [ERROR]
      [ERROR] ----------
      [ERROR] 1 required artifact is missing.
      [ERROR]
      [ERROR] for artifact:
      [ERROR] org.apache.arrow.gandiva:arrow-gandiva:jar:9.0.0-SNAPSHOT
      [ERROR]
      [ERROR] from the specified remote repositories:
      [ERROR] apache.snapshots (https://repository.apache.org/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 <args> -rf :arrow-gandiva}}}}
       
       
       

      Attachments

        Issue Links

          Activity

            People

              ljw1001 Larry White
              ljw1001 Larry White
              Votes:
              0 Vote for this issue
              Watchers:
              3 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved:

                Time Tracking

                  Estimated:
                  Original Estimate - Not Specified
                  Not Specified
                  Remaining:
                  Remaining Estimate - 0h
                  0h
                  Logged:
                  Time Spent - 1.5h
                  1.5h