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