[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

20030409:udunits.so and perl 5.8



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.