Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 49953 - parmetis-3.1 (New Package)
Summary: parmetis-3.1 (New Package)
Status: RESOLVED FIXED
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: New packages (show other bugs)
Hardware: All All
: High enhancement (vote)
Assignee: Gentoo Science Related Packages
URL:
Whiteboard:
Keywords: EBUILD
Depends on:
Blocks:
 
Reported: 2004-05-04 03:21 UTC by Raimondo Giammanco
Modified: 2008-03-27 19:26 UTC (History)
3 users (show)

See Also:
Package list:
Runtime testing required: ---


Attachments
parmetis-3.1.ebuild (New Package) (parmetis-3.1.ebuild,795 bytes, text/plain)
2004-05-04 03:24 UTC, Raimondo Giammanco
Details
parmetis-3.1 (New Package, revised ebuild) (parmetis-3.1.ebuild,1.03 KB, text/plain)
2004-05-04 06:05 UTC, Raimondo Giammanco
Details

Note You need to log in before you can comment on or make changes to this bug.
Description Raimondo Giammanco 2004-05-04 03:21:01 UTC
Hello,
 ParMetis is a parallel graph partitioning and sparse matrix ordering. Provides the following key components:

    * Static graph partitioning
    * Static mesh partitioning
    * Dynamic graph partitioning
    * Fill-reducing reordering

It is available as an MPI-based library.

I wrote an ebuild (with my limited knowledge) because I think to install metis in some other places, but concerns remains about the license. 
I have to see in /usr/portage/license which one is suited and in any case 
it is necessary to contact the developers for having permission of distributing 
the ebuild with portage. See http://packages.debian.org/changelogs/pool/non-free/p/parmetis/parmetis_3.1-1/copyright.

I do not think posting this ebuild here violates the terms of the license,
and I will, depending from your comments, contact the developers to ask proper 
permission.

Best Regards
Comment 1 Raimondo Giammanco 2004-05-04 03:24:15 UTC
Created attachment 30686 [details]
parmetis-3.1.ebuild (New Package)

I suggest app-sci, since one can use libmetis.a in a serial context, so putting
it is sys-cluster will not go.
Comment 2 Raimondo Giammanco 2004-05-04 06:05:01 UTC
Created attachment 30701 [details]
parmetis-3.1 (New Package, revised ebuild)

Forgot a subdir, sorry.
Comment 3 Tiago Quintino 2004-06-09 03:05:29 UTC
I was missing this package very much. Thanks for making the ebuild.
I do have some comments:

1) mpicc did not use my compilation optimization options.
2) I had to edit the ebuild DEPEND field in order to use lam-mpi instead of mpich
3) parmetis is only a library. A package for metis would be much apreciated. Maybe I do it myself.

Tiago
Comment 4 Oliver Borm 2007-11-04 23:01:43 UTC
I'v added an improved version of this ebuild to the sunrise overlay.
Comment 5 Sébastien Fabbro (RETIRED) gentoo-dev 2008-02-05 21:11:24 UTC
Hi,

I am planning to push parmetis to the main tree very soon. I changed quite a bit the ebuild in the sunrise overlay and put a revision in the science overlay. Please test it at much as you can.
Also could someone tell me if the metis library that this package installs actually conflicts with the metis library from the main tree?

Thanks for any contribution.
Comment 6 Oliver Borm 2008-02-12 19:28:55 UTC
Hi Sebastien,

yes your version of the ebuild actually conflicts with the libmetis from the metis package. Just look at your shell:

 * Detected file collision(s):
 *
 *      /usr/include/metis.h
 *      /usr/lib/libmetis.la
 *      /usr/lib/libmetis.so.0.0.0
 *      /usr/lib/libmetis.a
 *      /usr/lib/libmetis.so.0
 *      /usr/lib/libmetis.so

I don't know the exact difference between these two metis libraries, but it should be possible to install both on the same system. So I've changed the libmetis from the parmetis package to libMETIS in the ebuild in the sunrise overlay. That solved the problem for me.

Because OpenFOAM bug 104257 may depend on the metis AND parmetis package, please improve your package in the science overlay.
Comment 7 Sébastien Fabbro (RETIRED) gentoo-dev 2008-02-12 23:47:50 UTC
Hi Olivier,

Yes I know the files conflict. I would like to know what is really the difference between the metis library included in the parmetis and the standard metis one. A quick diff does not show much differences. It could be a candidate for virtual if needed, or simply remove the metis lib in the parmetis one.
Anyone knowing this package could help.
Concerning openfoam,  are you sure it does not require metis>=5 in which case it probably does not even need parmetis?

Comment 8 Oliver Borm 2008-02-13 10:28:04 UTC
Hi Sebastien,

OpenFOAM comes with parmetis-3.1 and metis-5.0pre2. As I read directly on the OpenFOAm forum and checked by myself (http://openfoam.cfd-online.com/forum/messages/126/6497.html and http://openfoam.cfd-online.com/forum/messages/126/6260.html) the libmetis from the metis package is overwritten by the libmetis from the parmetis package. 

These two libmetis seems to be very similar but they are not exact identical (even the size of each lib is different). 

The statement was, that metis is still in development but parmetis isn't. So the suggestion was to RENAME one of the libraries to avoid conflicts. 

Oliver
Comment 9 Sébastien Fabbro (RETIRED) gentoo-dev 2008-02-26 11:39:14 UTC
I contacted upstream for the state of metis/parmetis, and these are the answers I got:

"The Metis library provided in parmetis can be used to replace the
library in Metis 4.0.1 (but not the other way around).
Metis 5.0 is a major change and is incompatible with both...
I'm actually in the process of re-writing the re-write, so do not spend any time on the 5.0."

So what I'm thinking is to do a revision bump to metis-4.0.1 to build it from the metis included in parmetis, and make parmetis only build the mpi part, dependending on metis-4.0.1-r1. Does this sound reasonable?
Comment 10 Tiago Quintino 2008-02-26 12:19:00 UTC
It sounds reasonable to me.
Comment 11 Oliver Borm 2008-02-26 14:58:42 UTC
Just for clarification, you want to put in:
- metis-4.0.1-r1 the libmetis.so from parmetis-3.1
- parmetis-3.1 just the libparmetis.so from parmetis-3.1
- metis-5.0_pre2 the libmetis.so from metis-5.0_pre2 ?

If you install libmetis.so from parmetis-3.1 as libmetis.so.4.0.1 and libmetis.so from metis-5.0_pre2 as libmetis.so.5.0 for example, then it should be possible that one can install metis-4.0.1-r1 and metis-5.0_pre2 at the same time. And then it sounds ok for me.
Comment 12 Sébastien Fabbro (RETIRED) gentoo-dev 2008-03-27 19:26:36 UTC
Folks,

I added parmetis to the main tree. I finally decided to go for blocking, since the slotting/virtual did not make much sense and splitting the internal metis in parmetis required too much patching. 
So the deal is:
* if a package depend on any metis, change your deps as
DEPEND="|| ( sci-libs/parmetis sci-libs/metis )" (like cholmod)
* metis-4.0.1-r1 updated without slotting but blocking parmetis
* metis-5.0_pre2-r1 stays masked (upstream advice, comment #9)

Oliver, for what I've read in the links you mentioned and elsewhere, openfoam could depend on parmetis only. I am not sure if metis-4 could work with openfoam, but metis-5.0_pre2 is better avoided.