Well bug 44132 [1] has been a real thorn in my side for some time. The problem being that all mpi implementations currently in portage block each other. This is a real pain for any serious administrators, makes testing new/other implementations too time-consuming, and in my opinion has probably slowed any progress related to getting cluster applications into portage or the overlays. All that being said, I set out to do something about it. Donnie Berkholz was nice enough to help me out early on and ended up suggesting that I look at crossdev. I shamelessly ripped off the aforementioned script and tuned it for mpi implementations and packages. It should be noted that all the changes I've implemented do [should, hopefully will] not effect the way the packages behave now, rather it just adds another option. The idea is as follows. sys-cluster/empi: Does the same stuff that crossdev does. You create a new implementation root by specifying a name and mpi implementation package to build it with. [2] Empi adds these to an overlay under a new category with the name you gave. The ebuilds inherit mpi.eclass which handles pushing all the files to /usr/lib/mpi/, and providing files for eselect-mpi. Later, you can add packages by specifying the category name and packages to install. Empi grabs the ones that inherit mpi (including deps), adds them to the overlay and emerges. The deps stuff hasn't been tested all that much. app-admin/eselect-mpi: Used to setup a user's environment to call a named implementation install. Basically does this by dropping a bash-sourceable file in ${HOME}/.env.d/mpi. The not-so-fun part is that the user then has to remember to source that file. Also used a fair amount by mpi.eclass. I threw some quick notes showing commands and output up in my devspace. [3] If anyone is at all interested, please try this out and let me know what you think. Even if you don't try it out but have ideas/comments/rants, I'm all ears. Current overlay has the following ready to be tried out. eselect-mpi/eselect-mpi-0.0.1 sys-cluster/empi-0.1 sys-cluster/hpl-1.0-r3 sys-cluster/lam-mpi-7.1.4-r1 sys-cluster/mpi-examples-1.0 sys-cluster/openmpi-1.2.5-r1 A couple of final words, hpl and mpi-examples currently wouldn't work without empi, mainly because I'm lazy :) Also I still haven't figured out a good way to handle do{man,doc,www} etcetera, ideas are welcome. There's still a fair amount of work to be done, but I wanted to see if anyone had any feedback regarding the general concept first before pushing on. You can pull the overlay from rsync://cold-front.ath.cx/mpi (for now...) Thanks, [1] http://bugs.gentoo.org/show_bug.cgi?id=44132 [2] Currently openmpi-1.2.5-r1 or lam-mpi-7.1.4-r1 [3] http://dev.gentoo.org/~jsbronder/README.empi.txt -- Justin Bronder