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.
Barry, >Date: Thu, 10 Apr 2003 09:23:41 -0600 >From: Barry McInnes <address@hidden> >Organization: NOAA >To: Steve Emmerson <address@hidden> >Subject: Re: 20030409:udunits.so and perl 5.8 The above message contained the following: > Hi Steve, > did you use Sun cc compiler ? What version. My first try was with gcc on both > ? > Any more details appreciated, > thanks barry In general, if you want to build the Perl interface of the UDUNITS package, the you should use the same compiler to build the UDUNITS package that was used to build the perl package. You can see what what compiler was used to build the perl package via the command "perl -V". Here are the details of my build-and-test in the form of a session-log: $ echo $SHELL /opt/gnu/bin/bash $ uname -a SunOS gilda.unidata.ucar.edu 5.8 Generic_108528-19 sun4u sparc SUNW,Sun-Blade-1000 $ pwd /tmp/udunits-1.11.7/src $ CC=/opt/SUNWspro/bin/cc PERL=/opt/perl5.8/bin/perl ./configure &>configure.log # file attached $ cc -V cc: Sun WorkShop 6 update 2 C 5.3 2001/05/15 usage: cc [ options] files. Use 'cc -flags' for details $ /usr/ccs/bin/make &>make.log # file attached $ /usr/ccs/bin/make test &>test.log # file attached Regards, Steve Emmerson
creating cache ./config.cache checking type of operating system... sunos5 checking for catman... catman checking for manual-page index command... catman -w -M $(MANDIR) checking for C compiler... /opt/SUNWspro/bin/cc checking for dependency generation mechanism... /opt/SUNWspro/bin/cc -xM checking how to run the C preprocessor... /opt/SUNWspro/bin/cc -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/sunos_5.8-sparc checking the installation prefix... /tmp/udunits-1.11.7 checking the installation exec-prefix... /tmp/udunits-1.11.7 checking for neqn... neqn checking for tbl... tbl checking for ar... (cached) ar checking for yacc library... checking for yyerror() in default library(s)... no checking for yyerror() in -ly... yes checking for C math library... checking for (void)sin(0.0) in default library(s)... no checking for (void)sin(0.0) in -lm... yes checking style for cfortran.h... Standard 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 for float.h... yes checking for stdlib.h... 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... 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 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 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 utility... /opt/perl5.8/bin/perl checking for type of perl executable to create... dynamic checking for position-independent compilation flags... '' updating cache ./config.cache creating ./config.status creating Makefile creating lib/Makefile creating udunits/Makefile creating perl/Makefile.PL creating port/master.mk creating port/Makefile creating port/misc/Makefile creating port/cfortran/Makefile creating port/misc/udposix.h creating port/misc/stdarg.h creating port/misc/stddef.h creating port/misc/stdlib.h creating port/misc/string.h creating port/misc/time.h creating port/misc/limits.h creating port/misc/search.h expanding `include's in file `Makefile' expanding `include's in file `lib/Makefile' 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'
making `all' in directory /tmp/udunits-1.11.7/src/port making `all' in directory /tmp/udunits-1.11.7/src/port/misc /opt/SUNWspro/bin/cc -c -O -I. -D_REENTRANT uddummy.c ar rcuv libudport.a uddummy.o a - uddummy.o case "" in \ '') ;; \ *) ar rucv libudport.a ;; \ esac ranlib libudport.a `all' is updated. returning to directory /tmp/udunits-1.11.7/src/port making `all' in directory /tmp/udunits-1.11.7/src/port/cfortran returning to directory /tmp/udunits-1.11.7/src/port `all' is updated. returning to directory /tmp/udunits-1.11.7/src making `all' in directory /tmp/udunits-1.11.7/src/lib ln -s ../port/misc/udalloc.c . ln -s ../port/misc/udalloc.h . /opt/SUNWspro/bin/cc -c -O -I../port/misc -I../port/cfortran -DUT_DEFAULT_PATH='"/tmp/udunits-1.11.7/etc/udunits.dat"' utlib.c /opt/SUNWspro/bin/cc -c -O -I../port/misc -I../port/cfortran -DUT_DEFAULT_PATH='"/tmp/udunits-1.11.7/etc/udunits.dat"' utparse.c /opt/SUNWspro/bin/cc -c -O -I../port/misc -I../port/cfortran -DUT_DEFAULT_PATH='"/tmp/udunits-1.11.7/etc/udunits.dat"' utscan.c /opt/SUNWspro/bin/cc -c -O -I../port/misc -I../port/cfortran -DUT_DEFAULT_PATH='"/tmp/udunits-1.11.7/etc/udunits.dat"' 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 `all' is updated. returning to directory /tmp/udunits-1.11.7/src making `all' in directory /tmp/udunits-1.11.7/src/udunits /opt/SUNWspro/bin/cc -c -O -I../lib -I../port/misc udunits.c /opt/SUNWspro/bin/cc -o udunits -O udunits.o -R/tmp/udunits-1.11.7/src/lib -L/tmp/udunits-1.11.7/src/lib -ludunits -R/tmp/udunits-1.11.7/src/port/misc -L/tmp/udunits-1.11.7/src/port/misc -ludport -ly -lm `all' is updated. returning to directory /tmp/udunits-1.11.7/src cd perl && /opt/perl5.8/bin/perl Makefile.PL WARNING: CC is not a known parameter. Checking if your kit is complete... Looks good Warning: -L../lib changed to -L/tmp/udunits-1.11.7/src/perl/../lib Writing Makefile for UDUNITS making `dynamic' in directory /tmp/udunits-1.11.7/src/perl /opt/perl5.8/bin/perl /opt/perl5.8/lib/5.8.0/ExtUtils/xsubpp -typemap /opt/perl5.8/lib/5.8.0/ExtUtils/typemap -typemap typemap UDUNITS.xs > UDUNITS.xsc && mv UDUNITS.xsc UDUNITS.c Please specify prototyping behavior for UDUNITS.xs (see perlxs manual) /opt/SUNWspro/bin/cc -c -I../lib -I../port/misc -DDEBUGGING -I/usr/local/include -I/opt/gnu/include -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -g -DVERSION=\"1.11.7\" -DXS_VERSION=\"1.11.7\" -KPIC "-I/opt/perl5.8/lib/5.8.0/sun4-solaris/CORE" UDUNITS.c Running Mkbootstrap for UDUNITS () chmod 644 UDUNITS.bs rm -f blib/arch/auto/UDUNITS/UDUNITS.so LD_RUN_PATH="/tmp/udunits-1.11.7/src/perl/../lib:/usr/lib" /opt/SUNWspro/bin/cc -G -L/usr/local/lib -L/opt/gnu/lib -L/opt/SUNWspro/WS6U2/lib UDUNITS.o -o blib/arch/auto/UDUNITS/UDUNITS.so -L/tmp/udunits-1.11.7/src/perl/../lib -ludunits -lm chmod 755 blib/arch/auto/UDUNITS/UDUNITS.so cp UDUNITS.bs blib/arch/auto/UDUNITS/UDUNITS.bs chmod 644 blib/arch/auto/UDUNITS/UDUNITS.bs returning to directory /tmp/udunits-1.11.7/src `all' is updated.
making `test' in directory /tmp/udunits-1.11.7/src/udunits `udunits' is updated. ./udunits ../lib/udunits.dat <test.in | sed 's/\.00* UTC/.00 UTC/' \ >test.out Success! returning to directory /tmp/udunits-1.11.7/src making `dynamic' in directory /tmp/udunits-1.11.7/src/perl returning to directory /tmp/udunits-1.11.7/src making `test' in directory /tmp/udunits-1.11.7/src/perl PERL_DL_NONLAZY=1 /opt/perl5.8/bin/perl "-Iblib/lib" "-Iblib/arch" test.pl Initializing units module......................ok Getting blank unit.............................ok Verifying blank unit...........................ok Scanning ratio units...........................ok Verifying ratio unit...........................ok Converting ratio units.........................ok Scanning temporal unit.........................ok Verifying temporal unit........................ok Printing temporal unit.........................ok Converting value to calendar time..............ok Converting calendar time to value..............ok Scanning interval units........................ok Verifying interval unit........................ok Converting interval units......................ok Verifying clear()..............................ok Verifying shift()..............................ok Verifying scale()..............................ok Verifying multiply()...........................ok Verifying invert().............................ok Verifying divide().............................ok Verifying raise()..............................ok Verifying dup()................................ok Verifying UDUNITS::dup().......................ok Terminating units module.......................ok returning to directory /tmp/udunits-1.11.7/src `test' is updated.