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