Update SuiteSparse easyblock for version >= 4.5#863
Update SuiteSparse easyblock for version >= 4.5#863boegel merged 21 commits intoeasybuilders:developfrom
Conversation
|
Automatic reply from Jenkins: Can I test this? |
|
Jenkins: ok to test |
|
Easyblocks unit test suite PASSed (see https://jenkins1.ugent.be/job/easybuild-easyblocks-pr-builder/1794/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. |
|
@besserox @boegel This seems basically better than mine (which does not work at all), but you have to make sure that |
|
plus add the locaton of |
|
@boegel Yes, I can do this tomorrow |
…to suitesparse-fix
… into suitesparse-fix
|
@hajgato This appears to work for me. Do you want review and test? |
|
Easyblocks unit test suite PASSed (see https://jenkins1.ugent.be/job/easybuild-easyblocks-pr-builder/1806/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. |
|
Easyblocks unit test suite PASSed (see https://jenkins1.ugent.be/job/easybuild-easyblocks-pr-builder/1807/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. |
|
@besserox For me it is fine, if it works. (The bundled |
|
@hajgato Yes, apparently the bundled METIS does not build:
|
|
@boegel Can we make sure a file does not exist during the sanity check? Here we would like to make sure that there is no |
|
@besserox not in a generic way, but you can just check that yourself when overriding def sanity_check_step(self):
"""Custom sanity check for SuiteSparse."""
if os.path.exists(os.path.join(self.installdir, 'lib', 'libmetis.so')):
raise EasyBuildError("<some meaningful error message>")
... |
| 'CPATH': [self.config_name], | ||
| 'LD_LIBRARY_PATH': ['UMFPACK/Lib', 'AMD/Lib'], | ||
| 'CPATH': include_dirs, | ||
| 'LD_LIBRARY_PATH': ld_library_path, |
|
@besserox the window for EasyBuild v2.8.0 is closing this week, any updates on this? |
…to suitesparse-fix
|
@boegel I have included your last comments |
…to suitesparse-fix
| include_dirs = [self.config_name] | ||
| ld_library_path = ['AMD/lib', 'BTF/lib', 'CAMD/lib', 'CCOLAMD/lib', 'CHOLAMD/lib', 'CHOLMOD/lib', | ||
| 'COLAMD/lib/', 'CSparse/lib', 'CXSparse/lib', 'KLU/lib', 'LDL/lib', 'RBio/lib', | ||
| 'UMFPACK/lib', 'SuiteSparse_config'] |
There was a problem hiding this comment.
@besserox use self.config_name rather than hardcoding SuiteSparse_config?
|
@besserox fixes for style remarks in besserox#7 One open question on |
style fixes for SuiteSparse easyblock
|
@boegel Updated to set BLAS and LAPACK properly on the build command line (cf easybuilders/easybuild-easyconfigs#2766) I found another bug at the same time. |
| f.write("# lines below added automatically by EasyBuild\n") | ||
| for (var, val) in cfgvars.items(): | ||
| f.write("%s = %s\n" % (var, val)) | ||
| f.close() |
There was a problem hiding this comment.
this whole block could be cleaned up quite a bit with:
cfgtxt = '\n'.join(["%s = %s" % (var, val) for (var, val) in cfgvars.items()])
write_file(fp, cfgtxt, append=True)You can also move it out of the try/except, since write_file already takes care catching IOError
|
retested latest version of this both with all existing SuiteSparse easyconfigs and easybuilders/easybuild-easyconfigs#3050, works like a charm going in, thanks a lot for your efforts @besserox! |
The lastest version of SuiteSparse is build shared libray.
This PR
LD_LIBRARY_PATHto the new directory where the libraries are located