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

Dennis Clarke dclarke at blastwave.org
Wed May 29 05:34:28 UTC 2019


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


More information about the bind-users mailing list