[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 _______________________________________________ Help-libidn mailing list Help-libidn@gnu.org https://lists.gnu.org/mailman/listinfo/help-libidn