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
new OpenFOAM-1612, OpenFOAM-1706 versions #4814
Conversation
85929a0
to
9878cee
Compare
Now adjusted package names too. |
Hello @easybuilders/easybuild-easyconfigs-maintainers - review requested |
|
||
dependencies = [ | ||
# > causes bash issue? ('libreadline', '6.3'), | ||
# > causes bash issue? ('ncurses', '6.0'), |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
please explain?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I experienced an issue where the LD_LIBRARY_PATH pointed to the easybuild libreadline, which provoked symbol conflicts for my bash.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Can you elaborate on that a bit, exact error messages, etc.?
These dependencies should not be commented out, since otherwise we're at the mercy of whatever the OS provides (or doesn't), which is something we're trying to avoid.
@@ -0,0 +1,406 @@ | |||
--- OpenFOAM-v1706.orig/applications/utilities/mesh/manipulation/setSet/Allwmake 2017-06-30 10:50:14.000000000 +0200 |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
it's good practice to claim authorship of the patches and explain what they are supposed to do.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Where do the explanations go? I've seen some patches with #
comments, but this seems to be fairly non-standard.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
see my comment in the other patch
and owner of the OPENFOAM trademark. | ||
""" | ||
|
||
toolchain = {'name': 'foss', 'version': '2016a'} |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
any reason why you add them for both 2016a and 2016b? Is there any difference?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Honestly, I have no idea. I'm very new to easybuild but I understood that the configs need to specify a toolchain. The 2016b toolchang uses updated gcc etc.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
There's little point in providing easyconfigs for an older toolchain like foss/2016a
imho.
If people really need to install OpenFOAM with it, they can use --try-toolchain
.
Generally speaking, it's better to stick to more recent toolchains, so I'd prefer just having easyconfigs for foss/2016b
here.
What is still needed to get this restarted? @easybuilders/easybuild-easyconfigs-maintainers @easybuild-easyconfigs-maintainers |
@@ -0,0 +1,479 @@ | |||
--- OpenFOAM-v1612+.orig/applications/utilities/mesh/manipulation/setSet/Allwmake 2016-12-23 15:22:59.000000000 +0100 |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
please include a brief description of the patch above this line and mention the author
any lines above this line are comments
@@ -0,0 +1,406 @@ | |||
--- OpenFOAM-v1706.orig/applications/utilities/mesh/manipulation/setSet/Allwmake 2017-06-30 10:50:14.000000000 +0200 |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
see my comment in the other patch
and owner of the OPENFOAM trademark. | ||
""" | ||
|
||
toolchain = {'name': 'foss', 'version': '2016a'} |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
There's little point in providing easyconfigs for an older toolchain like foss/2016a
imho.
If people really need to install OpenFOAM with it, they can use --try-toolchain
.
Generally speaking, it's better to stick to more recent toolchains, so I'd prefer just having easyconfigs for foss/2016b
here.
|
||
dependencies = [ | ||
# > causes bash issue? ('libreadline', '6.3'), | ||
# > causes bash issue? ('ncurses', '6.0'), |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Can you elaborate on that a bit, exact error messages, etc.?
These dependencies should not be commented out, since otherwise we're at the mercy of whatever the OS provides (or doesn't), which is something we're trying to avoid.
] | ||
|
||
sources = [ 'OpenFOAM-%(version)s.tgz' ] | ||
checksums = ['630d30770f7b54d6809efbf94b7d7c8f'] |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
please use SHA256
checksums (see also #5005)
# Could build with CGAL, but this adds an extra python dependency | ||
# that we don't want/need | ||
# ('CGAL', '1.60.0'), | ||
# ('ParaView', '5.4.0', '-mpi'), |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
We usually install OpenFOAM with CGAL & ParaView included as dependencies, so I'd prefer to stick to that.
What's the problem with the extra (indirect) Python dependency?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
If I just want OpenFOAM, why a huge slew of python things? With paraview it would likely be good to distinguish between an off-screen and hardware mode too. However, I didn't want to get into this. All I wanted was to get a new version of OpenFOAM building with easybuild.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
It's OK if you're not up for looking into this, it's just that our previous OpenFOAM easyconfigs do include CGAL & ParaView, so this is going to surprise people potentially...
source_urls = [ | ||
('https://sourceforge.net/projects/openfoamplus/files/%(version)s', | ||
'download') | ||
] |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
style nitpicking: let's just make this a single line? I don't see the need to spread this over 4 lines...
source_urls = [('https://sourceforge.net/projects/openfoamplus/files/%(version)s', 'download')]
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
OK. On spack they run flake8 tests that complain when lines exceed 80 chars.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
We have automated style checks in place too now, but allow lines up to 120 chars; too much silly splits (like this), we're not in the 80s anymore so 120 chars makes more sense imho ;)
# OpenFOAM requires 64 bit METIS using 32 bit indexes (array indexes) | ||
('METIS', '5.1.0'), | ||
('SCOTCH', '6.0.4'), | ||
('Boost', '1.61.0'), |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
shouldn't this be bumped to a more recent version of Boost (e.g. 1.64.0)?
] | ||
|
||
builddependencies = [ | ||
('CMake', '3.6.1'), |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
this can be bumped to 3.8.2, there's an easyconfig available already for it
|
||
builddependencies = [ | ||
('CMake', '3.6.1'), | ||
('flex', '2.6.0'), |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
this can be bumped to 2.6.4
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
probably a holdover from before. I think that 2.6.1-2.6.3 were broken (weird namespaces if I remember).
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
OK, but I haven't seen any issues with 2.6.4 as far as I can recall, so let's bump it?
There is a bit of problem with OpenFOAM since there are (at least) 2 different distributions, openfoam.com and openfoam.org. And the version numbering differs. Does anyone have any good insights on this subject? Will the easyblock work correctly with both distributions? |
@akesandgren Some updates are done in easybuilders/easybuild-easyblocks#1205, but for now it seems like the OpenFOAM easyblock is able to copy with both flavours (+ OpenFOAM-Extend as well)... |
@olesenm Are you up for following up on this, or do you prefer that we take it from here? |
I'm fine with whatever works best for you (ie, please take over if possible). In a longer term I think that the various flavour/fork check should really only been done once, but that is just a style issue. At least for openfoam, I think that the changes to its config files would be better to do directly (if possible) rather that using patching to modify things. I've used this with reasonably good success in spack. When building openfoam-1706 with spack, I only use patch to adjust two entries in a single file and the rest of the configuration is simply emitted directly. |
I've picked this up again (would be nice to get it past the line before the 1712 release). However, I'm currently going crazy with all sorts of foss-2016b checksum errors. The tarfiles in question (Autoconf, libtool, M4, numactl) all have sha256sums that match what their easybuild files require, but I always get errors. Must be some flags somewhere I guess. |
@olesenm Can you share which exact errors you are getting, and how you're triggering them? Can you also share your EasyBuild configuration (output of |
Here is a rebuild log of one of the offenders (m4): A manual verification of the check sums from the command line
So the sha256sum looks correct, but it would appear that verify_checksum still doesn't like it. The easybuild config (
The easyconfig is develop at 4a61927 |
7f43b2c
to
ec7ea90
Compare
ec7ea90
to
ee472f7
Compare
Travis test report: 8/8 runs failed - see https://travis-ci.org/easybuilders/easybuild-easyconfigs/builds/315762446 Only showing partial log for 1st failed test suite run 7180.1;
(bleep, bloop, I'm just a bot, please talk to my owner @boegel if you notice you me acting stupid) |
I think that this content has probably been merged, so I'll close it and see it that is true. |
@olesenm We have only merged easyconfigs for OpenFOAM v1712, not for the older versions you were adding here, but that's good enough going forward? |
Sounds good to me. |
edit: requires
easybuilders/easybuild-easyblocks#1205