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

Darius Buntinas buntinas at mcs.anl.gov
Thu Aug 2 09:05:08 CDT 2007


The ssm channel is not supported on Solaris.  We hope to have Solaris 
support for the Nemesis channel soon.  Like ssm, Nemesis uses shared 
memory for intranode communication and networks for internode communication.

Darius

On 08/02/2007 08:58 AM, James S Perrin wrote:
> 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
> 




More information about the mpich-discuss mailing list