G4 relocation errors

Joseph E. Sacco, Ph.D. joseph_sacco at comcast.net
Fri Jan 14 12:15:41 MST 2005


The relocation errors are the result of mixing position-independent-code
with non-position-independent-code in a shared library.  The "fix" is to
rebuild the library making sure that each and every file is compiled
"-fPIC".

Once upon a time only PIC code could be used to construct a shared
library. While this is no longer true,  it is still the safest thing to
do.


-Joseph

================================================================================
On Tue, 2005-01-11 at 10:05, Brad Douglas wrote:
> Hello,
> 
> I have recently installed YDL 4.0 (with updates) and I have had some
> interesting issues compiling software.
> 
> With libgeotiff, I get a relocation error on 'strcmp' and with OGDI, I
> get relocation errors with 'strlen'.
> 
> My guess is that this has something to do with 32/64.  GCC and/or glibc?
> 
> Here's some output from libgeotiff:
> 
> [brad at anisotropy brad]$ uname -rm
> 2.6.9-1.ydl.8 ppc
> 
> [brad at anisotropy]$ gdalinfo
> gdalinfo: error while loading shared libraries:
> /opt/gis/lib/libgeotiff.so: R_PPC_REL24 relocation at 0x0f68b06c for
> symbol `strcmp' out of range
> 
> [brad at anisotropy]$ nm /opt/gis/lib/libgeotiff.so.1.2.2 | grep 'U '
>          U TIFFClientOpen
>          U TIFFClose
>          U TIFFFdOpen
>          U TIFFGetField
>          U TIFFMergeFieldInfo
>          U TIFFOpen
>          U TIFFSetField
>          U TIFFSetTagExtender
>          U _TIFFfree
>          U _TIFFmalloc
>          U _TIFFmemcpy
>          U _TIFFmemset
>          U _TIFFrealloc
>          U __assert_fail
>          U __strdup
>          U __strtod_internal
>          U __strtol_internal
>          U abort
>          U fclose
>          U fgets
>          U fopen
>          U fprintf
>          U free
>          U fscanf
>          U pj_free
>          U pj_fwd
>          U pj_init
>          U pj_inv
>          U sprintf
>          U sscanf
>          U stderr
>          U stdin
>          U stdout
>          U strcasecmp
>          U strcat
>          U strchr
>          U strcmp
>          U strcpy
>          U strlen
>          U strncmp
>          U strstr
>          U vsprintf
> [brad at anisotropy]$
> 
> On an unrelated note, I also get the following error in R when trying to
> calculate Kappa coefficients.  Either this is related to the above
> errors or LAPACK is broken (or perhaps something else I haven't thought
> of yet :):
> 
> > kappa(h9, exact = TRUE) == max(sv9) / min(sv9)
> Error in La.svd(x, nu, nv) : LAPACK routine DGEBRD gave error code -10
> 
> 
> Any suggestions for correcting these problems would be greatly
> appreciated.  Thanks!
> 
> 
> - Brad Douglas
> 
> 
> _______________________________________________
> yellowdog-general mailing list
> yellowdog-general at lists.terrasoftsolutions.com
> http://lists.terrasoftsolutions.com/mailman/listinfo/yellowdog-general
> HINT: to Google archives, try  '<keywords> site:terrasoftsolutions.com'
-- 
joseph_sacco[at]comcast[dot]net



More information about the yellowdog-general mailing list