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.
