Bug 236850 - net/isc-dhcp44-server fails to build with LDAP - unknown type name errors at dhcpd.h & omapip.h
Summary: net/isc-dhcp44-server fails to build with LDAP - unknown type name errors at ...
Status: New
Alias: None
Product: Ports & Packages
Classification: Unclassified
Component: Individual Port(s) (show other bugs)
Version: Latest
Hardware: amd64 Any
: --- Affects Only Me
Assignee: Ryan Steinmetz
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2019-03-28 13:43 UTC by Anton Tonev
Modified: 2019-03-28 13:43 UTC (History)
0 users

See Also:
bugzilla: maintainer-feedback? (zi)


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Anton Tonev 2019-03-28 13:43:41 UTC
The compilation with LDAP of port net/isc-dhcp44-server fails on FreeBSD 11.2-RELEASE-p9 (r344922: Fri Mar  8 14:43:41 EET 2019) amd64, with the errors shown below at (#1). 

That unknown type name errors have been successfully resolved by including isc/boolean.h & isc/int.h & isc/util.h into /usr/ports/net/isc-dhcp44-server/work/dhcp-4.4.1/includes/dhcpd.h, plus including isc/boolean.h into /usr/ports/net/isc-dhcp44-server/work/dhcp-4.4.1/includes/omapip/omapip.h (thanks to the patch at bugs.debian.org/cgi-bin/bugreport.cgi?bug=911975).

Next errors "undefined reference to dns_fixedname_init" & dns_fixedname_name, shown below at (#2), have been successfully resolved by creating new header file /usr/ports/net/isc-dhcp44-server/work/dhcp-4.4.1/includes/fixedname.h as listed at users.isc.org/~each/doxygen/bind9/fixedname_8h-source.html,
plus including that fixedname.h into /usr/ports/net/isc-dhcp44-server/work/dhcp-4.4.1/includes/omapip/isclib.c

Please add that missing content to the port source code.

(#1) ---
cc -DHAVE_CONFIG_H -I. -I../includes  -I.. -DLOCALSTATEDIR='"/var"' -D_PATH_DHCLIENT_SCRIPT='"/usr/local/sbin/dhclient-script"' -D_PATH_DHCLIENT_CONF='"/usr/local/etc/dhclient.conf"' -D_PATH_DHCPD_CONF='"/usr/local/etc/dhcpd.conf"' -I/usr/local/include -L/usr/local/lib -DLDAP_CONFIGURATION -DLDAP_USE_SSL -O2 -pipe  -fPIC -fstack-protector -DLDAP_DEPRECATED -fno-strict-aliasing   -I../includes -I/usr/ports/net/isc-dhcp44-server/work/dhcp-4.4.1/bind/include -MT alloc.o -MD -MP -MF .deps/alloc.Tpo -c -o alloc.o alloc.c
cc: warning: argument unused during compilation: '-L/usr/local/lib' [-Wunused-command-line-argument]
In file included from alloc.c:29:
In file included from ../includes/dhcpd.h:97:
../includes/tree.h:307:30: warning: type specifier missing, defaults to 'int' [-Wimplicit-int]
                           struct option_cache *, isc_boolean_t);
                                                  ^
In file included from alloc.c:29:
In file included from ../includes/dhcpd.h:101:
In file included from ../includes/omapip/omapip_p.h:65:
../includes/omapip/omapip.h:267:1: error: unknown type name 'isc_boolean_t'; did you mean
      'isc_token_t'?
isc_boolean_t omapi_protocol_authenticated (omapi_object_t *);
^~~~~~~~~~~~~
isc_token_t
/usr/local/include/isc/lex.h:135:3: note: 'isc_token_t' declared here
} isc_token_t;
  ^
In file included from alloc.c:29:
In file included from ../includes/dhcpd.h:101:
../includes/omapip/omapip_p.h:152:2: error: unknown type name 'isc_boolean_t'; did you mean
      'isc_token_t'?
        isc_boolean_t insecure;         /* Set to allow unauthenticated
        ^~~~~~~~~~~~~
        isc_token_t
/usr/local/include/isc/lex.h:135:3: note: 'isc_token_t' declared here
} isc_token_t;
  ^
In file included from alloc.c:29:
In file included from ../includes/dhcpd.h:101:
../includes/omapip/omapip_p.h:161:2: error: unknown type name 'isc_boolean_t'; did you mean
      'isc_token_t'?
        isc_boolean_t insecure;         /* Set to allow unauthenticated
        ^~~~~~~~~~~~~
        isc_token_t
/usr/local/include/isc/lex.h:135:3: note: 'isc_token_t' declared here
} isc_token_t;
  ^
In file included from alloc.c:29:
In file included from ../includes/dhcpd.h:101:
../includes/omapip/omapip_p.h:211:2: error: unknown type name 'isc_boolean_t'; did you mean
      'isc_token_t'?
        isc_boolean_t closed; /* ISC_TRUE = closed, do not use */
        ^~~~~~~~~~~~~
        isc_token_t
/usr/local/include/isc/lex.h:135:3: note: 'isc_token_t' declared here
} isc_token_t;
  ^
In file included from alloc.c:29:
../includes/dhcpd.h:464:2: error: unknown type name 'isc_boolean_t'; did you mean 'isc_token_t'?
        isc_boolean_t agent_options_stashed;
        ^~~~~~~~~~~~~
        isc_token_t
/usr/local/include/isc/lex.h:135:3: note: 'isc_token_t' declared here
} isc_token_t;
  ^
In file included from alloc.c:29:
../includes/dhcpd.h:470:2: error: unknown type name 'isc_boolean_t'; did you mean 'isc_token_t'?
        isc_boolean_t unicast;
        ^~~~~~~~~~~~~
        isc_token_t
/usr/local/include/isc/lex.h:135:3: note: 'isc_token_t' declared here
} isc_token_t;
  ^
In file included from alloc.c:29:
../includes/dhcpd.h:477:2: error: unknown type name 'isc_boolean_t'; did you mean 'isc_token_t'?
        isc_boolean_t relay_source_port;
        ^~~~~~~~~~~~~
        isc_token_t
/usr/local/include/isc/lex.h:135:3: note: 'isc_token_t' declared here
} isc_token_t;
  ^
In file included from alloc.c:29:
../includes/dhcpd.h:1177:2: error: unknown type name 'isc_boolean_t'; did you mean 'isc_token_t'?
        isc_boolean_t released;
        ^~~~~~~~~~~~~
        isc_token_t
/usr/local/include/isc/lex.h:135:3: note: 'isc_token_t' declared here
} isc_token_t;
  ^
In file included from alloc.c:29:
../includes/dhcpd.h:1698:2: error: unknown type name 'isc_uint64_t'; did you mean '__uint64_t'?
        isc_uint64_t num_active;                /* count of active leases */
        ^~~~~~~~~~~~
        __uint64_t
/usr/include/x86/_types.h:61:24: note: '__uint64_t' declared here
typedef unsigned long           __uint64_t;
                                ^
In file included from alloc.c:29:
../includes/dhcpd.h:1699:2: error: unknown type name 'isc_uint64_t'; did you mean '__uint64_t'?
        isc_uint64_t num_abandoned;             /* count of abandoned leases */
        ^~~~~~~~~~~~
        __uint64_t
/usr/include/x86/_types.h:61:24: note: '__uint64_t' declared here
typedef unsigned long           __uint64_t;
                                ^
In file included from alloc.c:29:
../includes/dhcpd.h:1735:2: error: unknown type name 'isc_uint64_t'; did you mean '__uint64_t'?
        isc_uint64_t num_total;     /* Total number of elements in the pond */
        ^~~~~~~~~~~~
        __uint64_t
/usr/include/x86/_types.h:61:24: note: '__uint64_t' declared here
typedef unsigned long           __uint64_t;
                                ^
In file included from alloc.c:29:
../includes/dhcpd.h:1736:2: error: unknown type name 'isc_uint64_t'; did you mean '__uint64_t'?
        isc_uint64_t num_active;    /* Number of elements in the pond in use */
        ^~~~~~~~~~~~
        __uint64_t
/usr/include/x86/_types.h:61:24: note: '__uint64_t' declared here
typedef unsigned long           __uint64_t;
                                ^
In file included from alloc.c:29:
../includes/dhcpd.h:1737:2: error: unknown type name 'isc_uint64_t'; did you mean '__uint64_t'?
        isc_uint64_t num_abandoned;     /* count of abandoned leases */
        ^~~~~~~~~~~~
        __uint64_t
/usr/include/x86/_types.h:61:24: note: '__uint64_t' declared here
typedef unsigned long           __uint64_t;
                                ^
In file included from alloc.c:29:
../includes/dhcpd.h:1739:2: error: unknown type name 'isc_uint64_t'; did you mean '__uint64_t'?
        isc_uint64_t low_threshold;     /* low threshold to restart logging */
        ^~~~~~~~~~~~
        __uint64_t
/usr/include/x86/_types.h:61:24: note: '__uint64_t' declared here
typedef unsigned long           __uint64_t;
                                ^
In file included from alloc.c:29:
../includes/dhcpd.h:1871:30: error: unknown type name 'isc_boolean_t'; did you mean 'isc_token_t'?
                  struct option_cache *oc, isc_boolean_t appendp);
                                           ^~~~~~~~~~~~~
                                           isc_token_t
/usr/local/include/isc/lex.h:135:3: note: 'isc_token_t' declared here
} isc_token_t;
  ^
In file included from alloc.c:29:
../includes/dhcpd.h:1956:27: error: unknown type name 'isc_boolean_t'; did you mean 'isc_token_t'?
                        struct option_cache *, isc_boolean_t appendp);
                                               ^~~~~~~~~~~~~
                                               isc_token_t
/usr/local/include/isc/lex.h:135:3: note: 'isc_token_t' declared here
} isc_token_t;
  ^
In file included from alloc.c:29:
../includes/dhcpd.h:2044:27: error: unknown type name 'isc_boolean_t'; did you mean 'isc_token_t'?
                        struct option_cache *, isc_boolean_t appendp);
                                               ^~~~~~~~~~~~~
                                               isc_token_t
/usr/local/include/isc/lex.h:135:3: note: 'isc_token_t' declared here
} isc_token_t;
  ^
In file included from alloc.c:29:
../includes/dhcpd.h:2072:35: warning: type specifier missing, defaults to 'int' [-Wimplicit-int]
                int, int, const struct iaddr *, isc_boolean_t);
                                                ^
../includes/dhcpd.h:2227:30: warning: type specifier missing, defaults to 'int' [-Wimplicit-int]
                           struct dhcp_ddns_cb *, isc_boolean_t);
                                                  ^
../includes/dhcpd.h:2453:1: error: unknown type name 'isc_boolean_t'; did you mean 'isc_token_t'?
isc_boolean_t server_duid_isset(void);
^~~~~~~~~~~~~
isc_token_t
/usr/local/include/isc/lex.h:135:3: note: 'isc_token_t' declared here
} isc_token_t;
  ^
In file included from alloc.c:29:
../includes/dhcpd.h:2855:37: warning: type specifier missing, defaults to 'int' [-Wimplicit-int]
                                     int, const struct iaddr *, isc_boolean_t);
                                                                ^
../includes/dhcpd.h:2946:1: error: unknown type name 'isc_boolean_t'; did you mean 'isc_token_t'?
isc_boolean_t is_cidr_mask_valid(const struct iaddr *addr, int bits);
^~~~~~~~~~~~~
isc_token_t
/usr/local/include/isc/lex.h:135:3: note: 'isc_token_t' declared here
} isc_token_t;
  ^
fatal error: too many errors emitted, stopping now [-ferror-limit=]
4 warnings and 20 errors generated.
gmake[4]: *** [Makefile:500: alloc.o] Error 1
gmake[4]: Leaving directory '/usr/ports/net/isc-dhcp44-server/work/dhcp-4.4.1/common'
gmake[3]: *** [Makefile:563: all-recursive] Error 1
gmake[3]: Leaving directory '/usr/ports/net/isc-dhcp44-server/work/dhcp-4.4.1/common'
gmake[2]: *** [Makefile:462: all-recursive] Error 1
gmake[2]: Leaving directory '/usr/ports/net/isc-dhcp44-server/work/dhcp-4.4.1'
*** Error code 1

Stop.
make[1]: stopped in /usr/ports/net/isc-dhcp44-server
*** Error code 1

Stop.
make: stopped in /usr/ports/net/isc-dhcp44-server

(#2) ---
cc  -O2 -pipe  -fPIC -fstack-protector -DLDAP_DEPRECATED -fno-strict-aliasing   -I../includes -I/usr/ports/net/isc-dhcp44-server/work/dhcp-4.4.1/bind/include  -fstack-protector  -o svtest test.o libomapi.a /usr/ports/net/isc-dhcp44-server/work/dhcp-4.4.1/bind/bind-9.11.2-P1/lib/irs/libirs.a /usr/ports/net/isc-dhcp44-server/work/dhcp-4.4.1/bind/bind-9.11.2-P1/lib/dns/libdns.a /usr/ports/net/isc-dhcp44-server/work/dhcp-4.4.1/bind/bind-9.11.2-P1/lib/isccfg/libisccfg.a /usr/ports/net/isc-dhcp44-server/work/dhcp-4.4.1/bind/bind-9.11.2-P1/lib/isc/libisc.a -lssl -L/usr/local/lib
libomapi.a(isclib.o): In function `dhcp_isc_name':
isclib.c:(.text+0x463): undefined reference to `dns_fixedname_init'
isclib.c:(.text+0x46b): undefined reference to `dns_fixedname_name'
libomapi.a(isclib.o): In function `isclib_make_dst_key':
isclib.c:(.text+0x5dc): undefined reference to `dns_fixedname_init'
isclib.c:(.text+0x5e4): undefined reference to `dns_fixedname_name'
cc: error: linker command failed with exit code 1 (use -v to see invocation)
gmake[3]: *** [Makefile:429: svtest] Error 1
gmake[3]: Leaving directory '/usr/ports/net/isc-dhcp44-server/work/dhcp-4.4.1/omapip'
gmake[2]: *** [Makefile:462: all-recursive] Error 1
gmake[2]: Leaving directory '/usr/ports/net/isc-dhcp44-server/work/dhcp-4.4.1'
*** Error code 1

Stop.
make[1]: stopped in /usr/ports/net/isc-dhcp44-server
*** Error code 1

Stop.
make: stopped in /usr/ports/net/isc-dhcp44-server