I have been trying to compile an rlm for rds with the innovonics 713.  I abandoned the project a couple weeks ago, and am now revisiting.  I believe that I may have found the issue, but I don't know how to fix it.  Any input would be appreciated.  I am getting the following error when I try to compile using..

#gcc -shared -o rlm_inno713.rlm rlm_inno713.c
/usr/bin/ld: /tmp/ccEAXZT8.o: relocation R_X86_64_32 against 'a local symbol' can not be used when making a shared object; recompile with -fPIC
/tmp/ccEAXZT8.o could not read symbols: Bad value
collecte: ld returned 1 exit status

I did some research and found this..

3.f. Case 3: Lack of `-fPIC' flag in the software to be built
This is the most common case. It is a real bug in the build system and should be fixed in the ebuild, preferably with a patch that is sent upstream. Assuming the error message looks like this:
Code Listing 6.1: A sample error message
.libs/assert.o: relocation R_X86_64_32 against `a local symbol' can not be used when making a shared object; recompile with -fPIC .libs/assert.o: could not read symbols: Bad value

This means that the file assert.o was not compiled with the -fPIC flag, which it should. When you fix this kind of error, make sure only objects that are used in shared libraries are compiled with -fPIC.

In this case, globally adding -fPIC to C[XX]FLAGS resolves the issue, although this practice is discouraged because the executables end up being PIC-enabled, too.


Anyone have any ideas how to fix this?  Feel free to call me, or just reply here.  I would really like to remedy this today!

Thanks Everyone,
Phil Jennings
219-707-0075
_______________________________________________
Rivendell-dev mailing list
[email protected]
http://lists.rivendellaudio.org/mailman/listinfo/rivendell-dev