From sca at andreasschulze.de Thu Feb 12 19:29:16 2015 From: sca at andreasschulze.de (A. Schulze) Date: Thu, 12 Feb 2015 20:29:16 +0100 Subject: [ldns-users] ldns-1.6.17: minor build cosmetics Message-ID: <20150212202916.Horde.IUlTf97G99pPnjlJlknLtg4@horde.andreasschulze.de> Hello, while building a private version of ldns in my new build system I noticed some minor warnings generated by debian lintian. I wrote 3 patchfiles to correct them: - hyphen-used-as-minus-sign.patch - spelling-errors.patch - manpage-has-bad-whatis-entry.patch three other classes of issues I could not fix with patches. 1. ldns use doxygen to extract descriptions for functions to generate manpages. These manpage should escape a bare "-". But that would require me to change the .h files. I: ldns-dev: hyphen-used-as-minus-sign usr/share/man/man3/ldns_buffer_clear.3.gz:61 N: N: This manual page seems to contain a hyphen where a minus sign was N: intended. By default, "-" chars are interpreted as hyphens (U+2010) by N: groff, not as minus signs (U+002D). Since options to programs use minus N: signs (U+002D), this means for example in UTF-8 locales that you cannot N: cut and paste options, nor search for them easily. The Debian groff N: package currently forces "-" to be interpreted as a minus sign due to N: the number of manual pages with this problem, but this is a N: Debian-specific modification and hopefully eventually can be removed. N: N: "-" must be escaped ("\-") to be interpreted as minus. If you really N: intend a hyphen (normally you don't), write it as "\(hy" to emphasise N: that fact. See groff(7) and especially groff_char(7) for details, and N: also the thread starting with N: https://lists.debian.org/debian-devel/2003/debian-devel-200303/msg01481.html N: N: If you use some tool that converts your documentation to groff format, N: this tag may indicate a bug in the tool. Some tools convert dashes of N: any kind to hyphens. The safe way of converting dashes is to convert N: them to "\-". N: N: Because this error can occur very often, Lintian shows only the first 10 N: occurrences for each man page and give the number of suppressed N: occurrences. If you want to see all warnings, run Lintian with the N: -d/--debug option. N: N: Refer to /usr/share/doc/groff-base/README.Debian and the groff_char(7) N: manual page for details. N: N: Severity: wishlist, Certainty: possible N: N: Check: manpages, Type: binary N: I: ldns-dev: hyphen-used-as-minus-sign usr/share/man/man3/ldns_buffer_export.3.gz:61 I: ldns-dev: hyphen-used-as-minus-sign usr/share/man/man3/ldns_buffer_free.3.gz:61 I: ldns-dev: hyphen-used-as-minus-sign usr/share/man/man3/ldns_buffer_new.3.gz:61 I: ldns-dev: hyphen-used-as-minus-sign usr/share/man/man3/ldns_buffer_new_frm_data.3.gz:61 I: ldns-dev: hyphen-used-as-minus-sign usr/share/man/man3/ldns_buffer_printf.3.gz:61 I: ldns-dev: hyphen-used-as-minus-sign usr/share/man/man3/ldns_dane_cert2rdf.3.gz:83 I: ldns-dev: hyphen-used-as-minus-sign usr/share/man/man3/ldns_dane_create_tlsa_owner.3.gz:83 I: ldns-dev: hyphen-used-as-minus-sign usr/share/man/man3/ldns_dane_create_tlsa_rr.3.gz:83 I: ldns-dev: hyphen-used-as-minus-sign usr/share/man/man3/ldns_dane_select_certificate.3.gz:83 I: ldns-dev: hyphen-used-as-minus-sign usr/share/man/man3/ldns_dname_compare.3.gz:28 I: ldns-dev: hyphen-used-as-minus-sign usr/share/man/man3/ldns_dname_compare.3.gz:40 I: ldns-dev: hyphen-used-as-minus-sign usr/share/man/man3/ldns_dname_interval.3.gz:28 I: ldns-dev: hyphen-used-as-minus-sign usr/share/man/man3/ldns_dname_interval.3.gz:40 I: ldns-dev: hyphen-used-as-minus-sign usr/share/man/man3/ldns_dnssec_name_add_rr.3.gz:93 I: ldns-dev: hyphen-used-as-minus-sign usr/share/man/man3/ldns_dnssec_name_cmp.3.gz:93 I: ldns-dev: hyphen-used-as-minus-sign usr/share/man/man3/ldns_dnssec_name_find_rrset.3.gz:93 I: ldns-dev: hyphen-used-as-minus-sign usr/share/man/man3/ldns_dnssec_name_free.3.gz:93 I: ldns-dev: hyphen-used-as-minus-sign usr/share/man/man3/ldns_dnssec_name_name.3.gz:93 I: ldns-dev: hyphen-used-as-minus-sign usr/share/man/man3/ldns_dnssec_name_new.3.gz:93 I: ldns-dev: hyphen-used-as-minus-sign usr/share/man/man3/ldns_dnssec_name_new_frm_rr.3.gz:93 I: ldns-dev: hyphen-used-as-minus-sign usr/share/man/man3/ldns_dnssec_name_print.3.gz:93 I: ldns-dev: hyphen-used-as-minus-sign usr/share/man/man3/ldns_dnssec_name_set_name.3.gz:93 I: ldns-dev: hyphen-used-as-minus-sign usr/share/man/man3/ldns_dnssec_name_set_nsec.3.gz:93 I: ldns-dev: hyphen-used-as-minus-sign usr/share/man/man3/ldns_rdf_compare.3.gz:60 I: ldns-dev: hyphen-used-as-minus-sign usr/share/man/man3/ldns_rdf_data.3.gz:60 I: ldns-dev: hyphen-used-as-minus-sign usr/share/man/man3/ldns_rdf_get_type.3.gz:60 I: ldns-dev: hyphen-used-as-minus-sign usr/share/man/man3/ldns_rdf_size.3.gz:60 I: ldns-dev: hyphen-used-as-minus-sign usr/share/man/man3/ldns_rr_compare.3.gz:28 I: ldns-dev: hyphen-used-as-minus-sign usr/share/man/man3/ldns_rr_compare_ds.3.gz:28 2. there are some manpages which lintian mark as "broken syntax" W: ldns-dev: manpage-has-errors-from-man usr/share/man/man3/ldns_dnssec_derive_trust_tree.3.gz 3: warning [p 1, 1.5i]: cannot adjust line N: N: This man page provokes warnings or errors from man. N: N: "cannot adjust" or "can't break" are trouble with paragraph filling, N: usually related to long lines. Adjustment can be helped by left N: justifying, breaks can be helped with hyphenation, see "Manipulating N: Filling and Adjusting" and "Manipulating Hyphenation" in the groff N: manual (see info groff). N: N: "can't find numbered character" usually means latin1 etc in the input, N: and this warning indicates characters will be missing from the output. N: You can change to escapes like \[:a] described on the groff_char man N: page. N: N: Other warnings are often formatting typos, like missing quotes around a N: string argument to .IP. These are likely to result in lost or malformed N: output. See the groff_man (or groff_mdoc if using mdoc) man page for N: information on macros. N: N: This test uses man's --warnings option to enable groff warnings that N: catch common mistakes, such as putting . or ' characters at the start of N: a line when they are intended as literal text rather than groff N: commands. This can be fixed either by reformatting the paragraph so that N: these characters are not at the start of a line, or by adding a N: zero-width space (\&) immediately before them. N: N: At worst, warning messages can be disabled with the .warn directive, see N: "Debugging" in the groff manual. N: N: Lintian also stricter in regards to declaring manpage preprocessors. N: N: To test this for yourself you can use the following command: N: LC_ALL=en_US.UTF-8 MANROFFSEQ='' MANWIDTH=80 \ N: man --warnings -E UTF-8 -l -Tutf8 -Z >/dev/null N: N: Refer to the groff_man(7) manual page and the groff_mdoc(7) manual page N: for details. N: N: Severity: normal, Certainty: certain N: N: Check: manpages, Type: binary N: W: ldns-dev: manpage-has-errors-from-man usr/share/man/man3/ldns_dnssec_derive_trust_tree_dnskey_rrset.3.gz 3: warning [p 1, 1.5i]: cannot adjust line W: ldns-dev: manpage-has-errors-from-man usr/share/man/man3/ldns_dnssec_derive_trust_tree_ds_rrset.3.gz 3: warning [p 1, 1.5i]: cannot adjust line W: ldns-dev: manpage-has-errors-from-man usr/share/man/man3/ldns_dnssec_derive_trust_tree_no_sig.3.gz 3: warning [p 1, 1.5i]: cannot adjust line W: ldns-dev: manpage-has-errors-from-man usr/share/man/man3/ldns_dnssec_derive_trust_tree_normal_rrset.3.gz 3: warning [p 1, 1.5i]: cannot adjust line W: ldns-dev: manpage-has-errors-from-man usr/share/man/man3/ldns_dnssec_trust_tree_add_parent.3.gz 3: warning [p 1, 1.5i]: cannot adjust line W: ldns-dev: manpage-has-errors-from-man usr/share/man/man3/ldns_dnssec_trust_tree_contains_keys.3.gz 3: warning [p 1, 1.5i]: cannot adjust line W: ldns-dev: manpage-has-errors-from-man usr/share/man/man3/ldns_dnssec_trust_tree_depth.3.gz 3: warning [p 1, 1.5i]: cannot adjust line W: ldns-dev: manpage-has-errors-from-man usr/share/man/man3/ldns_dnssec_trust_tree_free.3.gz 3: warning [p 1, 1.5i]: cannot adjust line W: ldns-dev: manpage-has-errors-from-man usr/share/man/man3/ldns_dnssec_trust_tree_new.3.gz 3: warning [p 1, 1.5i]: cannot adjust line W: ldns-dev: manpage-has-errors-from-man usr/share/man/man3/ldns_dnssec_trust_tree_print.3.gz 3: warning [p 1, 1.5i]: cannot adjust line W: ldns-dev: manpage-has-errors-from-man usr/share/man/man3/ldns_dnssec_trust_tree_print_sm.3.gz 3: warning [p 1, 1.5i]: cannot adjust line 3. compiler warning in resolver.c ./resolver.c:1279:21: warning: variable 'rcode' set but not used I tried to include line 1339 ( rcode = ldns_lookup_by_id...) in the #ifdef STDERR_MSGS starting line 1140 but that only produce the next warning: ./resolver.c:1279:21: warning: unused variable 'rcode' Maybe some of these issues could be addressed in a upcoming release... Thanks, Andreas -------------- next part -------------- A non-text attachment was scrubbed... Name: manpage-has-bad-whatis-entry.patch Type: text/x-diff Size: 724 bytes Desc: not available URL: -------------- next part -------------- A non-text attachment was scrubbed... Name: spelling-errors.patch Type: text/x-diff Size: 11154 bytes Desc: not available URL: -------------- next part -------------- A non-text attachment was scrubbed... Name: hyphen-used-as-minus-sign.patch Type: text/x-diff Size: 12208 bytes Desc: not available URL: From willem at nlnetlabs.nl Fri Feb 13 12:48:03 2015 From: willem at nlnetlabs.nl (Willem Toorop) Date: Fri, 13 Feb 2015 13:48:03 +0100 Subject: [ldns-users] ldns-1.6.17: minor build cosmetics In-Reply-To: <20150212202916.Horde.IUlTf97G99pPnjlJlknLtg4@horde.andreasschulze.de> References: <20150212202916.Horde.IUlTf97G99pPnjlJlknLtg4@horde.andreasschulze.de> Message-ID: <54DDF283.8050400@nlnetlabs.nl> Thanks Andreas, The lintian and unused rcode issues were already dealt with on the development branch. But the spelling and hyphen fixes are most welcome and just in time. http://git.nlnetlabs.nl/ldns/commit/?h=develop&id=eda77fad http://git.nlnetlabs.nl/ldns/commit/?h=develop&id=48f0e688 I'll see what I can do about bare hyphen's extracted from the source. Maybe nothing yet for the upcoming release. Thanks! -- Willem Op 12-02-15 om 20:29 schreef A. Schulze: > > Hello, > > while building a private version of ldns in my new build system I > noticed some > minor warnings generated by debian lintian. > > I wrote 3 patchfiles to correct them: > - hyphen-used-as-minus-sign.patch > - spelling-errors.patch > - manpage-has-bad-whatis-entry.patch > > three other classes of issues I could not fix with patches. > > 1. > ldns use doxygen to extract descriptions for functions to generate > manpages. > These manpage should escape a bare "-". But that would require me to > change the .h files. > > I: ldns-dev: hyphen-used-as-minus-sign > usr/share/man/man3/ldns_buffer_clear.3.gz:61 > N: > N: This manual page seems to contain a hyphen where a minus sign was > N: intended. By default, "-" chars are interpreted as hyphens > (U+2010) by > N: groff, not as minus signs (U+002D). Since options to programs use > minus > N: signs (U+002D), this means for example in UTF-8 locales that you > cannot > N: cut and paste options, nor search for them easily. The Debian groff > N: package currently forces "-" to be interpreted as a minus sign due to > N: the number of manual pages with this problem, but this is a > N: Debian-specific modification and hopefully eventually can be removed. > N: > N: "-" must be escaped ("\-") to be interpreted as minus. If you really > N: intend a hyphen (normally you don't), write it as "\(hy" to emphasise > N: that fact. See groff(7) and especially groff_char(7) for details, and > N: also the thread starting with > N: > https://lists.debian.org/debian-devel/2003/debian-devel-200303/msg01481.html > > N: > N: If you use some tool that converts your documentation to groff > format, > N: this tag may indicate a bug in the tool. Some tools convert dashes of > N: any kind to hyphens. The safe way of converting dashes is to convert > N: them to "\-". > N: > N: Because this error can occur very often, Lintian shows only the > first 10 > N: occurrences for each man page and give the number of suppressed > N: occurrences. If you want to see all warnings, run Lintian with the > N: -d/--debug option. > N: > N: Refer to /usr/share/doc/groff-base/README.Debian and the > groff_char(7) > N: manual page for details. > N: > N: Severity: wishlist, Certainty: possible > N: > N: Check: manpages, Type: binary > N: > I: ldns-dev: hyphen-used-as-minus-sign > usr/share/man/man3/ldns_buffer_export.3.gz:61 > I: ldns-dev: hyphen-used-as-minus-sign > usr/share/man/man3/ldns_buffer_free.3.gz:61 > I: ldns-dev: hyphen-used-as-minus-sign > usr/share/man/man3/ldns_buffer_new.3.gz:61 > I: ldns-dev: hyphen-used-as-minus-sign > usr/share/man/man3/ldns_buffer_new_frm_data.3.gz:61 > I: ldns-dev: hyphen-used-as-minus-sign > usr/share/man/man3/ldns_buffer_printf.3.gz:61 > I: ldns-dev: hyphen-used-as-minus-sign > usr/share/man/man3/ldns_dane_cert2rdf.3.gz:83 > I: ldns-dev: hyphen-used-as-minus-sign > usr/share/man/man3/ldns_dane_create_tlsa_owner.3.gz:83 > I: ldns-dev: hyphen-used-as-minus-sign > usr/share/man/man3/ldns_dane_create_tlsa_rr.3.gz:83 > I: ldns-dev: hyphen-used-as-minus-sign > usr/share/man/man3/ldns_dane_select_certificate.3.gz:83 > I: ldns-dev: hyphen-used-as-minus-sign > usr/share/man/man3/ldns_dname_compare.3.gz:28 > I: ldns-dev: hyphen-used-as-minus-sign > usr/share/man/man3/ldns_dname_compare.3.gz:40 > I: ldns-dev: hyphen-used-as-minus-sign > usr/share/man/man3/ldns_dname_interval.3.gz:28 > I: ldns-dev: hyphen-used-as-minus-sign > usr/share/man/man3/ldns_dname_interval.3.gz:40 > I: ldns-dev: hyphen-used-as-minus-sign > usr/share/man/man3/ldns_dnssec_name_add_rr.3.gz:93 > I: ldns-dev: hyphen-used-as-minus-sign > usr/share/man/man3/ldns_dnssec_name_cmp.3.gz:93 > I: ldns-dev: hyphen-used-as-minus-sign > usr/share/man/man3/ldns_dnssec_name_find_rrset.3.gz:93 > I: ldns-dev: hyphen-used-as-minus-sign > usr/share/man/man3/ldns_dnssec_name_free.3.gz:93 > I: ldns-dev: hyphen-used-as-minus-sign > usr/share/man/man3/ldns_dnssec_name_name.3.gz:93 > I: ldns-dev: hyphen-used-as-minus-sign > usr/share/man/man3/ldns_dnssec_name_new.3.gz:93 > I: ldns-dev: hyphen-used-as-minus-sign > usr/share/man/man3/ldns_dnssec_name_new_frm_rr.3.gz:93 > I: ldns-dev: hyphen-used-as-minus-sign > usr/share/man/man3/ldns_dnssec_name_print.3.gz:93 > I: ldns-dev: hyphen-used-as-minus-sign > usr/share/man/man3/ldns_dnssec_name_set_name.3.gz:93 > I: ldns-dev: hyphen-used-as-minus-sign > usr/share/man/man3/ldns_dnssec_name_set_nsec.3.gz:93 > I: ldns-dev: hyphen-used-as-minus-sign > usr/share/man/man3/ldns_rdf_compare.3.gz:60 > I: ldns-dev: hyphen-used-as-minus-sign > usr/share/man/man3/ldns_rdf_data.3.gz:60 > I: ldns-dev: hyphen-used-as-minus-sign > usr/share/man/man3/ldns_rdf_get_type.3.gz:60 > I: ldns-dev: hyphen-used-as-minus-sign > usr/share/man/man3/ldns_rdf_size.3.gz:60 > I: ldns-dev: hyphen-used-as-minus-sign > usr/share/man/man3/ldns_rr_compare.3.gz:28 > I: ldns-dev: hyphen-used-as-minus-sign > usr/share/man/man3/ldns_rr_compare_ds.3.gz:28 > > 2. > there are some manpages which lintian mark as "broken syntax" > > W: ldns-dev: manpage-has-errors-from-man > usr/share/man/man3/ldns_dnssec_derive_trust_tree.3.gz 3: warning [p 1, > 1.5i]: cannot adjust line > N: > N: This man page provokes warnings or errors from man. > N: > N: "cannot adjust" or "can't break" are trouble with paragraph filling, > N: usually related to long lines. Adjustment can be helped by left > N: justifying, breaks can be helped with hyphenation, see "Manipulating > N: Filling and Adjusting" and "Manipulating Hyphenation" in the groff > N: manual (see info groff). > N: > N: "can't find numbered character" usually means latin1 etc in the > input, > N: and this warning indicates characters will be missing from the > output. > N: You can change to escapes like \[:a] described on the groff_char man > N: page. > N: > N: Other warnings are often formatting typos, like missing quotes > around a > N: string argument to .IP. These are likely to result in lost or > malformed > N: output. See the groff_man (or groff_mdoc if using mdoc) man page for > N: information on macros. > N: > N: This test uses man's --warnings option to enable groff warnings that > N: catch common mistakes, such as putting . or ' characters at the > start of > N: a line when they are intended as literal text rather than groff > N: commands. This can be fixed either by reformatting the paragraph > so that > N: these characters are not at the start of a line, or by adding a > N: zero-width space (\&) immediately before them. > N: > N: At worst, warning messages can be disabled with the .warn > directive, see > N: "Debugging" in the groff manual. > N: > N: Lintian also stricter in regards to declaring manpage preprocessors. > N: > N: To test this for yourself you can use the following command: > N: LC_ALL=en_US.UTF-8 MANROFFSEQ='' MANWIDTH=80 \ > N: man --warnings -E UTF-8 -l -Tutf8 -Z >/dev/null > N: > N: Refer to the groff_man(7) manual page and the groff_mdoc(7) manual > page > N: for details. > N: > N: Severity: normal, Certainty: certain > N: > N: Check: manpages, Type: binary > N: > W: ldns-dev: manpage-has-errors-from-man > usr/share/man/man3/ldns_dnssec_derive_trust_tree_dnskey_rrset.3.gz 3: > warning [p 1, 1.5i]: cannot adjust line > W: ldns-dev: manpage-has-errors-from-man > usr/share/man/man3/ldns_dnssec_derive_trust_tree_ds_rrset.3.gz 3: > warning [p 1, 1.5i]: cannot adjust line > W: ldns-dev: manpage-has-errors-from-man > usr/share/man/man3/ldns_dnssec_derive_trust_tree_no_sig.3.gz 3: warning > [p 1, 1.5i]: cannot adjust line > W: ldns-dev: manpage-has-errors-from-man > usr/share/man/man3/ldns_dnssec_derive_trust_tree_normal_rrset.3.gz 3: > warning [p 1, 1.5i]: cannot adjust line > W: ldns-dev: manpage-has-errors-from-man > usr/share/man/man3/ldns_dnssec_trust_tree_add_parent.3.gz 3: warning [p > 1, 1.5i]: cannot adjust line > W: ldns-dev: manpage-has-errors-from-man > usr/share/man/man3/ldns_dnssec_trust_tree_contains_keys.3.gz 3: warning > [p 1, 1.5i]: cannot adjust line > W: ldns-dev: manpage-has-errors-from-man > usr/share/man/man3/ldns_dnssec_trust_tree_depth.3.gz 3: warning [p 1, > 1.5i]: cannot adjust line > W: ldns-dev: manpage-has-errors-from-man > usr/share/man/man3/ldns_dnssec_trust_tree_free.3.gz 3: warning [p 1, > 1.5i]: cannot adjust line > W: ldns-dev: manpage-has-errors-from-man > usr/share/man/man3/ldns_dnssec_trust_tree_new.3.gz 3: warning [p 1, > 1.5i]: cannot adjust line > W: ldns-dev: manpage-has-errors-from-man > usr/share/man/man3/ldns_dnssec_trust_tree_print.3.gz 3: warning [p 1, > 1.5i]: cannot adjust line > W: ldns-dev: manpage-has-errors-from-man > usr/share/man/man3/ldns_dnssec_trust_tree_print_sm.3.gz 3: warning [p 1, > 1.5i]: cannot adjust line > > 3. compiler warning in resolver.c > ./resolver.c:1279:21: warning: variable 'rcode' set but not used > > I tried to include line 1339 ( rcode = ldns_lookup_by_id...) in the > #ifdef STDERR_MSGS starting line 1140 but that only produce the next > warning: > ./resolver.c:1279:21: warning: unused variable 'rcode' > > Maybe some of these issues could be addressed in a upcoming release... > > Thanks, > Andreas > > > > _______________________________________________ > ldns-users mailing list > ldns-users at open.nlnetlabs.nl > http://open.nlnetlabs.nl/mailman/listinfo/ldns-users > From de.techno at gmail.com Tue Feb 17 08:59:20 2015 From: de.techno at gmail.com (dE) Date: Tue, 17 Feb 2015 14:29:20 +0530 Subject: [ldns-users] Compiling for mingw. Message-ID: <54E302E8.1060600@gmail.com> Hi! I was trying to build programs which need ldns library on mingw (cross compiling). The library itself does compile but the headers have some problem error: unknown type name 'socklen_t' ldns_status ldns_udp_send(uint8_t **result, ldns_buffer *qbin, const struct sockaddr_storage *to, socklen_t tolen, struct timeval timeout, size_t *answersize); So I added #include in ldns.h However when linking -- /tmp/cci2q85W.o:ldns_resolv.c:(.text+0x55): undefined reference to `ldns_dname_new_frm_str' /tmp/cci2q85W.o:ldns_resolv.c:(.text+0x7e): undefined reference to `ldns_resolver_new_frm_file' /tmp/cci2q85W.o:ldns_resolv.c:(.text+0xaa): undefined reference to `ldns_resolver_query' /tmp/cci2q85W.o:ldns_resolv.c:(.text+0xba): undefined reference to `ldns_rdf_deep_free' /tmp/cci2q85W.o:ldns_resolv.c:(.text+0xe7): undefined reference to `ldns_pkt_rr_list_by_type' /tmp/cci2q85W.o:ldns_resolv.c:(.text+0xf7): undefined reference to `ldns_rr_list2str' /tmp/cci2q85W.o:ldns_resolv.c:(.text+0x107): undefined reference to `ldns_rr_list_deep_free' /tmp/cci2q85W.o:ldns_resolv.c:(.text+0x113): undefined reference to `ldns_pkt_free' /tmp/cci2q85W.o:ldns_resolv.c:(.text+0x11f): undefined reference to `ldns_resolver_deep_free' /home/de/mxe/usr/lib/gcc/i686-pc-mingw32/4.8.1/../../../../i686-pc-mingw32/bin/ld: /tmp/cci2q85W.o: bad reloc address 0x20 in section `.eh_frame' /home/de/mxe/usr/lib/gcc/i686-pc-mingw32/4.8.1/../../../../i686-pc-mingw32/bin/ld: final link failed: Invalid operation collect2: error: ld returned 1 exit status Compiling with -lldns