Skip to content
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

Support arm64 architecture #7

Closed
longquan7 opened this issue Sep 13, 2017 · 10 comments
Closed

Support arm64 architecture #7

longquan7 opened this issue Sep 13, 2017 · 10 comments
Assignees

Comments

@longquan7
Copy link

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.

@ninjarobot
Copy link
Contributor

@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.

@ninjarobot ninjarobot self-assigned this Sep 13, 2017
@JanWielemaker
Copy link
Member

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.

@longquan7
Copy link
Author

@ninjarobot Ok,thanks

@ninjarobot
Copy link
Contributor

It looks like base images now have multi-architecture support. I will need to check how this can work with the official swipl image.

@ninjarobot
Copy link
Contributor

@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.

@JanWielemaker
Copy link
Member

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.

@JanWielemaker
Copy link
Member

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.

@ninjarobot
Copy link
Contributor

@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?

@ninjarobot
Copy link
Contributor

Support added in f8541e1 with official image soon.

@ninjarobot
Copy link
Contributor

The official image now supports arm64v8 architecture as of swipl:7.7.17. The image is now available.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants