On Feb 18, 2007, at 22:23, Ryan Schmidt wrote:
On Feb 18, 2007, at 20:33, M. White wrote:
Hi, I am not exactly if this is the correct place to ask this
question or not - my apologies if misplaced.
I just installed octave 2.9.9 using darwinports 1.3.2 and tried to
run a small matrix test case for matlab (mytrit.m from Johan
Helsing of Lund University). When I try to run it, it gets to the
line:
R=chol(-A);
and I get the error message:
error: Missing CHOLMOD. Sparse cholesky factorization disabled
[If I comment out that section, everything else seems to run fine.]
Now as near as I can tell cholmod should be part of SuiteSparse
(which was also installed [v. 2.4.0_0] as part of this process).
The headers for cholmod are found in "/opt/local/include/
ufsparse". Unless there was some error in the installation that
was not reported, I should have CHLMOD I think. There is also a
chol.oct found in "/opt/local/libexec/octave/2.9.9/oct/powerpc-
apple-darwin8.8.0/chol.oct".
Unfortunately, the I did not try to build it verbose - and cannot
find any log or error files that might point out what actually
happened. Does anyone have any ideas on what I possibly did wrong
and how I might fix it?
I have a copy of 2.1.73 which was installed from binaries provided
by hpc.sourcefourge.net last year in /usr/local/bin - but /opt/
local/bin comes first in my path. I had originally tried to
install the 2.9.9 binaries from there, but it complained because I
did not have UMFPACK (probably because I did not have ufsparse at
that time).
Thank you for your time.
- M.
P.S. running Mac OS-X 10.4.8 on a G4.
I'm not sure if this is the behavior of the octave port, but the
behavior of a MacPorts port *should* be that if you just install the
port, you just get the basic software. If the software can optionally
use some other feature (like suitesparse or cholmod in this case),
then there should be a variant of the original port (octave) that you
can use to enable this functionality (such as +suitesparse or
+cholmod -- note this is just hypothetical; the octave port has no
such variant). The maintainer of the octave port should comment on
how it actually functions.
For future reference for anyone who might be interested or run across
the same problem:
Octave has a list of dependencies for full functionality, of which
SuiteSparse is one of them (fftw is another of them). If you build
octave verbose, it will tell you if it had problems with any of
them. If you have the appropriate libraries, octave will use them,
but it will try to compile without them.
After multiple attempts at rebuilding, I finally found the problem -
it is actually with the SuiteSparse port. When the port is
installed, it fails to copy the header:
cholmod_io64.h
into the directory
/opt/local/include/ufsparse
and the first include file in cholmod.h is this file. This is why
the sparse Cholesky factorization was disabled. The easiest way to
fix it is to first configure SuiteSparse and then copy the
cholmod_io64.h header into the appropriate directory before doing the
install. Then an install of octave should work.
Also, in doing this build (and looking at the octave wiki), I notice
that there are 3 more dependencies for octave that are not part of
the package:
pcre
curl [aka cURL]
glpk
One should probably install these ports before installing octave.
[Note: the current darwinport of glpk is glpk-4.14, which will not
work with octave (at least not without some hacking [requires
modifying at least configure and __glpk__.cc, and possibly
configure.in]) - so if you do not have it, that one does not really
matter, 'cause it won't work anyway. I've read that the octave
development group has a working solution for glpk-4.15, but it is not
as simple as taking the current development version of __glpk__.cc
and replacing the current one (at least it did not work for me - I
had to edit the file by hand, and do not have any test cases to see
if it is actually working).]
- M.
_______________________________________________
macports-users mailing list
[email protected]
http://lists.macosforge.org/mailman/listinfo/macports-users