I've confirmed that the ifr_hwaddr problem also occurs with this system's /usr/bin/gcc:
Making all in mca/if/posix_ipv4 make[2]: Entering directory `/shared/OMPI/openmpi-1.7.4rc1-solaris11-x64-ib-gcc452/BLD/opal/mca/if/posix_ipv4' CC if_posix.lo /shared/OMPI/openmpi-1.7.4rc1-solaris11-x64-ib-gcc452/openmpi-1.7.4rc1/opal/mca/if/posix_ipv4/if_posix.c: In function �if_posix_open�: /shared/OMPI/openmpi-1.7.4rc1-solaris11-x64-ib-gcc452/openmpi-1.7.4rc1/opal/mca/if/posix_ipv4/if_posix.c:272:37: error: �struct ifreq� has no member named �ifr_hwaddr� make[2]: *** [if_posix.lo] Error 1 make[2]: Leaving directory `/shared/OMPI/openmpi-1.7.4rc1-solaris11-x64-ib-gcc452/BLD/opal/mca/if/posix_ipv4 -Paul On Thu, Dec 19, 2013 at 3:51 PM, Paul Hargrove <phhargr...@lbl.gov> wrote: > In 1.7.4rc1's README support is still claimed for Solaris 11 on x86_64 > with Sun Studio (12.2 and 12.3): > - Oracle Solaris 10 and 11, 32 and 64 bit (SPARC, i386, x86_64), > with Oracle Solaris Studio 12.2 and 12.3 > > However, I get a build failure when configured with: > CC=cc CFLAGS=-m64 --with-wrapper-cflags=-m64 > CXX=CC CXXFLAGS='-m64 -library=stlport4' > --with-wrapper-cxxflags=-m64 > FC=f90 FCFLAGS=-m64 --with-wrapper-fcflags=-m64 > --with-openib --prefix=... > > The failure doesn't appear to be compiler specific, and I will be testing > gcc ASAP. > > make[2]: Entering directory > `/shared/OMPI/openmpi-1.7.4rc1-solaris11-x64-ib-ss12u3/BLD/opal/mca/if/posix_ipv4' > CC if_posix.lo > "/shared/OMPI/openmpi-1.7.4rc1-solaris11-x64-ib-ss12u3/openmpi-1.7.4rc1/opal/include/opal/sys/amd64/atomic.h", > line 136: warning: parameter in inline asm statement unused: %3 > "/shared/OMPI/openmpi-1.7.4rc1-solaris11-x64-ib-ss12u3/openmpi-1.7.4rc1/opal/include/opal/sys/amd64/atomic.h", > line 182: warning: parameter in inline asm statement unused: %2 > "/shared/OMPI/openmpi-1.7.4rc1-solaris11-x64-ib-ss12u3/openmpi-1.7.4rc1/opal/include/opal/sys/amd64/atomic.h", > line 203: warning: parameter in inline asm statement unused: %2 > "/shared/OMPI/openmpi-1.7.4rc1-solaris11-x64-ib-ss12u3/openmpi-1.7.4rc1/opal/include/opal/sys/amd64/atomic.h", > line 224: warning: parameter in inline asm statement unused: %2 > "/shared/OMPI/openmpi-1.7.4rc1-solaris11-x64-ib-ss12u3/openmpi-1.7.4rc1/opal/include/opal/sys/amd64/atomic.h", > line 245: warning: parameter in inline asm statement unused: %2 > "/shared/OMPI/openmpi-1.7.4rc1-solaris11-x64-ib-ss12u3/openmpi-1.7.4rc1/opal/mca/if/posix_ipv4/if_posix.c", > line 272: undefined struct/union member: ifr_hwaddr > "/shared/OMPI/openmpi-1.7.4rc1-solaris11-x64-ib-ss12u3/openmpi-1.7.4rc1/opal/mca/if/posix_ipv4/if_posix.c", > line 272: warning: left operand of "." must be struct/union object > "/shared/OMPI/openmpi-1.7.4rc1-solaris11-x64-ib-ss12u3/openmpi-1.7.4rc1/opal/mca/if/posix_ipv4/if_posix.c", > line 272: cannot access member of non-struct/union object > cc: acomp failed for > /shared/OMPI/openmpi-1.7.4rc1-solaris11-x64-ib-ss12u3/openmpi-1.7.4rc1/opal/mca/if/posix_ipv4/if_posix.c > make[2]: *** [if_posix.lo] Error 1 > make[2]: Leaving directory > `/shared/OMPI/openmpi-1.7.4rc1-solaris11-x64-ib-ss12u3/BLD/opal/mca/if/posix_ipv4' > > The atomics warnings are concerning (and appear *MANY* times in the > output). > However the *real* problem is the three errors in > opal/mca/if/posix_ipv4/if_posix.c", line 272 > > Solaris does't have a ifr_hwaddr field in struct if_req. > It *does* have an ifr_addr field, but this posting: > > http://comments.gmane.org/gmane.os.solaris.opensolaris.networking/12839 > suggests that this ioctl probably fails on PF_INET sockets. > > The surrounding code looks like: > > #ifdef SIOCGIFHWADDR > /* get the MAC address */ > if (ioctl(sd, SIOCGIFHWADDR, ifr) < 0) { > opal_output(0, "btl_usnic_opal_ifinit: > ioctl(SIOCGIFHWADDR) failed with errno=%d", errno); > break; > } > memcpy(intf->if_mac, ifr->ifr_hwaddr.sa_data, 6); > #endif > > #if defined(SIOCGIFMTU) && defined(HAVE_STRUCT_IFREQ_IFR_MTU) > /* get the MTU */ > if (ioctl(sd, SIOCGIFMTU, ifr) < 0) { > opal_output(0, "btl_usnic_opal_ifinit: ioctl(SIOCGIFMTU) > failed with errno=%d", errno); > break; > } > intf->if_mtu = ifr->ifr_mtu; > #endif > > > Note the "btl_usnic_open_ifinit:" in the opal_output lines is probably a > cut-and-paste error. > > -Paul > > > > -- > Paul H. Hargrove phhargr...@lbl.gov > Future Technologies Group > Computer and Data Sciences Department Tel: +1-510-495-2352 > Lawrence Berkeley National Laboratory Fax: +1-510-486-6900 > -- Paul H. Hargrove phhargr...@lbl.gov Future Technologies Group Computer and Data Sciences Department Tel: +1-510-495-2352 Lawrence Berkeley National Laboratory Fax: +1-510-486-6900