[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
libidn 1.28 .pc file does not record -lintl if -lidn requires the former
From: |
Matthias Andree |
Subject: |
libidn 1.28 .pc file does not record -lintl if -lidn requires the former |
Date: |
Fri, 13 Sep 2013 02:11:20 +0200 |
User-agent: |
Mozilla/5.0 (X11; Linux x86_64; rv:17.0) Gecko/20130804 Thunderbird/17.0.8 |
[Please CC: me on replies, I am not subscribed.]
Greetings,
I have just been debugging dnsmasq, a user of libidn, on a current
FreeBSD 10 development version, and come across a linker problem.
The issue is that dnsmasq need not necessarily be linked against libintl
(gettext), but possibly only against libidn. However, if libidn itself
is then linked against gettext, it requires (per ELF NEEDED tag)
libintl. On some systems, among them the clang-based FreeBSD 10, but
also others, this fails at link time. The cause for that is that some
systems require all symbols from shared libraries to be resolved at link
time.
Example errors:
cc -o dnsmasq cache.o [...] ipset.o -L/usr/local/lib -lidn
/usr/bin/ld: 6: invalid DSO for symbol `libintl_bindtextdomain' definition
/usr/local/lib/libintl.so.9: could not read symbols: Bad value
cc: error: linker command failed with exit code 1 (use -v to see invocation)
gmake[2]: *** [dnsmasq] Error 1
Now, the -L/path and -lidn options are taken from libidn.pc[.in].
Could the next release of libidn please make sure to record -lintl in
libidn.pc, too, if libidn is linked against libintl, so that
pkg-config --libs libidn would, in this situation, print
-L/usr/local/lib -lidn -lintl
Thank you.
Best regards
Matthias Andree
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- libidn 1.28 .pc file does not record -lintl if -lidn requires the former,
Matthias Andree <=