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.
Xunqiang Bi, >Date: Tue, 27 Jul 1999 10:23:21 +0200 (MET DST) >From: BI XUNQIANG <address@hidden> >Organization: Abdus Salam International Centre for Theoretical Physics >To: Steve Emmerson <address@hidden> >Subject: Re: 19990726: installation: udunits-1.11.7: cc vs. gcc >Keywords: 199907261402.IAA21347 In the above message, you wrote: > As I try to install UDUNITS with PERL extension, the error message is > attached as scheme1 at "make test" and "make install" step. Need I have > root account to install it ? You will probably need to be root in order to install the perl extension module for UDUNITS. But the output you sent indicated another problem (see below) so I wouldn't install it just yet. ... > Script started on Tue Jul 27 10:12:44 1999 > spclima7:1> cd /DATA/bixq/udunits-1.11.7/src > /DATA/bixq/udunits-1.11.7/src > spclima7:2> make distclean > make: *** No rule to make target `distclean'. Stop. > spclima7:3> ls > COPYRIGHT ORIGIN aclocal.m4 perl/ > CUSTOMIZE README configure* port/ > INSTALL RELEASE_NOTES configure.in typescript > Makefile.in VERSION lib/ udunits/ > spclima7:4> env > DISPLAY=:0.0 > GADDIR=/usr/local/lib/grads > GAUDFT=/usr/local/lib/grads/udf/regrid2/udft.regrid2 > GNUHELP=/opt/local/lib/gnuplot.gih > HELPPATH=/usr/openwin/lib/locale:/usr/openwin/lib/help > HOME=/home/bixq > HZ=100 > INFOPATH=/opt/gnu/info > LANG=C > LD_LIBRARY_PATH=/usr/local/lib:/usr/local/lib/fl90_modules:/usr/openwin/lib:/lib:/usr/lib:/usr/ccs/lib > LM_LICENSE_FILE=/opt/flexlm/licenses/EPC.dir/license.dat > LOGINDONE=true > LOGNAME=bixq > MAIL=/var/spool/mail/bixq > MANPATH=/usr/openwin/share/man:/usr/local/man:/usr/man:/usr/openwin/man > NNTPSERVER=news > NOSUNVIEW=0 > OPENWINHOME=/usr/openwin > PATH=.:/usr/local/bin:/usr/ucb:/usr/ccs/bin:/usr/bin:/bin:/usr/openwin/bin > PRINTER=ggh1 > PWD=/DATA/bixq/udunits-1.11.7/src > SHELL=/bin/csh > SPELL=/opt/scripts/spell > TERM=xterm > TETEXDIR=/opt/TeX/teTeX > TTY=/dev/console > TZ=MET > USER=bixq > XFILESEARCHPATH=/usr/openwin/lib/locale/%L/%T/%N%S:/usr/openwin/lib/%T/%N%S:/opt/local/lib/%T/%N%S > XINITRC=/usr/local/lib/X11/Xinitrc > WINDOWID=79691789 > spclima7:5> uname -a > SunOS spclima7 5.6 Generic_105181-11 sun4u sparc SUNW,Ultra-5_10 > spclima7:6> setenv CC gcc > spclima7:7> setenv CFLAGS "-fpic" > spclima7:8> ./configure > 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... gcc > checking for dependency generation mechanism... gcc -M > 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... ./configure: system: not found > /home/ftp/pub/binary/dummy_system > checking the installation prefix... /DATA/bixq/udunits-1.11.7 > checking the installation exec-prefix... /DATA/bixq/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()... undeclared > 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... 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' > spclima7:9> make > > making `all' in directory /DATA/bixq/udunits-1.11.7/src/port > > make[1]: Entering directory `/DATA/bixq/udunits-1.11.7/src/port' > > making `all' in directory /DATA/bixq/udunits-1.11.7/src/port/misc > > make[2]: Entering directory `/DATA/bixq/udunits-1.11.7/src/port/misc' > gcc -c -fpic -I. -D_REENTRANT 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 `/DATA/bixq/udunits-1.11.7/src/port/misc' > > returning to directory /DATA/bixq/udunits-1.11.7/src/port > > > making `all' in directory /DATA/bixq/udunits-1.11.7/src/port/cfortran > > make[2]: Entering directory `/DATA/bixq/udunits-1.11.7/src/port/cfortran' > make[2]: Nothing to be done for `all'. > make[2]: Leaving directory `/DATA/bixq/udunits-1.11.7/src/port/cfortran' > > returning to directory /DATA/bixq/udunits-1.11.7/src/port > > make[1]: Leaving directory `/DATA/bixq/udunits-1.11.7/src/port' > > returning to directory /DATA/bixq/udunits-1.11.7/src > > > making `all' in directory /DATA/bixq/udunits-1.11.7/src/lib > > make[1]: Entering directory `/DATA/bixq/udunits-1.11.7/src/lib' > ln -s ../port/misc/udalloc.c . > ln -s ../port/misc/udalloc.h . > gcc -c -fpic -I../port/misc -I../port/cfortran > -DUT_DEFAULT_PATH='"/DATA/bixq/udunits-1.11.7/etc/udunits.dat"' utlib.c > gcc -c -fpic -I../port/misc -I../port/cfortran > -DUT_DEFAULT_PATH='"/DATA/bixq/udunits-1.11.7/etc/udunits.dat"' utparse.c > gcc -c -fpic -I../port/misc -I../port/cfortran > -DUT_DEFAULT_PATH='"/DATA/bixq/udunits-1.11.7/etc/udunits.dat"' utscan.c > gcc -c -fpic -I../port/misc -I../port/cfortran > -DUT_DEFAULT_PATH='"/DATA/bixq/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 > make[1]: Leaving directory `/DATA/bixq/udunits-1.11.7/src/lib' > > returning to directory /DATA/bixq/udunits-1.11.7/src > > > making `all' in directory /DATA/bixq/udunits-1.11.7/src/udunits > > make[1]: Entering directory `/DATA/bixq/udunits-1.11.7/src/udunits' > make[2]: Entering directory `/DATA/bixq/udunits-1.11.7/src/udunits' > gcc -c -fpic -I../lib -I../port/misc udunits.c > gcc -o udunits -fpic udunits.o -R/DATA/bixq/udunits-1.11.7/src/lib > -L/DATA/bixq/udunits-1.11.7/src/lib -ludunits > -R/DATA/bixq/udunits-1.11.7/src/port/misc > -L/DATA/bixq/udunits-1.11.7/src/port/misc -ludport -ly -lm > make[2]: Leaving directory `/DATA/bixq/udunits-1.11.7/src/udunits' > make[1]: Leaving directory `/DATA/bixq/udunits-1.11.7/src/udunits' > > returning to directory /DATA/bixq/udunits-1.11.7/src > > cd perl && perl Makefile.PL > Checking if your kit is complete... > Looks good > Warning: -L../lib changed to -L/DATA/bixq/udunits-1.11.7/src/perl/../lib > Writing Makefile for UDUNITS > > making `dynamic' in directory /DATA/bixq/udunits-1.11.7/src/perl > > make[1]: Entering directory `/DATA/bixq/udunits-1.11.7/src/perl' > /usr/local/bin/perl -I/opt/perl/lib/sun4-solaris/5.00403 -I/opt/perl/lib > /opt/perl/lib/ExtUtils/xsubpp -typemap /opt/perl/lib/ExtUtils/typemap > -typemap typemap UDUNITS.xs >UDUNITS.tc && mv UDUNITS.tc UDUNITS.c > Please specify prototyping behavior for UDUNITS.xs (see perlxs manual) > gcc -c -I../lib -I../port/misc -I/usr/local/include -I/opt/gnu/include -O > -DVERSION=\"1.11.7\" -DXS_VERSION=\"1.11.7\" -fpic > -I/opt/perl/lib/sun4-solaris/5.00403/CORE UDUNITS.c > mkdir ./blib > mkdir ./blib/arch > mkdir ./blib/arch/auto > mkdir ./blib/arch/auto/UDUNITS > Running Mkbootstrap for UDUNITS () > chmod 644 UDUNITS.bs > LD_RUN_PATH="/DATA/bixq/udunits-1.11.7/src/perl/../lib:/usr/local/lib" gcc -o > blib/arch/auto/UDUNITS/UDUNITS.so -R/DATA/bixq/udunits-1.11.7/src/perl/../lib > -R/usr/local/lib -shared -L/usr/local/lib -L/opt/gnu/lib UDUNITS.o > -L/DATA/bixq/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 > make[1]: Leaving directory `/DATA/bixq/udunits-1.11.7/src/perl' > > returning to directory /DATA/bixq/udunits-1.11.7/src That's better. > spclima7:10> make test > ... > > making `test' in directory /DATA/bixq/udunits-1.11.7/src/perl > > make[2]: Entering directory `/DATA/bixq/udunits-1.11.7/src/perl' > mkdir ./blib/lib > mkdir ./blib/lib/auto > mkdir ./blib/lib/auto/UDUNITS > cp UDUNITS.pm ./blib/lib/UDUNITS.pm > AutoSplitting UDUNITS (./blib/lib/auto/UDUNITS) > PERL_DL_NONLAZY=1 /usr/local/bin/perl -I./blib/arch -I./blib/lib > -I/opt/perl/lib/sun4-solaris/5.00403 -I/opt/perl/lib test.pl > Can't load './blib/arch/auto/UDUNITS/UDUNITS.so' for module UDUNITS: ld.so.1: > /usr/local/bin/perl: fatal: relocation error: file > ./blib/arch/auto/UDUNITS/UDUNITS.so: symbol __eprintf: referenced symbol not > found at /opt/perl/lib/sun4-solaris/5.00403/DynaLoader.pm line 155. > > at test.pl line 4 > BEGIN failed--compilation aborted at test.pl line 4. > make[2]: *** [test_dynamic] Error 2 > make[2]: Leaving directory `/DATA/bixq/udunits-1.11.7/src/perl' > make[1]: *** [perl/test] Error 1 > make[1]: Leaving directory `/DATA/bixq/udunits-1.11.7/src' > make: *** [perl_test] Error 2 The above indicates an error. You should continue until the cause is discovered. It looks like the perl utility isn't referencing or wasn't built using the GNU C runtime library. It could be that your perl utility wasn't compiled using the GNU C compiler. What is the output from the command "perl -V"? -------- Steve Emmerson <http://www.unidata.ucar.edu>