I war trying to build a shared library that uses some coordinates conversion
routines implemented by geographic lib.
I need to distribute my shared library (it will be used by a python
I would not like my application to depend on package libgeographic (that is, I
would like to avoid that the user needs to install or copy
/usr/lib/libGeographic.so.9 in it's system)
For these reasons I need to embed in my library the object code that is in
But while doing this, the compiler complains that:
relocation R_X86_64_32S against `_ZTVN13GeographicLib13GeographicErrE' can not
be used when making a shared object; recompile with -fPIC
This happens (in my understanding) because the MGRS.o was compiled from
MGRS.cpp without passing the -fPIC option to the compiler.
So, please consider adding this option to your compiler build; without this
option, the libGeographic.a can be used only to build self-contained
executables and not self-contained libraries, that are preferred/needed when
you are trying to integrate the library in a cpython environment (in my case I
was trying to deliver a QGIS plugin).
-- System Information:
Debian Release: 7.2
APT prefers stable-updates
APT policy: (500, 'stable-updates'), (500, 'stable')
Architecture: amd64 (x86_64)
Foreign Architectures: i386
Kernel: Linux 3.2.0-4-amd64 (SMP w/4 CPU cores)
Locale: LANG=en_US.utf8, LC_CTYPE=en_US.utf8 (charmap=UTF-8)
Shell: /bin/sh linked to /bin/dash
Versions of packages libgeographiclib-dev depends on:
ii libgeographiclib9 1.21-1
libgeographiclib-dev recommends no packages.
libgeographiclib-dev suggests no packages.
-- no debconf information
Pkg-grass-devel mailing list