Hello Graham, Thank you for providing the files. I'm glad you were able to move beyond the initial error with configuration. The new error you are encountering when compiling, /scratch/dione/packages_new_parallel/lib/libhdf5_hl.a(H5DS.o): relocation R_X86_64_32 against `.rodata.str1.1' can not be used when making a shared object; recompile with -fPIC /scratch/dione/packages_new_parallel/lib/libhdf5_hl.a: could not read is related to position independent code. You can either recompile libhdf5 as a shared library (or a static library but also specify '-fPIC' as a mpicc option), or you can try compiling libnetcdf as a static library. You would do this by passing the '--disable-shared' flag when running configure, e.g. CC=/usr/bin/mpicc CPPFLAGS=-I/scratch/dione/packages_new/include LDFLAGS=-L/scratch/dione/packages_new/lib LD_LIBRARY_PATH=/scratch/dione/packages_new/lib ./configure --prefix=/scratch/dione/packages_new_parallel --disable-shared Let me know if this works for you. Have a good day, -Ward > Hi, > > I am trying to compile and install netCDF with a parallel build of HDF5. > > First I installed an up to date zlib then I installed a serial HDF5 and > a parallel HDF5 so that > > /scratch/dione/packages_new/ ... contains the HDF5 and zlib lib, > include, bin folders. > > /scratch/dione/packages_new_parallel ... contains the parallel HDF5 and > zlib lib, include and bin folders. > > ZLIB INSTALL: > ./configure --prefix=/scratch/dione/packages_new > make > make test > make install prefix=/scratch/dione/packages_new > & > ./configure --prefix=/scratch/dione/packages_new_parallel > make > make test > make install prefix=/scratch/dione/packages_new_parallel > > HDF5 INSTALL: > ./configure --prefix=/scratch/dione/packages_new --enable-fortran > --enable-hl > --with-zlib=/scratch/dione/packages/include,/scratch/dione/packages_new/lib > make > make check > make install prefix=/scratch/dione/packages_new > & > ./configure --prefix=/scratch/dione/packages_new_parallel > --enable-parallel --enable-fortran --enable-hl > --with-zlib=/scratch/dione/packages_new_parallel/include,/scratch/dione/packages_new_parallel/lib > make > make check > make install prefix=/scratch/dione/packages_new_parallel > > ________ > > Then, to install the serial netCDF I used > > ./configure --prefix=/scratch/dione/packages_new > CPPFLAGS=-I/scratch/dione/packages_new/include > LDFLAGS=-L/scratch/dione/packages_new/lib > LD_LIBRARY_PATH=/scratch/dione/packages_new/lib > make > make check > make install prefix=/scratch/dione/packages_new > > This worked successfully. > > However, I tried to do the same for parallel netCDF I ran into errors. > > I tried two cases, one of which wouldn't compile, and one of which > failed to 'make'. > > 1) I used > ./configure --prefix=/scratch/dione/packages_new_parallel > CPPFLAGS=-I/scratch/dione/packages_new_parallel/include > LDFLAGS=-L/scratch/dione/packages_new_parallel/lib > LD_LIBRARY_PATH=/scratch/dione/packages_new_parallel > > and I get the error: > checking hdf5.h usability ... no > checking hdf5.h presence ... no > checking for hdf5.h ... no > configure: error: Compiling a test with HDF5 failed. Either hdf5.h > cannot be found, or config.log should be checked for other reason > > I've included the config.log file and named it config1.log > > 2) I was hunting online and a similar error was reported stating that > the error message might points to the fact that the compiler isn't > correct. So, if I specifically tell it where the parallel compiler is > then it seems to compile. > $ ./configure --prefix=/scratch/dione/packages_new_parallel > CPPFLAGS=-I/scratch/dione/packages_new_parallel/include > LDFLAGS=-L/scrach/dione/packages_new_parallel/lib > LD_LIBRARY_PATH=/scratch/dione/packages_new_parallel/lib > CC=/usr/bin/mpicc > > However, I then type 'make' and get the error below. I've included the > config.log file and named it config2.log. > > Do you know what may be causing this issue? > > Many thanks, > Graham > > > ERROR MESSAGE: > make LD_LIBRARY_PATH=/scratch/dione/packages_new_parallel/lib > make all-recursive > make[1]: Entering directory > `/scratch/dione/packages_new_parallel/netcdf-c-4.3.3.1' > Making all in include > make[2]: Entering directory > `/scratch/dione/packages_new_parallel/netcdf-c-4.3.3.1/include' > make[2]: Nothing to be done for `all'. > make[2]: Leaving directory > `/scratch/dione/packages_new_parallel/netcdf-c-4.3.3.1/include' > Making all in h5_test > make[2]: Entering directory > `/scratch/dione/packages_new_parallel/netcdf-c-4.3.3.1/h5_test' > make[2]: Nothing to be done for `all'. > make[2]: Leaving directory > `/scratch/dione/packages_new_parallel/netcdf-c-4.3.3.1/h5_test' > Making all in libdispatch > make[2]: Entering directory > `/scratch/dione/packages_new_parallel/netcdf-c-4.3.3.1/libdispatch' > make[2]: Nothing to be done for `all'. > make[2]: Leaving directory > `/scratch/dione/packages_new_parallel/netcdf-c-4.3.3.1/libdispatch' > Making all in libsrc > make[2]: Entering directory > `/scratch/dione/packages_new_parallel/netcdf-c-4.3.3.1/libsrc' > make[2]: Nothing to be done for `all'. > make[2]: Leaving directory > `/scratch/dione/packages_new_parallel/netcdf-c-4.3.3.1/libsrc' > Making all in libsrc4 > make[2]: Entering directory > `/scratch/dione/packages_new_parallel/netcdf-c-4.3.3.1/libsrc4' > make[2]: Nothing to be done for `all'. > make[2]: Leaving directory > `/scratch/dione/packages_new_parallel/netcdf-c-4.3.3.1/libsrc4' > Making all in liblib > make[2]: Entering directory > `/scratch/dione/packages_new_parallel/netcdf-c-4.3.3.1/liblib' > /bin/bash ../libtool --tag=CC --mode=link /usr/bin/mpicc -g -O2 > -version-info 9:0:2 -L/scratch/dione/packages_new_parallel/lib -o > libnetcdf.la -rpath /scratch/dione/packages_new_parallel/lib > libnetcdf_la-stub.lo ../libdispatch/libnetcdf2.la > ../libdispatch/libdispatch.la ../libsrc/libnetcdf3.la > ../libsrc4/libnetcdf4.la -lhdf5_hl -lhdf5 -ldl -lm -lz > libtool: link: /usr/bin/mpicc -shared -fPIC -DPIC > .libs/libnetcdf_la-stub.o -Wl,--whole-archive > ../libdispatch/.libs/libnetcdf2.a ../libdispatch/.libs/libdispatch.a > ../libsrc/.libs/libnetcdf3.a ../libsrc4/.libs/libnetcdf4.a > -Wl,--no-whole-archive -L/scratch/dione/packages_new_parallel/lib > /scratch/dione/packages_new_parallel/lib/libhdf5_hl.a > /scratch/dione/packages_new_parallel/lib/libhdf5.a -ldl -lm -lz -O2 > -Wl,-soname -Wl,libnetcdf.so.7 -o .libs/libnetcdf.so.7.2.0 > /usr/bin/ld: > /scratch/dione/packages_new_parallel/lib/libhdf5_hl.a(H5DS.o): > relocation R_X86_64_32 against `.rodata.str1.1' can not be used when > making a shared object; recompile with -fPIC > /scratch/dione/packages_new_parallel/lib/libhdf5_hl.a: could not read > symbols: Bad value > collect2: ld returned 1 exit status > make[2]: *** [libnetcdf.la] Error 1 > make[2]: Leaving directory > `/scratch/dione/packages_new_parallel/netcdf-c-4.3.3.1/liblib' > make[1]: *** [all-recursive] Error 1 > make[1]: Leaving directory > `/scratch/dione/packages_new_parallel/netcdf-c-4.3.3.1' > make: *** [all] Error 2 > > > -- > Graham Kerr > Solar Physics PhD Student > > Rm 604 Kelvin Building, > SUPA School of Physics and Astronomy > University of Glasgow, > Glasgow, > G12 8QQ > > T: +44 141 330 2960 > E: address@hidden > W: http://www.astro.gla.ac.uk/?p=1417 > > > Ticket Details =================== Ticket ID: XSZ-548173 Department: Support netCDF Priority: Normal Status: Closed
NOTE: All email exchanges with Unidata User Support are recorded in the Unidata inquiry tracking system and then made publicly available through the web. If you do not want to have your interactions made available in this way, you must let us know in each email you send to us.