Hi George,
Just to make sure I am communicating....
On 4/24/2019 9:25 AM, George Bosilca wrote:
The configure AC_HEADER_STDC macro is considered obsolete [1] as most
of the OSes are STDC compliant nowadays.
Thanks. I read that and wonder why it is used if obsolete?
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 can also compile master and 4.0.1 using the system toolchain.
What fails is my build using the tarball installed clang7-llvm.
I will try the homebrew installed clang7-llvm.
John
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 <mailto: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 <mailto: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