PARQUET-2150: parquet-protobuf to compile on Mac M1#970
PARQUET-2150: parquet-protobuf to compile on Mac M1#970steveloughran wants to merge 1 commit intoapache:masterfrom
Conversation
|
fyi @dongjoon-hyun |
|
Thank you for pinging me, @steveloughran . |
|
I looked up parquet-protobuf and only found Java code. Is there some use of JNI here that I'm not finding? |
|
its the maven protoc compiler plugin; wants to pull in something native. i have no idea why, but do know, if it is not there, you get to see a stack trace. |
|
ok, somehow I've broken the default classifier logic, which is of course critical. downgrading this to a draft until it's ready to be reviewed |
|
tested lasted patch on
i would set up my raspberry pi for a build too -I just fear having to build the thrift compiler |
Force use of x86 executable for all macOS systems, including those with ARM64 architectures, for which native binaries do not exist. This is harmless on 86-64 systems. Uses os-maven-plugin to automatically set os.detected.classifier on all non-mac systems; on macs this the classifier is fixed to x86, even on ARM CPUs. As a result the x86 native protoc binaries are downloaded from maven central -binaries which the maven protoc plugin uses to compile .proto files.
5546e8c to
e3cd7ad
Compare
|
Oops @steveloughran just found out this PR. I opened #973 for the same purpose |
|
@sunchao I see your change is to upgrade the protobuf version. Is that required to solve this problem, which I don't see in this PR. |
|
@shangxinli my approach is different from @steveloughran 's one. Since newer version of protobuf already provides M1 artifacts, upgrade will solve the issue |
|
this patch is based on Dongjoon;s one for hadoop, tells maven to use the x86 artifact on macbook m1 builds. the sunchao one switches to a version of protobuf with a genuine mac m1 artifacts, a version which should also include some CVE fixes. |
|
@steveloughran Thanks for the explanation! Do you have concerns if we use PR-973? It seems we can rely on proto-buf itself to solve the issue. @sunchao please add @steveloughran as co-author for your PR. |
|
oh, upgrading is better! |
|
resolved by #973 |
Force use of x86 protocol executable in builds onl macOS systems,
including those with ARM64 architectures, for which native binaries
do not exist.
Jira
Tests
It can only be validated on an M1 mac. the normal CI test runs will verify the changes do not cause regressions elsewhere.
Note: this patch was based on hadoop's HADOOP-17939 patch apache/hadoop#3486 -this was needed to fix the hadoop build
Commits
Documentation