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.
Richard, >Date: Tue, 8 Jul 2003 18:33:13 -0400 (EDT) >From: address@hidden >Organization: UCAR/Unidata >To: "Steve Emmerson" <address@hidden> >Subject: Re: 20030708: UDUNITS on UCAR's Blackforest IBM The above message contained the following: > The failure is with compiling my program which links to udunits/netcdf > libraries( ICBC.f). The program does not compile properly, and the error > message is(see below) is like there is a problem with linking the udunits > lib. > > > Compilation successful for file ICBC.f. > xlf90_r -o ICBC -b loadmap:paerm ICBC.o -L/ptmp/anyah/UNIT/ > -lnetcdf -ludunits > ld: 0711-317 ERROR: Undefined symbol: .utopen > ld: 0711-317 ERROR: Undefined symbol: .utmake > ld: 0711-317 ERROR: Undefined symbol: .utdec > ld: 0711-317 ERROR: Undefined symbol: .uttime > ld: 0711-317 ERROR: Undefined symbol: .utcaltime > ld: 0711-317 ERROR: Undefined symbol: .utfree > ********************************************** > On invoking the nm -g commands , I get the following: > > > *********************************************** > bf0911en$ nm -g ICBC.o |grep -i utopen > .utopen U - The above indicates that the ICBC module wasn't compiled with the "-qextname" option (if it was, then the global symbol would be ".utopen_" rather than ".utopen"). Because the netCDF Fortran routine names have an underscore suffix, the Fortran compilation of the ICBC must be told to append an underscore suffix to the global symbol names that it generates. Try recompiling the ICBC module with the "-qextname" option. Regards, Steve Emmerson