tech-pkg archive

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

net-snmp not building on latest current 9.99.106



There has been some collateral damage inflicted due to the merge of structures 
in netinet6.h with netinet.h in recent NetBSD-current

I suspect a few packages may be affected, but the one I found is net-snmp: 

bootstrap dependency digest>=20211023: found digest-20220214
=> Checksum BLAKE2s OK for net-snmp-5.8.tar.gz
=> Checksum SHA512 OK for net-snmp-5.8.tar.gz
===> Installing dependencies for net-snmp-5.8nb4
==========================================================================
The supported build options for net-snmp are:

        inet6 perl snmp-nokmem snmp-unprived ssl

The currently selected options are:

        inet6 perl ssl

You can select which build options to use by setting PKG_DEFAULT_OPTIONS 
or the following variable.  Its current value is shown:

        PKG_OPTIONS.net-snmp (not defined)

==========================================================================
==========================================================================
The following variables will affect the build process of this package,
net-snmp-5.8nb4.  Their current value is shown below:

        * CURSES_DEFAULT = curses
        * NET_SNMP_MIBDIRS = 
\$HOME/.snmp/mibs:/usr/pkg/share/snmp/mibs:/usr/pkg/lib/tcl/tnm2.1.10/mibs:/usr/local/share/snmp/mibs
        * NET_SNMP_PERSISTENTDIR = /var/net-snmp
        * NET_SNMP_SYS_CONTACT = default_user@contact.domain
        * NET_SNMP_SYS_LOCATION = defaultlocation
        * SSLBASE = /usr
        * SSLCERTBUNDLE (not defined)
        * SSLCERTS = /etc/openssl/certs
        * SSLDIR = /etc/openssl
        * SSLKEYS = /etc/openssl/private

Based on these variables, the following variables have been set:

        * CURSES_TYPE = curses

You may want to abort the process now with CTRL-C and change the value
of variables in the first group before continuing.  Be sure to run
`/usr/bin/make clean' after the changes.
==========================================================================
=> Tool dependency libtool-base>=2.4.2nb9: found libtool-base-2.4.7nb1
=> Tool dependency perl>=5.36.0: found perl-5.36.0
=> Tool dependency cwrappers>=20150314: found cwrappers-20220403 
=> Full dependency perl>=5.36.0<5.38.0: found perl-5.36.0
=> Full dependency pcre>=8.30nb1: found pcre-8.45
=> Full dependency osabi-NetBSD-9.99.106: found osabi-NetBSD-9.99.106
===> Skipping vulnerability checks.
WARNING: No /usr/pkg/pkgdb/pkg-vulnerabilities file found.
WARNING: To fix run: `/usr/sbin/pkg_admin -K /usr/pkg/pkgdb fetch-pkg-
vulnerabilities'.
===> Overriding tools for net-snmp-5.8nb4
<text snipped>

/bin/sh ../../libtool --mode=compile gcc -I../../include -I. -I../../agent -
I../../agent/mibgroup  -I../../snmplib -I/usr/include -I/usr/pkg/include  -O2 
-fPIC -D_FORTIF
Y_SOURCE=2 -Dnetbsd1 -DSOL_IP=IPPROTO_IP -I/usr/include -I/usr/pkg/include -
DNETSNMP_ENABLE_IPV6 -fno-strict-aliasing -DNETSNMP_REMOVE_U64 -O2 -fPIC -
D_FORTIFY_SOURCE=2
-Dnetbsd1 -DSOL_IP=IPPROTO_IP -I/usr/include -I/usr/pkg/include -Unetbsd -
Dnetbsd=netbsd  -O2 -fPIC -D_FORTIFY_SOURCE=2 -pthread -I/usr/include -fwrapv 
-fno-strict-alias
ing -pipe -I/usr/pkg/include  -I/usr/pkg/lib/perl5/5.36.0/x86_64-netbsd-
thread-multi/CORE -c -o mibII/ipv6.lo mibII/ipv6.c
libtool: compile:  gcc -I../../include -I. -I../../agent -
I../../agent/mibgroup -I../../snmplib -I/usr/pkgsrc/net/net-
snmp/work/.buildlink/include -O2 -fPIC -D_FORTIFY_S
OURCE=2 -Dnetbsd1 -DSOL_IP=IPPROTO_IP -DNETSNMP_ENABLE_IPV6 -fno-strict-
aliasing -DNETSNMP_REMOVE_U64 -O2 -fPIC -D_FORTIFY_SOURCE=2 -Dnetbsd1 -
DSOL_IP=IPPROTO_IP -Unetbs
d -Dnetbsd=netbsd -O2 -fPIC -D_FORTIFY_SOURCE=2 -pthread -fwrapv -fno-strict-
aliasing -pipe -I/usr/pkgsrc/net/net-
snmp/work/.buildlink/lib/perl5/5.36.0/x86_64-netbsd-thr
ead-multi/CORE -c mibII/ipv6.c  -fPIC -DPIC -o mibII/.libs/ipv6.o
mibII/ipv6.c: In function 'var_udp6':
mibII/ipv6.c:1615:19: error: 'struct in6pcb' has no member named 'in6p_af'
 1615 |         if (in6pcb.in6p_af != AF_INET6)
      |                   ^
mibII/ipv6.c:1640:34: error: 'struct in6pcb' has no member named 'in6p_laddr'
 1640 |             newname[j++] = in6pcb.in6p_laddr.s6_addr[i];
      |                                  ^
In file included from /usr/include/sys/stdint.h:35,
                 from /usr/include/sys/inttypes.h:39,
                 from /usr/include/sys/param.h:104,
                 from ../../include/net-snmp/system/netbsd.h:3,
                 from ../../include/net-snmp/net-snmp-config.h:2234,
                 from mibII/ipv6.c:6:
mibII/ipv6.c:171:19: error: 'struct in6pcb' has no member named 'in6p_lport'; 
did you mean 'in6p_pcb'?
  171 | #define inp_lport in6p_lport
      |                   ^~~~~~~~~~
mibII/ipv6.c:1641:37: note: in expansion of macro 'inp_lport'
 1641 |         newname[j++] = ntohs(in6pcb.inp_lport);

<text snipped>

in6pcb (now aliased to inpcb) no longer has in6p_af, in6p_laddr n6etc.

Not sure how to workaround this. There are a shed load of defines dealing with 
different versions of NetBSD and I guess a quick hack would be to check for 
version 999010400 and set defines for in6p_af = inp_af etc. Does this seem 
sensible? I could try and make a patch....

Dave



Home | Main Index | Thread Index | Old Index