Hi,<br>yes I was talking about linux. I didn't include much information because I didn't want to confuse people with details.<br><br>In this branch of Hedgewars <a href="https://code.google.com/p/hedgewars/source/list?name=physfslayer">https://code.google.com/p/hedgewars/source/list?name=physfslayer</a> we are using physfs library version 2.1.0.<br>
However many people out there have version 2.0.3 installed and (of course) it doesn't contain many of the APIs present in 2.1.0.<br>So when libphysfs is not found (or an old one is detected) we provide a copy of the right physfs and have CMake (our build system) compile and install it. However even if I hardcode the right path of the right library of the right version, the installed system library takes precedence, and thus if another version of physfs is installed, hedgewars doesn't link any more.<br>
<br>I would refrain from using a different library name; looking at the generated link.res file it seems that the first lib search path is /urs/lib and /lib and the custom one (where the right libphysfs resides) is found only later on. Is there a way to prevent this? I tried to play with the -Xd flag but the result didn't change.<br>
<br>Any help is appreciated.<br>Vittorio<br><br><br><div class="gmail_quote">On Fri, Feb 22, 2013 at 3:35 PM, Tomas Hajny <span dir="ltr"><<a href="mailto:XHajT03@hajny.biz" target="_blank">XHajT03@hajny.biz</a>></span> wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div class="HOEnZb"><div class="h5">On Fri, February 22, 2013 10:59, Vittorio Giovara wrote:<br>
<br>
<br>
Hi,<br>
<br>
> I'm using fpc and trying to link it with a library, let's call it libfoo<br>
> version 2.<br>
><br>
> The problem I'm facing is that many people have libfoo 1.0 installed and<br>
> that when linking, fpc takes libfoo 1.0 instead of the new libfoo 2.0. Of<br>
> course this causes a link failure as I need many libfoo version 2<br>
> functions.<br>
><br>
> I set the right library search path but the system search path gets always<br>
> picked first (confirmed by looking at link.res).<br>
> Is there a way to force the order of search path (possibly without<br>
> modifying fpc.cfg or playing with linker flags)?<br>
<br>
</div></div>You don't provide much information about your situation, but I assume that<br>
you talk about Linux here. If you need version 2, you may need to link<br>
explicitly to <a href="http://libfoo.2.so" target="_blank">libfoo.2.so</a> rather just libfoo.so. If you link to libfoo.so<br>
and this is expected to be a symbolic link to the latest installed<br>
version, you may also want to check why people having both libfoo 1.0 and<br>
libfoo 2.0 installed do not have the symbolic link pointing to the later<br>
version. One such reason may be not having the development version of the<br>
respective library installed (at least this may be the case on some Linux<br>
distributions as far as I know).<br>
<br>
Tomas<br>
<br>
<br>
_______________________________________________<br>
fpc-devel maillist  -  <a href="mailto:fpc-devel@lists.freepascal.org">fpc-devel@lists.freepascal.org</a><br>
<a href="http://lists.freepascal.org/mailman/listinfo/fpc-devel" target="_blank">http://lists.freepascal.org/mailman/listinfo/fpc-devel</a><br>
</blockquote></div><br>