Hi, I tried to install openmpi-1.7.3a1r29213 on "openSuSE Linux 12.1", "Solaris 10 x86_64", and "Solaris 10 sparc" with "Sun C 5.12" and gcc-4.8.0 in 64-bit mode. Unfortunately "make" breaks with the same error for both compilers on both Solaris platforms.
tyr openmpi-1.7.3a1r29213-SunOS.sparc.64_cc 126 tail -10 \ log.make.SunOS.sparc.64_cc Making all in mca/if/posix_ipv4 make[2]: Entering directory `.../opal/mca/if/posix_ipv4' CC if_posix.lo "../../../../../openmpi-1.7.3a1r29213/opal/mca/if/posix_ipv4/if_posix.c", line 277: undefined struct/union member: ifr_mtu cc: acomp failed for ../../../../../openmpi-1.7.3a1r29213/opal/mca/if/posix_ipv4/if_posix.c make[2]: *** [if_posix.lo] Error 1 make[2]: Leaving directory `.../opal/mca/if/posix_ipv4' make[1]: *** [all-recursive] Error 1 make[1]: Leaving directory `.../opal' make: *** [all-recursive] Error 1 tyr openmpi-1.7.3a1r29213-SunOS.sparc.64_gcc 131 tail -12 \ log.make.SunOS.sparc.64_gcc Making all in mca/if/posix_ipv4 make[2]: Entering directory `.../opal/mca/if/posix_ipv4' CC if_posix.lo ../../../../../openmpi-1.7.3a1r29213/opal/mca/if/posix_ipv4/if_posix.c: In function 'if_posix_open': ../../../../../openmpi-1.7.3a1r29213/opal/mca/if/posix_ipv4/if_posix.c: 277:31: error: 'struct ifreq' has no member named 'ifr_mtu' intf->if_mtu = ifr->ifr_mtu; ^ make[2]: *** [if_posix.lo] Error 1 make[2]: Leaving directory `.../opal/mca/if/posix_ipv4' make[1]: *** [all-recursive] Error 1 make[1]: Leaving directory `.../opal' make: *** [all-recursive] Error 1 I have had this problem before and Jeff solved it. Here is my old e-mail. List-Post: users@lists.open-mpi.org Date: Tue, 7 May 2013 19:38:11 +0200 (CEST) From: Siegmar Gross <siegmar.gr...@informatik.hs-fulda.de> Subject: Re: commit/ompi-java: jsquyres: Up to SVN r28392 To: jsquy...@cisco.com Cc: siegmar.gr...@informatik.hs-fulda.de MIME-Version: 1.0 Content-MD5: O1pjPK/1JiMXXZ/EHyMU0Q== X-HRZ-JLUG-MailScanner-Information: Passed JLUG virus check X-HRZ-JLUG-MailScanner: No virus found X-Envelope-From: fd1...@tyr.informatik.hs-fulda.de X-Spam-Status: No Hello Jeff > Ok, I made a change in the OMPI trunk that should fix this: > > https://svn.open-mpi.org/trac/ompi/changeset/28460 > > And I pulled it into the ompi-java hg repo. Could you give > it a whirl and let me know if this works for you? Perfect :-)))). Now I can build Open MPI on Solaris without "#if 0" :-). Thank you very much for your help. "make check" still produces the old bus error on Solaris Sparc. All checks are fine on Linux and Solaris x86_64. ... PASS: ddt_test /bin/bash: line 5: 12453 Bus Error ${dir}$tst FAIL: ddt_raw ======================================================== 1 of 5 tests failed Please report to http://www.open-mpi.org/community/help/ ======================================================== make[3]: *** [check-TESTS] Error 1 ... Kind regards Siegmar > On May 6, 2013, at 7:20 AM, Siegmar Gross <siegmar.gr...@informatik.hs-fulda.de> wrote: > > > Hello Jeff > > > >>>> "../../../../../ompi-java/opal/mca/if/posix_ipv4/if_posix.c", > >>>> line 279: undefined struct/union member: ifr_mtu > >>>> > >>>> Sigh. Solaris kills me. :-\ > >>>> > >>>> Just so I understand -- Solaris has SIOCGIFMTU, but doesn't > >>>> have struct ifreq.ifr_mtu? > >>> > >>> I found SIOCGIFMTU in sys/sockio.h with the following comment. > >> > >> Is there a Solaris-defined constant we can use here to know > >> that we're on Solaris? If so, I can effectively make that code > >> only be there if SIOCFIGMTU exists and we're not on Solaris. > > > > I searched our header files for "sunos" and "solaris" with > > "-ignore-case", but didn't find anything useful. You have a very > > minimal environment, if you use "sh" and you would have a useful > > environment variable, if you use "tcsh". > > > > tyr java 321 su - > > ... > > # env > > HOME=/root > > HZ= > > LANG=C > > LC_ALL=C > > LOGNAME=root > > MAIL=/var/mail/root > > PATH=/usr/sbin:/usr/bin > > SHELL=/sbin/sh > > TERM=dtterm > > TZ=Europe/Berlin > > # tcsh > > # env | grep TYPE > > HOSTTYPE=sun4 > > OSTYPE=solaris > > MACHTYPE=sparc > > # > > > > The best solution would be "uname -s", if that is possible. > > > > # /usr/bin/uname -s > > SunOS I would be grateful, if somebody can solve the problem once more. Kind regards Siegmar