On 02/08/2017 09:00 AM, address@hidden wrote:
ubject:
--with-cxsparse-includedir option is ignored
From:
"c." <address@hidden>
Date:
02/08/2017 03:58 AM
To:
Maintainers GNU Octave <address@hidden>
List-Post:
<mailto:address@hidden>
Content-Transfer-Encoding:
quoted-printable
Precedence:
list
MIME-Version:
1.0 (Mac OS X Mail 7.3 \(1878.6\))
Message-ID:
<address@hidden>
Content-Type:
text/plain; charset=us-ascii
Message:
4
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?
This is a bug. Can you report it on the tracker?
The problem is that the m4 macro OCTAVE_CHECK_LIB sets library specific
flags, in this case CXSPARSE_CPPFLAGS. However, the next test in
configure.ac which checks version, OCTAVE_CHECK_CXSPARSE_VERSION_OK,
doesn't use these flags.