It looks like there is a bug on the mac when passing your own mozbin
directory to NS_InitEmbedding. I was wondering if anyone can shed some
light on how to work around this, or even verify the problem.

This line, in NS_InitEmbedding() ends up calling PR_LoadLibrary() on
components/libembedcomponents.dylib

nsCOMPtr<nsIObserver> mStartupNotifier =
do_CreateInstance(NS_APPSTARTUPNOTIFIER_CONTRACTID, &rv);

We end up calling pr_LoadMachDyldModule(), which in turn calls
NSLinkModule().  The module name passed in is correct, but inside
NSLinkModule() (which I can't step into), it's loading all the
component dylibs (I'm not sure how/why this is happening.  I guess this
is something I'd like light shed on).  When it is doing that, it
appears to be looking beside the executable for this, rather than in
the mozbin directory  was passed into NS_InitEmbedding().

After failing in NSLinkModule(), a call to NSLinkEditError() reveals:

file: @executable_path/libgkgfx.dylib
error string: "dyld: [path to embedding executable] can't open library:
@executable_path/libgkgfx.dylib"
errorno: 2
error: NSLinkEditFileAccessError

Anyone run into this, or know how to work around it?  Is there some
change in the mozilla source that needs to be made, or something I can
change in my embedding app?

Thanks.

J

_______________________________________________
mozilla-embedding mailing list
[email protected]
http://mail.mozilla.org/listinfo/mozilla-embedding

Reply via email to