PTL logo

From: Ben Martin (benjmart_at_[hidden])
Date: 2011-05-16 15:42:42


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.

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).

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

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
.

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...

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
>