So I have spent the weekend rebuilding my installation of MPI.Net on MPICH2 and then tried to rebuild on OpenMPI, still to no avail.
I have managed through all the patches (thanks) to cleanly run the ‘autogen.sh’ script and the ‘./configure’ and make as well as install into the GAC. So far everything looks fine, but I am still getting problems when I try to run the test programs such as PingPong:
sf-mbp:Debug stuart$ mono PingPong.exe
Unhandled Exception: System.TypeInitializationException: An exception was thrown by the type initializer for MPI.Unsafe ---> System.DllNotFoundException: mpinet
at (wrapper managed-to-native) MPI.Unsafe:mpinet_MPI_COMM_WORLD ()
at MPI.Unsafe..cctor () [0x00000]
--- End of inner exception stack trace ---
at MPI.Environment..ctor (System.String& args) [0x00000]
at PingPong.Main (System.String args) [0x00000]
This is however I feel a step forward :) , since at least it looks like the MPI.dll and the exception is being raised from within MPI.Net.
I have tried the advice from Jo and my MPI.dll.config starts:
<dllmap dll="mpi" target="/usr/lib/libmpi.0.dylib">
<dllentry dll="mpi" name="MPI_Abort" target="MPI_Abort" />
I have tried various permutations of the dllmap line again to no avail.
Other potentially useful information:
- Currently configured to use the OSX built in OpenMPI, which I have tested with some C programs to ensure its working correctly.
- A clean rebuiuld of MPI.Net did pick up on OpenMPI instead of MPICH
- there is a libmpinet.dylib in the /usr/local/lib
- MPI.dll & .config and MPIUtils in /usr/local/lib
- MONO_PATH is set to /usr/local/lib ; if I remove it then mono throws a assembly not found
Thoughts or suggestions for next steps?