fishworks / gofish

Keep your fish fresh! :tropical_fish:
https://gofi.sh
Apache License 2.0
811 stars 64 forks source link

Will this work with Linux/ARM? #156

Closed GwynethLlewelyn closed 4 years ago

GwynethLlewelyn commented 4 years ago

I know — I could look it up in the code... but I just read the documentation, and while there is no doubt that it will work with any popular Linux distro for the x86_64 architecture, I wonder if gofish has any chance to run under Linux for aarch64 (ARM64).

I'm asking this because I have a nice Synology NAS running Synology's own version of Linux/aarch64, which compiles Go applications flawlessly. But I lack the vast amount of software out there — there are a few package managers for Linux/aarch64, most of which are in a state of semi-abandonment or are specifically targeted to the Raspberry Pi. There are so many other ways to have Linux/aarch64 running with, sadly, very little support for them on most popular package managers...

Also, it pays out to be future-proof — as even Apple is planning to launch ARM64-based notebooks later this year, I suppose that cross-architecture support will become a necessity for all kinds of package managers. Fortunately, Go itself works flawlessly across all kinds of hardware; but this is not the case for many tools out there (a typical example: there seems to be no simple way to add a C/C++ compiler to the Synology NAS — unless you compile it from source, which is hard, since Synology does not provide any 'native' compiler for achieving that... the only solution is to cross-compile gcc on, say, the Mac, and move over the binaries — and pray that they will work). I can believe that Darwin/aarch64 users will have a nasty surprise in December or so when they try to update their gofish packages...

bacongobbler commented 4 years ago

Yes. It is possible. We just need to add a compiler target for aarch64 so that it can be used on those systems, but you should be able to compile it from source and use it on aarch64.

bacongobbler commented 4 years ago

ARM/ARM64 builds will be available for the next release thanks to https://github.com/fishworks/gofish/pull/162. Closing!

GwynethLlewelyn commented 4 years ago

Awesome! Just to give a heads up to the gofish team, it does now compile neatly in my Synology NAS! It wasn't straightforward because Synology's version of Linux, known as DiskStation Manager (DSM), does (deliberately) not include any development tools, including make (or any of its variants); actual compilation & installation is a bit trickier than under other platforms, but... it works.

Now I just need to start persuading fish food developers to start supporting the aarch64 architecture; but, as said, this will be the case sooner than later, as Macs based on Apple Silicon start rolling out of the factories...

kingdonb commented 2 years ago

Indeed, I got my hands on an M1 mac and was surprised to find that most gofish formulas don't already support it.

Several PRs inbound, for tools that definitely already do distribute binaries that just aren't listed yet in fish foods 👍