[PD-dev] [ pure-data-Bugs-1082938 ] sys_load_lib() on OSX too limited?

SourceForge.net noreply at sourceforge.net
Wed Oct 18 10:37:47 CEST 2006


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&group_id=55736

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&group_id=55736




More information about the Pd-dev mailing list