Krzysztof, Miller,
Krzysztof Czaja said this at Fri, 22 Nov 2002 16:37:44 +0100:
>It seems like in each system Pd loads externals differently.
>Windows .dll does not export external symbols, .pd_linux does
>(with the flag RTLD_GLOBAL) -- but dlopen kindly resolves any name
>clashes -- and now you tell that .pd_darwin is so fragile... You
>are right, something needs to be done to unify loader's behaviour.
Without knowing the full implications, I still advocate adding
NSLINKMODULE_OPTION_PRIVATE for pd_darwin loading. At the very least, it
prevents pd from crashing when loading GEM and maxlib at the same time.
Not only that, but instantiating "scale" results in the scale object from
the first-loaded library, which is reasonable behavior. (as opposed to a
crash, which is fairly annoying when you're just trying to load libraries)
Disclaimer: This is an empirical assessment, without a deep understanding
of the loading system. But it seems to improve things. It doesn't *act*
as fragile with the private symbols.
Cheers,
adam
--
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
Adam T. Lindsay atl(a)comp.lancs.ac.uk
Computing Dept, Lancaster University +44(0)1524/594.537
Lancaster, LA1 4YR, UK Fax:+44(0)1524/593.608
-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-