On 24/07/2017 05:29, Belcourt, Kenneth wrote:

On Jul 23, 2017, at 2:24 AM, Alain Miniussi <alain.miniussi@oca.eu> wrote:

On 23/07/2017 08:35, Alain Miniussi wrote:

On 23/07/2017 05:09, Belcourt, Kenneth wrote:
On Jul 22, 2017, at 5:12 PM, Alain Miniussi <Alain.Miniussi@oca.eu> wrote:
On 23/07/2017 00:41, Alain Miniussi via Boost-mpi wrote:
On 22/07/2017 22:11, Belcourt, Kenneth wrote: I see that your recent changes have now broken develop for clang-linux-3.8.1, and gcc-4.7.2. So I guess Boost is dropping support for gcc-4.7.x, or was that unintentional on your part Alain?  Can you look at that and see if we can either revert the broken develop change, or fix it so it’s still buildable with gcc-4.7?
Unintentional, and weird, the change were already on develop, was just a resync to make them unconflictig with master.

Work fine with 4.4.7 and intel mpi 5.0.3.
Can you point me to the error messages ?

They were all green, but perhaps I’m not patient enough and tests need to cycle again.  Look at the Sandia-gcc-4.7.2, Sandia-gcc-4.7.2-c++11, and Sandia-clang-3.8, all available from this link.


Thanks for looking into this Alain.

There is an issue specific to the 2 cartesian test which is probably https://github.com/boostorg/mpi/pull/47 waiting for merge (I'll check and merge if relevant). These are the ones failing with clang3.8 and warning with g++5.4.0/no c++11. I'll check with 4.4.7/no11.
Checked with 4.3 to be safe. I merged 47, those should be ok.

Looks like different issues now:

gcc.compile.c++ ../../../bin.v2/libs/mpi/build/gcc-4.7.2/debug/threading-multi/point_to_point.o

../../../libs/mpi/src/point_to_point.cpp: In function ‘void boost::mpi::detail::packed_archive_send(MPI_Comm, int, int, const boost::mpi::packed_oarchive&)’:
../../../libs/mpi/src/point_to_point.cpp:32:3: error: invalid conversion from ‘const void*’ to ‘void*’ [-fpermissive]
In file included from ../../../boost/mpi/config.hpp:20:0,
                 from ../../../boost/mpi/detail/point_to_point.hpp:12,
                 from ../../../libs/mpi/src/point_to_point.cpp:20:
/SDK/mpi/openmpi/1.6.4-gcc-4.7.2-RHEL6/include/mpi.h:1384:20: error:   initializing argument 1 of ‘int MPI_Send(void*, int, MPI_Datatype, int, int, MPI_Comm)’ [-fpermissive]

Looks like a non-conforming MPI implementation (according to http://mpi-forum.org/docs/mpi-3.0/mpi30-report.pdf, the first argument of MPI_Send *is* a "void const*").
Weird, I tested with open MPI...
I'm looking into it.

Alain