On Mon, Nov 10, 2008 at 04:24:54PM +0100, Jan Kratochvil wrote:
The problem is in the festival libraries build. They use the default visibility and their symbol `backtrace': ./speech_tools/siod/slib.cc LISP backtrace = NIL; is being overriden by the glibc function `backtrace': /usr/include/execinfo.h extern int backtrace (void **__array, int __size) __nonnull ((1)); One apparently cannot write to a .text readonly section as it attempts to.
The package festival should be built with -fvisibility=hidden and specific global functions/variables marked by `__attribute__ ((visibility("default")))' as described in `man gcc' -fvisibility and http://people.redhat.com/drepper/dsohowto.pdf .
As a temporary workaround you may use dlopen() flag RTLD_DEEPBIND. BTW it is also more effective to use RTLD_LAZY than RTLD_NOW.
Can you file this in bugzilla so that I don't forget about it? I'm planning to do a big update of festival after F10 is out the door.