Ken Moffat wrote: > On Fri, Mar 07, 2014 at 05:37:22PM +0000, Ken Moffat wrote: >> On Fri, Mar 07, 2014 at 04:17:29PM +0100, Sergei Antonov wrote: >>> Hello! >>> I follow this instruction to build Cyrus SASL-2.1.26: >>> http://www.linuxfromscratch.org/blfs/view/svn/postlfs/cyrus-sasl.html >>> >>> "make -j1" results in a link error about PIC: >>> >>> libtool: link: gcc -shared -fPIC -DPIC .libs/sasldb.o >>> .libs/sasldb_init.o .libs/plugin_common.o -Wl,--whole-archive >>> ../sasldb/.libs/libsasldb.a -Wl,--no-whole-archive -ldb -lresolv -O2 >>> -Wl,-soname -Wl,libsasldb.so.3 -o .libs/libsasld >>> b.so.3.0.0 >>> /usr/bin/ld: ../sasldb/.libs/libsasldb.a(allockey.o): relocation >>> R_X86_64_32 against `.rodata.str1.1' can not be used when making a >>> shared object; recompile with -fPIC >>> ../sasldb/.libs/libsasldb.a(allockey.o): could not read symbols: Bad value >>> collect2: error: ld returned 1 exit status >>> >>> What may cause this? >>> >> The cause is as it says. On 32-bit x86 you can build shared >> objects using static libs compiled without -fPIC, on 64-nit x86 you >> cannot. I guess that whoever originally updated the book was using >> i686. Once upon a time, many packages had similar problems, but most >> have now been fixed upstream. >> >> I did notice that I build it by passing CFLAGS=-fPIC at the end of >> my configure command, but I forgot to check if that was necessary >> (it isn't a package I _use_). >> >> My bad, seems something like that _is_ needed on x86_64. > > And looking back, we had CFLAGS=-fPIC at the end of configure in > BLFS-7.4, but without an explanation. > > It fell out in r12739 when Fernando applied a fix from Armin. The > fPIC seems to have come in at r11674, amongst some tagging for 7.4. > I'll put it back, and add an explanation.
Do we need to add an erratum? -- Bruce -- http://linuxfromscratch.org/mailman/listinfo/blfs-support FAQ: http://www.linuxfromscratch.org/blfs/faq.html Unsubscribe: See the above information page
