Skip to content

add support for --dump-env-script#1624

Merged
boegel merged 11 commits intoeasybuilders:developfrom
boegel:dump_env_script
Mar 9, 2016
Merged

add support for --dump-env-script#1624
boegel merged 11 commits intoeasybuilders:developfrom
boegel:dump_env_script

Conversation

@boegel
Copy link
Copy Markdown
Member

@boegel boegel commented Feb 19, 2016

Example usage:

$ eb --dump-env-script GCC-4.9.2.eb OpenMPI-1.6.4-GCC-4.7.2.eb FFTW-3.3.3-gompi-1.4.10.eb
== temporary log file in case of crash /tmp/eb-yDmmIN/easybuild-ZFlM8G.log
Script to set up build environment for /example/GCC-4.9.2.eb dumped to GCC-4.9.2.env
Script to set up build environment for /example/OpenMPI-1.6.4-GCC-4.7.2.eb dumped to OpenMPI-1.6.4-GCC-4.7.2.env
Script to set up build environment for /example/FFTW-3.3.3-gompi-1.4.10.eb dumped to FFTW-3.3.3-gompi-1.4.10.env
== Temporary log file(s) /tmp/eb-yDmmIN/easybuild-ZFlM8G.log* have been removed.
== Temporary directory /tmp/eb-yDmmIN has been removed.
$ eb --dump-env-script GCC-4.9.2.eb                                                      
== temporary log file in case of crash /tmp/eb-_x72Fd/easybuild-ZvClAa.log
ERROR: One or more scripts already exists, not overwriting them (unless forced): GCC-4.9.2.env

$ eb --dump-env-script GCC-4.9.2.eb --force
== temporary log file in case of crash /tmp/eb-C4mBUJ/easybuild-_tFgst.log
Script to set up build environment for /example/GCC-4.9.2.eb dumped to GCC-4.9.2.env
== Temporary log file(s) /tmp/eb-C4mBUJ/easybuild-_tFgst.log* have been removed.
== Temporary directory /tmp/eb-C4mBUJ has been removed.
$ cat OpenMPI-1.6.4-GCC-4.7.2.env
#!/bin/bash
# script to set up build environment as defined by EasyBuild v2.7.0.dev0 for OpenMPI-1.6.4-GCC-4.7.2.eb
# usage: source OpenMPI-1.6.4-GCC-4.7.2.env

# toolchain & dependency modules
module load GCC/4.7.2
module load hwloc/1.6.2-GCC-4.7.2

# build environment
export CC='gcc'
export CFLAGS='-O2'
export CPPFLAGS=''
export CXX='g++'
export CXXFLAGS='-O2'
export F77='gfortran'
export F90='gfortran'
export F90FLAGS='-O2'
export FC='gfortran'
export FCFLAGS='-O2'
export FFLAGS='-O2'
export FLIBS='-lgfortran'
export LDFLAGS=''
export LIBS='-lm -lpthread'
export OPTFLAGS='-O2'
export PRECFLAGS=''

@boegel boegel added this to the v2.7.0 milestone Feb 19, 2016
@boegel
Copy link
Copy Markdown
Member Author

boegel commented Feb 19, 2016

@molden: is this what you had in mind?

@wpoely86: please review?

@hpcugentbot
Copy link
Copy Markdown

EasyBuild framework unit test suite FAILed.

See https://jenkins1.ugent.be/job/easybuild-framework-pr-builder/2733/console for more details.

Please fix the reported issues by pushing additional commits to the branch corresponding with this pull request; contact @boegel if you're not sure what to do.

@molden
Copy link
Copy Markdown
Contributor

molden commented Feb 19, 2016

So this will only set the environment if I'm not mistaken. What about a 'dump-installation-script'? Will this also be included?

@boegel
Copy link
Copy Markdown
Member Author

boegel commented Feb 19, 2016

@molden: which would do what exactly?

The procedure as spit out by extended dry run is always going to be incomplete, that's why we have easyblocks...

With some effort, you may be able to get it to work for 80% of the installations, but making it perfect... You might as well rewrite everything in bash imho.

@molden
Copy link
Copy Markdown
Contributor

molden commented Feb 19, 2016

@boegel : true, I maybe misunderstood that the extended dry run function would be rewritten in script format.

@boegel
Copy link
Copy Markdown
Member Author

boegel commented Feb 19, 2016

@molden: well, that's doable, but what would you be using that for? You'd still have to go and check the easyblock (potentially) to verify that all actions are actually reflected in the output of extended dry run.

Making that airtight is very hard, I think.

@molden
Copy link
Copy Markdown
Contributor

molden commented Feb 19, 2016

@boegel I see, maybe these issues should be discussed here: #1584

@hpcugentbot
Copy link
Copy Markdown

EasyBuild framework unit test suite PASSed (see https://jenkins1.ugent.be/job/easybuild-framework-pr-builder/2734/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.

raise EasyBuildError("Applying patch %s failed", patch['name'])

def prepare_step(self):
def prepare_step(self, start_dir=True):
Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

doc args

@hpcugentbot
Copy link
Copy Markdown

EasyBuild framework unit test suite PASSed (see https://jenkins1.ugent.be/job/easybuild-framework-pr-builder/2745/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.

@hpcugentbot
Copy link
Copy Markdown

EasyBuild framework unit test suite FAILed.

See https://jenkins1.ugent.be/job/easybuild-framework-pr-builder/2846/console for more details.

Please fix the reported issues by pushing additional commits to the branch corresponding with this pull request; contact @boegel if you're not sure what to do.

@boegel
Copy link
Copy Markdown
Member Author

boegel commented Mar 9, 2016

Jenkins: test this please

@hpcugentbot
Copy link
Copy Markdown

EasyBuild framework unit test suite PASSed (see https://jenkins1.ugent.be/job/easybuild-framework-pr-builder/2849/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.

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.

4 participants