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.
Sebastien, > To: address@hidden > cc: Sebastien THEETTEN <address@hidden> > From: Sebastien THEETTEN <address@hidden> > Subject: Pbm in building netcdf lib using intel ifort > Organization: IFREMER > Keywords: 200403111016.i2BAGvrV024118 The above message contained the following: > I am having problems building the NetCDF library version 3.5.1 > withIntel "ifort" 8.0 compiler. > > I follow this procedure : > > 1. Go to the top-level source directory. > > 2. setting the environment variables : > setenv CC gcc > setenv CPPFLAGS "-DNDEBUG -DpgiFortran" > setenv CFLAGS -O > setenv FC ifort > setenv F90 ifort > setenv FLIBS "-Vaxlib" > setenv FFLAGS "-O -mp -dynamic-libcxa -cm -w95" The above settings worked for Hernan G. Arango, whose email exchange with us can be seen at http://www.unidata.ucar.edu/glimpsedocs/ghnetcdf.html by searching for 200403031657.i23GvurV004025 > 3. Execute the configure script. Redirect its standard output > and standard error to the file "configure.log" > ./configure > & configure.log > > 4. Execute the command "make install". Redirect its standard output > and standard > error to the file "install.log". > make install >& install.log > > > > A. uname -a > > Linux kaaba 2.4.20-8smp #1 SMP Thu Mar 13 17:45:54 EST 2003 i686 i686 > i386 GNU/Linux > > B. file VERSION > 3.5.1 > > C. The file "macros.make" > See attached file > > D. The absolute pathnames of all compilers > [theetten@kaaba ~]$ which ifort > /opt/intel_fc_80/bin/ifort > [theetten@kaaba ~]$ which gcc > /usr/bin/gcc > [theetten@kaaba ~]$ which c++ > /usr/bin/c++ > > E. The file "configure.log" > See attached file The file "configure.log" indicated that there was no C type equivalent to a Fortran "byte": > checking if Fortran "byte" is C "signed char"... no > checking if Fortran "byte" is C "short"... no > checking if Fortran "byte" is C "int"... no > checking if Fortran "byte" is C "long"... no This is bad because it means that the Fortran netCDF interface will not be able to use the netCDF library (which is implemented in C). The reason the "configure" script couldn't find an equivalent type is in the file "config.log": > configure:1922: checking if Fortran "byte" is C "signed char" > configure:1931: gcc -c -DNDEBUG -DpgiFortran -O conftest.c > configure:1933: ifort -O -mp -dynamic-libcxa -cm -w95 -c conftestf.f > ifort: Command line warning: ignoring option '-dy'; no argument required > configure:1935: ifort -o conftest -O -mp -dynamic-libcxa -cm -w95 > conftestf.o conftest.o -Vaxlib > ifort: Command line warning: ignoring option '-dy'; no argument required > configure:1937: ./conftest > ./conftest: error while loading shared libraries: libcxa.so.5: cannot open > shared object file: No such file or directory It appears that your ifort(1) compiler doesn't understand the "-dynamic-libcxa" option. This is odd because that option did work for Hernan. What version is your ifort(1) compiler? Could it be older or newer than the one that Hernan used? According to the ifort(1) documentation, is there a substitute option for "-dynamic-libcxa"? If so, then you should reattempt building after executing a "make distclean". Apparently, ifort(1) couldn't load library "libcxa.so.5". Should this library exist? If so, why doesn't it? Can you bring these matters to the attention of the system administrator for your system? Regards, Steve Emmerson