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
Compilation issues on Alpine Linux #102
Comments
This issue has been mentioned on SWI-Prolog. There might be relevant details there: https://swi-prolog.discourse.group/t/how-to-build-a-docker-image-with-swipl-and-jpl/4255/9 |
Running with: shows: ` File "/home/brebs/apk/swipl/src/swipl-8.3.28/packages/language_server/python/test_prologserver.py", line 650, in test_server_options_and_shutdown First list contains 1 additional elements. ['main:running',
|
Compiling without
|
The hang probably relates to https://swi-prolog.discourse.group/t/difficult-to-reproduce-problems-while-running-tests/4266/20?u=jan. We expect a proper patch for that soon. The others are unclear. |
With swi-prolog 8.3.29, PGO compilation combined with testing runs without hanging, with the 4 test failures as above: 46 - mqi:mqi (Failed) The mqi test error is: |
I'm trying to have a look using Docker. I think this is running Alpine 3.14 (how to verify). Your deps refer to openjdk15, while openjdk11 seems the latest here. The package ossp-uuid-dev lacks as well (and is needed by mqi). Am I missing something? |
I'm investigating the language_server failure above. It is happening on the last line of code below and means that the goal thread for the connection created using Unix Domain sockets did not go away.
I believe there could be a race in this test where the goal thread either hasn't reacted to the abort yet, or I added a couple of comments below that could test this assertion. If you put them into
|
Running it verbose in the Alpine Docker indicates that, because ossp-uuid is lacking, |
To clarify - I run Alpine "Edge" (basically the bleeding-edge), which becomes the next version of Alpine. Kinda like e.g. Debian Unstable. To show the OS version, run: ossp-uuid is only in Edge, in the testing repo (which is not enabled by default), so if you have removed its dependency then that's ideal :-) |
For the openjdk 15, please change it to 11, or basically the latest available. I don't think Alpine's package manager has the concept of the latest version. In Edge I've got openjdk 9 to 16 available, visible with e.g.:
|
Pushed SWI-Prolog/swipl-devel@836862a, which seems to work around the crashes. Before, pushed an update to library(uuid) to provide the UUID services mqi requires in pure Prolog, so it works if ossp-uuid is not around. Now trying the whole build on our Ci environment. It seems to build well, but there is a small issue with the reporting, so the result pages do not update properly. Will look at that tomorrow. |
Enjoy 100% success at https://dev.swi-prolog.org/ci/home. You find the dependencies and config at https://github.com/SWI-Prolog/docker-swipl-linux-ci/tree/master/alpine/3.14 |
This issue has been mentioned on SWI-Prolog. There might be relevant details there: https://swi-prolog.discourse.group/t/how-to-build-a-docker-image-with-swipl-and-jpl/4255/10 |
Below is an APKBUILD file, to package swi-prolog for Alpine Linux (which uses Musl instead of glibc). It has ".txt" appended to its filename, to upload it as a file here.
APKBUILD.txt
With swi-prolog 8.3.27 (and many previous versions), these tests fail:
53 - semweb:con (SEGFAULT)
58 - semweb:rdf_db (SEGFAULT)
59 - semweb:subprop (SEGFAULT)
With swi-prolog 8.3.28, the "26 - swipl:thread (SEGFAULT)" test also fails, and the test phase never finishes.
The text was updated successfully, but these errors were encountered: