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

Package COOLFluiD for binary distribution / automatic build tool #4

Open
MilheiroSantos opened this issue Dec 11, 2014 · 4 comments
Open
Assignees

Comments

@MilheiroSantos
Copy link
Contributor

The only way right now to run COOLFluiD on a local machine is to download the source and compile it. Could we also distribute a precompiled binary along the source code? That would be primarily targeted to users and not developers. We could take the following approaches:

  1. Static file. Compile and ship a precompiled binary that would "just run" on a X86_64 Linux architecture.
  2. Distro Repository. We could compile the library for a specific distro and add the current dependences. A user just would had to add a repository and from them do a sudo apt-get install coolfuid coolfluid-plugins- . This would allow for simple add and remove of the different plugins.

I would prefer the 2nd option, but we should target no more than two distros (Ubuntu and Fedora). Setting up a weekly build tool will also benefit the project as we can check compilation problems.

@andrealani
Copy link
Owner

Yes, this could be a good idea indeed. Do you volonteer to do that later on? I would first prefer to get more testcases in the regression suite before, though. What about adding a few testcases, in the way I described in the HOWTO, for radiation? But this, AFTER having submitting the two papers, as we were planning! that's the most important thing for me right now ...

@MilheiroSantos MilheiroSantos self-assigned this Dec 11, 2014
@MilheiroSantos
Copy link
Contributor Author

I could implement an automatic build and test program. About the radiation test cases, I added a new ticket for that. And of course, after finishing the papers

@D4N
Copy link
Contributor

D4N commented Jun 16, 2015

First, great idea to make a distribution package. I would volunteer to help for RHEL based systems, since I am running these myself (mostly Fedora, but I have access to CentOS too).

The first thing that has to be done is to test how well COOLFluiD builds with the libraries provided by the distributions themselves. This is a bit problematic, since there is no official rpm package of PETSC, Parmetis and Trilinos.

For PETSC there is a COPR repository: http://copr-fe.cloud.fedoraproject.org/coprs/loveshack/livhpc/ which provides PETSC not only for Fedora but also for CentOS.

For Trilinos there are packages for Opensuse and Mandriva, however since Mandriva has been nonexistent for quite some time, I would suggest to repackage the rpms from opensuse for Fedora.

Last there is Parmetis. There are no packages around, since their license prohibits redistribution unless approved by the authors. I have build a package for personal use, but unless they give the permission, the rpm cannot be distributed via different channels (for instance a COOLFluiD repository).

There are also some things that would have to be patched in COOLFluiD. For instance the cmake MPI detection fails on Fedora 22 with openmpi, since there is no MPI_HOME when using the openmpi rpm package (the cmake script relies on the headers being in a subfolder of MPI_HOME called include, but in Fedora headers usually go into /usr/include or in this case /usr/include/openmpi-x86_64/).

This could be however solved using an extra set of patches used for building the rpm packages that don't have to be a part of the master branch.

I would suggest to use COPR for building packages for Fedora & RHEL, since this has the advantage that one has only to supply a source rpm and COPR builds the packages and creates a repository itself.

How about creating a wiki-page with necessary distribution-specific changes as a first step?

@vijaiaeroastro
Copy link

Could someone build a binary package .deb for ubuntu and its related distributions?

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

4 participants