Open MPI logo

Open MPI User's Mailing List Archives

  |   Home   |   Support   |   FAQ   |   all Open MPI User's mailing list

Subject: Re: [OMPI users] error building openmpi-1.7.3a1r29213 on Solaris
From: Jeff Squyres (jsquyres) (jsquyres_at_[hidden])
Date: 2013-09-20 11:52:43


Looks like Ralph noticed that we fixed this on the trunk and forgot to bring it over to v1.7. I just committed it on v1.7 in r29215. Give it a whirl in tonight's v1.7 nightly tarball.

On Sep 20, 2013, at 7:00 AM, Siegmar Gross <Siegmar.Gross_at_[hidden]> wrote:

> 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.
>
> Date: Tue, 7 May 2013 19:38:11 +0200 (CEST)
> From: Siegmar Gross <Siegmar.Gross_at_[hidden]>
> Subject: Re: commit/ompi-java: jsquyres: Up to SVN r28392
> To: jsquyres_at_[hidden]
> Cc: Siegmar.Gross_at_[hidden]
> 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: fd1026_at_[hidden]
> 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.Gross_at_[hidden]> 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
>
> _______________________________________________
> users mailing list
> users_at_[hidden]
> http://www.open-mpi.org/mailman/listinfo.cgi/users

-- 
Jeff Squyres
jsquyres_at_[hidden]
For corporate legal information go to: http://www.cisco.com/web/about/doing_business/legal/cri/