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