delta-io / delta-sharing

An open protocol for secure data sharing
https://delta.io/sharing
Apache License 2.0
770 stars 172 forks source link

Add support for Mac M1 computer #252

Open pangtg opened 1 year ago

pangtg commented 1 year ago

The current release doesn't seem to work on a M1 chip Mac, the reason seems to be that the netty libraries used are very old (4.1.63, released in April 2021) and don't support Mac computers with M1 chip. It will be very helpful that you upgrade the netty libs to 4.1.87, which seems to support both x86_64 and arm 64

linzhou-db commented 1 year ago

@pangtg How do you figured it's 4.1.63? I believe it's covered by this dependency, we can try to bump the version in the next release, if nothing unexpected pops up.

pangtg commented 1 year ago

Hi,

Thanks for getting back to me.

First of all, The release didn't work on my M1 Mac computer with some error mesage complaining that some netty native libs are not working. I then checked the netty libs you have in the release are 4.1.63, which were released on April 1st, 2021, and the release does not have native libs for MAC M1/ARM64 architecture. I then looked at more recently netty releases, at the time I reported this issue, the latest 4.x release is 4.1.87. As I looked more into this release, it looks to me the release does have both AMD64 and ARM64 support. For example, there is a netty-resolver-dns-native-macos-4.1.87.final.jar. With my experience, this kind of jar normally packs both ARM64 and AMD64 support init, and the jar will automatically detect the computer architecture and load the proper native lib it packed with.

Long story short, after I manually remove all netty 4.1.63 jars and slip in the 4.1.87 jars, and update the start up script, delta-sharing does start up normally and works.

However, as my company doesn't have the resource to QA the docker image I created, we use my image on M1 Mac computers but leave our production with what you provided in your release.

It looks to me that you would want to upgrade your libs with newer build in jars/libs, I believe a lot of Mac M1 users have the same issue I had

Again, thank you very much for getting back to me, hope we can see a new release soon that supports both AMD64 and ARM64 architectures