Please somebody help. I am creating a shared library and when run with this command this gives a error "gcc -shared libx.o -o libx.so"
/usr/lib64/gcc/x86_64-suse-linux/4.3/../../../../x86_64-suse-linux/bin/ld: libx.o: relocation R_X86_64_32 against `.rodata' can not be used when making a shared object; recompile with -fPIC libx.o: could not read symbols: Bad value
collect2: ld returned 1 exit status
So, I run it with -FPIC, it compiles, please can you give me a good understanding of -FPIC significance at the memory level, I mean how it is shared in the physical memory between 2 programs using this shared library.
Thanks a lot.