[MPICH] Error compiling mpich2 on solaris with gcc, PTRACE_XXXX

James S Perrin james.s.perrin at manchester.ac.uk
Thu Aug 2 08:58:40 CDT 2007


Hi,

I'm using :
	mpich2-1.05p4 source
	gcc 3.3.2
	Solris 9 (sunOS 5.9)

Configured as:
./configure --prefix=/opt/apl/sp/mpich2 --with-mpe --with-pm=mpd 
--with-device=ch3:ssm --with-thread-package=pthreads --disable-f77 
--disable-f90 --disable-cxx

make fails with the following error:

gcc -DHAVE_CONFIG_H -I. 
-I/hpc_system/fnskgt/mpich2-1.0.5p4/src/mpid/ch3/util/shm 
-I../../../../include -I/hpc_system/fnskgt/mpich2-1.0.5p4/src/include 
-I/hpc_system/fnskgt/mpich2-1.0.5p4/src/mpid/ch3/include 
-I/hpc_system/fnskgt/mpich2-1.0.5p4/src/mpid/ch3/include 
-I/hpc_system/fnskgt/mpich2-1.0.5p4/src/mpid/common/datatype 
-I/hpc_system/fnskgt/mpich2-1.0.5p4/src/mpid/common/datatype 
-I/hpc_system/fnskgt/mpich2-1.0.5p4/src/mpid/ch3/channels/ssm/include 
-I/hpc_system/fnskgt/mpich2-1.0.5p4/src/mpid/ch3/channels/ssm/include 
-I/hpc_system/fnskgt/mpich2-1.0.5p4/src/mpid/common/locks 
-I/hpc_system/fnskgt/mpich2-1.0.5p4/src/mpid/common/locks 
-DUSE_PROCESS_LOCKS 
-I/hpc_system/fnskgt/mpich2-1.0.5p4/src/mpid/common/sock 
-I/hpc_system/fnskgt/mpich2-1.0.5p4/src/mpid/common/sock 
-I/hpc_system/fnskgt/mpich2-1.0.5p4/src/mpid/common/sock/poll 
-I/hpc_system/fnskgt/mpich2-1.0.5p4/src/mpid/common/sock/poll 
-I/hpc_system/fnskgt/mpich2-1.0.5p4/src/mpid/ch3/util/sock -c shmproc.c
shmproc.c: In function `MPIDI_SHM_AttachProc':
shmproc.c:59: error: `PTRACE_ATTACH' undeclared (first use in this function)
shmproc.c:59: error: (Each undeclared identifier is reported only once
shmproc.c:59: error: for each function it appears in.)
shmproc.c: In function `MPIDI_SHM_DetachProc':
shmproc.c:80: error: `PTRACE_DETACH' undeclared (first use in this function)
shmproc.c: In function `MPIDI_SHM_ReadProcessMemory':
shmproc.c:115: error: `PTRACE_PEEKDATA' undeclared (first use in this 
function)
shmproc.c:115: warning: passing arg 3 of `ptrace' makes integer from 
pointer without a cast
make[5]: *** [shmproc.o] Error 1
make[5]: Leaving directory 
`/hpc_system/fnskgt/mpich2-1.0.5p4/src/mpid/ch3/util/shm'


The PTRACE_XXXX defines do not seem to be set on solaris, it uses 
explicit integer values for ptrace requests according to the man page.

shmproc.c has :

#ifdef HAVE_SYS_PTRACE_H
#include <sys/ptrace.h>
#endif

but does not #if..def the calls to ptrace or define PTRACE_XXXX instead. 
Looking at the source for shmproc.c in CVS this still seems to be the 
case (though it has moved to src/mpid/ch3/util/shmproc).

 From the little I understand after reading the man page only 
PTRACE_PEEKDATA seems to have and equivalent value on this system - 2. 
So there doesn't seem to be much that can be done, the man page in 
courages use of /proc for debugging purposes instead. So this is 
probably just a FYI.

I've successfully compiled using SUN Studio but MPICH2 doesn't currently 
support the ssm device for these compilers.

Regards
James

-- 
------------------------------------------------------------------------
James S. Perrin,                  | email: james.perrin at manchester.ac.uk
Manchester Visualization Centre,  | web:   www.mc.manchester.ac.uk
Kilburn Building, The University, | tel:   +44 161 275 6945
Manchester, England. M13 9PL.     | fax:   +44 161 275 0637
------------------------------------------------------------------------
"The test of intellect is the refusal to belabour the obvious"
- Alfred Bester
------------------------------------------------------------------------




More information about the mpich-discuss mailing list