Skip to content
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

{tools}[goolf/1.4.10,ictce/5.3.0] ncregrid 1.4b (REVIEW) #729

Closed
wants to merge 12 commits into from
26 changes: 26 additions & 0 deletions easybuild/easyconfigs/n/ncregrid/ncregrid-1.4b-configure.patch
Original file line number Diff line number Diff line change
@@ -0,0 +1,26 @@
Patch to set the correct netCDF Fortran library
author: Thekla Loizou (Cyprus Institute)
--- configure.orig 2014-02-13 15:25:53.464250437 +0200
+++ configure 2014-02-13 15:26:24.909255244 +0200
@@ -1307,9 +1307,9 @@
fi


-as_ac_File=`echo "ac_cv_file_${NC_LIB}/libnetcdf.a" | $as_tr_sh`
-echo "$as_me:$LINENO: checking for ${NC_LIB}/libnetcdf.a" >&5
-echo $ECHO_N "checking for ${NC_LIB}/libnetcdf.a... $ECHO_C" >&6
+as_ac_File=`echo "ac_cv_file_${NC_LIB}/libnetcdff.a" | $as_tr_sh`
+echo "$as_me:$LINENO: checking for ${NC_LIB}/libnetcdff.a" >&5
+echo $ECHO_N "checking for ${NC_LIB}/libnetcdff.a... $ECHO_C" >&6
if eval "test \"\${$as_ac_File+set}\" = set"; then
echo $ECHO_N "(cached) $ECHO_C" >&6
else
@@ -1317,7 +1317,7 @@
{ { echo "$as_me:$LINENO: error: cannot check for file existence when cross compiling" >&5
echo "$as_me: error: cannot check for file existence when cross compiling" >&2;}
{ (exit 1); exit 1; }; }
-if test -r "${NC_LIB}/libnetcdf.a"; then
+if test -r "${NC_LIB}/libnetcdff.a"; then
eval "$as_ac_File=yes"
else
eval "$as_ac_File=no"
47 changes: 47 additions & 0 deletions easybuild/easyconfigs/n/ncregrid/ncregrid-1.4b-goolf-1.4.10.eb
Original file line number Diff line number Diff line change
@@ -0,0 +1,47 @@
##
# This file is an EasyBuild reciPY as per https://github.com/hpcugent/easybuild
#
# Copyright:: Copyright 2014 The Cyprus Institute
# Authors:: Thekla Loizou <t.loizou@cyi.ac.cy>
# License:: MIT/GPL
#
##
easyblock = 'ConfigureMake'

name = 'ncregrid'
version = '1.4b'

homepage = 'http://www.pa.op.dlr.de/~PatrickJoeckel/ncregrid/'
description = """ncregrid is a tool (written in FORTRAN-90) for data
transfer of gridded 2- and 3-dimensional (spatial) geophysical/geochemical
scalar fields between grids of different resolutions"""

toolchain = {'name': 'goolf', 'version': '1.4.10'}
toolchainopts = {'optarch': True, 'usempi': True, 'pic': True}

source_urls = ['http://www.pa.op.dlr.de/~PatrickJoeckel/ncregrid/']
sources = ['%(name)s.tar.Z']
Copy link
Member

Choose a reason for hiding this comment

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

I'm running into this issue:

tar (child): compress: Cannot exec: No such file or directory
tar (child): Error is not recoverable: exiting now
tar: Child returned status 2

because compress (used by tar) is not available on the system...

adding compress as a build dep is probably wise, but this also requires that easybuilders/easybuild-framework#1376 gets fixed (which may be non-trivial to fix without introducing regressions elsewhere)

@wpoely86: are you up for taking a closer look at easybuilders/easybuild-framework#1376?

Copy link
Member

Choose a reason for hiding this comment

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

I will have a look but this does not need to hold this PR back.

Copy link
Member

Choose a reason for hiding this comment

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

I feel it does, since it's failing because of a missing (somewhat uncommon) dep

Copy link
Member

Choose a reason for hiding this comment

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

yes, but the framework also needs an enhancement. It's minor IMHO.

Copy link
Member

Choose a reason for hiding this comment

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

the very minimal would be to add osdependencies = ['compress'] here

but I prefer fixing this via a build dep instead, so yes, then it requires fixing easybuilders/easybuild-framework#1376


# the source tarball is not versioned so checksum is needed
checksums= ['175569cc11c5646f36893d3dfccea83a']

patches = [
'%(name)s-%(version)s-configure.patch',
]

dependencies = [
('netCDF-Fortran', '4.2'),
]

configopts = "F90FLAGS='-cpp' NC_INC=$EBROOTNETCDFMINFORTRAN/include NC_LIB=$EBROOTNETCDFMINFORTRAN/lib"

buildopts = 'LIBS="$LIBS -L/$EBROOTNETCDFMINFORTRAN/lib -lnetcdff"'

installopts = 'bindir=%(installdir)s/bin includedir=%(installdir)s/include'

sanity_check_paths = {
'files': ['bin/ncregrid'],
'dirs': [],
}

Copy link
Member

Choose a reason for hiding this comment

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

add a category.

moduleclass = 'tools'
47 changes: 47 additions & 0 deletions easybuild/easyconfigs/n/ncregrid/ncregrid-1.4b-ictce-5.3.0.eb
Original file line number Diff line number Diff line change
@@ -0,0 +1,47 @@
##
# This file is an EasyBuild reciPY as per https://github.com/hpcugent/easybuild
#
# Copyright:: Copyright 2014 The Cyprus Institute
# Authors:: Thekla Loizou <t.loizou@cyi.ac.cy>
# License:: MIT/GPL
#
##
easyblock = 'ConfigureMake'

name = 'ncregrid'
version = '1.4b'

homepage = 'http://www.pa.op.dlr.de/~PatrickJoeckel/ncregrid/'
description = """ncregrid is a tool (written in FORTRAN-90) for data
transfer of gridded 2- and 3-dimensional (spatial) geophysical/geochemical
scalar fields between grids of different resolutions"""

toolchain = {'name': 'ictce', 'version': '5.3.0'}
toolchainopts = {'optarch': True, 'usempi': True, 'pic': True}

source_urls = ['http://www.pa.op.dlr.de/~PatrickJoeckel/ncregrid/']
sources = ['%(name)s.tar.Z']

# the source tarball is not versioned so checksum is needed
checksums= ['175569cc11c5646f36893d3dfccea83a']

patches = [
'%(name)s-%(version)s-configure.patch',
]

dependencies = [
('netCDF-Fortran', '4.2'),
]

configopts = "F90FLAGS='-cpp' NC_INC=$EBROOTNETCDFMINFORTRAN/include NC_LIB=$EBROOTNETCDFMINFORTRAN/lib"

buildopts = 'LIBS="$LIBS -L/$EBROOTNETCDFMINFORTRAN/lib -lnetcdff"'

installopts = 'bindir=%(installdir)s/bin includedir=%(installdir)s/include'

sanity_check_paths = {
'files': ['bin/ncregrid'],
'dirs': [],
}

moduleclass = 'tools'