Skip to content

{bio}[foss/2016a] RepastHPC 2.2.0#4395

Merged
boegel merged 3 commits intoeasybuilders:developfrom
ComputeCanada:repasthpcd
Mar 29, 2017
Merged

{bio}[foss/2016a] RepastHPC 2.2.0#4395
boegel merged 3 commits intoeasybuilders:developfrom
ComputeCanada:repasthpcd

Conversation

@mboisson
Copy link
Copy Markdown
Contributor

Added a recipe for the RepastHPC package.

Copy link
Copy Markdown
Member

@boegel boegel left a comment

Choose a reason for hiding this comment

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

minor style remarks


homepage = 'https://repast.github.io/'
description = """The Repast Suite is a family of advanced, free, and open source agent-based modeling and simulation platforms that have collectively been under continuous development for over 15 years:
Repast for High Performance Computing 2.2.0, released on 30 September 2016, is a lean and expert-focused C++-based modeling system that is designed for use on large computing clusters and supercomputers."""
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.

@mboisson Lines are too line, please wrap to lines with <= 120 chars.

source_urls = ['https://github.com/Repast/repast.hpc/releases/download/v%s' % version]

dependencies = [
('netCDF-C++','4.2'),
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.

style nitpicking: space after ,

toolchainopts = {'usempi': True}

sources = ["repast_hpc-%s.tgz" % version]
source_urls = ['https://github.com/Repast/repast.hpc/releases/download/v%s' % version]
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.

please use %(version)s:

sources = ["repast_hpc-%(version)s.tgz"]
source_urls = ['https://github.com/Repast/repast.hpc/releases/download/v%(version)s']

configopts = '--with-boost=$EBROOTBOOST --with-netcdf=$EBROOTNETCDFMINCPLUSPLUS'

sanity_check_paths = {
'files': ['lib/librepast_hpc-%s.so' % version, 'lib/librelogo-%s.so' % version],
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.

please use %(version)s, and avoid hardcoding .so, use SHLIB_EXT constant:

'files': ['lib/librepast_hpc-%%(version)s.%s' % SHLIB_EXT, 'lib/librelogo-%%(version)s.%s' % SHLIB_EXT],


sanity_check_paths = {
'files': ['lib/librepast_hpc-%s.so' % version, 'lib/librelogo-%s.so' % version],
'dirs': ['include','lib','bin/zombie', 'bin/rumor'],
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.

please sort alphabetically, include space after , in the list

@boegel boegel added this to the 3.2.0 milestone Mar 27, 2017
@boegel
Copy link
Copy Markdown
Member

boegel commented Mar 27, 2017

Test report by @boegel
SUCCESS
Build succeeded for 1 out of 1 (1 easyconfigs in this PR)
node2028.delcatty.os - Linux centos linux 7.3.1611, Intel(R) Xeon(R) CPU E5-2670 0 @ 2.60GHz, Python 2.7.5
See https://gist.github.com/18091d7e41857c3e2ccb65a797abbba1 for a full test report.

@mboisson
Copy link
Copy Markdown
Contributor Author

I think I addressed all of the remarks in the latest commit.

@boegelbot
Copy link
Copy Markdown
Collaborator

Travis test report: 8/8 runs failed - see https://travis-ci.org/hpcugent/easybuild-easyconfigs/builds/215661862

Only showing partial log for 1st failed test suite run 4122.1;
full log at https://travis-ci.org/hpcugent/easybuild-easyconfigs/jobs/215661863

...
ERROR: Test for parsing of easyconfig RepastHPC-2.2.0-foss-2016a.eb
----------------------------------------------------------------------
Traceback (most recent call last):
  File "<string>", line 1, in innertest
  File "/home/travis/build/hpcugent/easybuild-easyconfigs/test/easyconfigs/easyconfigs.py", line 201, in template_easyconfig_test
    ecs = process_easyconfig(spec)
  File "/home/travis/virtualenv/python2.6.9/lib/python2.6/site-packages/easybuild_framework-3.2.0.dev0-py2.6.egg/easybuild/framework/easyconfig/easyconfig.py", line 1261, in process_easyconfig
    ec = EasyConfig(spec, build_specs=build_specs, validate=validate, hidden=hidden)
  File "/home/travis/virtualenv/python2.6.9/lib/python2.6/site-packages/easybuild_framework-3.2.0.dev0-py2.6.egg/easybuild/framework/easyconfig/easyconfig.py", line 323, in __init__
    auto_convert_value_types=auto_convert_value_types)
  File "/home/travis/virtualenv/python2.6.9/lib/python2.6/site-packages/easybuild_framework-3.2.0.dev0-py2.6.egg/easybuild/framework/easyconfig/parser.py", line 105, in __init__
    self._set_formatter(filename)
  File "/home/travis/virtualenv/python2.6.9/lib/python2.6/site-packages/easybuild_framework-3.2.0.dev0-py2.6.egg/easybuild/framework/easyconfig/parser.py", line 196, in _set_formatter
    self._formatter.parse(self.rawcontent)
  File "/home/travis/virtualenv/python2.6.9/lib/python2.6/site-packages/easybuild_framework-3.2.0.dev0-py2.6.egg/easybuild/framework/easyconfig/format/one.py", line 125, in parse
    super(FormatOneZero, self).parse(txt, strict_section_markers=True)
  File "/home/travis/virtualenv/python2.6.9/lib/python2.6/site-packages/easybuild_framework-3.2.0.dev0-py2.6.egg/easybuild/framework/easyconfig/format/pyheaderconfigobj.py", line 134, in parse
    self.parse_pre_section(txt[:start_section])
  File "/home/travis/virtualenv/python2.6.9/lib/python2.6/site-packages/easybuild_framework-3.2.0.dev0-py2.6.egg/easybuild/framework/easyconfig/format/pyheaderconfigobj.py", line 165, in parse_pre_section
    self.parse_pyheader('\n'.join(txt_list))
  File "/home/travis/virtualenv/python2.6.9/lib/python2.6/site-packages/easybuild_framework-3.2.0.dev0-py2.6.egg/easybuild/framework/easyconfig/format/pyheaderconfigobj.py", line 186, in parse_pyheader
    exec(pyheader, global_vars, local_vars)
  File "<string>", line 26, in <module>
TypeError: format requires a mapping

----------------------------------------------------------------------
Ran 6755 tests in 117.439s

FAILED (errors=1)
ERROR: Not all tests were successful.

@mboisson
Copy link
Copy Markdown
Contributor Author

not sure how to fix that. I don't know the %(version)s easybuild special syntax (which is why I used pure Python syntax in the first place).

configopts = '--with-boost=$EBROOTBOOST --with-netcdf=$EBROOTNETCDFMINCPLUSPLUS'

sanity_check_paths = {
'files': ['lib/librelogo-%(version)s.%s' % SHLIB_EXT, 'lib/librepast_hpc-%(version)s.%s' % SHLIB_EXT ],
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.

@mboisson You need to use %%(version)s here (i.e. escape the %), to ensure that you have %(version)s in the string after string templating with % SHLIB_EXT is done


sanity_check_paths = {
'files': ['lib/librelogo-%(version)s.%s' % SHLIB_EXT, 'lib/librepast_hpc-%(version)s.%s' % SHLIB_EXT ],
'dirs': ['bin/rumor', 'bin/zombie', 'include', 'lib'],
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.

Are bin/rumor and bin/zombie subdirectories with binaries in them? If so, should we add them to $PATH?

@mboisson
Copy link
Copy Markdown
Contributor Author

mboisson commented Mar 28, 2017 via email

@boegel
Copy link
Copy Markdown
Member

boegel commented Mar 28, 2017

Test report by @boegel
SUCCESS
Build succeeded for 1 out of 1 (1 easyconfigs in this PR)
node2124.delcatty.os - Linux centos linux 7.3.1611, Intel(R) Xeon(R) CPU E5-2670 0 @ 2.60GHz, Python 2.7.5
See https://gist.github.com/a56a4ad1b8f5782baa753a6695b05b8e for a full test report.

@boegel
Copy link
Copy Markdown
Member

boegel commented Mar 28, 2017

Test report by @boegel
FAILED
Build succeeded for 8 out of 15 (1 easyconfigs in this PR)
node2428.golett.os - Linux centos linux 7.3.1611, Intel(R) Xeon(R) CPU E5-2680 v3 @ 2.50GHz, Python 2.7.5
See https://gist.github.com/848dd0b7937344388dea6f679333791d for a full test report.

@mboisson
Copy link
Copy Markdown
Contributor Author

Seems like what is failing is building dependencies that are already in the develop branch, not what is included in this PR.

@boegel boegel changed the title added recipe for repasthpc {bio}[foss/2016a] RepastHPC 2.2.0 Mar 28, 2017
'dirs': ['bin/rumor', 'bin/zombie', 'include', 'lib'],
}

moduleclass = 'bio'
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.

@mboisson This just caught my eye, is this correct?

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

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

I was not sure what moduleclass to put (and I have no clue what is the impact of that value on anything).

RepastHPC is typically used to do agent based modeling, which our researcher use to perform simulations on animal population dynamics. Could also be used for simulations about spreading of diseases. But of course it can also be used to simulate non-biological related stuff like transport dynamics....

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.

OK, let's leave it then.

The impact isn't very big, but some sites rely on moduleclass for example to group modules per domain.

@boegel
Copy link
Copy Markdown
Member

boegel commented Mar 28, 2017

@mboisson Something is wrong with my GCCcore/4.9.3 installation, I'll look into fixing it and submitting a working test report.

@boegel
Copy link
Copy Markdown
Member

boegel commented Mar 29, 2017

Test report by @boegel
SUCCESS
Build succeeded for 1 out of 1 (1 easyconfigs in this PR)
node2609.swalot.os - Linux centos linux 7.3.1611, Intel(R) Xeon(R) CPU E5-2660 v3 @ 2.60GHz, Python 2.7.5
See https://gist.github.com/68e268368a587145ccd3d5c4e147eb60 for a full test report.

@boegel
Copy link
Copy Markdown
Member

boegel commented Mar 29, 2017

lgtm

@boegel
Copy link
Copy Markdown
Member

boegel commented Mar 29, 2017

Going in, thanks @mboisson!

@boegel boegel merged commit daad11e into easybuilders:develop Mar 29, 2017
@mboisson mboisson deleted the repasthpcd branch March 29, 2017 12:04
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.

3 participants