PTL logo

From: Jo Shields (jo.shields_at_[hidden])
Date: 2009-10-01 20:40:49


On Thu, 2009-10-01 at 23:01 +0100, Stuart Fraser wrote:
> Hi,
>
> Hope some out there can help?!?
>
> I am trying to build the MPI.Net bindings on Mono 2.4.2.3 on both OS
> X 10.6 (Snow Leopard), I am using the MPICH2 C libraries as the
> underlying subsystem.
>
>
> Eventually I can apparently get the MPI.dll to compile after applying
> the patches previously listed, although the Unsafe.pl perl script
> patch is forbidden so I ran that by hand adding
> the /usr/local/lib/mpi.h as a second parameter.
>
> I can then install this into the gac using the gacutil tool
> as shown :
> sf-mbp:mpi.net-1.0.0 stuart$ gacutil -l | grep MPI
> MPI, Version=0.0.0.0, Culture=neutral, PublicKeyToken=29b4a045737654fe
> MPIUtils, Version=0.1.0.0, Culture=neutral,
> PublicKeyToken=e35b242c18c115bc
>
> Obviously I would like to get the Version for MPI to be correct ?!?
> But more importantly if I try to run one of the Example executables
> the library fails with the following error:
>
> sf-mbp:PingPong stuart$ mono PingPong.exe
>
> Unhandled Exception: System.DllNotFoundException: mpich
> at (wrapper managed-to-native) MPI.Unsafe:MPI_Initialized (int&)
> at MPI.Environment.get_Initialized () [0x00000]
> at MPI.Environment..ctor (System.String[]& args, Threading
> threading) [0x00000]
> at MPI.Environment..ctor (System.String[]& args) [0x00000]
> at PingPong.Main (System.String[] args) [0x00000]
>
> So I am not sure if there is a way to hardcode that the actual
> libmpich2 library is in ‘/usr/local/lib’ or if there is something
> seriously wrong in my build process? (am I missing a crucial
> environment variable?!)

Is there a dllmap file (MPI.dll.config) with a redirect from mpich.dll
to (i think) libmpich.so.0.1.1 in the same location as MPI.dll? It
should look like this:
<configuration>
        <dllmap dll="mpich" target="libmpich.so.1.1" />
</configuration>

Or very much like it