"unable to load foreign library"
Dar Scott
dsc at swcp.com
Thu Apr 14 23:07:20 EDT 2016
Thanks, Monte!
However, I still have the same error message, so my problem seems to be something else.
I poked at it a bit.
The error message seems to be in script-instance.cpp. Looking at that, it seems that dlopen is used. I don't have environment variables for dlopen, the best I can tell. The man page for dlopen says that the backup environment variable does not exist, it is assumed to be "$HOME/lib:/usr/local/lib:/usr/lib". Since the last is one of the places that I put the library, then I'm guessing the location is probably OK. There might be some other dependency I'm not aware of that is causing a problem.
So, there must be something wrong with my .dylib reference. I'll look into that.
Dar
> On Apr 14, 2016, at 5:30 PM, Monte Goulding <monte at appisle.net> wrote:
>
> Hi Dar!
>
> The dylib should be found if it is in resources/code/mac/
>
> // This is the callback given to libscript so that it can resolve the absolute
> // path of native code libraries used by foreign handlers in the module. At
> // the moment we use the resources path of the module, however it will need to be
> // changed to a separate location at some point with explicit declaration so that
> // iOS linkage and Android placement issues can be resolved.
> //
> // Currently it expects:
> // <resources>
> // code/
> // mac/<name>.dylib
> // linux-x86/<name>.so
> // linux-x86_64/<name>.so
> // win-x86/<name>.dll
> //
> static bool MCEngineResolveSharedLibrary(MCScriptModuleRef p_module, MCStringRef p_name, MCStringRef& r_path)
> {
> // If the module has no resource path, then it has no code.
> MCAutoStringRef t_resource_path;
> if (!MCEngineLookupResourcePathForModule(p_module, Out(t_resource_path)))
> return false;
>
> if (MCStringIsEmpty(*t_resource_path))
> return false;
>
> #if defined(_MACOSX)
> return MCStringFormat(r_path, "%@/code/mac/%@.dylib", *t_resource_path, p_name);
> #elif defined(_LINUX) && defined(__32_BIT__)
> return MCStringFormat(r_path, "%@/code/linux-x86/%@.so", *t_resource_path, p_name);
> #elif defined(_LINUX) && defined(__64_BIT__)
> return MCStringFormat(r_path, "%@/code/linux-x86_64/%@.so", *t_resource_path, p_name);
> #elif defined(_WINDOWS)
> return MCStringFormat(r_path, "%@/code/win-x86/%@.dll", *t_resource_path, p_name);
> #else
> return false;
> #endif
> }
>
>
> Cheers
>
> Monte
>
>> On 15 Apr 2016, at 9:10 AM, Dar Scott <dsc at swcp.com> wrote:
>>
>> I want to see the "Widgets by Dar" collection, too! I'm not sure if I want the snap-together widgets or the "who needs LabView when you have LiveCode" widgets first. I might start with some libraries.
>>
>> And I still haven't solved the issue with this error message. I've tried putting my dynamic library everywhere and even popped it out of its own folder.
>
>
> _______________________________________________
> use-livecode mailing list
> use-livecode at lists.runrev.com
> Please visit this url to subscribe, unsubscribe and manage your subscription preferences:
> http://lists.runrev.com/mailman/listinfo/use-livecode
More information about the use-livecode
mailing list