Ticket #8537 (closed defect: fixed)
Update Open MPI package to latest - Sage version is 3 years old!
| Reported by: | drkirkby | Owned by: | tbd |
|---|---|---|---|
| Priority: | major | Milestone: | sage-4.6.2 |
| Component: | packages: optional | Keywords: | |
| Cc: | Work issues: | ||
| Report Upstream: | N/A | Reviewers: | Volker Braun |
| Authors: | Stefan Reiterer | Merged in: | |
| Dependencies: | Stopgaps: |
Description (last modified by vbraun) (diff)
Sage has an Open MPI optional package, which uses version 1.1.4 of Open MPI. This was released on Jan 30, 2007, so is more than 3 years old. It fails to build on Solaris - see #8522.
The optional package is very different to most other Sage packages, which shows its age.
- No SPKG.txt
- No Mercurial repository
- Sources sit in top-level directory, not in a 'src' subdirectory.
I'll create a package based on the latest version of Open MPI, which is version 1.4.1, which was released 15th January 2010.
Update: A new spkg can be found under http://www.stp.dias.ie/~vbraun/Sage/spkg/openmpi-1.4.3.spkg
Attachments
Change History
comment:2 Changed 3 years ago by mhansen
- Status changed from closed to new
- Resolution duplicate deleted
Actually, #8455 is for MPIR and not MPI :-)
comment:3 Changed 3 years ago by mhansen
From wstein:
I think the builds options are relevant to building the optional sage spkg that depends on mpi, namely mpi4py. If somebody updates openmpi, they might make sure mpi4py also works with the new version.
comment:4 Changed 3 years ago by drkirkby
I've created a ticket to update mpi4py - #8538, as that is very old too. I'll try to test the two packages together.
The old version of openmpi used these configure options:
./configure --prefix="$SAGE_LOCAL" --with-f90-max-array-dim=0 --disable-mpi-f77 --disable-mpi-f90 --with-mpi-f90-size=trivial
I'll look as whether these are all needed, as both openmpi and mpi4py are several years old.
Dave
comment:5 Changed 2 years ago by maldun
- Status changed from new to needs_info
Since I need mpi4py for a seminar and the current version didn't build on our multigpu machine, I had an urge to update openmpi and mpi4py.
The new package can be found under http://code.google.com/p/spkg-upload/downloads/detail?name=openmpi-1.4.3.spkg and is tested on ubuntu 10.04
Remark: Before Install one has to remove other installations of openmpi or else get troubles. The current spkg install holds a lot of remove statements a better solution would be great. Also one has to update mpi4py.
comment:8 follow-up: ↓ 9 Changed 2 years ago by vbraun
Thanks for updating everything!
I think you should be using rm -f to delete the old versions. The current spkg-install will fail to install if you don't already have the old openmpi lying around.
You should always use $MAKE because somebody might have set MAKE=/path/gnu-make or so. Do you need to disable parallel make? Then set MAKE="$MAKE -j 1"
Does mpi4py or anything else need the fortran API? If no, why not disable it in the configure. If yes, is there any way we can make it call sage_fortran as the compiler?
comment:9 in reply to: ↑ 8 Changed 2 years ago by maldun
- Status changed from needs_info to needs_review
- Description modified (diff)
Replying to vbraun:
Thanks for updating everything!
I think you should be using rm -f to delete the old versions. The current spkg-install will fail to install if you don't already have the old openmpi lying around.
You should always use $MAKE because somebody might have set MAKE=/path/gnu-make or so. Do you need to disable parallel make? Then set MAKE="$MAKE -j 1"
Does mpi4py or anything else need the fortran API? If no, why not disable it in the configure. If yes, is there any way we can make it call sage_fortran as the compiler?
Thanks for all the information!
I changed everything to your advices. rm worked without -f but I added it just to be sure. Also found an unnecessary rm statement. The fortran things were already outcommented but I removed them completely, to avoid confusion. I upload a the new spkg-install to see the difference
comment:10 follow-up: ↓ 11 Changed 2 years ago by vbraun
- Reviewers set to Volker Braun
Nice! Functionality-wise it is all good. But would you mind filling in the SPKG.txt according to the template in the developer manual? See
http://www.sagemath.org/doc/developer/producing_spkgs.html#the-file-spkg-txt
That'll give us a place to record future changes etc. You could also add .*~ to the .hgignore so that mercurial doesn't complain about emacs backup files.
Best wishes, Volker
comment:11 in reply to: ↑ 10 Changed 2 years ago by maldun
- Description modified (diff)
Replying to vbraun:
Nice! Functionality-wise it is all good. But would you mind filling in the SPKG.txt according to the template in the developer manual? See
http://www.sagemath.org/doc/developer/producing_spkgs.html#the-file-spkg-txt
That'll give us a place to record future changes etc. You could also add .*~ to the .hgignore so that mercurial doesn't complain about emacs backup files.
Best wishes, Volker
OK something went wrong with the SPKG.txt when packing, perhaps I deleted it accidentally or something else went wrong. In addition I can't upload the new version on the spkg-upload site...
You can download the corrected version now under: http://computational-sage.googlecode.com/files/openmpi-1.4.3.spkg
I hope everything is now correct, and thanks for the hint with the .hgignore!
Cheers, Stefan
comment:12 Changed 2 years ago by vbraun
- Status changed from needs_review to positive_review
Looks great!
comment:13 Changed 2 years ago by vbraun
- Description modified (diff)
I just tested in on Solaris and the export + set variable construct seems to be a bash-ism and not portable to other shells:
$ export MAKE="$MAKE -j 1" MAKE= -j 1: is not an identifier $ MAKE="$MAKE -j 1" $ export MAKE
The best fix is to change the first line of spkg-install to
#!/usr/bin/env bash
Almost all spkgs use that anyways.
I've made that change to the openmpi spkg and put the result here:
http://www.stp.dias.ie/~vbraun/Sage/spkg/openmpi-1.4.3.spkg
Since thats a minor change I'll leave it as positive review.
For the record, compile still fails on Solaris (as with the previous version). This issue is tracked in #8522: Optional package openmpi-1.1.4 fails to install on Solaris 10 SPARC
comment:14 Changed 2 years ago by jdemeyer
- Status changed from positive_review to closed
- Resolution set to fixed


This is a dup of #8455, as a search for "update mpi" in trac shows.