undefined symbol: __stack_chk_fail_local

Andrew Haley aph at redhat.com
Thu Oct 30 11:45:46 UTC 2008


Douglas Bagnall wrote:
> 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.

That depends on whether the target system has runtime support for it.

> 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.

It seems to do that already.

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

This symbol hould be in /lib/libc.so.6.  Isn't it?

Andrew.




More information about the devel mailing list