NOTICE: This version of the NSF Unidata web site (archive.unidata.ucar.edu) is no longer being updated.
Current content can be found at unidata.ucar.edu.
To learn about what's going on, see About the Archive Site.
I'm trying to install udunits-1.12.11 on an Ubuntu 10.10 installation. After "(./configure && make all install clean) > log 2>&1 &" I get the following error: "Running Mkbootstrap for UDUNITS () chmod 644 UDUNITS.bs rm -f blib/arch/auto/UDUNITS/UDUNITS.so cc -shared -O2 -g -L/usr/local/lib -fstack-protector UDUNITS.o -o blib/arch/auto/UDUNITS/UDUNITS.so \ -L/home/armnlib/Desktop/udunits-1.12.11/src/perl/../lib -ludunits -lm \ /usr/bin/ld: /home/armnlib/Desktop/udunits-1.12.11/src/perl/../lib/libudunits.a(utlib.o): relocation R_X86_64_32S against `.bss' can not be used when making a shared object; recompile with -fPIC /home/armnlib/Desktop/udunits-1.12.11/src/perl/../lib/libudunits.a: could not read symbols: Bad value collect2: ld returned 1 exit status make[1]: *** [blib/arch/auto/UDUNITS/UDUNITS.so] Error 1 make[1]: Leaving directory `/home/armnlib/Desktop/udunits-1.12.11/src/perl' make: *** [perl/dynamic] Error 1" The entire log file follows at the end. I welcome your suggestions on this. If the issue is using the -fPIC qualifier, I couldn't determine where to use that. Thanks! THE ENTIRE LOG FILE: checking for manual-page index command... checking for c89... c89 checking type of operating system... linux checking for dependency generation mechanism... c89 -M 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 c89 accepts -g... yes checking for c89 option to accept ISO C89... none needed checking how to run the C preprocessor... c89 -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... /home/armnlib/Desktop/udunits-1.12.11 checking the installation exec-prefix... /home/armnlib/Desktop/udunits-1.12.11 checking for neqn... neqn checking for tbl... tbl checking for ar... (cached) ar checking for floor... no checking for floor in -lm... yes checking style for cfortran.h... Standard checking for Fortran integer type equivalent to C pointer... integer*8 checking for grep that handles long lines and -e... /bin/grep checking for egrep... /bin/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: port/misc/udposix.h is unchanged 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' making `all' in directory /home/armnlib/Desktop/udunits-1.12.11/src/port make[1]: Entering directory `/home/armnlib/Desktop/udunits-1.12.11/src/port' making `all' in directory /home/armnlib/Desktop/udunits-1.12.11/src/port/misc make[2]: Entering directory `/home/armnlib/Desktop/udunits-1.12.11/src/port/misc' ar rcuv libudport.a uddummy.o case "" in \ '') ;; \ *) ar rucv libudport.a ;; \ esac ranlib libudport.a make[2]: Leaving directory `/home/armnlib/Desktop/udunits-1.12.11/src/port/misc' returning to directory /home/armnlib/Desktop/udunits-1.12.11/src/port making `all' in directory /home/armnlib/Desktop/udunits-1.12.11/src/port/cfortran make[2]: Entering directory `/home/armnlib/Desktop/udunits-1.12.11/src/port/cfortran' make[2]: Nothing to be done for `all'. make[2]: Leaving directory `/home/armnlib/Desktop/udunits-1.12.11/src/port/cfortran' returning to directory /home/armnlib/Desktop/udunits-1.12.11/src/port make[1]: Leaving directory `/home/armnlib/Desktop/udunits-1.12.11/src/port' returning to directory /home/armnlib/Desktop/udunits-1.12.11/src making `all' in directory /home/armnlib/Desktop/udunits-1.12.11/src/lib make[1]: Entering directory `/home/armnlib/Desktop/udunits-1.12.11/src/lib' yacc -b utparse -d -p ut utparse.y yacc: 5 shift/reduce conflicts. cat utparse.tab.c > utparse.c rm utparse.tab.c cat utparse.tab.h > utparse.h rm utparse.tab.h c89 -c -g -O2 -I../port/misc -I../port/cfortran -DUT_DEFAULT_PATH='"/home/armnlib/Desktop/udunits-1.12.11/etc/udunits.dat"' -Df2cFortran utparse.c c89 -c -g -O2 -I../port/misc -I../port/cfortran -DUT_DEFAULT_PATH='"/home/armnlib/Desktop/udunits-1.12.11/etc/udunits.dat"' -Df2cFortran utscan.c c89 -c -g -O2 -I../port/misc -I../port/cfortran -DUT_DEFAULT_PATH='"/home/armnlib/Desktop/udunits-1.12.11/etc/udunits.dat"' -Df2cFortran 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 `/home/armnlib/Desktop/udunits-1.12.11/src/lib' returning to directory /home/armnlib/Desktop/udunits-1.12.11/src making `all' in directory /home/armnlib/Desktop/udunits-1.12.11/src/udunits make[1]: Entering directory `/home/armnlib/Desktop/udunits-1.12.11/src/udunits' make[2]: Entering directory `/home/armnlib/Desktop/udunits-1.12.11/src/udunits' c89 -c -g -O2 -I../lib -I../port/misc -Df2cFortran udunits.c c89 -o udunits -g -O2 udunits.o -L/home/armnlib/Desktop/udunits-1.12.11/src/lib -ludunits -L/home/armnlib/Desktop/udunits-1.12.11/src/port/misc -ludport -lm make[2]: Leaving directory `/home/armnlib/Desktop/udunits-1.12.11/src/udunits' make[1]: Leaving directory `/home/armnlib/Desktop/udunits-1.12.11/src/udunits' returning to directory /home/armnlib/Desktop/udunits-1.12.11/src cd perl && perl Makefile.PL Checking if your kit is complete... Looks good Warning: -L../lib changed to -L/home/armnlib/Desktop/udunits-1.12.11/src/perl/../lib Writing Makefile for UDUNITS making `dynamic' in directory /home/armnlib/Desktop/udunits-1.12.11/src/perl make[1]: Entering directory `/home/armnlib/Desktop/udunits-1.12.11/src/perl' /usr/bin/perl /usr/share/perl/5.10/ExtUtils/xsubpp -typemap /usr/share/perl/5.10/ExtUtils/typemap -typemap typemap UDUNITS.xs > UDUNITS.xsc && mv UDUNITS.xsc UDUNITS.c Please specify prototyping behavior for UDUNITS.xs (see perlxs manual) c89 -c -I../lib -I../port/misc -D_REENTRANT -D_GNU_SOURCE -DDEBIAN -fno-strict-aliasing -pipe -fstack-protector -I/usr/local/include -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -O2 -g -DVERSION=\"1.12.11\" -DXS_VERSION=\"1.12.11\" -fPIC "-I/usr/lib/perl/5.10/CORE" -Df2cFortran UDUNITS.c Running Mkbootstrap for UDUNITS () chmod 644 UDUNITS.bs rm -f blib/arch/auto/UDUNITS/UDUNITS.so cc -shared -O2 -g -L/usr/local/lib -fstack-protector UDUNITS.o -o blib/arch/auto/UDUNITS/UDUNITS.so \ -L/home/armnlib/Desktop/udunits-1.12.11/src/perl/../lib -ludunits -lm \ /usr/bin/ld: /home/armnlib/Desktop/udunits-1.12.11/src/perl/../lib/libudunits.a(utlib.o): relocation R_X86_64_32S against `.bss' can not be used when making a shared object; recompile with -fPIC /home/armnlib/Desktop/udunits-1.12.11/src/perl/../lib/libudunits.a: could not read symbols: Bad value collect2: ld returned 1 exit status make[1]: *** [blib/arch/auto/UDUNITS/UDUNITS.so] Error 1 make[1]: Leaving directory `/home/armnlib/Desktop/udunits-1.12.11/src/perl' make: *** [perl/dynamic] Error 1
udunits
archives: