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

Dockerize GP-GOMEA #6

Merged
merged 8 commits into from Feb 25, 2021
Merged

Conversation

rdebokx
Copy link
Contributor

@rdebokx rdebokx commented Feb 22, 2021

This PR implements support for running GP-GOMEA in a Dockerized setup.
The contents of the Dockerfile are based on m_ubuntu, with some minor tweaks to avoid issues with linking Python and Numpy.

This enables users to run GP-GOMEA on any operating system that Docker can run on. For some operating systems this may have an (yet unspecified) performance impact.

Fixes #2

Copy link
Owner

@marcovirgolin marcovirgolin left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks a lot for providing this!

I just have some doubts about python versions.
It seems to me that in Dockerfile you are instructing to use python 3.6, while Makefile-variables.mk points to python3.7.

Am I missing something?
If not, can you bump everything up to python3.7?

@rdebokx
Copy link
Contributor Author

rdebokx commented Feb 25, 2021

That's a good point.
I had quite some issues with using Python 3.7 in combination with boost, as also documented in #2 and boostorg/boost#462. The members of the boost mailing list advised me to use the Python version that was shipped with the Ubuntu version I was using. for Ubuntu 18.04 that was 3.6 and for Ubuntu 20.10 that's 3.8.

In make LIB_BOOST_PYTHON=-lpython3.6m LIB_BOOST_NUMPY=-lboost_numpy3 I indeed overwrite the variables as they are declared in Makefile-variables.mk. This way you don't need to manually change anything in Makefile-variables.mk in case you want to run GP-GOMEA using Docker.

Your request got me thinking though; with the understanding I gathered by now about boost and linking it to python and numpy, I was able to use Ubuntu 20.10 instead and use Python 3.8; this is indeed more future-proof. I still think it's good to declare these versions in the make command in the Dockerfile; this way a change in Makefile-variables.mk won't break the Docker building process.

Please let me know what you think!

@marcovirgolin
Copy link
Owner

@rdebokx perfect, it makes a lot of sense. Thanks for updating it to Ubuntu 20.04 with python3.8. I really appreciate this, thank you!

@marcovirgolin marcovirgolin merged commit 2035aae into marcovirgolin:master Feb 25, 2021
@rdebokx rdebokx deleted the dockerize-gpgomea branch February 25, 2021 11:03
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

Successfully merging this pull request may close these issues.

Unable to compile GP-GOMEA on dockerized Ubuntu
2 participants