/usr/bin/ld: ./libudns.a(udns_resolver.o): relocation R_X86_64_32 against `dns_defctx' can not be used when making a shared object; recompile with -fPIC
Iñaki Baz Castillo
ibc at aliax.net
Sat Feb 12 20:46:01 MSK 2011
2011/2/8 Michael Tokarev <mjt at tls.msk.ru>:
>> I just have a problem due to the fact that libudns is no longer part
>> of Linux distros (they have old 0.0.9 version). I know your reasons,
>> however it would be great if you would package it again :)
>
> Not all distros have it at all - for example it's not part of Debian.
Well, in Debian and Ubuntu udns packages do exit (version 0.0.9):
http://packages.debian.org/search?keywords=udns
http://packages.ubuntu.com/search?keywords=udns
:)
> You can try running `make sharedlib' in the udns source directory --
> this will produce a series of .lo files, just like it produces a
> bunch of .o files for static library. You grab these .lo files
> and produce a static library from them -- libudns.a, like this:
>
> rm -f libudns.a
> ar r libudns.a *.lo
>
> This is not perfect, but will work for your case.
Id does :)
> Regular static
> library will not - because you're producing shared object from it,
> and regular static library is meant to be used to produce a simple
> executable.
Yes, it makes sense, understood.
> Another alternative is to re-implement the makefile using the same
> build system as uses - this is trivial, you just need to take a list
> of files from udns Makefile.
Good point.
This will help me a lot. Thanks.
--
Iñaki Baz Castillo
<ibc at aliax.net>
More information about the udns
mailing list