PTL logo

From: Doug Blank (doug.blank_at_[hidden])
Date: 2011-05-16 16:27:31


On Mon, May 16, 2011 at 3:42 PM, Ben Martin <benjmart_at_[hidden]> wrote:
> Doug Blank wrote:
>>
>> On Mon, May 16, 2011 at 8:17 AM, Doug Blank <doug.blank_at_[hidden]> wrote:
>>
>>>
>>> Hello list,
>>>
>>> First time user, trying to build on Ubuntu 11.04.
>>>
>>> 1) First, I tried to ./autogen.sh:
>>>
>>> --> Running aclocal
>>> configure.ac:205: error: AC_SUBST: `MCS ILASM MONO MPIEXEC PERL
>>>        CSHARP_FLAGS CSHARP_DEFINES MPI_HEADER
>>>        MPI_SHARED_LIB_NAME MPI_FUNC_PREFIX' is not a valid shell variable
>>> name
>>> configure.ac:205: the top level
>>> autom4te: /usr/bin/m4 failed with exit status: 1
>>> aclocal: autom4te failed with exit status: 1
>>> *** aclocal failed
>>>
>>> 2) Next, I tried ./configure:
>>>
>>> ...
>>> checking for mpicc... mpicc
>>> checking for MPI_Init... no
>>> checking for MPI_Init in -lmpi... no
>>> checking for MPI_Init in -lmpich... no
>>> configure: error: No MPI implementation found
>>>
>>> I have mpich2, libmpich2-2, and libmpich2-dev (versions 1.3.1-1)
>>> installed. The README and FAQ don't give any further suggestions.
>>>
>>
>> Looking at the configure.log file, I see that it failed on -lcr, so I
>> added package libcr-dev, and now ./configure gives:
>>
>> checking for mpicc... mpicc
>> checking for MPI_Init... yes
>> checking for mpi.h... yes
>> checking for mpiexec... /usr/bin/mpiexec
>> checking which MPI is available... MPICH2-based
>> checking for location of mpi.h... /usr/include/mpich2/mpi.h
>> checking for MPI_Init in -lpmpich... no
>> checking for PMPI_Init in -lmpich... yes
>> configure: error:  MPICH library is built statically.
>>      Please install MPICH built as a shared library by configuring MPICH
>> with
>>      the --enable-sharedlibs=??? option)
>>
>> So, a number of issues:
>>
>> 1) error in configure.ac
>> 2) missing dependency on libcr
>> 3) needs to have a MPICH compiled correctly, but need info on how
>>
>>
>
> Hey Doug,
>
> Sorry about that - the first of these are known issues and unfortunately the
> only documentation of them is on the mailing list.

Thanks for the information! Comments below:

> 1) First, you will want to apply the patches available from
> http://sources.gentoo.org/cgi-bin/viewvc.cgi/gentoo-x86/sys-cluster/mpi-dotnet/files/
>
> Patch them as such (from the mpi.net directory):
> patch configure.ac < configure.ac.patch\?revision\=1.1
> patch MPI/Unsafe.pl <Unsafe.pl.patch\?revision\=1.3
> patch MPI/Makefile.am <Makefile.am.patch\?revision\=1.1
>
> You'll probably want to do this with a clean checkout just to make sure
> there's no problems.
>
> Applying these patches will fix some of the errors you're seeing. I know it
> will fix the autogen error (and there's no point in running configure if
> running autogen fails - the configure script WILL be broken).

Ok, got that.

> 2) I'm not sure what's going on there, but it sounds like you've fixed it
> already anyway.

This is probably an error in configure; should probably add a test for
libcr. A package would be lovely, which would list it as a dependency.

> 3) It's actually quite easy (at least in theory...) to build MPICH2 as a
> shared library if you're building it from source - you just have to add
> --enable-shared to the configure command line. Here's a link to the install
> manual:
> http://www.mcs.anl.gov/research/projects/mpich2/documentation/files/mpich2-1.3.2-installguide.pdf
> .

Good to know, but after I properly autogen-ed and configured, then it
no longer complained.

> Of course, you don't have to use MPICH2, you could also use OpenMPI (there
> are some others that work too), but MPICH2 should be fine.
>>
>> Is there an easier MPI library to work with under Linux?
>
> Well, if you don't need to support .NET you can just get by with MPICH2 or
> OpenMPI. If you just want easy to use, and you don't care about the
> language, there's always something like mpi4py for Python.
>
> I personally don't know of any alternatives for .NET I could recommend, but
> others may have suggestions...

Sorry, I asked that question badly. I meant: Is there a library that
more easily works with MPI .NET under linux? I have worked with MPI
before, but not with .NET + Linux. But this seems to be working, so I
think the question is moot.

It appears that another requirement is a newer version of Mono.
Attempting to compile with Mono 2.6.7 gives a compile error, while
Mono 2.10.1 compiles cleanly.

Success! Well, ready for runtime testing, anyway. MPI .NET should now
work under Python, Ruby, Scheme, F#, etc. See http://PyajamProject.org
for more details.

Thanks!

-Doug

PS - I was in your shoes, between 1988 and 1996--- did my PhD in
Bloomington under Mike Gasser.

> Ben Martin
> Open Systems Laboratory
>
>> Thanks, again, for any pointers/suggestions!
>>
>> -Doug
>>
>> _______________________________________________
>> mpi.net mailing list
>> mpi.net_at_[hidden]
>> http://www.osl.iu.edu/mailman/listinfo.cgi/mpi.net
>>
>
> _______________________________________________
> mpi.net mailing list
> mpi.net_at_[hidden]
> http://www.osl.iu.edu/mailman/listinfo.cgi/mpi.net
>