Hello all,

I am compiling a C++ program that uses the Open-MPI c++ bindings. I think there is a bug in the constants.h and/or mpicxx.cc files.

The file constants.h defines lots of constants as extern. There are lots of things like:

OMPI_DECLSPEC extern const int ERR_COUNT;

Because of the extern keyword, it is assumed that ERR_COUNT will be found at runtime. But when I run, I find that some of the symbols defined as extern in constants.h don't exist!

It looks like the problem is that the constants are never defined in mpicxx.cc. I found problems with the following constants:

not defined in mpicxx.cc:

ERR_COUNT
SIGNED_CHAR

only defined in mpicxx.cc if one-sided support is enabled:

WIN_NULL

By commenting corresponding lines out in constants.h, my code compiled and ran fine. Is this a bug, or should these things be defined somewhere else. Thanks!

Brian Granger

Reply via email to