-
Notifications
You must be signed in to change notification settings - Fork 10
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Adding MacOS M1 support. #89
Conversation
4d52097
to
0dce037
Compare
0dce037
to
118e5dd
Compare
Yo Sim! Btw trying it in your fork is the ez way; But I'll click buttons here to assist you as well haha. |
That's sick! Thanks 🎉 |
I'm going to merge it, and its gonna trigger a snapshot publish. |
Could you test it with 2.6.2+2-fd27b0cc-SNAPSHOT? |
Ha, it does not really work on my mac 🤔 scala> System.load("/Users/.../Downloads/test/native/arm64-darwin/libpdaljni.2.6.dylib")
java.lang.UnsatisfiedLinkError: Can't load library: /Users/.../Downloads/test/native/arm64-darwin/libpdaljni.2.6.dylib That's a dylib from the downloaded natives jar. Wondering what's wrong with it. $ file libpdaljni.2.6.dylib
libpdaljni.2.6.dylib: Mach-O 64-bit dynamically linked shared library arm64
$ otool -L libpdaljni.2.6.dylib
libpdaljni.2.6.dylib:
@rpath/libpdaljni.2.6.dylib (compatibility version 0.0.0, current version 0.0.0)
@rpath/libpdalcpp.16.dylib (compatibility version 16.0.0, current version 16.3.0)
/usr/lib/libc++.1.dylib (compatibility version 1.0.0, current version 1600.151.0)
/usr/lib/libSystem.B.dylib (compatibility version 1.0.0, current version 1336.0.0) Which maches my locally built dylib as well 🤔 |
Why would it be referencing itself? |
@metasim the first line is the ID string of the dynamic library, it is expected yea |
Output on my machine, which is macos 14.3.1
|
ha, does it work for you? |
the only diff I see is |
I need to convince macos it's safe first 😆
Edit: use |
Oh man that's it; ha; weird so weird; I guess it's macos version diff |
@pomadchin It's been a number of years since I've done
|
They only have M1 builders for MacOS 14. You must be on 13? |
Nah, I meant more like some new security stuff; wondering why x86 builds are fine and arm is not. About |
Looks like the bound RPATH is to the runner's conda environment?
I'm assuming there's a way to get it to link without using |
yea, so it should be good; most likely you just really don't have a file its trying to find / or its somehwere else. |
Not sure why it worked on x86 (older macos?), but I think I need to figure out how to not have it expect the library to be installed in |
ha really? just install pdal into the conda env; btw I think that's how conda envs work on mac; TBH locally I use PDAL via conda only 🤷 |
ok google for a bit, we need to sign apple binaries; that could be the arm thing, but ideally should be done with x86 binaries as well. |
btw smth is not loading for me locally even with Another thing is that signature is $$ (dev account). ): Hopefully will be able to find some alternative solution that works. |
What version of MacOS are you on? If it's < 14, I think it's because the M1 builder runs on 14, and I need to find a setting to be backward compatible. |
|
Moved signature stuff into #90 |
This adds building
libpdaljni.dylib
for arm64 architectures.I have successfully tested this up to the
publish
workflow:https://github.com/s22s/PDAL-Java/actions/runs/8282743168
...but I need advice on how to test that stage.
Closes #61