This repository has been archived by the owner. It is now read-only.

Part of SuiteSparse fails to build with --with-metis #15537

Closed
dpo opened this Issue Oct 18, 2012 · 20 comments

Comments

Projects
None yet
5 participants
Contributor

dpo commented Oct 18, 2012

The SuiteSparse README file says

 Some codes optionally use METIS 4.0.1

By default, Homebrew pulls METIS 5.0.2. When building suite-sparse with --with-metis, the CHOLMOD package fails to build with errors like

../Partition/cholmod_metis.c:164:21: error: use of undeclared identifier 'idxtype'
    if (s * sizeof (idxtype) >= ((double) Size_max))

and many more undeclared identifiers. This results in at least one missing library (libcholmod.a.)

I know of other scientific libraries that optionally rely on METIS, but it's never METIS 5 which has shown lesser performance in benchmarks and has a different API than METIS 4.

Is there a strong argument to not stick with METIS 4 in Homebrew?

And shouldn't those formulae be in Homebrew-Science?

Contributor

adamv commented Jan 5, 2013

@mistydemeo @Sharpie any thoughts?

Contributor

adamv commented Jan 19, 2013

Need a domain expert to answer this question; if these should move to homebrew-science that should happen too; homebrew-science could vend both metis and metis5.

Contributor

dpo commented Jan 19, 2013

I use this kind of software daily. I was just asking whether there was a strong reason to favor METIS 5. I'd be happy to improve the Homebrew formula. I'll have a shot at it in the coming days.

Contributor

adamv commented Jan 19, 2013

Honestly I don't think there was any particular reason to update to 5; only that it was "newer" and someone opened a pull request. I'd suggest doing what you think is correct in this case and I'll pull accordingly. Thanks.

@dpo dpo referenced this issue in Homebrew/homebrew-science Jan 24, 2013

Closed

Metis and SuiteSparse #79

Contributor

dpo commented Jan 24, 2013

I'm proposing Homebrew/homebrew-science#79. Does it look reasonable to you?

Contributor

samueljohn commented Jan 24, 2013

YES to moving metis and suite-sparse to homebrew-science (I grep-ed through all formulae and there seem to be no other formulae using these two).

I am in favor of adding a metis4 formula which is keg_only to homebrew-science and suite-sparse then uses that one. Eventually (when suite-sparse moves on to metis 5.x) we might move metis4 to versions.

@samueljohn samueljohn referenced this issue in Homebrew/homebrew-science Jan 24, 2013

Closed

A few stragglers left in Homebrew-core #43

47 of 48 tasks complete
Contributor

Sharpie commented Jan 24, 2013

YES to moving metis and suite-sparse to homebrew-science (I grep-ed through all formulae and there seem to be no other formulae using these two).

Octave is a big one that uses suite-sparse.

Contributor

samueljohn commented Jan 24, 2013

We have octave on the list, too.

Contributor

Sharpie commented Jan 24, 2013

Octave is definitely a "science" formula, but it has a broad dependency tree of non-science formulae. It also has quite a few users compared to other science packages. Because of this, I'm not sure moving it to Homebrew-science would be the best move as there is some stability advantage to explicitly keeping Octave on the radar in the main repository so that updates to its dependencies are checked for breakage.

Contributor

dpo commented Jan 25, 2013

Those are good points. octave also depends on glpk which also appears on the list of formulae to move to homebrew/science. Currently though, octave may be broken because suite-sparse is broken if you use metis (which is what you do if you want performance). I'm not a big octave user but I'll bet it relies on suite-sparse's Cholesky factorization module (the libcholmod that's broken).

My feeling is also that someone who knows about homebrew/science will definitely look for octave over there. My two cents.

Contributor

samueljohn commented Jan 25, 2013

I think a formula in a homebrew tap that depends_on a core formula is fine. The other way around perhaps less.
Why will a formula in homebrew-scince be "under the radar", if we care about homebrew-science as much (and even more in my case) as in homebrew core? Adamv is doing a heroic job in homrebrew core and the best way to keep this all up and going is to distribute the work one some shoulders...

Owner

MikeMcQuaid commented Jan 25, 2013

I think optionally depending on a tap is fine but not by default for core formulae.

Owner

MikeMcQuaid commented Jan 25, 2013

I think @mxcl wants the long term (Homebrew 2.0 ish) goal to push everything even slightly niche or e.g. GUI stuff to taps.

Contributor

samueljohn commented Jan 25, 2013

I agree with that.

I think optionally depending on a tap is fine but not by default for core formulae.

Only flann depends optionally on octave.

Contributor

Sharpie commented Jan 25, 2013

Why will a formula in homebrew-scince be "under the radar",

Because someone who runs, for example, brew uses fltk will not see octave unless they happen to have Homebrew-science tapped.

Contributor

dpo commented Jan 25, 2013

If anything even slightly niche should go to taps then I'd stay octave's home is homebrew/science. My understanding as an outsider is that that's the point of taps. As far as I can see nothing else in Hombrew-core depends on suite-sparse. As @samueljohn mentioned, only flann depends on octave and it's an optional dependency.

Contributor

samueljohn commented Feb 11, 2013

I have pulled metis4 in homebrew/science. It's now a nice and warm place for suite-sparce.

We can't on the one side advertise taps and on the other hand say formulae in official Homebrew taps are "under the radar".

In related, perhaps brew uses should report usage from fromulae in taps, too? (I mean tapped taps)

Owner

MikeMcQuaid commented Feb 11, 2013

Yeh, seems reasonable for brew uses. I think long term we want taps to have all the same support normal formulas do and move to either entirely taps or 99% in taps for Homebrew 2.

Contributor

adamv commented Feb 22, 2013

What's the status here? Is the original issue still being discussed or has a workaround been posted?

@peteb4ker peteb4ker referenced this issue in Homebrew/homebrew-science Apr 3, 2013

Closed

Fail to compile Octave on 10.8.3 #128

Contributor

adamv commented Apr 13, 2013

This software is now in Homebrew-Science and should be tracked over there: https://github.com/Homebrew/homebrew-science/issues

@adamv adamv closed this Apr 13, 2013

@khenriks khenriks pushed a commit to khenriks/homebrew-science that referenced this issue Nov 13, 2013

@dpo @samueljohn dpo + samueljohn metis4: Formula for METIS v4.
METIS v4 used to be in Homebrew-Core and disappeared in
favor of METIS v5. However, certain libraries, such as SuiteSparse,
do not compile properly with METIS v5.

See also Homebrew/legacy-homebrew#15537.
7ce04c7

@xu-cheng xu-cheng locked and limited conversation to collaborators Feb 16, 2016

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.