When trying to test PR2107 on OpenBSD-6 I was blocked by the following
error, which is also present in 'master'.

../../../ompi/opal/util/if.c: In function 'opal_ifisloopback':
../../../ompi/opal/util/if.c:710: error: 'IFF_LOOPBACK' undeclared (first
use in this function)
../../../ompi/opal/util/if.c:710: error: (Each undeclared identifier is
reported only once
../../../ompi/opal/util/if.c:710: error: for each function it appears in.)
../../../ompi/opal/util/if.c: In function 'opal_ifgetaliases':
../../../ompi/opal/util/if.c:791: error: 'IFF_LOOPBACK' undeclared (first
use in this function)

The constant IFF_LOOPBACK is defined in net/if.h, as expected.
However, opal_config.h says:

/* #undef HAVE_NET_IF_H */


Related to that is the following output from configure:

checking net/if.h usability... no
checking net/if.h presence... yes
configure: WARNING: net/if.h: present but cannot be compiled
configure: WARNING: net/if.h:     check for missing prerequisite headers?
configure: WARNING: net/if.h: see the Autoconf documentation
configure: WARNING: net/if.h:     section "Present But Cannot Be Compiled"
configure: WARNING: net/if.h: proceeding with the compiler's result
configure: WARNING:     ##
------------------------------------------------------ ##
configure: WARNING:     ## Report this to
http://www.open-mpi.org/community/help/ ##
configure: WARNING:     ##
------------------------------------------------------ ##
checking for net/if.h... no


Details from config.log:

configure:62402: checking net/if.h usability
configure:62402: gcc -std=gnu99 -c -O3 -DNDEBUG -finline-functions
-fno-strict-aliasing  conftest.c >&5
In file included from conftest.c:433:
/usr/include/net/if.h:358: error: field 'ifru_addr' has incomplete type
/usr/include/net/if.h:359: error: field 'ifru_dstaddr' has incomplete type
/usr/include/net/if.h:360: error: field 'ifru_broadaddr' has incomplete type
/usr/include/net/if.h:387: error: field 'ifrau_addr' has incomplete type
/usr/include/net/if.h:393: error: field 'ifra_dstaddr' has incomplete type
/usr/include/net/if.h:395: error: field 'ifra_mask' has incomplete type
/usr/include/net/if.h:438: error: field 'addr' has incomplete type
/usr/include/net/if.h:439: error: field 'dstaddr' has incomplete type
/usr/include/net/if.h:445: error: expected specifier-qualifier-list before
'sa_family_t'
In file included from /usr/include/net/if.h:454,
                 from conftest.c:433:
/usr/include/net/if_arp.h:79: error: field 'arp_pa' has incomplete type
/usr/include/net/if_arp.h:80: error: field 'arp_ha' has incomplete type


Man page for if_nametoindex() and friends show:

     #include <sys/types.h>
     #include <sys/socket.h>
     #include <net/if.h>


It looks like configure.ac is *trying* to deal with the sys/socket.h
dependency:

# Needed to work around Darwin requiring sys/socket.h for
# net/if.h
AC_CHECK_HEADERS([net/if.h], [], [],
    [#include <stdio.h>
#if STDC_HEADERS
# include <stdlib.h>
# include <stddef.h>
#else
# if HAVE_STDLIB_H
#  include <stdlib.h>
# endif
#endif
#if HAVE_SYS_SOCKET_H
# include <sys/socket.h>
#endif
])


However, config.log suggests that the previous failure has been cached,
making this (second) test for net/if.h a no-op:

configure:62453: checking for net/if.h
configure:62453: result: no



-Paul

-- 
Paul H. Hargrove                          phhargr...@lbl.gov
Computer Languages & Systems Software (CLaSS) Group
Computer Science Department               Tel: +1-510-495-2352
Lawrence Berkeley National Laboratory     Fax: +1-510-486-6900
_______________________________________________
devel mailing list
devel@lists.open-mpi.org
https://rfd.newmexicoconsortium.org/mailman/listinfo/devel

Reply via email to