octave-bug-tracker
[Top][All Lists]
Advanced

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

[Octave-bug-tracker] [bug #43063] Suitesparse 4.3.x has changed APIs, no


From: Andre da Costa Barros
Subject: [Octave-bug-tracker] [bug #43063] Suitesparse 4.3.x has changed APIs, no longer builds with Octave
Date: Fri, 03 Oct 2014 18:21:45 +0000
User-agent: Mozilla/5.0 (X11; Linux x86_64; rv:31.0) Gecko/20100101 Firefox/31.0

Follow-up Comment #28, bug #43063 (project octave):

OK, it took some time because on my system I compile each piece of SuiteSparse
(and install each) separately by scripts. Also, as it is and old Pentium Dual
the testing phase is not that fast. :(

The patches are concatenated and compressed as they are a bit big. If it works
on your system I may adjust it to make things a little easier to others that
may be interested.

First step - patch and compile SuiteSparse
-------------------------------------------

After you decompress SuiteSparse and patches it, take a look on the
differences between the original SuiteSparse_config.mk (inside
SuiteSparse_config dir) and the modified one to see if it match the options
you use on your system.

After you adjust things you may want, issue a "make". If everything went
smooth, on the end of the process you will have all the shared libs on the
base dir. Copy all of them to a place recognized by your linker, on my case,
it is /usr/lib64.

Also, copy all */Include/*.h to /usr/include/suitesparse. You should also copy
SuiteSparse_config/SuiteSparse_config.mk to there. One thing, though,
CSparse/Include/cs.h and CXSparse/Include/cs.h clashes so copy the first as
cs0.h and, may you need to compile against libcsparse, don't forget to change
your sources to '#include <cs0.h>' where appropriated. Octave compilation will
not be affected by it (will be if you don't or if you do the reverse).

If you are like myself, you will actually prepare a package to your
distribution and will install it.

Second step - compile Octave
----------------------------

In the following instructions, set the variable "metis_libs" to point to your
metis library options. You can get it by issuing (on most systems):

  metis_libs=$( pkg-config --libs metis 2>/dev/null )

After you decompress Octave, prepare it to be configured with ./bootstrap by
giving to it the following options:

  --with-amd="-lamd $metis_libs -lsuitesparseconfig -lcerbla -lrt" 
  --with-camd="-lcamd -lamd $metis_libs -lsuitesparseconfig -lcerbla -lrt" 
  --with-colamd="-lcolamd -lcamd -lamd $metis_libs -lsuitesparseconfig
-lcerbla -lrt" 
  --with-ccolamd="-lccolamd -lcolamd -lcamd -lamd $metis_libs
-lsuitesparseconfig -lcerbla -lrt" 
  --with-cholmod="-lcholmod -lccolamd -lcolamd -lcamd -lamd $metis_libs
-lsuitesparseconfig -lcerbla -lrt" 
  --with-umfpack="-lumfpack -lcholmod -lccolamd -lcolamd -lcamd -lamd
$metis_libs -lsuitesparseconfig -lcerbla -lrt -llapack"

After that issue a make. May some error springs in the process or may you need
extra assistance, post here the logs.

Regards,
André

ps1.: One of the patches,
"suitesparse-config-bnc775418-enable-SuiteSparse_time-symbol.patch" is not
mine and I didn't check if it is still needed.

ps2.: Added also the patches I use to compile Octave against latest version of
SuiteSparse.


(file #32218, file #32219)
    _______________________________________________________

Additional Item Attachment:

File name: suitesparse-patches.tar.gz     Size:10 KB
File name: octave-suitesparse.tar.gz      Size:3 KB


    _______________________________________________________

Reply to this item at:

  <http://savannah.gnu.org/bugs/?43063>

_______________________________________________
  Message sent via/by Savannah
  http://savannah.gnu.org/




reply via email to

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