static cpu library build failure -- linker requesting -fPIC again?

nvcc linker errored out. It appears to be needing -fPIC compilation flag, but I do have used it.

Here is the log:

Building file: …/CudaSpectre.cu
Invoking: NVCC Compiler
nvcc -G -g -O0 -Xcompiler -fPIC -Xcompiler -Wall -Xcompiler -fPIC -Xcompiler -m64 -gencode arch=compute_20,code=sm_20 -gencode arch=compute_30,code=sm_30 -gencode arch=compute_35,code=sm_35 -odir “” -M -o “CudaSpectre.d” “…/CudaSpectre.cu”

nvcc --device-c -G -O0 -Xcompiler -Wall -Xcompiler -fPIC -Xcompiler -m64 -Xcompiler -fPIC -g -gencode arch=compute_20,code=sm_20 -gencode arch=compute_30,code=sm_30 -gencode arch=compute_35,code=sm_35 -keep -keep-dir /home/rebl/DataPrep/EdgeII_EclipseWorkSpace/Edge-cu/Debug -x cu -o “CudaSpectre.o” “…/CudaSpectre.cu”
Finished building: …/CudaSpectre.cu

Building target: libEdge-cu.so
Invoking: NVCC Linker
nvcc --relocatable-device-code=true -gencode arch=compute_20,code=sm_20 -gencode arch=compute_30,code=sm_30 -gencode arch=compute_35,code=sm_35 -L/usr/local/cuda/lib64 -shared -link -o “libEdge-cu.so” ./CudaBackground.o ./CudaConvolution.o ./CudaMFPrep.o ./CudaMonteCarlo.o ./CudaSpectre.o -lcudart
/usr/bin/ld: /tmp/tmpxft_00005289_00000000-6_libEdge-cu_dlink.o: relocation R_X86_64_32 against `.nvFatBinSegment’ can not be used when making a shared object; recompile with -fPIC
/tmp/tmpxft_00005289_00000000-6_libEdge-cu_dlink.o: could not read symbols: Bad value
collect2: ld returned 1 exit status
make: *** [libEdge-cu.so] Error 1