bug in ifiter_getifaddrs.c cannot find include file: <ifaddrs.h> ??

Ondřej Surý ondrej at isc.org
Wed May 29 07:07:50 UTC 2019


Hi Dennis,

see PLATFORMS.md from the distribution. Unfortunately, Solaris 10 is just too old
to be supported.  You will either need to upgrade to Solaris 11 or use BIND 9.11 ESV

—cut here—
[…]
## Supported platforms

In general, this version of BIND will build and run on any POSIX-compliant
system with a C99-compliant C compiler, BSD-style sockets with RFC-compliant
IPv6 support, POSIX-compliant threads, and the OpenSSL cryptography library.
Atomic operations support from the compiler is needed, either in the form of
builtin operations, C11 atomics or the Interlocked family of functions on
Windows.

ISC regularly tests BIND on many operating systems and architectures, but
lacks the resources to test all of them. Consequently, ISC is only able to
offer support on a "best effort" basis for some.

[…]

## Unsupported platforms

These are platforms on which BIND 9.15 is known *not* to build or run:

* Platforms without at least OpenSSL 1.0.2
* Windows 10 / x86
* Windows Server 2012 and older
* Solaris 10 and older
* Platforms that don't support IPv6 Advanced Socket API (RFC 3542)
* Platforms that don't support atomic operations (via compiler or library)
* Linux without NPTL (Native POSIX Thread Library)
[…]
—cut here—

Ondrej
--
Ondřej Surý
ondrej at isc.org

> On 29 May 2019, at 07:34, Dennis Clarke <dclarke at blastwave.org> wrote:
> 
> 
> Not sure where the need for ifaddrs.h came from but it doesn't exist in
> ye old Solaris 10 sparc boxen :
> 
> /opt/developerstudio12.6/bin/cc -I/usr/local/build/bind-9.14.2_SunOS5.10_sparc64vii+.002 -I../../.. -I./include -I./../pthreads/include -I../include -I./../include -I./.. -I/usr/local/include  -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -std=iso9899:2011 -m64 -xarch=sparc -g -errfmt=error -errshort=full -xstrconst -xildoff -xmemalign=8s -xnolibmil -xcode=pic32 -xregs=no%appl -xlibmieee -mc -ftrap=%none -xbuiltin=%none -xunroll=1 -xs -xdebugformat=dwarf -errtags=yes -errwarn=%none -erroff=%none -D_POSIX_PTHREAD_SEMANTICS -mt -I/usr/local/include/libxml2 -I/usr/local/include -I/usr/local/include -KPIC    -c interfaceiter.c
> "ifiter_getifaddrs.c", line 21: cannot find include file: <ifaddrs.h>
> "ifiter_getifaddrs.c", line 81: warning: implicit function declaration: getifaddrs (E_NO_IMPLICIT_DECL_ALLOWED)
> "ifiter_getifaddrs.c", line 107: warning: implicit function declaration: freeifaddrs (E_NO_IMPLICIT_DECL_ALLOWED)
> "ifiter_getifaddrs.c", line 135: error: undefined struct/union member: ifa_name
> "ifiter_getifaddrs.c", line 137: error: improper member use: ifa_addr
> "ifiter_getifaddrs.c", line 137: error: operands have incompatible types:
>         struct sockaddr {unsigned short sa_family, array[14] of char sa_data} "==" long
> "ifiter_getifaddrs.c", line 140: error: improper member use: ifa_addr
> "ifiter_getifaddrs.c", line 140: error: left operand of "->" must be pointer to struct/union
> "ifiter_getifaddrs.c", line 151: error: improper member use: ifa_name
> "ifiter_getifaddrs.c", line 151: warning: improper pointer/integer combination: arg #1 (E_BAD_PTR_INT_COMB_ARG)
> "ifiter_getifaddrs.c", line 156: error: improper member use: ifa_name
> "ifiter_getifaddrs.c", line 156: warning: improper pointer/integer combination: arg #2 (E_BAD_PTR_INT_COMB_ARG)
> "ifiter_getifaddrs.c", line 160: error: undefined struct/union member: ifa_flags
> "ifiter_getifaddrs.c", line 163: error: undefined struct/union member: ifa_flags
> "ifiter_getifaddrs.c", line 166: error: undefined struct/union member: ifa_flags
> "ifiter_getifaddrs.c", line 171: error: improper member use: ifa_addr
> "ifiter_getifaddrs.c", line 171: error: improper member use: ifa_name
> "ifiter_getifaddrs.c", line 171: error: argument #3 is incompatible with prototype:
>        prototype: pointer to struct sockaddr {unsigned short sa_family, array[14] of char sa_data} : "interfaceiter.c", line 59
>        argument : struct sockaddr {unsigned short sa_family, array[14] of char sa_data}
> "ifiter_getifaddrs.c", line 171: warning: improper pointer/integer combination: arg #4 (E_BAD_PTR_INT_COMB_ARG)
> "ifiter_getifaddrs.c", line 173: error: undefined struct/union member: ifa_netmask
> "ifiter_getifaddrs.c", line 174: error: improper member use: ifa_netmask
> "ifiter_getifaddrs.c", line 175: error: improper member use: ifa_name
> "ifiter_getifaddrs.c", line 174: warning: improper pointer/integer combination: arg #3 (E_BAD_PTR_INT_COMB_ARG)
> "ifiter_getifaddrs.c", line 175: warning: improper pointer/integer combination: arg #4 (E_BAD_PTR_INT_COMB_ARG)
> "ifiter_getifaddrs.c", line 177: error: improper member use: ifa_ifu
> "ifiter_getifaddrs.c", line 177: error: operands have incompatible types:
>         struct sockaddr {unsigned short sa_family, array[14] of char sa_data} "!=" long
> "ifiter_getifaddrs.c", line 179: error: improper member use: ifa_ifu
> "ifiter_getifaddrs.c", line 180: error: improper member use: ifa_name
> "ifiter_getifaddrs.c", line 179: error: argument #3 is incompatible with prototype:
>        prototype: pointer to struct sockaddr {unsigned short sa_family, array[14] of char sa_data} : "interfaceiter.c", line 59
>        argument : struct sockaddr {unsigned short sa_family, array[14] of char sa_data}
> "ifiter_getifaddrs.c", line 180: warning: improper pointer/integer combination: arg #4 (E_BAD_PTR_INT_COMB_ARG)
> "ifiter_getifaddrs.c", line 196: error: improper member use: ifa_next
> "ifiter_getifaddrs.c", line 196: warning: assignment type mismatch:
>        pointer to struct ifaddrs {} "=" pointer to struct ifaddr {struct sockaddr {..} ifa_addr, union  {..} ifa_ifu, pointer to struct ifnet {..} ifa_ifp, pointer to struct ifaddr {..} ifa_next} (E_ASSIGNMENT_TYPE_MISMATCH)
> cc: acomp failed for interfaceiter.c
> gmake[3]: *** [Makefile:174: interfaceiter.o] Error 2
> gmake[3]: Leaving directory '/usr/local/build/bind-9.14.2_SunOS5.10_sparc64vii+.002/lib/isc/unix'
> gmake[2]: *** [Makefile:203: subdirs] Error 1
> gmake[2]: Leaving directory '/usr/local/build/bind-9.14.2_SunOS5.10_sparc64vii+.002/lib/isc'
> gmake[1]: *** [Makefile:84: subdirs] Error 1
> gmake[1]: Leaving directory '/usr/local/build/bind-9.14.2_SunOS5.10_sparc64vii+.002/lib'
> gmake: *** [Makefile:91: subdirs] Error 1
> beta$ find . | grep 'ifaddrs'
> ./lib/isc/unix/ifiter_getifaddrs.c
> beta$
> beta$ grep 'ifaddrs\.h' /var/sadm/install/contents
> beta$
> 
> 
> Yeah .. that doesn't exist.
> 
> 
> -- 
> Dennis Clarke
> RISC-V/SPARC/PPC/ARM/CISC
> UNIX and Linux spoken
> GreyBeard and suspenders optional
> _______________________________________________
> Please visit https://lists.isc.org/mailman/listinfo/bind-users to unsubscribe from this list
> 
> bind-users mailing list
> bind-users at lists.isc.org
> https://lists.isc.org/mailman/listinfo/bind-users



More information about the bind-users mailing list