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 Sourish, You do not say, but I suspect that libnetcdf was not built with a parallel/openmpi compiler. I am not familiar with the intel fortran compiler, but I do not see anything in how you configured netcdf-fortran to suggest that it is being built with a parallel compiler, either. My suggestion would be to rebuild netcdf-c with parallel functionality; you would then rebuild netcdf-fortran and link that against the parallel libnetcdf. Instructions for building parallel netcdf may be found here: * http://www.unidata.ucar.edu/software/netcdf/docs/getting_and_building_netcdf.html#build_parallel I hope this helps! -Ward > > > > Hello, > > I'm trying to use netcdf fortran library 4.4.2 in a fortran 90 > program. I compiled the netcdf fortran library (and the netcdf C > library 4.3.3.1) with the intel fortran compiler (ifort). During the > configure step of the netcdf fortran library, I used the following > command line: > > ./configure --prefix=/u/sbasu1/packages/netcdf-fortran/4.4.2 > --enable-f03 CC=icc FC=ifort F77=ifort CFLAGS='-m64 -O3 -xSSE4.2 > -fPIC -ftz -fp-model strict -g' FFLAGS='-m64 -O3 -xSSE4.2 -fPIC -ftz > -fp-model strict -g' FCFLAGS='-m64 -O3 -xSSE4.2 -fPIC -ftz -fp-model > strict -g' CPPFLAGS='-I/u/sbasu1/packages/netcdf-c/4.3.3.1/include' > LDFLAGS='-L/u/sbasu1/packages/netcdf-c/4.3.3.1/lib' > > Now, if I compile my main program (the one that's using the netcdf > fortran functions) without openmp, everything works fine. If, > however, I compile my main program with openmp (by specifying > '-openmp' to ifort), my code segfaults right at the beginning, > before even getting to the first executable statement in the code > (and certainly before reaching the first call to a netcdf function). > It dumps a core, and if I use the core to try and figure out where > the segfault happened, I get: > > $ gdb tm5-var4d.x core.95085 > GNU gdb (GDB) SUSE (7.5.1-0.7.29) > Copyright (C) 2012 Free Software Foundation, Inc. > License GPLv3+: GNU GPL version 3 or later > <http://gnu.org/licenses/gpl.html> > This is free software: you are free to change and > redistribute it. > There is NO WARRANTY, to the extent permitted by law. Type > "show copying" > and "show warranty" for details. > This GDB was configured as "x86_64-suse-linux". > For bug reporting instructions, please see: > <http://www.gnu.org/software/gdb/bugs/>... > Reading symbols from > /nobackupp2/sbasu1/var4d/CO2/glb3x2/ei/tropo25/tm5-var4d.x...done. > ... > ... > Core was generated by `./tm5-var4d.x > insitu/output/2014060100-2014070100/forward_001.rc'. > Program terminated with signal 11, Segmentation fault. > #0 0x0000000000d1dfb4 in init_resource () > (gdb) where > #0 0x0000000000d1dfb4 in init_resource () > #1 0x0000000000d1df1a in reentrancy_init () > #2 0x0000000000d1de38 in for__reentrancy_init () > #3 0x00007ffe3bbc7a15 in for_rtl_init_ () from > /u/sbasu1/packages/netcdf-fortran/4.4.2/lib/libnetcdff.so.6 > #4 0x000000000041a179 in main () > > i.e., it happened in libnetcdff.so.6. What does this mean and how > can I fix this? > > Thanks, > Sourish > > > > -- > > > Sourish Basu > National Oceanic and Atmospheric Administration > Global Monitoring Division > 325 Broadway St, R/GMD > Boulder, CO 80305, USA > Phone: +1 303 497 6650 > Fax: +1 303 497 6290 > > > > > > > Ticket Details =================== Ticket ID: IEC-876213 Department: Support netCDF Priority: Normal Status: Closed