I've tested loading externals and it just doesn't create and complain
Are you sure? Turn on log level 4. Here's what I get when I try to load a single precision [markex/randomF] in my double precision built:
refusing to load 32bit-float object 'randomF' into 64bit-float Pd maximum object loading depth 1000 reached markex/randomF
Note that actual warning is only visible with log level 3 and above.
but trying to load cyclone with [declare -lib cyclone] crashes Pd!
Please run Pd in a debugger and see where it crashes.
I also get a crash when trying to load [iemguts/receivecanvas]. In this specific case, the reason is that this object registers a proxy class without a name (passing NULL instead of a symbol for the class name), so Pd segfaults when it tries to print the warning. Pd should do a NULL check and probably omit the warning for unnamed classes.
Christof
On 26.02.2020 14:12, Alexandre Torres Porres wrote:
Em qua., 26 de fev. de 2020 às 10:09, Dan Wilcox <danomatika@gmail.com mailto:danomatika@gmail.com> escreveu:
Forgive me if this has been gone over, but what's the behavior if a single-precision Pd tries to load a double-precision external or vice versa? Does it fail to load or simply crash? If it crashes, maybe there needs to be some mechanism to query the compiled precision of the external, ie. some sort of function pointer or define, etc. If it's not there, then assume single-precision and act accordingly. It would be nice to have useful error print concerning this. I'm just musing here. :)
I've tested loading externals and it just doesn't create and complain, but trying to load cyclone with [declare -lib cyclone] crashes Pd!
Pd-dev mailing list Pd-dev@lists.iem.at https://lists.puredata.info/listinfo/pd-dev