[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Octave-bug-tracker] [bug #59806] SuiteSparse headers not found
From: |
anonymous |
Subject: |
[Octave-bug-tracker] [bug #59806] SuiteSparse headers not found |
Date: |
Sun, 3 Jan 2021 00:23:49 -0500 (EST) |
User-agent: |
Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:84.0) Gecko/20100101 Firefox/84.0 |
URL:
<https://savannah.gnu.org/bugs/?59806>
Summary: SuiteSparse headers not found
Project: GNU Octave
Submitted by: None
Submitted on: Sun 03 Jan 2021 05:23:47 AM UTC
Category: Configuration and Build System
Severity: 3 - Normal
Priority: 5 - Normal
Item Group: Build Failure
Status: None
Assigned to: None
Originator Name: Kyle Guinn
Originator Email: elyk03@gmail.com
Open/Closed: Open
Release: 6.1.0
Discussion Lock: Any
Operating System: GNU/Linux
_______________________________________________________
Details:
/bin/sh ./libtool --tag=CXX --mode=compile g++ -std=gnu++11 -DHAVE_CONFIG_H
-I. -Iliboctave -I./liboctave -I./liboctave/array -Iliboctave/numeric
-I./liboctave/numeric -Iliboctave/operators -I./liboctave/operators
-I./liboctave/system -I./liboctave/util -I./libinterp/octave-value -Ilibinterp
-I./libinterp -I./libinterp/operators -Ilibinterp/parse-tree
-I./libinterp/parse-tree -Ilibinterp/corefcn -I./libinterp/corefcn
-I./liboctave/wrappers -I/usr/include/ImageMagick-6 -I/usr/include/freetype2
-I/usr/include/libpng16 -I/usr/include/freetype2 -I/usr/include/libpng16
-I/usr/include/harfbuzz -I/usr/include/glib-2.0 -I/usr/lib64/glib-2.0/include
-I/usr/include/freetype2 -I/usr/include/libpng16 -I/usr/include/harfbuzz
-I/usr/include/glib-2.0 -I/usr/lib64/glib-2.0/include -fPIC -pthread
-fopenmp -Wall -W -Wshadow -Woverloaded-virtual -Wold-style-cast -Wformat
-Wpointer-arith -Wwrite-strings -Wcast-align -Wcast-qual -O2 -fPIC -c -o
libinterp/corefcn/libinterp_corefcn_libcorefcn_la-amd.lo `test -f
'libinterp/corefcn/amd.cc' || echo './'`libinterp/corefcn/amd.cc
libtool: compile: g++ -std=gnu++11 -DHAVE_CONFIG_H -I. -Iliboctave
-I./liboctave -I./liboctave/array -Iliboctave/numeric -I./liboctave/numeric
-Iliboctave/operators -I./liboctave/operators -I./liboctave/system
-I./liboctave/util -I./libinterp/octave-value -Ilibinterp -I./libinterp
-I./libinterp/operators -Ilibinterp/parse-tree -I./libinterp/parse-tree
-Ilibinterp/corefcn -I./libinterp/corefcn -I./liboctave/wrappers
-I/usr/include/ImageMagick-6 -I/usr/include/freetype2 -I/usr/include/libpng16
-I/usr/include/freetype2 -I/usr/include/libpng16 -I/usr/include/harfbuzz
-I/usr/include/glib-2.0 -I/usr/lib64/glib-2.0/include -I/usr/include/freetype2
-I/usr/include/libpng16 -I/usr/include/harfbuzz -I/usr/include/glib-2.0
-I/usr/lib64/glib-2.0/include -fPIC -pthread -fopenmp -Wall -W -Wshadow
-Woverloaded-virtual -Wold-style-cast -Wformat -Wpointer-arith -Wwrite-strings
-Wcast-align -Wcast-qual -O2 -fPIC -c libinterp/corefcn/amd.cc -fPIC -DPIC -o
libinterp/corefcn/.libs/libinterp_corefcn_libcorefcn_la-amd.o
In file included from ./liboctave/util/oct-sparse.h:86:0,
from libinterp/corefcn/amd.cc:39:
/usr/include/umfpack/umfpack.h:89:17: fatal error: amd.h: No such file or
directory
None of the SuiteSparse CPPFLAGS appear in those commands. Likely related to
the changes in bug #57459, I don't think the flags are being applied with the
files in their new location. Here are my relevant flags (all derived from
pkg-config):
AMD CPPFLAGS: -I/usr/include/amd
CAMD CPPFLAGS: -I/usr/include/camd
CCOLAMD CPPFLAGS: -I/usr/include/ccolamd
CHOLMOD CPPFLAGS: -I/usr/include/cholmod -I/usr/include/amd
-I/usr/include/colamd -I/usr/include/camd -I/usr/include/ccolamd
-I/usr/include/metis
COLAMD CPPFLAGS: -I/usr/include/colamd
CXSPARSE CPPFLAGS: -I/usr/include/cxsparse
KLU CPPFLAGS: -I/usr/include/klu -I/usr/include/amd
-I/usr/include/colamd -I/usr/include/btf
UMFPACK CPPFLAGS: -I/usr/include/umfpack -I/usr/include/cholmod
-I/usr/include/amd -I/usr/include/colamd -I/usr/include/camd
-I/usr/include/ccolamd -I/usr/include/metis
Quick fix is to add $(AMD_CPPFLAGS) (at a minimum, $(SPARSE_XCPPFLAGS) is
probably better) to the libcorefcn.la target. I'm not sure if any others are
needed, I see references to $(ARPACK_CPPFLAGS) and $(QRUPDATE_CPPFLAGS) that
also disappeared during the move.
But there's something else going on that makes it fragile. It appears the
SuiteSparse header search is done without considering those CPPFLAGS variables
given above, or it's not giving them priority. So on my system it's
preferring to use <amd/amd.h>, <umfpack/umfpack.h>, etc. just from finding
them with /usr/include as the default search path. (Things like
HAVE_AMD_AMD_H are set in config.h.) Then when umfpack.h includes a bare
"amd.h" without specifying a directory, the missing -I flags cause it to fail.
If <amd.h>, etc. was preferred instead, maybe it would have failed earlier or
more often since it's not in any default search path.
_______________________________________________________
Reply to this item at:
<https://savannah.gnu.org/bugs/?59806>
_______________________________________________
Message sent via Savannah
https://savannah.gnu.org/
- [Octave-bug-tracker] [bug #59806] SuiteSparse headers not found,
anonymous <=
- [Octave-bug-tracker] [bug #59806] SuiteSparse headers not found, Markus Mützel, 2021/01/03
- [Octave-bug-tracker] [bug #59806] SuiteSparse headers not found, anonymous, 2021/01/04
- [Octave-bug-tracker] [bug #59806] SuiteSparse headers not found, Markus Mützel, 2021/01/04
- [Octave-bug-tracker] [bug #59806] SuiteSparse headers not found, Markus Mützel, 2021/01/04
- [Octave-bug-tracker] [bug #59806] SuiteSparse headers not found, Stefan Husmann, 2021/01/04
- [Octave-bug-tracker] [bug #59806] SuiteSparse headers not found, John W. Eaton, 2021/01/04
- [Octave-bug-tracker] [bug #59806] SuiteSparse headers not found, Stefan Husmann, 2021/01/04
- [Octave-bug-tracker] [bug #59806] SuiteSparse headers not found, John W. Eaton, 2021/01/04
- [Octave-bug-tracker] [bug #59806] SuiteSparse headers not found, John W. Eaton, 2021/01/04
- [Octave-bug-tracker] [bug #59806] SuiteSparse headers not found, Stefan Husmann, 2021/01/04