[PD-dev] compiling pd_devel_0.38 on sarge

IOhannes m zmoelnig zmoelnig at iem.at
Tue Jul 12 12:22:22 CEST 2005


Tim Blechmann wrote:
>>>pd binary ... possibly to the wrong one ...
> 
> sorry, can't answer with a zexy example, since the symbols are stripped
> ... but i'd suggest to run "nm zexy.pd_linux | grep U" to see the
> undefined symbols ... most of them are exported from the pd binary:
>          U atom_string
>          U binbuf_add
>          U binbuf_addbinbuf
>          U binbuf_addsemi
>          U binbuf_addv
>          U binbuf_clear
> 
> these symbols are resolved at runtime ... if you'd like to use zexy in
> an application not providing these symbols, you'll get some undefined
> symbol messages ... if these symbols are resolved in the wrong way,
> anything can happen ;-)

yes of course.
but the external does not go and load another library to resolve these 
symbols but the parent application (whichever pd) has to provide them.
so imo the 2 pd's cannot interfere in that way.
if an application provides "atom_string" (either because it defines them 
itself or it imports a dynamic library that provides them _prior_ to 
opening the external) then zexy can use them no matter what other 
binaries are installed on the machine.
if an application does not provide those symbols, then loading an 
external that depends on them will miserably fail, but you'll get an 
error about undefined symbols (and which ones)
i have experienced this a lot :-)


the only thing that does not work without magic, is that an external 
depends on external symbols but does not explicitely define where to 
look for them (via linking against those dynamically!) and those symbols 
are not defined by pd (or a library that has been loaded _beforehand_).
it will definitely not start to search random libraries (like pd-stable) 
installed on your harddisk.



mfg.ad.sr
IOhannes




More information about the Pd-dev mailing list