help-octave
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: How to make SuiteSparse to be recognizable?


From: David Bateman
Subject: Re: How to make SuiteSparse to be recognizable?
Date: Fri, 24 Nov 2006 10:04:50 +0100
User-agent: Thunderbird 1.5.0.7 (X11/20060921)

Sergey Maslennikov wrote:
> Norbert Hauser wrote:
>   
>> Sergey,
>> I had a very similar problem (see my question about umfpack a few days ago).
>> Fortunately, after putting all headers and libs into one directory as you 
>> did, I got rid of the warnings about umfpack...cxsparse. But then after the 
>> overall compilation the linker complained about missing references to 
>> METIS_NodeND(), camd_realloc() and other camd_...() functions. In config.log 
>> I found a message that metis.h was present, but a testfile couldn't be 
>> compiled. Did you compile with metis? Do you have an idea why the linker 
>> might have failed?
>>
>> It would be really helpful if there was some documentation how to install 
>> SuiteSparse for octave (which download location, which headers and libs to 
>> copy to which directory, which configure options to set). I didn't find this 
>> in any faq or documentation.
>>
>> Norbert
>>     
>
> Yes. I have found that there is a requirement to utilize libcholmod with 
>      libcamd and probably with libmetis. See, for instance, 
> http://www.cise.ufl.edu/research/sparse/cholmod/. It is written there 
> that cholmod optionally requires camd, but it seems that -lcholmod must 
> be put with -lmetis as well.
>
>   
Ouch, ok I see why you are both having these problems then. The fact is
I've stayed with an older version of UFSparse and not migrated to the
latest version, as there was no additional functionally added that
interested me except a few bug fixes that I hadn't come across in any
case. Whereas as you noted the latest version of cholmod has introduced
a dependency on camd.. Give me a day or so and I'll fix it, after I
upgrade my UFSparse install to the latest SparseSuite.. I don't think
your patch is quite correct as it unconditionally adds -lcamd...

D.



> Although I'm not sure I go right a way I do modify configure file 
> (Octave-2.9.9) in a manner of:
>
> --------------------8<--------------------------------------------------
> --- configure 2006-10-03 00:04:13.000000000 +0400
> +++ configure 2006-11-23 18:10:59.000000000 +0300
> @@ -17158,7 +17158,7 @@
>     echo $ECHO_N "(cached) $ECHO_C" >&6
>   else
>     ac_check_lib_save_LIBS=$LIBS
> -LIBS="-lcholmod $AMD_LIBS $COLAMD_LIBS $CCOLAMD_LIBS $BLAS_LIBS $FLIBS 
> -lmetis $LIBS"
> +LIBS="-lcamd -lcholmod $AMD_LIBS $COLAMD_LIBS $CCOLAMD_LIBS $BLAS_LIBS 
> $FLIBS -lmetis $LIBS"
>   cat >conftest.$ac_ext <<_ACEOF
>   /* confdefs.h.  */
>   _ACEOF
> @@ -17238,7 +17238,7 @@
>   { echo "$as_me:$LINENO: result: $ac_cv_lib_cholmod_cholmod_start" >&5
>   echo "${ECHO_T}$ac_cv_lib_cholmod_cholmod_start" >&6; }
>   if test $ac_cv_lib_cholmod_cholmod_start = yes; then
> -  CHOLMOD_LIBS="-lcholmod -lmetis";
> +  CHOLMOD_LIBS="-lcamd -lcholmod -lmetis";
>       with_cholmod=yes
>   else
>
> @@ -17248,7 +17248,7 @@
>     echo $ECHO_N "(cached) $ECHO_C" >&6
>   else
>     ac_check_lib_save_LIBS=$LIBS
> -LIBS="-lcholmod $AMD_LIBS $COLAMD_LIBS $CCOLAMD_LIBS $BLAS_LIBS $FLIBS 
> -lmetis $LIBS"
> +LIBS="-lcamd -lcholmod $AMD_LIBS $COLAMD_LIBS $CCOLAMD_LIBS $BLAS_LIBS 
> $FLIBS -lmetis $LIBS"
>   cat >conftest.$ac_ext <<_ACEOF
>   /* confdefs.h.  */
>   _ACEOF
> @@ -17328,7 +17328,7 @@
>   { echo "$as_me:$LINENO: result: $ac_cv_lib_cholmod_cholmod_start" >&5
>   echo "${ECHO_T}$ac_cv_lib_cholmod_cholmod_start" >&6; }
>   if test $ac_cv_lib_cholmod_cholmod_start = yes; then
> -  CHOLMOD_LIBS="-lcholmod -cblas -lmetis"; with_cholmod=yes
> +  CHOLMOD_LIBS="-lcamd -lcholmod -cblas -lmetis"; with_cholmod=yes
>   fi
>
>   fi
> @@ -17340,7 +17340,7 @@
>     echo $ECHO_N "(cached) $ECHO_C" >&6
>   else
>     ac_check_lib_save_LIBS=$LIBS
> -LIBS="-lcholmod $AMD_LIBS $COLAMD_LIBS $CCOLAMD_LIBS $BLAS_LIBS $FLIBS 
> $LIBS"
> +LIBS="-lcamd -lmetis -lcholmod $AMD_LIBS $COLAMD_LIBS $CCOLAMD_LIBS 
> $BLAS_LIBS $FLIBS $LIBS"
>   cat >conftest.$ac_ext <<_ACEOF
>   /* confdefs.h.  */
>   _ACEOF
> @@ -17420,7 +17420,7 @@
>   { echo "$as_me:$LINENO: result: $ac_cv_lib_cholmod_cholmod_start" >&5
>   echo "${ECHO_T}$ac_cv_lib_cholmod_cholmod_start" >&6; }
>   if test $ac_cv_lib_cholmod_cholmod_start = yes; then
> -  CHOLMOD_LIBS="-lcholmod";
> +  CHOLMOD_LIBS="-lcamd -lmetis -lcholmod";
>       with_cholmod=yes
>   else
>
> @@ -17430,7 +17430,7 @@
>     echo $ECHO_N "(cached) $ECHO_C" >&6
>   else
>     ac_check_lib_save_LIBS=$LIBS
> -LIBS="-lcholmod $AMD_LIBS $COLAMD_LIBS $CCOLAMD_LIBS $BLAS_LIBS $FLIBS 
> $LIBS"
> +LIBS="-lcamd -lmetis -lcholmod $AMD_LIBS $COLAMD_LIBS $CCOLAMD_LIBS 
> $BLAS_LIBS $FLIBS $LIBS"
>   cat >conftest.$ac_ext <<_ACEOF
>   /* confdefs.h.  */
>   _ACEOF
> @@ -17510,7 +17510,7 @@
>   { echo "$as_me:$LINENO: result: $ac_cv_lib_cholmod_cholmod_start" >&5
>   echo "${ECHO_T}$ac_cv_lib_cholmod_cholmod_start" >&6; }
>   if test $ac_cv_lib_cholmod_cholmod_start = yes; then
> -  CHOLMOD_LIBS="-lcholmod -cblas";
> +  CHOLMOD_LIBS="-lcamd -lmetis -lcholmod -cblas";
>         with_cholmod=yes
>   fi
> -------------------->8--------------------------------------------------
>
> It works for me.
>
> Best,
>
> Serge
> _______________________________________________
> Help-octave mailing list
> address@hidden
> https://www.cae.wisc.edu/mailman/listinfo/help-octave
>
>   


-- 
David Bateman                                address@hidden
Motorola Labs - Paris                        +33 1 69 35 48 04 (Ph) 
Parc Les Algorithmes, Commune de St Aubin    +33 6 72 01 06 33 (Mob) 
91193 Gif-Sur-Yvette FRANCE                  +33 1 69 35 77 01 (Fax) 

The information contained in this communication has been classified as: 

[x] General Business Information 
[ ] Motorola Internal Use Only 
[ ] Motorola Confidential Proprietary



reply via email to

[Prev in Thread] Current Thread [Next in Thread]