Recent

Author Topic: MPI (MPICH) - Leopard  (Read 5565 times)

jideel

  • Newbie
  • Posts: 1
MPI (MPICH) - Leopard
« on: October 17, 2008, 12:05:41 am »
Hi all,
This is not directly related to Lazarus installation, but as the documentation here : http://wiki.freepascal.org/MPICH use Lazarus, i choosed to post here.
I followed the instructions for using MPICH (1.0.7) on the wiki, and it works perfectly under Linux (Centos 5.2) and Win32 (XP).
However, trying to do the same thing on Leopard (10.5.2) fails.
First, to compile well, i had to add the following directive : {$Linklib mpi} to the HelloWorld1 sample. If i don't, ld outputs : "Symbol not found : _MPI_Init" ...: the library cannot be found, even if i have added the library path to /etc/fpc.cfg, or if i put the library in location already covered by the paths (i checked the link.res file). I checked libpmpi.a with nm, and symbols are well present.
After having added the {$Linklib mpi} directive (or manually change the ppaslink.sh file or even directly using ld), it compiles well, but can't run.
Here's the behaviour :

nemes:mpich2 jideel$ mpiexec -n 1 HelloWorld1
[nemes:00407] *** Process received signal ***
[nemes:00407] Signal: Segmentation fault (11)
[nemes:00407] Signal code: Address not mapped (1)
[nemes:00407] Failing at address: 0x44000088
[ 1] [0xbffff4d8, 0x44000088] (-P-)
[ 2] (PASCALMAIN + 0x45) [0xbffff4f8, 0x00001705]
[ 3] (FPC_SYSTEMMAIN + 0x45) [0xbffff508, 0x0001b475]
[ 4] (start + 0xfc) [0xbffff548, 0x0000169c]
[ 5] (start + 0x29) [0xbffff56c, 0x000015c9]
[ 6] [0x00000000, 0x00000001] (FP-)
[nemes:00407] *** End of error message ***
mpiexec noticed that job rank 0 with PID 407 on node nemes.local exited on signal 11 (Segmentation fault).
nemes:mpich2 jideel$

if i use gdb, it outputs :

Reading symbols for shared libraries . done
....
Program received signal EXC_BAD_ACCESS, Could not access memory.
Reason: KERN_INVALID_ADDRESS at address: 0x44000088
0x000df006 in MPI_Comm_rank ()


Platform is a Macbook Pro Intel Core 2 Duo, Xcode 3.0 installed.

I checked there was no other MPI libraries that could conflict, it doesn't seems there is.

I tried all the manipulations either from Lazarus (0.9.27) or directly from command line, using fpc and a modified Makefile to 'cut' Lazarus component from the build process, behaviour is the same.

I checked other forums, there's somewhat similar problems, but with openmpi, or some other libraries, but no solution provided.

Any idea or suggestion are welcome :)
Thanks.

 

TinyPortal © 2005-2018