Hi,
I am trying to build Octave 4.2 on a machine with Scientific Linux release 6.6 (Carbon).
This machine uses an environmental modules system therefore many libraries, including SuiteSparse
are installed in non-standard locations.
I am configuring with
../configure <...> \
--with-colamd-includedir=$mkSuitesparseInc \
--with-colamd-libdir=$mkSuitesparseLib \
--with-amd-libdir=$mkSuitesparseLib \
--with-amd-includedir=$mkSuitesparseInc \
--with-camd-libdir=$mkSuitesparseLib \
--with-camd-includedir=$mkSuitesparseInc \
--with-cholmod-libdir=$mkSuitesparseLib \
--with-cholmod-includedir=$mkSuitesparseInc \
--with-ccolamd-includedir=$mkSuitesparseInc \
--with-ccolamd-libdir=$mkSuitesparseLib \
--with-cxsparse-libdir=$mkSuitesparseLib \
--with-cxsparse-includedir=$mkSuitesparseInc \
--with-umfpack-includedir=$mkSuitesparseInc \
--with-umfpack-libdir=$mkSuitesparseLib
The configure phase fails with the following message:
checking for cs_di_sqr in -lcxsparse... yes
checking whether CXSparse is version 2.2 or later... no
configure: error: CXSparse library is too old (< version 2.2). Upgrade CXSparse (SuiteSparse) or configure Octave with --disable-cxsparse"
The error message is not very useful because the problem is not with the version of CXSparse avaialble (the available version is > 3.0), checking config.log I see:
configure:43472: checking whether CXSparse is version 2.2 or later
configure:43523: g++ -std=gnu++11 -E -fPIC conftest.cpp
conftest.cpp:96:24: fatal error: cs.h: No such file or directory
So it seems the directory passed to --with-cxsparse-includedir is not being added to the compilation flags (while it is added when testing for, e.g., cholmod), indeed adding "CPPFLAGS=-I$mkSuitesparseInc" is a workaround for this problem.
Is this a configuration bug? Does anyone know if it affects the development branch? Should I submit it to the tracker?