undefined symbol: __stack_chk_fail_local

Jakub Jelinek jakub at redhat.com
Thu Oct 30 12:10:02 UTC 2008


On Thu, Oct 30, 2008 at 10:56:49PM +1300, 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.
> 
> 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.

Yeah, that's very likely the case.  Linking with ld -shared as opposed
to gcc -shared is (almost always) a bug.
Guess you need to modify this package's Makefiles to do the right thing...

	Jakub




More information about the fedora-devel-list mailing list