Comment #0 by leandro.lucarella — 2010-08-13T18:05:23Z
I think is important to have an option to ignore pragma(lib, ..), because even when is not very common, users might want to link against an specific custom library name.
For example in Debian sometimes there are packages for the same library but configured in different ways, like libcurl and libcurl-gnutls.
Comment #2 by leandro.lucarella — 2010-08-13T20:14:41Z
(In reply to comment #1)
> http://www.digitalmars.com/ctg/ctgLinkSwitches.html#defaultlibrarysearch
>
> for dmd: -L/nodefaultlibrarysearch
>
> for non-Windows builds, it isn't an issue because the object file format does
> not have a field type for libraries.
I don't use Windows, so I don't know the details about it, but I can't understand what you mean for non-Windows either.
The point is, if a library have a:
pragma (lib, "curl");
And I want to use libcurl-gnutls instead, I can't without modifying the source. Even more, if I don't even have the non-gnutls curl installed, I can't even compile.
For example:
p.d
---
import l;
void main() {}
---
l.d
---
pragma (lib, "curl");
---
$ dmd -v /tmp/p.d /tmp/l.d -of/tmp/p | grep curl
library curl
gcc /tmp/p.o -o /tmp/p -m32 -Xlinker -L../lib -lcurl -lphobos -lpthread -lm
/usr/bin/ld: skipping incompatible /usr/lib/gcc/x86_64-linux-gnu/4.4.5/../../../libcurl.so when searching for -lcurl
/usr/bin/ld: skipping incompatible /usr/lib/gcc/x86_64-linux-gnu/4.4.5/../../../libcurl.a when searching for -lcurl
/usr/bin/ld: skipping incompatible //usr/lib/libcurl.so when searching for -lcurl
/usr/bin/ld: skipping incompatible //usr/lib/libcurl.a when searching for -lcurl
/usr/bin/ld: cannot find -lcurl
collect2: ld returned 1 exit status
DMD adds the -lcurl and AFAIK, I can't change that without modifying the source of l.d (which might not be under my control, it could be a system-wide header for which I have no write-access, of course I could copy and modify it but I hope we agree that is less than ideal).
Is there any way to avoid that problem right now?
Comment #3 by robert.schadek — 2024-12-13T17:52:50Z