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