On Linux, 64bit shared objects need position independent code, without it linking against them will fail. Static libraries / executables don't need it. See for example x264's ./configure to see how it detects whether PIC is needed or not. tom