octave-maintainers
[Top][All Lists]
Advanced

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

Re: CXSPARSE includes


From: Rik
Subject: Re: CXSPARSE includes
Date: Wed, 8 Feb 2017 16:23:48 -0800

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.

--Rik

reply via email to

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