PTL logo

From: Matti Bickel (cat5_at_[hidden])
Date: 2009-02-07 03:08:10


Matti Bickel <cat5_at_[hidden]> wrote:
> However, the compile failes with:
>
> make[1]: Entering directory
> `/var/tmp/portage/sys-cluster/mpi-dotnet-1.0.0/work/mpi.net-1.0.0/MPI'
> /usr/bin/perl ./Unsafe.pl ./Unsafe.cs CustomUnsafe.cs cbridge.c
> /usr/bin/perl ./Unsafe.pl ./Unsafe.cs CustomUnsafe.cs cbridge.c
> Cannot load Unsafe.cs input file CustomUnsafe.cs at ./Unsafe.pl line
> 168.
> make[1]: *** [cbridge.c] Error 2
> make[1]: *** Waiting for unfinished jobs....
> Cannot load Unsafe.cs input file CustomUnsafe.cs at ./Unsafe.pl line
> 168.
> make[1]: *** [CustomUnsafe.cs] Error 2
> make[1]: Leaving directory
> `/var/tmp/portage/sys-cluster/mpi-dotnet-1.0.0/work/mpi.net-1.0.0/MPI'
> make: *** [all-recursive] Error 1
>
> I'm investigating what caused this.

This is due to a assumption you make when compiling against OpenMPI. You
assume that mpicc --showme:incdirs will get you the necessary file. But
at least on my system, there's /usr/include/mpi.h, which doesn't need -I
directives since it's in the default include path. So mpicc
--showme:incdirs returns nothing and even mpicc --showme wouldn't show
anything. The configure check for mpi.h passes anyway, since it only
checks for <mpi.h> - which automagically works because mpi.h is in the
default include path.

But then MPI_HEADER is set to the output of mpicc --showme:incdirs,
which will be ''. Then again MPI_HEADER is the first argument to
Unsafe.pl, so the first shift that you do in your perl code will not get
you the (empty) mpi_header filename, it will consume './Unsafe.cs',
screwing up the logic.

I added the attached patch to my build system and now i'm able to
configure, make and install mpi.net.

However, it installs /usr/lib/debug/usr/lib/libmpinet.so.0.0.6.debug is
this intentional? The path looks kinda akward.

I will test mpi.net locally and in my personal overlay before pushing it
to main gentoo tree, so everyone gets to share the joy.

-- 
Regards, Matti Bickel
Encrypted/Signed Email preferred