compilation issue with hqr
I compile my lib mpf that uses chameleon. It used to compile fine, but since hqr arrived it doesn't : I get the following error
[ 13%] Building C object CMakeFiles/mpf.dir/src/MAT/IMPLS/CHAMELEON/init_chameleon.c.o
/opt/local/bin/gcc -DHAVE_CONFIG_H -D_GNU_SOURCE -Dmpf_EXPORTS -D__DIR__=\"src/MAT/IMPLS/CHAMELEON/\" -I/Users/sylvand/local/mpf/src/MAT/IMPLS/SPARSE -I/Users/sylvand/local/mpf/src/SOLVER/SPIDO -I/Users/sylvand/local/mpf/src/SOLVER/ITERATIVE/GMRES_v2 -I/Users/sylvand/local/mpf/src/SOLVER/ITERATIVE/INITIALGUESS -I/opt/local/include/openmpi-mp -I/Users/sylvand/local/mpf/build-cmake/gnuOsxShared_g_openmpi -I/Users/sylvand/local/mpf/include -I/Users/sylvand/local/mpf/src -I/Users/sylvand/local/mpf -I/Users/sylvand/local/mpf/fmm/include -I/Users/sylvand/local/mpf/fmm -I/Users/sylvand/local/mpf/octree/include -I/Users/sylvand/local/mpf/octree -I/Users/sylvand/local/mpf/perf/src/MISC -I/Users/sylvand/local/mpf/perf/include -I/Users/sylvand/local/mpf/perf -I/Users/sylvand/local/hmat/install/gnuOsxShared_g_openmpi/share/CMake/../../include -I/Users/sylvand/local/mumps/install/gnuOsxShared_g_openmpi/include -I/Users/sylvand/local/scotch/install/gnuOsxShared_g/include -I/Users/sylvand/local/hwloc/install/gnuOsxShared_g/include -I/Users/sylvand/local/pastix/install/gnuOsxShared_g_openmpi/include -I/Users/sylvand/local/lapack/install/gnuOsxShared_g/include -I/Users/sylvand/local/chameleon/install/gnuOsxShared_g_openmpi/include/chameleon -fopenmp -fopenmp -D_GNU_SOURCE -pthread -Wa,-q -Werror=pointer-arith -g3 -fopenmp -D_GNU_SOURCE -pthread -fPIC -o CMakeFiles/mpf.dir/src/MAT/IMPLS/CHAMELEON/init_chameleon.c.o -c /Users/sylvand/local/mpf/src/MAT/IMPLS/CHAMELEON/init_chameleon.c
In file included from /Users/sylvand/local/mpf/src/MAT/IMPLS/CHAMELEON/chameleon_mpf.h:18:0,
from /Users/sylvand/local/mpf/src/MAT/IMPLS/CHAMELEON/init_chameleon.c:16:
/Users/sylvand/local/chameleon/install/gnuOsxShared_g_openmpi/include/chameleon/morse.h:124:20: fatal error: libhqr.h: No such file or directory
#include "libhqr.h"
^
compilation terminated.
make[2]: *** [CMakeFiles/mpf.dir/src/MAT/IMPLS/CHAMELEON/init_chameleon.c.o] Error 1
make[1]: *** [CMakeFiles/mpf.dir/all] Error 2
make: *** [all] Error 2
libhqr.h
is not found. Of course, I just have to add -I
with the right directory (-I/Users/sylvand/local/chameleon/install/gnuOsxShared_g_openmpi/include/chameleon
) to find it, but my opinion is that the former compilation script should still work even if chameleon chooses to do some private changes. For instance, you could move include/libhqr/*.h
inside include/chameleon/libhqr/
and put #include "libhqr/libhqr.h"
instead of #include "libhqr.h"
in the source codes.
GS