[PD-dev] name collisions
atl at comp.lancs.ac.uk
Mon Jan 20 15:13:00 CET 2003
I asked a similar question in this thread a while ago:
The key answer I got was from Krzysztof Czaja:
>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.
One of the most significant changes in the pd_devel_0.36 branch of MacOSX
is that the behaviour goes from a duplicate symbol causing a crash to a
duplicate symbol being ignored.
Tom Schouten said this at Sat, 18 Jan 2003 13:08:41 +0100:
>class1 = class_new(gensym("object"), ...
>class2 = class_new(gensym("object"), ...
>which class gets instantiated if you create [object] in pd?
>first, second or undefined?
Practically, the behaviour on Mac is undefined (official version) or
first (modified s_loader with NSLINKMODULE_OPTION_PRIVATE).
Adam T. Lindsay atl at comp.lancs.ac.uk
Computing Dept, Lancaster University +44(0)1524/594.537
Lancaster, LA1 4YR, UK Fax:+44(0)1524/593.608
More information about the Pd-dev