Closed longquan7 closed 6 years ago
@longquan7 thank you for your suggestion and building on arm64. I will look into a solution for testing this on that platform so we can include this in the official images.
Debian packages support ARM. See https://packages.debian.org/sid/swi-prolog. AFAIK there are no issues, although 32-bit arm regularly requires some fixing as it is not in my standard test platforms and some ARM chips lack 64-bit atomic instructions. In all places this is used there are workarounds, but sometimes I add a new atomic instruction for something and forget this won't work on ARM 32 ...
I run SWI-Prolog for years on a Raspberry II without issues.
@ninjarobot Ok,thanks
It looks like base images now have multi-architecture support. I will need to check how this can work with the official swipl
image.
@JanWielemaker you mentioned you build regularly on arm. We can easily tag the official image as supporting arm64 if you're actively testing images there. As of yet, I've been unable to secure a CI service or the like that can build and test on arm64.
I'm not really actively testing. I have a Raspberry Pi on which I run Prolog and which I sometimes update. Takes a bit long though ... Next, there is notably Debian that tests releases on lots of hardware.
If we enable this, we will have (infrequent) failures, notably due to stricter data alignment restrictions and sometimes due to different support for atomic types (the C compiler complains). If such an infrequent failure is not a very big issue, let us try.
Hold on for the current release. Since atom and clause-gc have been moved to a separate thread some problems that were probably always there now really trigger bugs. Keri and I have spent quite a few hours on this today. Seems we are getting close.
@longquan7 I added support for arm32v7 as of yesterday in the official image after a few tweaks for plugins. arm64 support shouldn't be too far off, just I'll need to procure some place to build and test. Any recommendations? What are you building it on?
Support added in https://github.com/SWI-Prolog/docker-swipl/commit/f8541e1a854320134936a20532a83b8179c02e66 with official image soon.
The official image now supports arm64v8 architecture as of swipl:7.7.17. The image is now available.
I was build this Image on arm64 architecture and successed . If there isn't some other problem , I think we can add it to https://hub.docker.com/u/arm64v8/ . and See https://github.com/docker-library/official-images#architectures-other-than-amd64 and https://github.com/docker-library/official-images#multiple-architectures for more information about multi-architecture official images.