Missing CHOLMOD in octave 2.9.9
Andre Stechert
andre at splunk.com
Tue Feb 27 00:05:40 PST 2007
On Feb 26, 2007, at 11:57 PM, Andre Stechert wrote:
> On Feb 25, 2007, at 12:09 PM, M. White wrote:
>>
>> 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.
>
> The patch for the missing cholmod_io64.h header file is done. FYI,
> it wasn't anything
> about the port, the upstream package is broken.
>
> I'll go ahead and start on adding the additional package
> dependencies, starting with
> pcre and curl. If glpk is workable, I'll add that too, else I'll
> leave it out.
>
> Cheers,
> Andre
Ergh. Uh, there _was_ a problem in the Portfile. Fixing that now.
> _______________________________________________
> macports-users mailing list
> macports-users at lists.macosforge.org
> http://lists.macosforge.org/mailman/listinfo/macports-users
-------------- next part --------------
A non-text attachment was scrubbed...
Name: smime.p7s
Type: application/pkcs7-signature
Size: 2442 bytes
Desc: not available
Url : http://lists.macosforge.org/pipermail/macports-users/attachments/20070227/8cb8e812/smime.bin
More information about the macports-users
mailing list