Hi, That's got it working! I had tried RTLD_GLOBAL and also building the library with -Wl,-E (which I now realise was stupid of me -- that option is for building executables). After some more playing around, it seems you don't even need to use RTLD_GLOBAL. Building the executable with -Wl,-E is enough. Thanks ever so much for your help guys! This has been annoying me all morning! :o) Tim. On 14/11/08 15:39, Brian Dessent wrote: > Have a look at <http://gcc.gnu.org/faq.html#dso>. Your testcase works > for me after adding RTLD_GLOBAL and linking with -Wl,-E. > > Brian > -- edam - www.waxworlds.org/edam