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.
Mark, Interesting. Looks like your C runtime library is missing the math functions. Try this: 1. Go to the top-level source-directory. 2. Set the variable LIBS in the file CUSTOMIZE to "-lm" to reference the math library. 3. Execute the command "make distclean", then the configure script, then "make", then "make install", etc. Regards, Steve Emmerson ------- Original Message Date: Wed, 16 Nov 2005 10:58:31 -0700 From: Mark Seefeldt <address@hidden>To: Steve Emmerson <ste address@hidden> Subject: Re: 20051114: netcdf-perl-1.2.3 This is a multi-part message in MIME format. --------------080601070606020102030900 Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit Steve Emmerson wrote: >> I am doing the installation using sudo, which seems to not behave as >> well with multiple commands on a single line. > > Must be a non-standard user-shell. No, I think it is a standard user-shell, which means it might be a non-standard user. > Looks like your compiler needs help. > > Instead of c89(1), try gcc(1): modify CC in CUSTOMIZE, do a "make > distclean", and reattempt the build. I changed the CC in CUSTOMIZE. Did a "make distclean", then "./configure", and finally "make". At that point I noticed another error in the make.log. I have attached the log files. Thanks Mark --------------080601070606020102030900 Content-Type: text/x-log; name="configure.log" Content-Transfer-Encoding: 7bit Content-Disposition: inline; filename="configure.log" checking for manual-page index command... checking for C compiler... gcc checking type of operating system... linux checking for dependency generation mechanism... gcc -M checking for gcc... gcc checking for C compiler default output file name... a.out checking whether the C compiler works... yes checking whether we are cross compiling... no checking for suffix of executables... checking for suffix of object files... o checking whether we are using the GNU C compiler... yes checking whether gcc accepts -g... yes checking for gcc option to accept ANSI C... none needed checking how to run the C preprocessor... gcc -E checking the C preprocessor... works checking for C const... yes checking for C volatile... yes checking for C signed... yes checking for C function prototypes... yes checking for standard C variadic functions... yes checking for standard C string generation... yes checking for standard C token pasting... yes checking C void pointer... yes checking for ar... ar checking for tar flags... -chof checking for ranlib... ranlib checking binary distribution directory... /home/ftp/pub/binary/dummy_system checking the installation prefix... /usr/local/udunits-1.12.4 checking the installation exec-prefix... /usr/local/udunits-1.12.4 checking for neqn... neqn checking for tbl... tbl checking for ar... (cached) ar checking for C math library... checking for return sin(0.0) != 0 in default library(s)... yes checking style for cfortran.h... Standard checking for Fortran integer type equivalent to C pointer... integer*4 checking for egrep... grep -E checking for ANSI C header files... yes checking for sys/types.h... yes checking for sys/stat.h... yes checking for stdlib.h... yes checking for string.h... yes checking for memory.h... yes checking for strings.h... yes checking for inttypes.h... yes checking for stdint.h... yes checking for unistd.h... yes checking stddef.h usability... yes checking stddef.h presence... yes checking for stddef.h... yes checking C header file <stddef.h> for typedef size_t... declared checking for stddef.h... (cached) yes checking C header file <stddef.h> for typedef ptrdiff_t... declared checking float.h usability... yes checking float.h presence... yes checking for float.h... yes checking for stdlib.h... (cached) yes checking C header file <stdlib.h> for typedef size_t... declared checking for atexit... yes checking for stdlib.h... (cached) yes checking C header file <stdlib.h> for function atexit()... declared checking for getenv... yes checking for stdlib.h... (cached) yes checking C header file <stdlib.h> for function getenv()... declared checking for string.h... (cached) yes checking C header file <string.h> for typedef size_t... declared checking for strerror... yes checking for string.h... (cached) yes checking C header file <string.h> for function strerror()... declared checking for string.h... (cached) yes checking C header file <string.h> for function strchr()... declared checking for string.h... (cached) yes checking C header file <string.h> for function strcpy()... declared checking for string.h... (cached) yes checking C header file <string.h> for function strrchr()... declared checking for string.h... (cached) yes checking C header file <string.h> for function strncpy()... declared checking for string.h... (cached) yes checking C header file <string.h> for function strtok()... declared checking for strstr... yes checking for string.h... (cached) yes checking C header file <string.h> for function strstr()... declared checking for memmove... yes checking for string.h... (cached) yes checking C header file <string.h> for function memmove()... declared checking time.h usability... yes checking time.h presence... yes checking for time.h... yes checking C header file <time.h> for typedef time_t... declared checking for time.h... (cached) yes checking C header file <time.h> for typedef size_t... declared checking for difftime... yes checking for time.h... (cached) yes checking C header file <time.h> for function difftime()... declared checking for strftime... yes checking for time.h... (cached) yes checking C header file <time.h> for function strftime()... declared checking search.h usability... yes checking search.h presence... yes checking for search.h... yes checking C header file <search.h> for typedef ENTRY... declared checking for search.h... (cached) yes checking C header file <search.h> for typedef ACTION... declared checking for search.h... (cached) yes checking C header file <search.h> for typedef VISIT... declared checking for tsearch... yes checking for search.h... (cached) yes checking C header file <search.h> for function tsearch()... declared checking for tfind... yes checking for search.h... (cached) yes checking C header file <search.h> for function tfind()... declared checking for tdelete... yes checking for search.h... (cached) yes checking C header file <search.h> for function tdelete()... declared checking for twalk... yes checking for search.h... (cached) yes checking C header file <search.h> for function twalk()... declared checking for perl... perl checking for type of perl executable to create... dynamic checking for position-independent compilation flags... '' configure: creating ./config.status config.status: creating Makefile config.status: creating lib/Makefile config.status: creating lib/udunits.inc config.status: creating udunits/Makefile config.status: creating perl/Makefile.PL config.status: creating port/master.mk config.status: creating port/Makefile config.status: creating port/misc/Makefile config.status: creating port/cfortran/Makefile config.status: creating port/misc/udposix.h config.status: executing default commands expanding `include's in file `Makefile' expanding `include's in file `lib/Makefile' expanding `include's in file `lib/udunits.inc' expanding `include's in file `udunits/Makefile' expanding `include's in file `perl/Makefile.PL' expanding `include's in file `port/master.mk' expanding `include's in file `port/Makefile' expanding `include's in file `port/misc/Makefile' expanding `include's in file `port/cfortran/Makefile' --------------080601070606020102030900 Content-Type: text/plain; name="CUSTOMIZE" Content-Transfer-Encoding: 7bit Content-Disposition: inline; filename="CUSTOMIZE" # This file is for customizing the configuation process performed by # `./configure'. This file consists of sh(1) variable-definition lines. # The value given to those variable by this file will override their default # values. # # You can also customize the configuration process via the environment # variables seen by ./configure. For example: # # In csh(1): # % setenv CC acc # & setenv CFLAGS -g # % ./configure # # In sh(1): # $ CC=acc CFLAGS=-g ./configure # # Variables in this file override the environmental ones. # ############################################################################# # # Type of C compiler (default is `cc'): # CC='gcc' CC=gcc # # C compiler flags (default is `-O'): # CFLAGS=-g CFLAGS=-O2 # # C preprocessor flags (default is `-DNDEBUG'): # CPPFLAGS=-DDEBUG CPPFLAGS=-DpgiFortran # # Installation prefix (default is `../..'): # prefix=/usr/local/unidata # # Ancillary libraries. SunOS 4 user's might need something like the # following in order to resolve strerror() in the perl/ subdirectory. # LIBS='-L/usr/lang/SC3.0.1/lib -lansi' --------------080601070606020102030900 Content-Type: text/x-log; name="make.log" Content-Transfer-Encoding: 7bit Content-Disposition: inline; filename="make.log" making `all' in directory /usr/local/udunits-1.12.4/src/port make[1]: Entering directory `/usr/local/udunits-1.12.4/src/port' making `all' in directory /usr/local/udunits-1.12.4/src/port/misc make[2]: Entering directory `/usr/local/udunits-1.12.4/src/port/misc' gcc -c -O2 -I. -D_REENTRANT -DpgiFortran uddummy.c ar rcuv libudport.a uddummy.o a - uddummy.o case "" in \ '') ;; \ *) ar rucv libudport.a ;; \ esac ranlib libudport.a make[2]: Leaving directory `/usr/local/udunits-1.12.4/src/port/misc' returning to directory /usr/local/udunits-1.12.4/src/port making `all' in directory /usr/local/udunits-1.12.4/src/port/cfortran make[2]: Entering directory `/usr/local/udunits-1.12.4/src/port/cfortran' make[2]: Nothing to be done for `all'. make[2]: Leaving directory `/usr/local/udunits-1.12.4/src/port/cfortran' returning to directory /usr/local/udunits-1.12.4/src/port make[1]: Leaving directory `/usr/local/udunits-1.12.4/src/port' returning to directory /usr/local/udunits-1.12.4/src making `all' in directory /usr/local/udunits-1.12.4/src/lib make[1]: Entering directory `/usr/local/udunits-1.12.4/src/lib' ln -s ../port/misc/udalloc.c . ln -s ../port/misc/udalloc.h . gcc -c -O2 -I../port/misc -I../port/cfortran -DUT_DEFAULT_PATH='"/usr/local/udu nits-1.12.4/etc/udunits.dat"' -DpgiFortran utlib.c In file included from utlib.c:1127: utlib.c: In function `utInit': utlib.c:1051: warning: passing arg 1 of `ReadUnits' discards qualifiers from po inter target type gcc -c -O2 -I../port/misc -I../port/cfortran -DUT_DEFAULT_PATH='"/usr/local/udu nits-1.12.4/etc/udunits.dat"' -DpgiFortran utparse.c gcc -c -O2 -I../port/misc -I../port/cfortran -DUT_DEFAULT_PATH='"/usr/local/udu nits-1.12.4/etc/udunits.dat"' -DpgiFortran utscan.c gcc -c -O2 -I../port/misc -I../port/cfortran -DUT_DEFAULT_PATH='"/usr/local/udu nits-1.12.4/etc/udunits.dat"' -DpgiFortran udalloc.c ar rcuv libudunits.a utlib.o utparse.o utscan.o udalloc.o a - utlib.o a - utparse.o a - utscan.o a - udalloc.o case "" in \ '') ;; \ *) ar rucv libudunits.a ;; \ esac ranlib libudunits.a make[1]: Leaving directory `/usr/local/udunits-1.12.4/src/lib' returning to directory /usr/local/udunits-1.12.4/src making `all' in directory /usr/local/udunits-1.12.4/src/udunits make[1]: Entering directory `/usr/local/udunits-1.12.4/src/udunits' make[2]: Entering directory `/usr/local/udunits-1.12.4/src/udunits' gcc -c -O2 -I../lib -I../port/misc -DpgiFortran udunits.c gcc -o udunits -O2 udunits.o -L/usr/local/udunits-1.12.4/src/lib -ludunits -L/u sr/local/udunits-1.12.4/src/port/misc -ludport /usr/local/udunits-1.12.4/src/lib/libudunits.a(utlib.o)(.text+0x438): In functi on `dectime': : undefined reference to `fmod' /usr/local/udunits-1.12.4/src/lib/libudunits.a(utlib.o)(.text+0xb2b): In functi on `utRaise': : undefined reference to `pow' /usr/local/udunits-1.12.4/src/lib/libudunits.a(utlib.o)(.text+0xf69): In functi on `utPrint': : undefined reference to `log10' collect2: ld returned 1 exit status make[2]: *** [udunits] Error 1 make[2]: Leaving directory `/usr/local/udunits-1.12.4/src/udunits' make[1]: *** [program] Error 2 make[1]: Leaving directory `/usr/local/udunits-1.12.4/src/udunits' make: *** [udunits/all] Error 1 --------------080601070606020102030900-- ------- End of Original Message