This is required for sagemath flint python module, otherwise it will fail to load due to unresolved symbols. I confess I did not investigate enough the reason for the need of -fPIC, and just followed the linker instructions: cc -fPIC -std=c99 -fPIC -shared -Wl,-h,libflint.so.1 -o libflint.so mpn_extras.o mpz_extras.o memory-manager.o ZmodF.o ZmodF_mul.o ZmodF_mul-tuning.o fmpz.o fmpz_poly.o mpz_poly-tuning.o mpz_poly.o ZmodF_poly.o long_extras.o packed_vec.o zmod_poly.o F_mpz_mod_poly.o theta.o zmod_mat.o mpz_mat.o mpq_mat.o d_mat.o mpfr_mat.o F_mpz_mat.o F_mpz.o F_mpz_LLL.o F_mpz_poly.o tinyQS.o factor_base.o poly.o sieve.o linear_algebra.o block_lanczos.o NTL-interface.o -L/usr/lib64 -lzn_poly -lmpfr -lgmp -lm -lntl -lstdc++ /usr/bin/ld: NTL-interface.o: relocation R_X86_64_32 against `.bss' can not be used when making a shared object; recompile with -fPIC NTL-interface.o: could not read symbols: Bad value collect2: error: ld returned 1 exit status Spec URL: http://fedorapeople.org/~pcpa/flint.spec SRPM URL: http://fedorapeople.org/~pcpa/flint-1.6-4.fc18.src.rpm
flint has been rebuilt with ntl support in rawhide (requirement of sagemath).