feat: support for ARM
Is your feature request related to a problem? Please describe. All Docker images are currently built for x86, so it is difficult to run Cactus on ARM-based machines (M1 Macs, e.g.)
Describe the solution you'd like Additional builds for ARM, or a more streamlined way to create them manually.
Describe alternatives you've considered For M1 Macs with Rosetta2 installed, the Cactus packages themselves can be built successfully. However, it does seem to require a workaround which involves installing an intel-based version of git and npm (which Rosetta2 then translates) before going through the normal steps in BUILD.MD.
Unfortunately, due to the precompiled binaries and images that are pulled, the scripts that utilize test ledgers cannot currently run on ARM-based machines. Exploring potential fixes for this- one solution could be just manually creating ARM versions of the images for the sake of running Cactus tests and example applications.
More info: https://lists.hyperledger.org/g/maintainers/message/141
@petermetz any idea if reproducing what Sean and @ryjones did on the solang image would work for our images as well?
The faio2, qaio, baio images are not supported by M1 Macs
@RafaelAPB would it make sense to build the ones you can on ARM?
@petermetz any idea if reproducing what Sean and @ryjones did on the solang image would work for our images as well?
@RafaelAPB Sorry for the slow response. The answer is yes, that is exactly what we want for all of our images so that it's entirely transparent to both Mac ARM users and everyone else.
@RafaelAPB would it make sense to build the ones you can on ARM?
@ryjones @RafaelAPB Yes, it would, but ultimately I'd like all of our images to be supported on all the platforms anyway. It's just a lot of work that needs to be done, but we'll get to it for sure. :-)
@petermetz @ryjones sorry for the late answer. Yes, ultimately it would be better if we supported ARM as well. Some of the test ledgers run fine on both supports though (Substrate/Polkadot test ledger for instance)
Note to self: rent something1 in the cloud and update the build process docs & readme to make sure we properly support M1
@petermetz we already have an M1 mac at MacStadium
@LordKubaya @rhuiser do you have any context on this?
This issue will be considered if the depending package remains, as part of the cleanup initiative: https://github.com/hyperledger-cacti/cacti/issues/4037
@LordKubaya @rhuiser do you have any context on this?
As of now, this is a pending issue, still relevant, but in my opinion, this should be more in line with supporting ARM instead of just supporting the M series Mac.
we have access to arm mac builders here at github now, if needed
@ryjones thank you. Tweaked title. I know @rhuiser has done some work on this, especially on SATP-Hermes. I will bring that context and @LordKubaya 's expertise so we can find a solution for this.