Building Octave from source

classic Classic list List threaded Threaded
5 messages Options
Reply | Threaded
Open this post in threaded view
|

Building Octave from source

Sambeet Panigrahi
Hi,
I have built Octave from source using the instructions from the Octave building website. I used the debian maintainers site to get the debian packages that can be installed using apt. So after installing all the dependencies, I used the following code:
hg clone https://www.octave.org/hg/octave && \
cd octave                                  && \
./bootstrap

mkdir .build && \ cd .build && \ ./../configure --prefix=$HOME/my_octave

But using the above I get the following error:
configure: WARNING: SUNDIALS IDA library not configured with SUNLINSOL_KLU or sunlinksol_klu.h is not usable.  
The solvers ode15i and ode15s will not support the sparse Jacobian feature.

I managed to build Octave using the command,
./../configure --prefix=$HOME/my_octave CPPFLAGS="-I/usr/include/suitesparse"
 Because I found the klu.h library inside suitesparse.How can I add this to the configure.ac
so that next time I can just configure using:
./../configure --prefix=$HOME/my_octave

Can someone please help me out?





Reply | Threaded
Open this post in threaded view
|

Re: Building Octave from source

mmuetzel
Am 28. Dezember 2020 um 18:32 Uhr schrieb "Sambeet Panigrahi":

> Hi,
> I have built Octave from source using the instructions from the Octave building website[http://wiki.octave.org/Building]. I used the debian maintainers site[https://salsa.debian.org/pkg-octave-team/octave/blob/master/debian/control] to get the debian packages that can be installed using apt. So after installing all the dependencies, I used the following code:
> hg clone https://www.octave.org/hg/octave[https://www.octave.org/hg/octave] && \
> cd octave                                  && \
> ./bootstrap
>
> mkdir .build                            && \
> cd    .build                            && \
> ./../configure --prefix=$HOME/my_octave
>
> But using the above I get the following error: configure: WARNING: SUNDIALS IDA library not configured with SUNLINSOL_KLU or sunlinksol_klu.h is not usable.   The solvers ode15i and ode15s will not support the sparse Jacobian feature. I managed to build Octave using the command, ./../configure --prefix=$HOME/my_octave CPPFLAGS="-I/usr/include/suitesparse"
>  Because I found the klu.h library inside suitesparse.How can I add this to the configure.ac[http://configure.ac]
> so that next time I can just configure using: ./../configure --prefix=$HOME/my_octave
> Can someone please help me out?
 
Which version of SuiteSparse do you use?

Might be related to https://savannah.gnu.org/bugs/?55937
IIUC, SUNLINSOL_KLU should be working out of the box with SuiteSparse 4.1 (and newer?).

Markus




Reply | Threaded
Open this post in threaded view
|

Re: Building Octave from source

Sambeet Panigrahi
I found out the suitesparse version using
$ sudo ldconfig -v | grep libsuitesparse
sbin/ldconfig.real: /lib/x86_64-linux-gnu/ld-2.31.so is the dynamic linker, ignoring

libsuitesparseconfig.so.5 -> libsuitesparseconfig.so.5.7.1
/sbin/ldconfig.real: /lib32/ld-2.31.so is the dynamic linker, ignoring

However the Sundials version was 3.1. So I updated it to sundials 5.1 which I compiled from source code available from
here
Now I get the following error while building from source.

configure: WARNING: SUNDIALS IDA library not configured with SUNLINSOL_KLU or sunlinksol_klu.h is not usable.  The solvers ode15i and ode15s will not support the sparse Jacobian feature.
The command I gave was :
./../configure --prefix=$HOME/my_octave

Even with the CPP flag like below, I get the same error:
./../configure --prefix=$HOME/my_octave CPPFLAGS="-I/usr/include/suitesparse"

In the compile output,
checking for sunlinsol/sunlinsol_klu.h... no
checking for SUNKLU in -lsundials_sunlinsolklu... no
configure: WARNING: SUNDIALS IDA library not configured with SUNLINSOL_KLU or sunlinksol_klu.h is not usable.  The solvers ode15i and ode15s will not support the sparse Jacobian feature.

But in the /usr/include/sunlinsol...I could not find a sunlinsol_klu.h library. Do I need to edit the configure.ac file in someway to make this work?


On Tue, Dec 29, 2020 at 2:18 AM Markus Mützel <[hidden email]> wrote:
Am 28. Dezember 2020 um 18:32 Uhr schrieb "Sambeet Panigrahi":
> Hi,
> I have built Octave from source using the instructions from the Octave building website[http://wiki.octave.org/Building]. I used the debian maintainers site[https://salsa.debian.org/pkg-octave-team/octave/blob/master/debian/control] to get the debian packages that can be installed using apt. So after installing all the dependencies, I used the following code:
> hg clone https://www.octave.org/hg/octave[https://www.octave.org/hg/octave] && \
> cd octave                                  && \
> ./bootstrap
>
> mkdir .build                            && \
> cd    .build                            && \
> ./../configure --prefix=$HOME/my_octave
>
> But using the above I get the following error: configure: WARNING: SUNDIALS IDA library not configured with SUNLINSOL_KLU or sunlinksol_klu.h is not usable.   The solvers ode15i and ode15s will not support the sparse Jacobian feature. I managed to build Octave using the command, ./../configure --prefix=$HOME/my_octave CPPFLAGS="-I/usr/include/suitesparse"
>  Because I found the klu.h library inside suitesparse.How can I add this to the configure.ac[http://configure.ac]
> so that next time I can just configure using: ./../configure --prefix=$HOME/my_octave
> Can someone please help me out?
 
Which version of SuiteSparse do you use?

Might be related to https://savannah.gnu.org/bugs/?55937
IIUC, SUNLINSOL_KLU should be working out of the box with SuiteSparse 4.1 (and newer?).

Markus




Reply | Threaded
Open this post in threaded view
|

Re: Building Octave from source

mmuetzel
Am 31. Dezember 2020 um 14:15 Uhr schrieb "Sambeet Panigrahi":

> I found out the suitesparse version using
> $ sudo ldconfig -v | grep libsuitesparse
> sbin/ldconfig.real: /lib/x86_64-linux-gnu/ld-2.31.so[http://ld-2.31.so] is the dynamic linker, ignoring
>
> libsuitesparseconfig.so.5 -> libsuitesparseconfig.so.5.7.1
> /sbin/ldconfig.real: /lib32/ld-2.31.so[http://ld-2.31.so] is the dynamic linker, ignoring

> However the Sundials version was 3.1. So I updated it to sundials 5.1 which I compiled from source code available from
> here[https://computing.llnl.gov/projects/sundials/sundials-software]
> Now I get the following error while building from source.

> configure: WARNING: SUNDIALS IDA library not configured with SUNLINSOL_KLU or sunlinksol_klu.h is not usable.  The solvers ode15i and ode15s will not support the sparse Jacobian feature.

This isn't an error. It's just a warning from configure that some features of ode15i and ode15s will be disabled.
Do you need those features? If not, just build without SUNLINSOL_KLU.

> The command I gave was :
> ./../configure --prefix=$HOME/my_octave
>
> Even with the CPP flag like below, I get the same error:
> ./../configure --prefix=$HOME/my_octave CPPFLAGS="-I/usr/include/suitesparse"

> In the compile output,
> checking for sunlinsol/sunlinsol_klu.h... no
> checking for SUNKLU in -lsundials_sunlinsolklu... no
> configure: WARNING: SUNDIALS IDA library not configured with SUNLINSOL_KLU or sunlinksol_klu.h is not usable.  The solvers ode15i and ode15s will not support the sparse Jacobian feature.

> But in the /usr/include/sunlinsol...I could not find a sunlinsol_klu.h library. Do I need to edit the configure.ac[http://configure.ac] file in someway to make this work?

Did you configure SUNDIALS to build with SUNLINSOL_KLU (cmake -DKLU_ENABLE=ON)?

Where did you install your self-compiled SUNDIALS? AFAICT, that header is part of SUNDIALS 5.1.0 (and is still in 5.6.1).

Markus



Reply | Threaded
Open this post in threaded view
|

Re: Building Octave from source

Sambeet Panigrahi
[SOLVED] Thanks, as it turns I had not given -DENABLE_KLU=ON as one of the configuration options. Now I do not get the "SUNLINSOL_KLU or sunlinksol_klu.h is not usable error", and I can compile without  CPPFLAGS="-I/usr/include/suitesparse" .

On Thu, Dec 31, 2020 at 7:01 PM Markus Mützel <[hidden email]> wrote:
Am 31. Dezember 2020 um 14:15 Uhr schrieb "Sambeet Panigrahi":
> I found out the suitesparse version using
> $ sudo ldconfig -v | grep libsuitesparse
> sbin/ldconfig.real: /lib/x86_64-linux-gnu/ld-2.31.so[http://ld-2.31.so] is the dynamic linker, ignoring
>
> libsuitesparseconfig.so.5 -> libsuitesparseconfig.so.5.7.1
> /sbin/ldconfig.real: /lib32/ld-2.31.so[http://ld-2.31.so] is the dynamic linker, ignoring

> However the Sundials version was 3.1. So I updated it to sundials 5.1 which I compiled from source code available from
> here[https://computing.llnl.gov/projects/sundials/sundials-software]
> Now I get the following error while building from source.

> configure: WARNING: SUNDIALS IDA library not configured with SUNLINSOL_KLU or sunlinksol_klu.h is not usable.  The solvers ode15i and ode15s will not support the sparse Jacobian feature.

This isn't an error. It's just a warning from configure that some features of ode15i and ode15s will be disabled.
Do you need those features? If not, just build without SUNLINSOL_KLU.

> The command I gave was :
> ./../configure --prefix=$HOME/my_octave
>
> Even with the CPP flag like below, I get the same error:
> ./../configure --prefix=$HOME/my_octave CPPFLAGS="-I/usr/include/suitesparse"

> In the compile output,
> checking for sunlinsol/sunlinsol_klu.h... no
> checking for SUNKLU in -lsundials_sunlinsolklu... no
> configure: WARNING: SUNDIALS IDA library not configured with SUNLINSOL_KLU or sunlinksol_klu.h is not usable.  The solvers ode15i and ode15s will not support the sparse Jacobian feature.

> But in the /usr/include/sunlinsol...I could not find a sunlinsol_klu.h library. Do I need to edit the configure.ac[http://configure.ac] file in someway to make this work?

Did you configure SUNDIALS to build with SUNLINSOL_KLU (cmake -DKLU_ENABLE=ON)?

Where did you install your self-compiled SUNDIALS? AFAICT, that header is part of SUNDIALS 5.1.0 (and is still in 5.6.1).

Markus