relocation R_X86_64_32S against `a local symbol

Discussion in 'Programming/Scripts' started by bigbull, Apr 13, 2010.

  1. bigbull

    bigbull New Member

    Hello All,

    I am trying to port my 32-bit apps on 64-bit Centos 5.4.

    I am compiling my encoder app and getting below mentioned error:

    ld -shared -Bsymbolic -soname libvsofts.so --retain-symbols-file ./libvsofts.def -soname libvsofts.so.1 -o libvsofts.so.1.0 -lc obj/low_level_opt.o obj/api_impl.o obj/lanczos_filters.o obj/resize.o obj/low_level_ref.o
    ld: obj/api_impl.o: relocation R_X86_64_32S against `a local symbol' can not be used when making a shared object; recompile with -fPIC
    obj/api_impl.o: could not read symbols: Bad value
    make: *** [libvsofts.so] Error 1


    I was wondering what is the meaning of "relocation R_X86_64_32S against `a local symbol' can not be used when making a shared object"?

    Can anyone help me out???

    Thanks,
     
  2. codedr

    codedr New Member

    recompile with -fPIC

    You need to recompile your obj/*.o with -fPIC option
    to the compiler.
     

Share This Page