tech-pkg archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

libidn2 question



Hi,

I am debugging a curious behavior of wip/gnunet building with libidn2.
Outside of pkgsrc it works.

With idn keyword (which just switches from idn1 to idn2, logic to
deal with presence of both with a favor for libidn2 is present in
our (gnunet) build system), this happens.

I should mention that this mk code is for idn in wip/gnunet:

# idn is mandatory but idn or idn2 can be used with a preference
# for idn2.
.if !empty(PKG_OPTIONS:Midn)
.include "../../devel/libidn2/buildlink3.mk"
CONFIGURE_ARGS+=        --with-libidn2=${BUILDLINK_PREFIX.libidn2}
.else
.include "../../devel/libidn/buildlink3.mk"
CONFIGURE_ARGS+=        --with-libidn=${BUILDLINK_PREFIX.libidn}
.endif



This leads to what is pasted below. Do we deal differently with
libidn2 (with libidn1 the build in pkgsrc works)?


--- dnsparser.lo ---
--- dnsstub.lo ---
  CC       dnsstub.lo
--- dnsparser.lo ---
  CC       dnsparser.lo
dnsparser.c: In function 'GNUNET_DNSPARSER_check_label':
dnsparser.c:62:7: error: 'IDNA_SUCCESS' undeclared (first use in this function); did you mean 'EXIT_SUCCESS'?
   if (IDNA_SUCCESS != idna_to_ascii_8z (label, &output, IDNA_ALLOW_UNASSIGNED))
       ^~~~~~~~~~~~
       EXIT_SUCCESS
dnsparser.c:62:7: note: each undeclared identifier is reported only once for each function it appears in
dnsparser.c:62:23: warning: implicit declaration of function 'idna_to_ascii_8z' [-Wimplicit-function-declaration]
   if (IDNA_SUCCESS != idna_to_ascii_8z (label, &output, IDNA_ALLOW_UNASSIGNED))
                       ^~~~~~~~~~~~~~~~
dnsparser.c:62:57: error: 'IDNA_ALLOW_UNASSIGNED' undeclared (first use in this function)
   if (IDNA_SUCCESS != idna_to_ascii_8z (label, &output, IDNA_ALLOW_UNASSIGNED))
                                                         ^~~~~~~~~~~~~~~~~~~~~
dnsparser.c: In function 'GNUNET_DNSPARSER_check_name':
dnsparser.c:94:7: error: 'IDNA_SUCCESS' undeclared (first use in this function); did you mean 'EXIT_SUCCESS'?
   if (IDNA_SUCCESS != idna_to_ascii_8z (name, &output, IDNA_ALLOW_UNASSIGNED))
       ^~~~~~~~~~~~
       EXIT_SUCCESS
dnsparser.c:94:56: error: 'IDNA_ALLOW_UNASSIGNED' undeclared (first use in this function)
   if (IDNA_SUCCESS != idna_to_ascii_8z (name, &output, IDNA_ALLOW_UNASSIGNED))
                                                        ^~~~~~~~~~~~~~~~~~~~~
dnsparser.c: In function 'parse_name':
dnsparser.c:226:3: error: unknown type name 'Idna_rc'
   Idna_rc rc;
   ^~~~~~~
dnsparser.c:250:11: error: 'IDNA_SUCCESS' undeclared (first use in this function); did you mean 'EXIT_SUCCESS'?
       if (IDNA_SUCCESS !=
           ^~~~~~~~~~~~
           EXIT_SUCCESS
dnsparser.c:251:17: warning: implicit declaration of function 'idna_to_unicode_8z8z' [-Wimplicit-function-declaration]
           (rc = idna_to_unicode_8z8z (tmp, &utf8, IDNA_ALLOW_UNASSIGNED)))
                 ^~~~~~~~~~~~~~~~~~~~
dnsparser.c:251:51: error: 'IDNA_ALLOW_UNASSIGNED' undeclared (first use in this function)
           (rc = idna_to_unicode_8z8z (tmp, &utf8, IDNA_ALLOW_UNASSIGNED)))
                                                   ^~~~~~~~~~~~~~~~~~~~~
In file included from ../../src/include/gnunet_crypto_lib.h:59,
                 from ../../src/include/gnunet_util_lib.h:64,
                 from dnsparser.c:41:
dnsparser.c:256:21: warning: implicit declaration of function 'idna_strerror'; did you mean 'gcry_strerror'? [-Wimplicit-function-declaration]
                     idna_strerror (rc));
                     ^~~~~~~~~~~~~
../../src/include/gnunet_common.h:523:39: note: in definition of macro 'GNUNET_log'
           GNUNET_log_nocheck ((kind), __VA_ARGS__);                       \
                                       ^~~~~~~~~~~
dnsparser.c:254:24: warning: format '%s' expects argument of type 'char *', but argument 4 has type 'int' [-Wformat=]
                     _ ("Failed to convert DNS IDNA name `%s' to UTF-8: %s\n"),
                        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../../src/include/gnunet_common.h:523:39: note: in definition of macro 'GNUNET_log'
           GNUNET_log_nocheck ((kind), __VA_ARGS__);                       \
                                       ^~~~~~~~~~~
dnsparser.c:254:21: note: in expansion of macro '_'
                     _ ("Failed to convert DNS IDNA name `%s' to UTF-8: %s\n"),
                     ^
dnsparser.c: In function 'GNUNET_DNSPARSER_builder_add_name':
dnsparser.c:900:3: error: unknown type name 'Idna_rc'
   Idna_rc rc;
   ^~~~~~~
dnsparser.c:905:7: error: 'IDNA_SUCCESS' undeclared (first use in this function); did you mean 'EXIT_SUCCESS'?
   if (IDNA_SUCCESS !=
       ^~~~~~~~~~~~
       EXIT_SUCCESS
dnsparser.c:906:50: error: 'IDNA_ALLOW_UNASSIGNED' undeclared (first use in this function)
       (rc = idna_to_ascii_8z (name, &idna_start, IDNA_ALLOW_UNASSIGNED)))
                                                  ^~~~~~~~~~~~~~~~~~~~~
In file included from ../../src/include/gnunet_crypto_lib.h:59,
                 from ../../src/include/gnunet_util_lib.h:64,
                 from dnsparser.c:41:
dnsparser.c:910:19: warning: format '%s' expects argument of type 'char *', but argument 4 has type 'int' [-Wformat=]
                   "Failed to convert UTF-8 name `%s' to DNS IDNA format: %s\n"),
                   ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../../src/include/gnunet_common.h:523:39: note: in definition of macro 'GNUNET_log'
           GNUNET_log_nocheck ((kind), __VA_ARGS__);                       \
                                       ^~~~~~~~~~~
dnsparser.c:909:17: note: in expansion of macro '_'
                 _ (
                 ^
*** [dnsparser.lo] Error code 1

make[3]: stopped in /usr/work/wip/gnunet/work/gnunet-0.11.8/src/util
1 error

make[3]: stopped in /usr/work/wip/gnunet/work/gnunet-0.11.8/src/util
*** [all-recursive] Error code 1
make[2]: stopped in /usr/work/wip/gnunet/work/gnunet-0.11.8/src
1 error

make[2]: stopped in /usr/work/wip/gnunet/work/gnunet-0.11.8/src
*** [all-recursive] Error code 1

make[1]: stopped in /usr/work/wip/gnunet/work/gnunet-0.11.8
1 error

make[1]: stopped in /usr/work/wip/gnunet/work/gnunet-0.11.8
*** [all] Error code 2

make: stopped in /usr/work/wip/gnunet/work/gnunet-0.11.8
1 error

make: stopped in /usr/work/wip/gnunet/work/gnunet-0.11.8
*** Error code 2

Stop.
make[1]: stopped in /usr/pkgsrc/wip/gnunet
*** Error code 1

Stop.
make: stopped in /usr/pkgsrc/wip/gnunet



Home | Main Index | Thread Index | Old Index