undefined symbol: __stack_chk_fail_local

Douglas Bagnall douglas at paradise.net.nz
Thu Oct 30 09:56:49 UTC 2008


I've been working on a package for OLPC that uses pam_sotp, which
Rahul Sundaram packaged for Fedora in order to help OLPC.

http://sundaram.fedorapeople.org/packages/pam_sotp-0.3.3-1.fc9.src.rpm

Unfortunately the installed pam module fails with errors like this:

 PAM unable to dlopen(/lib/security/pam_sotp.so): \
  /lib/security/pam_sotp.so: undefined symbol: __stack_chk_fail_local

This is related to gcc's fairly recently introduced stack smashing
protection; if it is compiled with CFLAGS="-fno-stack-protector", the
module works fine.  But that seems wrong.

How are these symbols ending up undefined?  Has anyone met this
problem before?  Some googling suggested linking with gcc rather than
ld, but I can't work out how to make the rpm do that.

(This is all Fedora 9, gcc-4.3.0-8.i386).


Douglas Bagnall




More information about the fedora-devel-list mailing list