-
Notifications
You must be signed in to change notification settings - Fork 49
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
SIGILL error when trying to use packmol in Docker container #54
Comments
Can you provide some instruction on how to run that, to try to reproduce the issue? (the docker link starts asking for a username and password, is that required?) |
As a very bold shot, try removing the |
@lmiq link fixed sorry. if you have docker installed, run the following:
|
recompiling without |
I have seen issues associated with the use of I'll try to run the example and see if I can find any clue about what's going on. You can also try compiling with cmake:
instead of using the |
I'm getting this:
|
you should either be root or add your user to the docker group :) |
Ok, I can reproduce the bug here, but I have no idea what to do with it. If compiling with
which will turn on all possible warning and error flags. Then, if the error appears in the docker, we may be able to identify which instruction is causing the failure. |
thanks for the help, will give that a go. i'm not really sure how to go about fixing it either, but i also don't know how to debug via core dumps - in any case it's good that it's not (necessarily) hardware-dependent and can be consistently reproduced there |
Alternatively, or if possible, give the instructions on how that gets compiled there. I never used a docker before, so I'm lost here. |
sure: essentially, Docker starts with a base image (usually just an OS installation) and then runs shell scripts to install and configure packages. for packmol, our image uses
|
I'm sorry, but I need some more step-by-step instructions. What do I do with those instructions? Are they input files for some docker command? (I really can´t go through the docker manual now to understand what I need here). |
@lmiq Apologies for not explaining in enough detail. Essentially, Docker containers are a type of virtual machine with an 'image' as their base machine. This image is created by a Dockerfile, which contains instructions for what shell commands to run to add software to the image and set it up for use. This is a snippet of the Dockerfile which contains our setup and compilation for Packmol. The equivalent shell script would be: mkdir /opt/other
mkdir /opt/other/gfortran
cd /opt/other/gfortran
wget https://gfortran.meteodat.ch/download/x86_64/releases/gcc-12.2.0.tar.xz
tar -xJf gcc-12.2.0.tar.xz
LD_LIBRARY_PATH="/opt/other/gfortran/gcc-12.2.0/lib64:$LD_LIBRARY_PATH"
export LD_LIBRARY_PATH
# Get packmol
mkdir /opt/other/packmol
cd /opt/other/packmol
wget https://github.com/m3g/packmol/archive/refs/tags/v20.14.2.tar.gz
tar -xzvf v20.14.2.tar.gz
rm v20.14.2.tar.gz
# Build Packmol
cd /opt/other/packmol/packmol-20.14.2
./configure /opt/other/gfortran/gcc-12.2.0/
make |
Sorry me, I didn´t express myself precisely. I know those are commands I could use in a bash shell, in my distribution. My question is about how to build the docker image you built, and in which you see the error. So I take that script with the |
aha, understood. here's the snippet turned into a full Dockerfile which should create a debian-buster Docker image with packmol installed the way we install it. to use it, download the Dockerfile and run |
I have a Docker container which contains Packmol and when I attempt to use it, Packmol boots me out with a SIGILL error.
To reproduce:
I have uploaded the image to https://hub.docker.com/r/alexhroom/packmol-bug
When trying to run an example script in a shell session (e.g. the mixture of water and urea example) the following occurs:
It produces a core dump which I can share if required (although i don't know where to put it)
The text was updated successfully, but these errors were encountered: