On Tue, Aug 30, 2016 at 12:50 PM, Gilles Gouaillardet <gil...@rist.or.jp> wrote:
> Folks,
>
>
> i am under the impression we are being mislead by the title of this thread.
>
> the patches that were initially submitted were enhanced and are available at
> https://github.com/open-mpi/ompi-release/pull/1345
>
>
> it basically does 3 things when the --disable-c99 option (yet an other
> misleading option name ...) is used :
>
> - do not abort if AC_PROG_CC_C99 detects the compiler is not C99 capable
>
> - use the restrict modifier instead of the __restrict modifier (the code
> uses OPAL_RESTRICT, and this macro is set at configure time)
>
> - refrain from using the fancy new loop syntax, e.g. for (int i=0; ...) and
> declare the index variable outside of the loop instead.
>
>
> i do not have access to a SLES10 platform, nor to PathScale compilers, so i
> can only assume this is strictly necessary to build Open MPI
>
> on SLES 10 with clang and PathScale compilers.
>
> iirc, we use C99 struct initialisers, so stricly speaking, i do not think
> Open MPI can be built with a pure C89 compiler when configure'd
>
> with the --disable-c99 option. i'd rather imagine SLES10 clang and PathScale
> compilers only implements 90% of the C99 standards,
>
> and this PR avoids hitting the 10% that are not supported in this
> environment.
>
>
> i was able to build Open MPI on an openSUSE 10.0 VM with gcc.
>
> would it be possible instead to build Open MPI with GNU C and C++ compilers,
> and the PathScale Fortran compiler ?
>
> fwiw, i used to build Open MPI with GNU C and C++ compilers and Intel
> Fortran compiler, and build my apps with Intel C/C++/Fortran compilers.
>
> (mainly because it was much faster than building with Intel C and C++
> compilers, and i think the root cause was a huge FlexLM license file that
> slowed down each license checkout, and imho there is not much room for the
> compiler to optimize Open MPI)
>
>
>
> in my opinion, and in my opinion only, the patch is relatively small and
> trivial for the v1.10 series, so i am fine with it for 1.10.4.
>
> i suspect the patch might be bigger for v2.x and/or some might be reluctant
> to make and support changes for a platform that is officially EOL, so it
> would
>
> be reasonnable not to update v2.x nor master, especially if GNU C/C++
> compilers can be used as a workaround.

I've not tested the proposed work-around flag and not sure how
reliable it is or the impact. (I'll give it a poke and see what
happens) (Maybe this is the best solution for v2.x+)

Building with gnu is a non-starter for us. If we ever encounter an
issue, we can't just point our users to something else as a proposed
fix. There's also technical reasons why this may not work beyond pure
C code. (Fortran and C++ both being special)
_______________________________________________
devel mailing list
devel@lists.open-mpi.org
https://rfd.newmexicoconsortium.org/mailman/listinfo/devel

Reply via email to