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

Reply via email to