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

[UDUNITS #VTP-130419]: ubuntu 8.10 64 bit : make failure


> When running "sudo make"
> I get this error:
> /usr/bin/ld: 
> /usr2/scw/TMP/udunits-1.12.9/src/perl/../lib/libudunits.a(utlib.o): 
> relocation R_X86_64_32 against `a local symbol' can not be used when making a 
> shared object; recompile with -fPIC
> /usr2/scw/TMP/udunits-1.12.9/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: *** [perl/dynamic] Error 1
> Exactly the same procedure produced success on my ubuntu 8.04 32-bit system. 
> I was able to install udunits2 on the 64-bit machine, but unfortunately the 
> package "RNetCDF" will not work with udunits2.  I am sandbagged...

The error message means that the UDUNITS library wasn't compiled for 
position-independent code (PIC); consequently, it can't be used to create a 
UDUNITS shareable library.  This is unexpected because the configure(1) script 
should have added the "-fPIC" option to the compilation flags.

You have 2 options:

1. Cause the UDUNITS Perl module to be skipped by setting the environment 
variable PERL to the empty string before (re)executing the configure(1) script. 
 Be sure to execute the command "make distclean" first.

2. Force the use of the "-fPIC" option by including it in the value of the 
CFLAGS environment variable before (re)executing the configure(1) script.  
Again, execute the "make distclean" command first.

Steve Emmerson

Ticket Details
Ticket ID: VTP-130419
Department: Support UDUNITS
Priority: Normal
Status: Closed