On 3 October 2012 13:54, Fernando Olivero <[email protected]> wrote:
> Hi Igor,
>
> following your example on using CairoLibraryLoader, i did the same for
> the PangoCairo library part of Athens.
>
> But there's something i don't understand, why [1]  works and [2]
> doesn't (it returns 0), if both are in  the plugins folder of the vm.
>
> 1.NativeBoost forCurrentPlatform loadModule:   'libcairo.2.dylib'
> 2.NativeBoost forCurrentPlatform loadModule:  'libpango-1.0.0.dylib'
>
> Does it depend on something else besides being in that path?
> #loadModule: by default looks
> at the Plugins folder?
>
> I've also tried passing as an argument the full path.
>
> I've attached the dylib, compiled with Macports universal binaries option.
>
> I'm using MacOS.

you want to put it into bundle, isnt?

now, run
otool -l libpango-1.0.0.dylib

and you will see that this library has a lot of dependencies coming
from /out/local/lib...
and that's why i won't load on any other mac, than yours, because of
missing dependencies.

Don't expect these libs to be installed on other Mac machine.
So, to bundle things properly you need to also copy these libraries
into bundle (and also fix the references)..

I mention about it here:
https://computeradventures.wordpress.com/2012/06/10/bundling-vm-with-thirdparty-libraries/

"The last thing about bundling (and it is Mac-specific) is to change
the references in produced .dylib files to correct ones. I tried to
use BundleUtils provided by cmake.. but it is prone to be buggy, so i
had to write own. All it does is replacing an absolute paths in all
.dylib-s (including external plugin libs) to path relative to .app
bundle."

without this, you won't be able to make a proper bundle.

See, how i doing it in:

MacOSConfig >> postBuildActions:

>
> Thanks,
> Fernando



-- 
Best regards,
Igor Stasenko.

Reply via email to