Skip to content

cannot install ncdf4_1.6.1 in R-3.0.0 on Cray XE6 HERMIT (R-sig-hpc Digest, Vol 56, Issue 4)

2 messages · Pragnesh Patel, Martin Ivanov

#
Hi Martin,

It looks like you need to recompile hdf5 and netcdf with
"--enable-shared" option (either in your home directory or lustre
directory(I assume you use lustre file system)). Once you have those,
you should be able to install pbdNCDF4 and ncdf4 packages.

Please let me know, if you need detail installation instructions of
hdf5, netcdf, ncdf4 and pbdNCDF4 on Cray XE6 machine.

(TO run: you need to copy all *.so files(from hdf5 and netcdf lib
directory) to lustre file system so compute nodes can access those).


Thanks
Pragnesh



On 5/5/13, r-sig-hpc-request at r-project.org
<r-sig-hpc-request at r-project.org> wrote:

  
    
#
Hello, Pragnesh,

Thank You very much for Your responsiveness.
Now I am trying to compile hdf5, but unsuccessfully.
Here is my setting:
if [ "$ARCH" = "i486" ]; then
   SLKCFLAGS="-O2 -march=i486 -mtune=i686"
   LIBDIRSUFFIX=""
elif [ "$ARCH" = "i686" ]; then
   SLKCFLAGS="-O2 -march=i686 -mtune=i686"
   LIBDIRSUFFIX=""
elif [ "$ARCH" = "x86_64" ]; then
   SLKCFLAGS="-O2 -fPIC"
   LIBDIRSUFFIX="64"
else
   SLKCFLAGS="-O2"
   LIBDIRSUFFIX=""
fi

CC="cc" \
CXX="CC" \
FCC="ftn" \
CFLAGS="$SLKCFLAGS" \
CXXFLAGS="$SLKCFLAGS" \
CPPFLAGS="-DgFortran -I$PREFIX/include" \
LDFLAGS="-L$PREFIX/lib${LIBDIRSUFFIX}" \
./configure \
   --prefix=$PREFIX \
   --sysconfdir=$PKG/etc \
   --localstatedir=$PKG/var \
   --libdir=$PREFIX/lib${LIBDIRSUFFIX} \
   --infodir=$PREFIX/info \
   --mandir=$PREFIX/man \
   --docdir=$PREFIX/doc/$PRGNAM-$VERSION \
   --program-prefix="" \
   --program-suffix="" \
   --disable-fortran \
   --disable-cxx \
   --enable-shared \
   --disable-static \
   --enable-largefile \
   --enable-parallel \
   --disable-linux-lfs \
   --with-zlib \
   --with-pthread \


My environment is:
ipmiva at eslogin001:/univ_2/ws3/ws/ipmiva-WRF_331_CORDEX-0/build/source> 
module list
Currently Loaded Modulefiles:
   1) modules/3.2.6.7                         13) 
ugni/4.0-1.0401.5928.9.5.gem            25) hosts/1.0-1.0401.35364.1.115.gem
   2) xtpe-network-gemini                     14) 
pmi/4.0.1-1.0000.9421.73.3.gem          26) lbcd/2.1-1.0401.35360.1.2.gem
   3) xtpe-interlagos                         15) 
dmapp/3.2.1-1.0401.5983.4.5.gem         27) 
nodehealth/5.0-1.0401.38460.12.18.gem
   4) eswrap/1.0.9                            16) 
gni-headers/2.1-1.0401.5675.4.4.gem     28) pdsh/2.26-1.0401.37449.1.1.gem
   5) torque/2.5.9                            17) 
xpmem/0.1-2.0401.36790.4.3.gem          29) 
shared-root/1.0-1.0401.37253.3.50.gem
   6) moab/6.1.5.s1992                        18) 
job/1.5.5-0.1_2.0401.35380.1.10.gem     30) switch/1.0-1.0401.36779.2.72.gem
   7) system/ws_tools                         19) 
csa/3.0.0-1_2.0401.37452.4.50.gem       31) xe-sysroot/4.1.40
   8) system/hlrs-defaults                    20) 
dvs/1.8.6_0.9.0-1.0401.1401.1.120       32) atp/1.6.2
   9) xt-asyncpe/5.19                         21) 
rca/1.0.0-2.0401.38656.2.2.gem          33) PrgEnv-gnu/4.1.40
  10) gcc/4.7.2                               22) 
audit/1.0.0-1.0401.37969.2.32.gem       34) cray-mpich2/5.6.4
  11) xt-libsci/12.0.01                       23) 
ccm/2.2.0-1.0401.37254.2.142
  12) udreg/2.3.2-1.0401.5929.3.3.gem         24) 
configuration/1.0-1.0401.35391.1.2.gem

I had to unload the module craype-target-native, because with it hdf5's 
configure does not find mpi. And here is the compilation error now:
                  from H5detect.c:57:
/opt/cray/xe-sysroot/4.1.40/usr/include/string.h:64:14: note: expected 
'void *' but argument is of type 'volatile long double *'
H5detect.c:1533:5: warning: passing argument 1 of 'memset' discards 
'volatile' qualifier from pointer target type [enabled by default]
In file included from H5private.h:51:0,
                  from H5detect.c:57:
/opt/cray/xe-sysroot/4.1.40/usr/include/string.h:64:14: note: expected 
'void *' but argument is of type 'volatile long double *'
H5detect.c:1533:5: warning: passing argument 1 of 'memset' discards 
'volatile' qualifier from pointer target type [enabled by default]
In file included from H5private.h:51:0,
                  from H5detect.c:57:
/opt/cray/xe-sysroot/4.1.40/usr/include/string.h:64:14: note: expected 
'void *' but argument is of type 'volatile long double *'
H5detect.c:1533:5: warning: cast discards '__attribute__((noreturn))' 
qualifier from pointer target type [-Wcast-qual]
H5detect.c:1533:5: warning: cast discards '__attribute__((noreturn))' 
qualifier from pointer target type [-Wcast-qual]
H5detect.c:1533:5: warning: to be safe all intermediate pointers in cast 
from 'char **' to 'const char **' must be 'const' qualified [-Wcast-qual]
H5detect.c:1533:5: warning: passing argument 3 of 'imp_bit' discards 
'volatile' qualifier from pointer target type [enabled by default]
H5detect.c:1054:1: note: expected 'void *' but argument is of type 
'volatile long double *'
H5detect.c:1533:5: warning: passing argument 4 of 'imp_bit' discards 
'volatile' qualifier from pointer target type [enabled by default]
H5detect.c:1054:1: note: expected 'void *' but argument is of type 
'volatile long double *'
H5detect.c:1533:5: warning: passing argument 3 of 'bit_cmp' discards 
'volatile' qualifier from pointer target type [enabled by default]
H5detect.c:933:1: note: expected 'void *' but argument is of type 
'volatile long double *'
H5detect.c:1533:5: warning: passing argument 4 of 'bit_cmp' discards 
'volatile' qualifier from pointer target type [enabled by default]
H5detect.c:933:1: note: expected 'void *' but argument is of type 
'volatile long double *'
H5detect.c:1533:5: warning: passing argument 3 of 'bit_cmp' discards 
'volatile' qualifier from pointer target type [enabled by default]
H5detect.c:933:1: note: expected 'void *' but argument is of type 
'volatile long double *'
H5detect.c:1533:5: warning: passing argument 4 of 'bit_cmp' discards 
'volatile' qualifier from pointer target type [enabled by default]
H5detect.c:933:1: note: expected 'void *' but argument is of type 
'volatile long double *'
H5detect.c:1533:5: warning: passing argument 4 of 'find_bias' discards 
'volatile' qualifier from pointer target type [enabled by default]
H5detect.c:1104:1: note: expected 'void *' but argument is of type 
'volatile long double *'
H5detect.c:1533:5: warning: cast discards '__attribute__((noreturn))' 
qualifier from pointer target type [-Wcast-qual]
H5detect.c:1533:5: warning: cast discards '__attribute__((noreturn))' 
qualifier from pointer target type [-Wcast-qual]
mv -f .deps/H5detect-H5detect.Tpo .deps/H5detect-H5detect.Po
/bin/sh ../libtool --tag=CC   --mode=link cc -g -ansi -pedantic -Wall -W 
-Wundef -Wshadow -Wpointer-arith -Wbad-function-cast -Wcast-qual 
-Wcast-align -Wwrite-strings -Wconversion -Waggregate-return 
-Wstrict-prototypes -Wmissing-prototypes -Wmissing-declarations 
-Wredundant-decls -Wnested-externs -Winline -O3 -fomit-frame-pointer 
-finline-functions -O2 -fPIC   -o H5detect H5detect-H5detect.o  
-lpthread -lz -lm
libtool: link: cc -g -ansi -pedantic -Wall -W -Wundef -Wshadow 
-Wpointer-arith -Wbad-function-cast -Wcast-qual -Wcast-align 
-Wwrite-strings -Wconversion -Waggregate-return -Wstrict-prototypes 
-Wmissing-prototypes -Wmissing-declarations -Wredundant-decls 
-Wnested-externs -Winline -O3 -fomit-frame-pointer -finline-functions 
-O2 -fPIC -o H5detect H5detect-H5detect.o  -lpthread -lz -lm
H5detect-H5detect.o: In function `print_header':
/univ_2/ws3/ws/ipmiva-WRF_331_CORDEX-0/build/tmp/hdf5-1.8.5/src/H5detect.c:1203: 
warning: Using 'getpwuid' in statically linked applications requires at 
runtime the shared libraries from the glibc version used for linking
LD_LIBRARY_PATH="$LD_LIBRARY_PATH`echo  |                  \
                 sed -e 's/-L/:/g' -e 's/ 
//g'`"                               \
          ./H5detect > H5Tinit.c ||                               \
             (test $HDF5_Make_Ignore && echo "*** Error ignored") 
||          \
             (rm -f H5Tinit.c ; exit 1)
/bin/sh: line 4: 29860 Illegal instruction 
LD_LIBRARY_PATH="$LD_LIBRARY_PATH`echo  | sed -e 's/-L/:/g' -e 's/ 
//g'`" ./H5detect > H5Tinit.c
make[2]: *** [H5Tinit.c] Error 1
make[2]: Leaving directory 
`/univ_2/ws3/ws/ipmiva-WRF_331_CORDEX-0/build/tmp/hdf5-1.8.5/src'
make[1]: *** [all] Error 2
make[1]: Leaving directory 
`/univ_2/ws3/ws/ipmiva-WRF_331_CORDEX-0/build/tmp/hdf5-1.8.5/src'
make: *** [all-recursive] Error 1



Any ideas?
I would be very thankful to you if you provide

detailed installation instructions of hdf5, netcdf, ncdf4 and pbdNCDF4 on Cray XE6 machine. I could use it as a guide.


Best regrds,
Martin
On 05/07/2013 03:35 PM, Pragnesh Patel wrote: