Skip to content

Default out of tree build for CMakeMake - #616

Closed
wpoely86 wants to merge 4 commits into
easybuilders:developfrom
wpoely86:outoftree
Closed

Default out of tree build for CMakeMake#616
wpoely86 wants to merge 4 commits into
easybuilders:developfrom
wpoely86:outoftree

Conversation

@wpoely86

Copy link
Copy Markdown
Member

Needs testing

@hpcugentbot

Copy link
Copy Markdown

Refer to this link for build results (access rights to CI server needed):
https://jenkins1.ugent.be/job/easybuild-easyblocks-pr-builder/977/
Easyblocks unit test suite PASSed (see https://jenkins1.ugent.be/job/easybuild-easyblocks-pr-builder/977/console for more details).

This pull request is now ready for review/testing.

Please try and find someone who can tackle this; contact @boegel if you're not sure what to do.

@wpoely86

Copy link
Copy Markdown
Member Author

Using CMakeMake block:

  • ANTs-2.1.0rc3-goolf-1.5.14.eb
  • eXpress-1.5.1-goolf-1.4.10.eb
  • getdp-2.5.0-intel-2015a-Python-2.7.9.eb
  • gmsh-2.9.1-intel-2015a.eb
  • GMT-5.1.0-goolf-1.4.10.eb
  • GROMACS-4.6.5-goolf-1.4.10-double.eb
  • GTI-1.2.0-gompi-1.4.12-no-OFED.eb
  • libharu-2.2.0-goolf-1.4.10.eb
  • libharu-2.2.0-ictce-4.1.13.eb
  • libharu-2.2.0-ictce-5.3.0.eb
  • MariaDB-5.5.29-ictce-4.1.13.eb
  • MUST-1.2.0-gompi-1.4.12-no-OFED.eb
  • MySQL-5.6.20-intel-2014b-clientonly.eb
  • OpenBabel-2.3.2-goalf-1.5.12-no-OFED-Python-2.7.5.eb
  • OpenBabel-2.3.2-ictce-4.1.13-Python-2.7.3.eb
  • OpenBabel-2.3.2-ictce-5.5.0-Python-2.7.5.eb
  • OpenBabel-2.3.2-ictce-7.1.2-Python-2.7.8.eb
  • OpenBabel-2.3.2-intel-2014b-Python-2.7.8.eb
  • OpenCV-2.4.9-intel-2014.06.eb
  • OpenCV-2.4.9-intel-2014b.eb
  • OpenMD-2.2-ictce-7.1.2.eb
  • OpenMD-2.2-intel-2014b.eb
  • Paraview-4.0.1-gmpolf-1.4.8.eb
  • Paraview-4.1.0-gmpolf-1.4.8.eb
  • Paraview-4.1.0-goolf-1.5.14.eb
  • PnMPI-1.2.0-gompi-1.4.12-no-OFED.eb
  • Qhull-2012.1-ictce-7.1.2.eb
  • Qhull-2012.1-intel-2014b.eb
  • Qhull-2012.1-intel-2015a.eb
  • SIBELia-3.0.4-goolf-1.4.10.eb
  • SPAdes-3.0.0-goolf-1.4.10.eb
  • SPAdes-3.1.0-goolf-1.4.10.eb
  • VTK-5.10.1-goalf-1.1.0-no-OFED.eb
  • VTK-5.10.1-goolf-1.4.10.eb
  • VTK-5.10.1-ictce-4.0.6.eb
  • VTK-5.10.1-ictce-5.3.0.eb
  • VTK-6.0.0-ictce-4.1.13-Python-2.7.3.eb

@boegel

boegel commented May 28, 2015

Copy link
Copy Markdown
Member

via easyblocks that (indirectly) derive from CMakeMake:

  • armadillo.py
    • Armadillo-2.4.4-goalf-1.1.0-no-OFED-Python-2.7.3.eb
    • Armadillo-2.4.4-goolf-1.4.10-Python-2.7.3.eb
    • Armadillo-2.4.4-ictce-4.0.6-Python-2.7.3.eb
    • Armadillo-2.4.4-ictce-5.3.0-Python-2.7.3.eb
    • Armadillo-4.300.8-ictce-5.5.0-Python-2.7.5.eb
  • bamtools.py
    • BamTools-2.2.3-goalf-1.1.0-no-OFED.eb
    • BamTools-2.2.3-goolf-1.4.10.eb
    • BamTools-2.2.3-ictce-5.3.0.eb
  • cgal.py
    • CGAL-4.0-goalf-1.1.0-no-OFED-Python-2.7.3.eb
    • CGAL-4.0-goolf-1.4.10-Python-2.7.3.eb
    • CGAL-4.0-ictce-4.0.6-Python-2.7.3.eb
    • CGAL-4.0-ictce-5.3.0-Python-2.7.3.eb
  • clang.py
    • Clang-3.2-GCC-4.7.3.eb
    • Clang-3.3-GCC-4.8.1.eb
    • Clang-3.4-GCC-4.8.2.eb
    • Clang-3.4.1-GCC-4.8.2.eb
    • Clang-3.4.2-GCC-4.8.2.eb
    • Clang-3.6.0-GCC-4.9.2.eb
    • Clang-3.6.1-GCC-4.9.2.eb
  • dolfin.py (via cmakepythonpackage.py)
    • DOLFIN-1.0.0-goalf-1.1.0-no-OFED-Python-2.7.3.eb
    • DOLFIN-1.0.0-goolf-1.4.10-Python-2.7.3.eb
    • DOLFIN-1.0.0-ictce-4.0.6-Python-2.7.3.eb
  • gate.py
    • GATE-6.1-ictce-4.0.6.eb
    • GATE-6.2-goalf-1.1.0-no-OFED.eb
    • GATE-6.2-goolf-1.4.10.eb
    • GATE-6.2-ictce-4.0.6.eb
    • GATE-6.2-intel-2015a.eb
  • geant4.py
    • Geant4-10.01.p01-intel-2015a.eb
    • Geant4-9.4.p02-ictce-4.0.6.eb
    • Geant4-9.5.p01-goalf-1.1.0-no-OFED.eb
    • Geant4-9.5.p01-goolf-1.4.10.eb
    • Geant4-9.5.p01-ictce-4.0.6.eb
    • Geant4-9.5.p01-ictce-5.3.0.eb
    • Geant4-9.5.p01-intel-2015a.eb
  • gromacs.py
    • GROMACS-4.6.1-goolf-1.4.10-hybrid.eb
    • GROMACS-4.6.1-goolf-1.4.10-mt.eb
    • GROMACS-4.6.1-goolfc-1.3.12-hybrid.eb
    • GROMACS-4.6.1-goolfc-1.3.12-mt.eb
    • GROMACS-4.6.1-ictce-5.3.0-hybrid.eb
    • GROMACS-4.6.1-ictce-5.3.0-mt.eb
    • GROMACS-4.6.5-CrayGNU-5.2.25-hybrid.eb
    • GROMACS-4.6.5-gmpolf-1.4.8-hybrid.eb
    • GROMACS-4.6.5-gmpolf-1.4.8-mt.eb
    • GROMACS-4.6.5-gmvolf-1.7.12-hybrid.eb
    • GROMACS-4.6.5-gmvolf-1.7.12-mt.eb
    • GROMACS-4.6.5-goalf-1.1.0-no-OFED-hybrid.eb
    • GROMACS-4.6.5-goalf-1.1.0-no-OFED-mt.eb
    • GROMACS-4.6.5-goolf-1.4.10-double.eb
    • GROMACS-4.6.5-goolf-1.4.10-hybrid.eb
    • GROMACS-4.6.5-goolf-1.4.10-mt.eb
    • GROMACS-4.6.5-goolfc-2.6.10-hybrid.eb
    • GROMACS-4.6.5-goolfc-2.6.10-mt.eb
    • GROMACS-4.6.5-ictce-5.5.0-hybrid.eb
    • GROMACS-4.6.5-ictce-5.5.0-mt.eb
    • GROMACS-4.6.7-CrayGNU-5.1.29-mpi.eb
    • GROMACS-4.6.7-CrayGNU-5.2.25-mpi.eb
    • GROMACS-4.6.7-CrayGNU-5.2.40-mpi.eb
    • GROMACS-5.0.2-ictce-7.1.2-mt.eb
    • GROMACS-5.0.4-CrayGNU-5.2.40-hybrid.eb
    • GROMACS-5.0.4-intel-2015a-hybrid.eb
    • GROMACS-5.0.4-intel-2015a-mt.eb
  • cmakemake.py
    • (see list above)
  • netcdf.py
    • netCDF-4.1.3-goalf-1.1.0-no-OFED.eb
    • netCDF-4.1.3-goolf-1.4.10.eb
    • netCDF-4.1.3-ictce-3.2.2.u3.eb
    • netCDF-4.1.3-ictce-4.1.13.eb
    • netCDF-4.1.3-ictce-5.3.0.eb
    • netCDF-4.2-goalf-1.1.0-no-OFED.eb
    • netCDF-4.2-goolf-1.4.10.eb
    • netCDF-4.2-ictce-3.2.2.u3.eb
    • netCDF-4.2-ictce-5.3.0.eb
    • netCDF-4.2.1.1-goolf-1.4.10.eb
    • netCDF-4.2.1.1-goolf-1.5.14.eb
    • netCDF-4.2.1.1-ictce-4.1.13-mt.eb
    • netCDF-4.2.1.1-ictce-4.1.13.eb
    • netCDF-4.2.1.1-ictce-5.3.0.eb
    • netCDF-4.2.1.1-ictce-5.5.0.eb
    • netCDF-4.2.1.1-intel-2014b.eb
    • netCDF-4.2.1.1-iqacml-3.7.3.eb
    • netCDF-4.3.0-ictce-5.5.0.eb
    • netCDF-4.3.2-intel-2014b.eb
    • netCDF-4.3.2-intel-2015a.eb
  • openbabel.py (already sets self.cfg['separate_build_dir'] = True)
    • OpenBabel-2.3.2-goalf-1.5.12-no-OFED-Python-2.7.5.eb
    • OpenBabel-2.3.2-ictce-4.1.13-Python-2.7.3.eb
    • OpenBabel-2.3.2-ictce-5.5.0-Python-2.7.5.eb
    • OpenBabel-2.3.2-ictce-7.1.2-Python-2.7.8.eb
    • OpenBabel-2.3.2-intel-2014b-Python-2.7.8.eb
  • psi.py
    • PSI-4.0b4-ictce-4.1.13-mt.eb
    • PSI-4.0b4-ictce-4.1.13.eb
    • PSI-4.0b4-ictce-5.3.0-mt.eb
    • PSI-4.0b4-ictce-5.3.0.eb
    • PSI-4.0b5-goalf-1.5.12-no-OFED-mt.eb
    • PSI-4.0b5-goalf-1.5.12-no-OFED.eb
    • PSI-4.0b5-ictce-5.3.0-mt.eb
    • PSI-4.0b5-ictce-5.3.0.eb
    • PSI-4.0b5-ictce-5.5.0-mt.eb
    • PSI-4.0b5-ictce-5.5.0.eb
    • PSI-4.0b6-20150228-intel-2015a-mt.eb
  • trilinos.py
    • Trilinos-10.12.2-goalf-1.1.0-no-OFED-Python-2.7.3.eb
    • Trilinos-10.12.2-goolf-1.4.10-Python-2.7.3.eb
    • Trilinos-10.12.2-ictce-4.0.6-Python-2.7.3.eb
    • Trilinos-10.12.2-ictce-5.3.0-Python-2.7.3.eb
  • ufc.py (via cmakepythonpackage.py)
    • UFC-2.0.5-goalf-1.1.0-no-OFED-Python-2.7.3.eb
    • UFC-2.0.5-goolf-1.4.10-Python-2.7.3.eb
    • UFC-2.0.5-ictce-4.0.6-Python-2.7.3.eb
    • UFC-2.0.5-ictce-5.3.0-Python-2.7.3.eb

@wpoely86

Copy link
Copy Markdown
Member Author

For clang.py and psi.py, the setting must be False.

@boegel

boegel commented May 28, 2015

Copy link
Copy Markdown
Member

@wpoely86: please update those easyblocks, maybe in a similar way as is done for OpenBabel (see https://github.com/hpcugent/easybuild-easyblocks/blob/master/easybuild/easyblocks/o/openbabel.py#L40)

@boegel

boegel commented May 28, 2015

Copy link
Copy Markdown
Member

The BamTools and Trilinos easyblocks already organise a true out-of-source build themselves, these need to be updated as well with this change...

Since 4 easyblocks would break with making this change, I'm not sure how keen I am to actually go through with this... Backward compatibility is important to us, and there's not a huge amount of value in flipping the default to True?

Thoughts on the latter, @wpoely86?

change default for separate_build_dir to None, deprecate not having it set to True or False (+ sync with develop)
@hpcugentbot

Copy link
Copy Markdown

Refer to this link for build results (access rights to CI server needed):
https://jenkins1.ugent.be/job/easybuild-easyblocks-pr-builder/979/
Easyblocks unit test suite PASSed (see https://jenkins1.ugent.be/job/easybuild-easyblocks-pr-builder/979/console for more details).

This pull request is now ready for review/testing.

Please try and find someone who can tackle this; contact @boegel if you're not sure what to do.

@boegel boegel added this to the v2.3 milestone Jul 15, 2015
@boegel boegel modified the milestones: v2.5.0, v2.4.0 Nov 6, 2015
@boegel boegel modified the milestones: v2.5.0, v2.6.0 Dec 14, 2015
@boegel

boegel commented Jan 23, 2016

Copy link
Copy Markdown
Member

@wpoely86: update on this?

@Flamefire

Flamefire commented Dec 18, 2019

Copy link
Copy Markdown
Contributor

I rebased this on current develop at https://github.com/Flamefire/easybuild-easyblocks/tree/outoftree

I also started a test build of all ECs using CMakeMake, CMakeNinja, CMakePythonPackage and the ECs with EBs derived from CMakeMake. However I'm excluding tests on intel toolchain because I can't install the old Intel compilers on our machine

Flamefire added a commit to Flamefire/easybuild-easyblocks that referenced this pull request Jan 16, 2020
…Make based EBs

Some explicit settings are taken from easybuilders#616
and enhanced after testing with forced out-of-source build for all ECs using CMake
but excluding ones using the Intel compiler
Other did specify separate_build_dir in the configure step which makes EB show the wrong default value
@Flamefire

Copy link
Copy Markdown
Contributor

I took the liberty to open a new PR for this: #1933. The changes to other EBs are split to #1929

@boegel boegel modified the milestones: 3.x, 4.x Feb 20, 2020
Flamefire added a commit to Flamefire/easybuild-easyblocks that referenced this pull request Feb 28, 2020
…Make based EBs

Some explicit settings are taken from easybuilders#616
and enhanced after testing with forced out-of-source build for all ECs using CMake
but excluding ones using the Intel compiler
Other did specify separate_build_dir in the configure step which makes EB show the wrong default value
Flamefire added a commit to Flamefire/easybuild-easyblocks that referenced this pull request Feb 28, 2020
…Make based EBs

Some explicit settings are taken from easybuilders#616
and enhanced after testing with forced out-of-source build for all ECs using CMake
but excluding ones using the Intel compiler
Other did specify separate_build_dir in the configure step which makes EB show the wrong default value
Flamefire added a commit to Flamefire/easybuild-easyblocks that referenced this pull request Mar 17, 2020
…Make based EBs

Some explicit settings are taken from easybuilders#616
and enhanced after testing with forced out-of-source build for all ECs using CMake
but excluding ones using the Intel compiler
Other did specify separate_build_dir in the configure step which makes EB show the wrong default value
boegel pushed a commit to boegel/easybuild-easyblocks that referenced this pull request Mar 28, 2020
…Make based EBs

Some explicit settings are taken from easybuilders#616
and enhanced after testing with forced out-of-source build for all ECs using CMake
but excluding ones using the Intel compiler
Other did specify separate_build_dir in the configure step which makes EB show the wrong default value
@boegel

boegel commented Jun 3, 2020

Copy link
Copy Markdown
Member

Out of tree builds are now the default since #1933 (EasyBuild v4.2.0), so closing this...

@boegel boegel closed this Jun 3, 2020
@boegel boegel added the change label Jun 3, 2020
@boegel boegel modified the milestones: 4.x, 4.2.0 Jun 3, 2020
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants