Jon, The configure AC_HEADER_STDC macro is considered obsolete [1] as most of the OSes are STDC compliant nowadays. To have it failing on a recent version of OSX, is therefore something unexpected. Moreover, many of the OMPI developers work on OSX Mojave with the default compiler but with the same system headers as you, so I expect the problem is not coming from the OS but from how your compiler has been installed. To add to this assumption I can successfully compile master and 4.0 on my laptop (Mojave) with the default compile, the macport clang 7.0 package, the macport gcc 7 and 8, and icc 19 20180804.
I would start investigating with the most basic config.log you can provide (no STDC related flags), to see if we can figure out why autoconf fails to detect the STDC compliance. George. [1] https://www.gnu.org/software/autoconf/manual/autoconf-2.67/html_node/Particular-Headers.html On Wed, Apr 24, 2019 at 10:07 AM JR Cary via users <users@lists.open-mpi.org> wrote: > > > On 4/24/19 7:25 AM, Gilles Gouaillardet wrote: > > John, > > > > what if you move some parameters to CPPFLAGS and CXXCPPFLAGS (see the > > new configure command line below) > > Thanks, Gilles, that did in fact work for 3.3.4. I was writing up an email > when yours came in, so I'll move my response to here: > > Jeff, I've now tried several things, so I have some ideas, and I can > send you one > or more config.log's, as you wish. Will mention options at end of this. > > First, I got the compile to work, below, with -DOPAL_STDC_HEADERS added > to CFLAGS, > but then subsequent packages failed to build for not knowing ptrdiff_t. > So it > appeared that I would have to have -DOPAL_STDC_HEADERS set for all > dependent > packaged. So then I configured with CPPFLAGS set to the same as CFLAGS, > and > for 3.1.4, it configured, built, installed, and dependent packages did > as well. > For 4.0.1, it did not. > > Some responses below: > > >>>> A few notes on your configure line: > >>>> > >>>>> > '/Users/cary/projects/ulixesall-llvm/builds/openmpi-4.0.1/nodl/../configure' > \ > >>>>> > --prefix=/Volumes/GordianStorage/opt/contrib-llvm7_appleclang/openmpi-4.0.1-nodl > \ > >>>>> > CC='/Volumes/GordianStorage/opt/clang+llvm-7.0.0-x86_64-apple-darwin/bin/clang' > \ > >>>>> > CXX='/Volumes/GordianStorage/opt/clang+llvm-7.0.0-x86_64-apple-darwin/bin/clang++' > \ > >>>> The MPI C++ bindings are no longer built by default, and you're not > enabling them (via --enable-mpi-cxx), so you don't need to specify CXX or > CXXFLAGS here. > > Thanks for this and your other comments on how to minimize our > configuration > line. Will adopt. > > > >>>>> FC='/opt/homebrew/bin/gfortran-6' \ > >>>>> F77='/opt/homebrew/bin/gfortran-6' \ > >>>> F77 is ignored these days; FC is the only one that matters. > > Thanks. Will clean up. > > > >>>>> CFLAGS='-fvisibility=default -mmacosx-version-min=10.10 > -I/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.14.sdk/usr/include > -fPIC -pipe -DSTDC_HEADERS' \ > >>>> Do you need all these CFLAGS? E.g., does clang not -I that directory > by default (I don't actually know if it is necessary or not)? What does > -DSTDC_HEADERS do? > > -fvisibility=default: found needed for Boost, and kept through entire > chain. May revisit. > > -mmacosx-version-min=10.10: Gives a build that is guaranteed to work back > through Yosemite, when > we distribute our binaries. > > -I/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.14.sdk/usr/include: > Apple is now putting nothing in /usr/include. The sdk then provides its > unique /usr/include above. However, the LLVM latest (which gives openmp), > does not know > that, and so it has to be told which /usr/include to use. > > One can install command-line tools, but then one cannot have several sdk's > co-exist. > > -fPIC: duplicative given --with-pic, but no harm, passed to all our > packages. > > -pipe: supposedly build performance, but I have not tested. > > I *think* -DSTDC_HEADERS is a hint to Apple (but not to openmpi) to use > only headers > consistent with stdc. > > >>>> Can you send all the information listed here: > >>>> > >>>> https://www.open-mpi.org/community/help/ > > I have the following builds/build attempts: > > 3.3.4: > > 1. Not adding -DOPAL_STDC_HEADERS: build fails. > > 2. Adding -DOPAL_STDC_HEADERS: build succeeds, hdf5 parallel build fails. > > 3. Not adding -DOPAL_STDC_HEADERS, but setting CPPFLAGS to be identical > to CFLAGS: > openmpi and hdf5-parallel builds both succeed. > > 4.0.1, best formula above (CPPFLAGS set to same as CFLAGS): > > 4. Fails to build for a different reason. > > Which would you like? > > Best......John > > > _______________________________________________ > users mailing list > users@lists.open-mpi.org > https://lists.open-mpi.org/mailman/listinfo/users
_______________________________________________ users mailing list users@lists.open-mpi.org https://lists.open-mpi.org/mailman/listinfo/users