<html><head><meta http-equiv="content-type" content="text/html; charset=utf-8"></head><body dir="auto"><div><div style="direction: inherit;">Jim,</div><div style="direction: inherit;"><br></div><div style="direction: inherit;">loading a specific version of a shared library requires two things:</div><div style="direction: inherit;"><br></div><div style="direction: inherit;">a.  Use absolute path to the library in the cffi lib spec</div><div style="direction: inherit;">b.  Make sure the dependencies (see output of otool -L ) (the paths to the dependencies) are at the beginning of the paths set in the environment variable DYLD_LIBRARY_PATH. </div><div style="direction: inherit;"><br></div><div style="direction: inherit;">Best</div><div style="direction: inherit;">    Frank</div><br>--<div>  Frank Gönninger</div><div>  DG1SBG</div><div>  Consequor Consulting AG</div><div>  </div></div><div><br>Am 20.09.2016 um 16:46 schrieb Jim Newton <<a href="mailto:jimka.issy@gmail.com">jimka.issy@gmail.com</a>>:<br><br></div><blockquote type="cite"><div><div dir="ltr">Hi Frank, thanks for the information.  If you always use /usr/local/lib then what do you do when you need to run two different independent applications which have different requirements?</div><div class="gmail_extra"><br><div class="gmail_quote">On Tue, Sep 20, 2016 at 3:44 PM, Frank Goenninger <span dir="ltr"><<a href="mailto:frgo@me.com" target="_blank">frgo@me.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><span class="">Am 20.09.2016 um 15:32 schrieb Luís Oliveira <<a href="mailto:luismbo@gmail.com">luismbo@gmail.com</a>>:<br>
><br>
> On Tue, Sep 20, 2016 at 10:53 AM, Jim Newton <<a href="mailto:jimka.issy@gmail.com">jimka.issy@gmail.com</a>> wrote:<br>
>> CL-USER> (cffi::list-foreign-libraries)<br>
>> (...<br>
>> #<CFFI:FOREIGN-LIBRARY<br>
>>   :LIBCAIRO #P"/usr/local/Cellar/cairo/1.<wbr>12.16_1/lib/libcairo.dylib" (truename=#P"/usr/local/<wbr>Cellar/cairo/1.12.16_1/lib/<wbr>libcairo.2.dylib")>)<br>
>> CL-USER><br>
>><br>
>> However, when I attempt to load libgdk-x11-2.0.0.dylib it complains that it cannot find a particular symbol in /usr/local/lib/libcairo.dylib.  Why is it complaining about /usr/local/lib/libcairo.dylib?<br>
><br>
> Most of those dylibs are symlinks and libgdk may depend on a name<br>
> which exists in /usr/local/lib but not /usr/local/Cellar, maybe? ldd<br>
> can tell you what a given dylib depends on.<br>
<br>
</span>As Jim is on macOS there is no ldd. The command to use is<br>
<br>
otool -L /usr/local/lib//libcairo.dylib<br>
<br>
Seeing that Jim uses homebrew to install Cairo it is worth mentioning that brew install … also generates (normally) an entry in /usr/local/lib . That is why I always stick to using /usr/local/lib/libxyz.dylib paths when I want to ensure a particular library to be loaded.<br>
<br>
Best,<br>
   Frank<br>
<br>
<br>
<br>
</blockquote></div><br></div>
</div></blockquote></body></html>