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.


Cheers,


Gilles



On 8/30/2016 12:52 PM, Nathan Hjelm wrote:
Looking at the bug in google cache 
(https://webcache.googleusercontent.com/search?q=cache:p2WZm7Vlt2gJ:https://llvm.org/bugs/show_bug.cgi%3Fid%3D5960+&cd=1&hl=en&ct=clnk&gl=us)
 then isn’t the answer to just use -fgnu89-inline on this platform? Does that not solve the 
linking issue? From what I can tell gcc activates this hack by default if it detects a bad 
glibc version.

Would have been helpful to have this bug be mentioned from the get go. We can 
try to workaround the inline issue but we needed to know that was what was 
going on. Can you try with ./configure CFLAGS=“-fgnu89-inline” and see if it 
works? If not can you send the link failure?

-Nathan

On Aug 29, 2016, at 9:42 PM, C Bergström <cbergst...@pathscale.com> wrote:

On Tue, Aug 30, 2016 at 5:49 AM, Paul Hargrove <phhargr...@lbl.gov> wrote:
On Mon, Aug 29, 2016 at 8:32 AM, C Bergström <cbergst...@pathscale.com>
wrote:
[...snip...]
Based on the latest response - it seems that we'll just fork OMPI and
maintain those patches on top. I'll advise our customers not to use
OMPI and document why.

Thanks again
_______________________________________________
devel mailing list
devel@lists.open-mpi.org
https://rfd.newmexicoconsortium.org/mailman/listinfo/devel


Though I participate on this list, I am not one of the Open MPI developers,
and do not pretend to speak for them.

So, speaking only for myself, I already recommend that users of any recent
Open MPI avoid compiling it using the PathScale compilers.
My own testing shows that both ekopath-5.0.5 and ekopath-6.0.527 experience
Internal Compiler Errors or SEGVs when building Open MPI, and at least one
other package I care about (GASNet).
So I think you can understand why I find it ironic that PathScale should
request that the Open MPI sources revert to C89 to support PathScale
compilers for an EOL distro.
Paul - Is this your typical post? I can't tell if you're trying to be
rude or it's accidental.

Moving your complaint to more technical points
#0 As stated before this issue is not exclusive to PathScale, but
inherited from clang and root caused by glibc.

A forum post with a similar complaint/question
http://clang-developers.42468.n3.nabble.com/minimum-glibc-on-Linux-needed-to-work-with-clang-in-c99-mode-td2093917.html

clang bugzilla is currently limited access, but when back to public
you can get more details here
https://llvm.org/bugs/show_bug.cgi?id=5960


Again thanks for hijacking the thread, but in regards to your issue
#1 Have you tested a newer version? (You appear to be more than a year
off in versions and not on anything officially supported)

#2 Have you ever filed a support request with us?

#3 You should realize that we're in the process of trying to setup
versions of OpenMPI that are validated and 100% tested. (Thus trying
to avoid problems like this going forward)

I have no problem taking a hit on a bug or some issue, but I would
hope that anyone an ironic sense of humor would fact check before
complaining publicly.

My motivation isn't driven by some deficiency with our c99 support,
but an older platform. If I tried to build this ${_____} on SLES11 it
wouldn't be a problem.
_______________________________________________
devel mailing list
devel@lists.open-mpi.org
https://rfd.newmexicoconsortium.org/mailman/listinfo/devel
_______________________________________________
devel mailing list
devel@lists.open-mpi.org
https://rfd.newmexicoconsortium.org/mailman/listinfo/devel

_______________________________________________
devel mailing list
devel@lists.open-mpi.org
https://rfd.newmexicoconsortium.org/mailman/listinfo/devel

Reply via email to