A newer version of openmpi is available.
1.2 is out, better overall performance and I greatly suggest anyone to replace 1.1.x with 1.2.x versions. Copied the 1.1.2 ebuild and only had to change the ebuild name to openmpi-1.2.ebuild as well as the SRC_URI line part where v1.1 becomes v1.2 : SRC_URI="http://www.open-mpi.org/software/ompi/v1.2/downloads/${MY_P}.tar.bz2"
openmpi 1.2 also fixes a problem with net-libs/opal. openmpi-1.1.x and opal install a library libopal.so in /usr/lib. libopal.so has the new name libopen-pal.so and both packages can now be installed at the same time. openmpi-1.2 works for me on x86 and amd64 for running mpi programs and for developing. please update!
Created attachment 123052 [details, diff] openmpi-1.2.2.ebuild Works for me on ppc64, and I added a couple of use flags to deal with btl components and the resource manager/scheduler. Patch based against openmpi-1.1.2.ebuild.
patch looks fine to me, one stylistic nitpick (no need to post another): + gm? (sys-cluster/gm) + mx? (sys-cluster/mx) We generally do: + gm? ( sys-cluster/gm ) + mx? ( sys-cluster/mx ) (extra spaces)
Open MPI 1.2.3 is available.
you are right and it works fine with this ebuild. we are useing 1.2.3 since june without problems on x86 and amd64
Created attachment 130256 [details] openmpi-1.2.3.ebuild here is an hopefully improved ebuild for openmpi-1.2.3: changes: - additional USE flags: - ifc: use the intel-fortran compiler - f90-typesafe: include more interfaces in the f90 modules; makes compiling *very* slow. this should probably be mentioned in an appropriate ewarn message. - nocxx: disables c++ bindings - other improvements/changes: with USE="-fortran -ifc" fortran should ad least in theory be completely disabled. removed "append-ldflags -Wl,-z,-noexecstack" as i don't see why this is needed.
Created attachment 130257 [details] openmpi-1.2.3.ebuild - revisited well, here is an revisited version of the openmpi-1.2.3 ebuild: - added whitespace as suggested in #comment 4 - added an ewarn message for USE=f90-typesafe questions/issues that remain: - USE=fortran in fact stands for "use gfortran or g77"; "gcc-fortran" would maybe be a better name, but is not a global USE flag... - f90-typesafe does nothing when USE="-fortran -ifc"; should i add another ewarn message for this case?
Created attachment 130386 [details] openmpi-1.2.3.ebuild - updated changes: - USE="f90-typesafe" does not slow down compiling against mpi severely if the intel-fortran compiler is used instead of gfortran; thus, ewarn is no longer triggered in this case.
Bump... 1.2.4 is out ;)
(In reply to comment #10) > Bump... 1.2.4 is out ;) > yuck, and the ebuild is still fine with it as far as i can tell.
Created attachment 137981 [details] OpenMPI 1.2.4 ebuild This ebuild is based on the 1.2.3 ebuild. It compiles fine with GCC 4.2 and ICC 10.1.008 (as long as you I performed some aesthetics and added the following: USE flags: smp heterogeneous --enable-orterun-prefix-by-default Removed the following irrelevant condition: if use ifc; then myconf="${myconf} F77=ifort FC=ifort" fi diff: 3c3 < # $Header: /var/cvsroot/gentoo-x86/sys-cluster/openmpi/openmpi-1.1.2.ebuild,v 1.7 2007/07/14 22:18:04 mr_bones_ Exp $ --- > # $Header: $ 16c16 < IUSE="pbs fortran f90-typesafe ifc nocxx threads mx gm romio slurm" --- > IUSE="pbs fortran f90-typesafe ifc nocxx threads mx gm romio slurm heterogeneous smp" 21c21 < ifc? ( >=dev-lang/ifc-9.1.040 ) --- > ifc? ( >=dev-lang/ifc-10.0.000 ) 33c33 < ewarn "WARNING: use of threads is highly experimental." --- > ewarn "WARNING: use of threads has only been partially tested." 61a62 > myconf="${myconf} --enable-orterun-prefix-by-default" 77,79d77 < if use ifc; then < myconf="${myconf} F77=ifort FC=ifort" < fi 84,91c82,92 < use nocxx && myconf="${myconf} --disable-mpi-cxx" < use pbs && myconf="${myconf} $(use_with pbs tm /usr/$(get_libdir)/pbs)" < use romio && myconf="${myconf} $(use_enable romio romio-io)" < use gm && myconf="${myconf} $(use_with gm gm /usr)" < use mx && myconf="${myconf} $(use_with mx mx /usr)" < use slurm && myconf="${myconf} $(use_with slurm)" < < econf ${myconf} || die "econf failed" --- > econf ${myconf} \ > $(use_enable !nocxx mpi-cxx) \ > $(use_enable romio romio-io) \ > $(use_enable smp smp-locks) \ > $(use_enable heterogeneous heterogeneous) \ > $(use_with pbs tm /usr/$(get_libdir)/pbs) \ > $(use_with gm gm /usr) \ > $(use_with mx mx /usr) \ > $(use_with slurm) \ > || die "econf failed" >
To complete my previous post: For building with ICC, be aware of Bug #201596 (ICC incompatibility with GCC 4.2 + workaround)
In the future, please create diffs with 'diff -u' and attach them rather than pasting them.
I believe an acceptable version of this is commited to portage, openmpi-1.2.4-r1. Thanks for all your hard work, testing and patience.