Project

General

Profile

Bug #477

threads do not compile using xlc on aix

Added by Christoph Junghans over 9 years ago. Updated over 9 years ago.

Status:
Closed
Priority:
Normal
Assignee:
Category:
-
Target version:
Affected version - extra info:
Affected version:
Difficulty:
uncategorized
Close

Description

Created an attachment (id=499)
autotools config.log

with --disable-thread it works:

make4: Entering directory `/u/chrj/opt/src/gromacs.devel/without_mpi/src/gmxlib'
source='../../../src/gmxlib/libxdrf.c' object='libxdrf.lo' libtool=yes \
depfile='.deps/libxdrf.Plo' tmpdepfile='.deps/libxdrf.TPlo' \
depmode=aix /bin/sh ../../../config/depcomp \
/bin/sh ../../libtool --mode=compile cc_r -DHAVE_CONFIG_H -I. -I../../../src/gmxlib -I../../src -I../../../include -DGMXLIBDIR=\"/u/chrj/opt/gromacs/devel2010-07-22/share/top\" -I/usr/local/include -O3 -qhot -qstrict -qarch=pwr6 -qtune=pwr6 -qcpluscmt -D_THREAD_SAFE -I../include -c -o libxdrf.lo ../../../src/gmxlib/libxdrf.c
cc_r -DHAVE_CONFIG_H -I. -I../../../src/gmxlib -I../../src -I../../../include -DGMXLIBDIR=\"/u/chrj/opt/gromacs/devel2010-07-22/share/top\" -I/usr/local/include -O3 -qhot -qstrict -qarch=pwr6 -qtune=pwr6 -qcpluscmt -D_THREAD_SAFE -I../include -c -M ../../../src/gmxlib/libxdrf.c -o libxdrf.o
"../../../include/types/../thread_mpi/atomic/xlc_ppc.h", line 49.9: 1506-236 (W) Macro name inline has been redefined.
"../../../include/types/../thread_mpi/atomic/xlc_ppc.h", line 49.9: 1506-358 (I) "inline" is defined on line 416 of ../../src/config.h.
"../../../src/gmxlib/libxdrf.c", line 127.25: 1506-045 (S) Undeclared identifier xdridptr.
"../../../src/gmxlib/libxdrf.c", line 128.9: 1506-045 (S) Undeclared identifier cnt.
"../../../src/gmxlib/libxdrf.c", line 128.9: 1506-045 (S) Undeclared identifier cnt.
"../../../src/gmxlib/libxdrf.c", line 134.25: 1506-045 (S) Undeclared identifier xdridptr.
"../../../src/gmxlib/libxdrf.c", line 135.9: 1506-045 (S) Undeclared identifier cnt.
"../../../src/gmxlib/libxdrf.c", line 135.9: 1506-045 (S) Undeclared identifier cnt.
"../../../src/gmxlib/libxdrf.c", line 141.27: 1506-045 (S) Undeclared identifier xdridptr.
"../../../src/gmxlib/libxdrf.c", line 142.9: 1506-045 (S) Undeclared identifier cnt.
"../../../src/gmxlib/libxdrf.c", line 142.9: 1506-045 (S) Undeclared identifier cnt.
"../../../src/gmxlib/libxdrf.c", line 148.26: 1506-045 (S) Undeclared identifier xdridptr.
"../../../src/gmxlib/libxdrf.c", line 149.9: 1506-045 (S) Undeclared identifier cnt.
"../../../src/gmxlib/libxdrf.c", line 149.9: 1506-045 (S) Undeclared identifier cnt.
"../../../src/gmxlib/libxdrf.c", line 155.24: 1506-045 (S) Undeclared identifier xdridptr.
"../../../src/gmxlib/libxdrf.c", line 156.9: 1506-045 (S) Undeclared identifier cnt.
"../../../src/gmxlib/libxdrf.c", line 156.9: 1506-045 (S) Undeclared identifier cnt.
"../../../src/gmxlib/libxdrf.c", line 161.26: 1506-045 (S) Undeclared identifier xdridptr.
"../../../src/gmxlib/libxdrf.c", line 162.9: 1506-045 (S) Undeclared identifier cnt.
"../../../src/gmxlib/libxdrf.c", line 162.9: 1506-045 (S) Undeclared identifier cnt.
"../../../src/gmxlib/libxdrf.c", line 168.27: 1506-045 (S) Undeclared identifier xdridptr.
"../../../src/gmxlib/libxdrf.c", line 169.9: 1506-045 (S) Undeclared identifier cnt.
"../../../src/gmxlib/libxdrf.c", line 169.9: 1506-045 (S) Undeclared identifier cnt.
"../../../src/gmxlib/libxdrf.c", line 176.28: 1506-045 (S) Undeclared identifier xdridptr.
"../../../src/gmxlib/libxdrf.c", line 177.9: 1506-045 (S) Undeclared identifier cnt.
"../../../src/gmxlib/libxdrf.c", line 177.9: 1506-045 (S) Undeclared identifier cnt.
"../../../src/gmxlib/libxdrf.c", line 183.28: 1506-045 (S) Undeclared identifier xdridptr.
"../../../src/gmxlib/libxdrf.c", line 183.27: 1506-098 (E) Missing argument(s).
"../../../src/gmxlib/libxdrf.c", line 202.27: 1506-045 (S) Undeclared identifier xdridptr.
"../../../src/gmxlib/libxdrf.c", line 204.9: 1506-045 (S) Undeclared identifier cnt.
"../../../src/gmxlib/libxdrf.c", line 204.9: 1506-045 (S) Undeclared identifier cnt.
"../../../src/gmxlib/libxdrf.c", line 225.27: 1506-045 (S) Undeclared identifier xdridptr.
"../../../src/gmxlib/libxdrf.c", line 227.9: 1506-045 (S) Undeclared identifier cnt.
"../../../src/gmxlib/libxdrf.c", line 227.9: 1506-045 (S) Undeclared identifier cnt.
"../../../src/gmxlib/libxdrf.c", line 234.27: 1506-045 (S) Undeclared identifier xdridptr.
"../../../src/gmxlib/libxdrf.c", line 235.9: 1506-045 (S) Undeclared identifier cnt.
"../../../src/gmxlib/libxdrf.c", line 235.9: 1506-045 (S) Undeclared identifier cnt.
"../../../src/gmxlib/libxdrf.c", line 241.27: 1506-045 (S) Undeclared identifier xdridptr.
"../../../src/gmxlib/libxdrf.c", line 248.27: 1506-045 (S) Undeclared identifier xdridptr.
"../../../src/gmxlib/libxdrf.c", line 255.9: 1506-045 (S) Undeclared identifier cnt.
"../../../src/gmxlib/libxdrf.c", line 265.25: 1506-045 (S) Undeclared identifier xdridptr.
"../../../src/gmxlib/libxdrf.c", line 266.9: 1506-045 (S) Undeclared identifier cnt.
make4: *** [libxdrf.lo] Error 1
make4: Leaving directory `/u/chrj/opt/src/gromacs.devel/without_mpi/src/gmxlib'

config.log (1.34 MB) config.log autotools config.log Christoph Junghans, 07/22/2010 01:52 PM
fortranpatch.diff (7.71 KB) fortranpatch.diff fortran patch. Sander Pronk, 07/22/2010 02:15 PM

Associated revisions

Revision 7c0e6262 (diff)
Added by Sander Pronk over 9 years ago

Serialized access to FORTRAN bindings of gromacs's libxdrf.

Threads + FORTRAN now work together. Fixes bug #477.

History

#1 Updated by Sander Pronk over 9 years ago

Did you enable GMX_FORTRAN? libxdrf contains fortran bindings that are fundamentally thread-unsafe.

#2 Updated by Sander Pronk over 9 years ago

Rather, it's not libxdrf, but gromacs's own libxdrf.c

#3 Updated by Christoph Junghans over 9 years ago

yes, it is with fortran!

I saw the warning the source code somewhere. Maybe it would be good to disable thread, when fortran is enabled.

#4 Updated by Sander Pronk over 9 years ago

Created an attachment (id=500)
fortran patch.

The thing is, that it is really only the binding to 3d party FORTRAN tools that would be affected. I have a patch that serializes access to the offending global variables, could you try it?

#5 Updated by Christoph Junghans over 9 years ago

The patch works for me

#6 Updated by Sander Pronk over 9 years ago

Thanks! I've commited the fix.

Also available in: Atom PDF