Jim Langston wrote:
Hi Rolf,
Thanks for the pointers, they are very clear and concise. I followed
the general
flow of what was done to fix the issue in 1.3 and did something
similar for 1.2.9.
In mpicxx.cc, I did this change:
#include <sys/synch.h>
#ifdef LOCK_SHARED
static const int ompi_synch_lock_shared = LOCK_SHARED ;
#undef LOCK_SHARED
#endif
const int LOCK_SHARED = MPI_LOCK_SHARED;
Even though the variable getting set is basically dead code and not
necessary,
my goal is that if someone is looking at the 1.3 notes, they will see
what I did. This
makes OpenMPI happy and the compile continues and chugs along.
If someone thinks I screwed up OpenMPI , please let me know.
For a one off change for usage with Solaris and Sun Studio I think the
above is fine. However, for a general fix that would not break builds
for other platforms you'd really want to pull over the other handful of
lines. It probably wouldn't be that bad to just CMR the changes to
the 1.2 branch. When the original changes to the trunk and 1.3 happened
I really didn't think there were going to be more changes to the 1.2
branch at the time which is why we opted not to CMR it at the time.
--td
Thanks,
Jim
///////////////////////////////////
Rolf Vandevaart wrote:
Hi Jim:
Yes, we ran into this also and your diagnosis is correct. The
details are in this ticket.
https://svn.open-mpi.org/trac/ompi/ticket/1477
We fixed it in the trunk and in the 1.3 series but we never
backported it to the 1.2 series
as 1.3 was going to be released "really soon". Here is the ticket
for moving the fix
into the 1.3 series.
https://svn.open-mpi.org/trac/ompi/ticket/1494
Send me an email offline and we can figure out how to fix this for
your case.
Rolf
Jim Langston wrote:
Hi all,
Quick question, I'm compiling 1.2.9rc1 and get an error during
compilation:
//////////////////
source='mpicxx.cc' object='mpicxx.lo' libtool=yes \
DEPDIR=.deps depmode=none /bin/sh ../../../config/depcomp \
/bin/sh ../../../libtool --tag=CXX --mode=compile
/export/home/langston/COMPILER/SUNWspro/bin/CC -DHAVE_CONFIG_H -I.
-I../../../opal/include -I../../../orte/include
-I../../../ompi/include -DOMPI_BUILDING_CXX_BINDINGS_LIBRARY=1
-DOMPI_SKIP_MPICXX=1 -I../../.. -O -DNDEBUG -mt -c -o mpicxx.lo
mpicxx.cc
libtool: compile: /export/home/langston/COMPILER/SUNWspro/bin/CC
-DHAVE_CONFIG_H -I. -I../../../opal/include -I../../../orte/include
-I../../../ompi/include -DOMPI_BUILDING_CXX_BINDINGS_LIBRARY=1
-DOMPI_SKIP_MPICXX=1 -I../../.. -O -DNDEBUG -mt -c mpicxx.cc -KPIC
-DPIC -o .libs/mpicxx.o
"mpicxx.cc", line 293: Error: A declaration does not specify a tag
or an identifier.
"mpicxx.cc", line 293: Error: Use ";" to terminate declarations.
"mpicxx.cc", line 293: Error: A declaration was expected instead of
"0x01".
3 Error(s) detected.
gmake: *** [mpicxx.lo] Error 1
////////////////////////////
I'm working with OpenSolaris 2008.11 and have found the conflict to
be with:
/usr/include/sys/synch.h , which also contains LOCK_SHARED
....
/* Keep the following values in sync with pthread.h */
#define LOCK_NORMAL 0x00 /* same as
USYNC_THREAD */
#define LOCK_SHARED 0x01 /* same as
USYNC_PROCESS */
#define LOCK_ERRORCHECK 0x02 /* error check lock */
#define LOCK_RECURSIVE 0x04 /* recursive lock */
#define LOCK_PRIO_INHERIT 0x10 /* priority
inheritance lock */
#define LOCK_PRIO_PROTECT 0x20 /* priority ceiling
lock */
#define LOCK_ROBUST 0x40 /* robust lock */
......
If I comment out the line in the system include file, everything
will finish
compiling, or if I comment out the line in mpicxx.cc, everything
will finish
compiling.
Has anyone else found this issue and/or a workaround?
Thanks,
Jim
_______________________________________________
devel mailing list
de...@open-mpi.org
http://www.open-mpi.org/mailman/listinfo.cgi/devel