#34369 closed enhancement (fixed)
arpack with mpich2
Reported by: | numaryu | Owned by: | mamoll (Mark Moll) |
---|---|---|---|
Priority: | Normal | Milestone: | |
Component: | ports | Version: | |
Keywords: | Cc: | eborisch (Eric A. Borisch) | |
Port: | arpack |
Description
I'd like to use mpich2 rather than openmpi for the MPI library. I'm mainly using mpich2, and it seems openmpi and mpich2 can not co-exist (Ticket #11576). So, It would be nice if I can choose which MPI library to use.
The attached file is what I tried to compile arpack with mpich2. Compilation was successful, but I have not tested if arpack works properly.
Note that the location of include files of mpich2 depends on +default_mpi variant.
Attachments (3)
Change History (15)
Changed 13 years ago by numaryu
Attachment: | diff.Portfile added |
---|
Changed 13 years ago by numaryu
Attachment: | Portfile.diff added |
---|
comment:1 Changed 13 years ago by eborisch (Eric A. Borisch)
Cc: | eborisch@… added |
---|
comment:2 Changed 13 years ago by mf2k (Frank Schima)
Cc: | mmoll removed |
---|---|
Owner: | changed from macports-tickets@… to mmoll@… |
Version: | 2.0.4 |
Trac requires complete email addresses.
This port should use variants for mpich2 and openmpi so the user can choose.
comment:3 Changed 13 years ago by mamoll (Mark Moll)
mpich2 doesn't appear to have the mpif77 program. Are you sure this patch works?
comment:4 Changed 13 years ago by numaryu
I have mpif77 installed because of the +gcc45 variant. Similar to openmpi, mpich2 needs the +gcc4? variant to enable Fortran, but any of the +gcc4? variants is not set by default.
Changed 13 years ago by mamoll (Mark Moll)
Attachment: | Portfile.diff2 added |
---|
comment:5 Changed 13 years ago by mamoll (Mark Moll)
Ah, I have +gcc46 as a default variant, but that variant doesn't exist for mpich2. Can you try if the Portfile.diff2 patch works?
comment:6 Changed 13 years ago by numaryu
The patch works if mpich2 is installed without +default_mpi. If the +default_mpi variant is given to mpich2, the include files are installed in /opt/local/include. So, arpack fails to find mpif.h.
comment:7 Changed 13 years ago by eborisch (Eric A. Borisch)
FWIW, I am planning ro remove the +default_mpi option; it was there when include files conflicted with openmpi. Openmpi is installing includes in include/openmpi/ now, but other conflicts have cropped up (See #11576).
Once mpich2 1.5 is released I'll be committing the new portfile which will place mpi*.h into ${prefix}/include/ and will be flagged to conflict with openmpi at this point. (This conflict may or may not continue to be the case; see also #11576)
comment:8 Changed 12 years ago by mamoll (Mark Moll)
Resolution: | → fixed |
---|---|
Status: | new → closed |
Fixed in r93972.
comment:9 Changed 12 years ago by eborisch (Eric A. Borisch)
Two quick notes:
- I think the dependencies (for mpich2 and openmpi) should be depends_lib and not depends_build.
- The the
configure.args-append FFLAGS='-I${prefix}/include/mpich2'
shouldn't be needed if mpif77 is used, and would be incorrect if mpich2 was installed +default_mpi, or after the 1.5 version is released.
comment:11 Changed 12 years ago by eborisch (Eric A. Borisch)
I should have been clearer; the configure.env-append MPIF77=${prefix}/bin/mpif77
line (within the mpich2 variant) is still needed; its existence is why the FFLAGS line isn't needed.
Thanks!
Cc Me!