Bugs item #1082938, was opened at 2004-12-10 15:23 Message generated for change (Comment added) made by zmoelnig You can respond by visiting: https://sourceforge.net/tracker/?func=detail&atid=478070&aid=1082938...
Please note that this message will contain a full copy of the comment thread, including the initial issue submission, for this request, not just the latest update. Category: puredata Group: None Status: Open
Resolution: Fixed
Priority: 5 Submitted By: Nobody/Anonymous (nobody) Assigned to: Nobody/Anonymous (nobody) Summary: sys_load_lib() on OSX too limited?
Initial Comment: ...externals are loaded and linked as NSModules, but it seems that we may be limiting ourselves by using the NSLINKMODULE_OPTION_PRIVATE flag? This flag came to my attention while I was trying to compile pdp2gem.pd_darwin, which acts as a bridge between pdp and gem: ie. it requires linking to symbols from both libraries, which should be done at module load time...this is not possible with the PRIVATE flag, but it does work with out it...
...so, I'm wondering if there's a general rational behind this that isn't obvious, or if we can just go ahead and remove it? Preliminary testing has not showed any obvious problems with multiple libraries...
...here's the relevent docs from xcode:
options An unsigned long value. Pass one or more of the following bit masks or NSLINKMODULE_OPTION_NONE to specify no options. NSLINKMODULE_OPTION_BINDNOW The dynamic linker binds all of the undefined references immediately, rather than waiting until the references are actually used. All dependent libraries are also be bound.
NSLINKMODULE_OPTION_PRIVATE Do not add the global symbols from the module to the global symbol list. Instead, you must use the NSLookupSymbolInModule function to obtain symbols from this module.
NSLINKMODULE_OPTION_RETURN_ON_ERROR If an error occurs while binding the module, return NULL. You can then use the function NSLinkEditError to retrieve information about the error.
Without this option, NSLinkModule calls the linkEdit error handler you have installed using the NSInstallLinkEditErrorHandlers function. If you have not installed a link edit error handler, NSLinkModule prints a message to the standard error stream and causes a breakpoint trap to end the program.
----------------------------------------------------------------------
Comment By: IOhannes m zmölnig (zmoelnig)
Date: 2006-10-18 10:37
Message: Logged In: YES user_id=564396
since libraries on os-x are now loaded using dlopen(), i think we can close this.
----------------------------------------------------------------------
You can respond by visiting: https://sourceforge.net/tracker/?func=detail&atid=478070&aid=1082938...