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.
> Hello all! > I am trying to build netcdf with the -enable-shared flag, as Scientific > Python's NetCDF module appears to insist on it. Oh, that is not good. Are you sure this is the case? It *requires* shared netCDF? > I never had problems with the installation until I swapped to a SuSE > 64bit Linux server (think it runs 9.3!). The 64-bit is the problem. > I am building everything fancy in a local user directory, and I'm using > the Intel ifort compiler. > (netcdf, ifort, python etc resides there, but for standard thinks like > gcc i'm using the global installation) > The problem now is, that netcdf configures fine using > > ./configure --prefix=/data/gis/fhebeler/linux --disable-cxx --enable-shared > > (the c++ is giving me troubles, so i disabled it and used the > precompiled version from your website) Our website only has static prebuilt libraries. But probably Scientific Python only uses the C API, and you can build with --disable-f77 --disable-cxx to turn off all Fortran and C++ stuff. > > When I try to make it, it bails out here: > > /usr/lib64/gcc-lib/x86_64-suse-linux/3.3.3/../../../../x86_64-suse-linux/bin/ld: > ../f90/.libs/libnetcdff90.a(netcdf.o): relocation R_X86_64_32 can not be > used when making a shared object; recompile with -fPIC > ../f90/.libs/libnetcdff90.a(netcdf.o): could not read symbols: Bad value > collect2: ld returned 1 exit status > make[3]: *** [libnetcdff.la] Error 1 > make[3]: Leaving directory > `/raid/gis/fhebeler/downloads/netcdf/netcdf-3.6.2/fortran' > make[2]: *** [all] Error 2 > make[2]: Leaving directory > `/raid/gis/fhebeler/downloads/netcdf/netcdf-3.6.2/fortran' > make[1]: *** [all-recursive] Error 1 > make[1]: Leaving directory > `/raid/gis/fhebeler/downloads/netcdf/netcdf-3.6.2' > make: *** [all] Error 2 This saying that libtool and your compiler are having a problem building shared fortran libraries on your system. Possibly there is a set of flags which could make it work, but it would be easier to just turn off the fortran libraries if you don't need them. > > > I've tried a couple of flags, such as > setenv CPPFLAGS "-fPIC -DpgiFortran" > (which it seems to ignore) > > But honestly, I'm stuck. Any ideas from your side? > Attached is the config file... > > Cheers & Thanks > Felix > If you need the shared fortran library, let me know, otherwise build without it and see if that works. Thanks, Ed Ticket Details =================== Ticket ID: RWK-638692 Department: Support netCDF Priority: Normal Status: Closed