Compiling Cyrus IMAPD on AMD Opteron

John Alton Tamplin jtampli at
Fri Jun 13 09:49:39 EDT 2003

curtis at wrote:

>Compiling with the -fPIC fixes the problem.  I had to do this for the
>following: imclient.c imparse.c xmalloc.c imapurl.c iptostring.c assert.c
>util.c libisieve.c prot.c
>Why does -fPIC fix this problem?
Code to be used in a shared library must be position-independent, since 
it will be linked into various applications at different places in the 
various applications that link to that library.  The linker was 
complaining that a relocation type used was not suitable in a shared 
library because it could not be made to be position-independent, and 
recompiling with -fPIC made the compiler avoid that addressing mode and 
relocation type.

John A. Tamplin                               Unix System Administrator
Emory University, School of Public Health     +1 404/727-9931

More information about the Info-cyrus mailing list