This archive contains answers to questions sent to Unidata support through mid-2025. Note that the archive is no longer being updated. We provide the archive for reference; many of the answers presented here remain technically correct, even if somewhat outdated. For the most up-to-date information on the use of NSF Unidata software and data services, please consult the Software Documentation first.
> Hi Russ, > Followed your advice on prepending the flags to ./configure. Except you prepended the definition of only LDFLAGS to ./configure, after defining and also exporting LDFLAGS. You should use one or the other way to set environment variables for CPPFLAGS and LDFLAGS, you don't need both. But I don't think that's the problem, I think it arises from you unnecessarily defining LIBS and also including $LDFLAGS in that. > Some new issues arise - please advise on next steps to having a netcdf4 build. Comment out the definition of LIBS, you don't need it if you're using shared libraries. For some reason LIBS is not getting defined in configure the way you defined it before invoking configure. In your config.log it shows: LIBS='-lhdf5 -ldl -lm -lz ' which is wrong, it should have -lhdf5_hl in front of -lhdf5. And that wrong value for LIBS is also the cause of the fatal configure error you are seeing now configure:16847: error: Can't find or link to the hdf5 high-level. Use --disable-netcdf-4, or see config.log for errors. Here's something that should work for you that exports variables used by configure: # I guess you need this for intel C compiler? export LD_LIBRARY_PATH=/opt/intel_compiler/composer_xe_2015.1.133/compiler/lib/intel64 # These are just shortcuts for where things are installed, so we don't # have to keep repeating them H5DIR=/opt/home/george/libs/hdf5-1.8.13 ZDIR=/opt/home/george/libs/zlib-1.2.8 CURLDIR=/opt/home/george/libs/curl-7.26.0 NCDIR=/opt/home/george/libs/netcdf-4.3.3.1 # These are environment variables actually used by configure. Instead # of defining and exporting them here, we could just prepend these # definitions before invoking configure export CC=cc export CFLAGS="-mtune=native -m64" export LDFLAGS="-L${H5DIR}/lib -L${ZDIR}/lib -L${CURLDIR}/lib" export CPPFLAGS="-DNDEBUG -DpgiFortran -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -I${H5DIR}/include -I${ZDIR}/include -I${CURLDIR}/include" ## Builds netCDF C library, which must be installed before building netCDF Fortran library ## Since LDFLAGS and CPPFLAGS are exported, need not define them on same line as ## configure ## Don't need default settings such as --enable-netcdf-4 --enable-shared . ## Didn't need CURLDIR if you really want --disable-dap. ## Large file tests take a really long time, you can include after you get this working. ./configure --prefix=${NCDIR} > configme-4-4.log 2>&1 --Russ Russ Rew UCAR Unidata Program address@hidden http://www.unidata.ucar.edu Ticket Details =================== Ticket ID: VTI-484586 Department: Support netCDF Priority: Normal Status: Closed