We usually advertise mpicc as the best way to compile an Open MPI
application. This is because the includes and the libs that have to
be on the linker command. The problem here is that libmpi.a is not
enough as the full installation of Open MPI include 3 sub-projects
(OPAL, ORTE and OMPI).
If you really want to compile BLACS with this approach then change
the MPILIB to "-lmpi -lorte -lopal". Otherwise set it to an empty
string and set CC to mpicc.
On Oct 2, 2006, at 3:32 PM, Michael Kluskens wrote:
> Building BLACS 1.1 with patch 3 and OpenMPI 1.1.1 (using gcc and
> Configuring the Bmake.inc file, if I set:
> MPILIB = -lmpi
> I have no trouble building the install program xsyserrors. However,
> the more standard approach is to set:
> MPILIB = $(MPILIBdir)/libmpi.a
> which generates the following error and more:
> /usr/local/lib/libmpi.a(dt_module.o)(.text+0x34c1): In function
> : undefined reference to `opal_class_initialize'
> I have libmpi.a because I had specified --enable-static when I build
> OpenMPI 1.1.1. But there appears to be some details about static
> libraries that I missed in the documentation.
> In order to use static libraries is it required to also include
> components in libraries?
> users mailing list
"Half of what I say is meaningless; but I say it so that the other
half may reach you"