[gdal-dev] Error in libjasper.a during 'make' in gdal 1.5.2: relocation R_X86_64_32 against `a local symbol' can not be used

Patton, Eric epatton at nrcan.gc.ca
Thu Sep 18 12:57:29 EDT 2008

>You want to build jasper with CFLAGS="-fPIC -m64", as you've done.  But
>you just want CXXFLAGS="-m64", without "-fPIC", for the gdal build.  Be
>sure to unset CFLAGS, or open a new terminal to get a fresh environment,
>before gdal build.  Also, might need to run ldconfig after building
>jasper, before gdal build.
>  # cd jasper src dir
>  export CFLAGS="-fPIC -m64"
>  ./configure
>  make; make install
>  unset CFLAGS
>  /sbin/ldconfig
>  # cd gdal src dir
>  export CXXFLAGS="-m64"
>  ./configure ...
>  make ...

I configured jasper and gdal as you instructed. Jasper built fine with no
errors, however, gdal still complains about libstdc++:

/usr/bin/ld: /usr/lib/libstdc++.a(functexcept.o): relocation R_X86_64_32 against `vtable for std::exception' can not be used when making a shared object; recompile with -fPIC
/usr/lib/libstdc++.a: could not read symbols: Bad value
collect2: ld returned 1 exit status
make[1]: *** [libgdal.la] Error 1
make[1]: Leaving directory `/usr/local/gdal-1.5.2'
make: *** [check-lib] Error 2

Is this message saying to recompile libstdc++ with -fPIC? I'm using the standard gcc 4.2.4 
package that is installed via Ubuntu 8.04 package manager Synaptic, so there's nothing to

~ Eric.

More information about the gdal-dev mailing list