While trying to compile a new finite element from .cpp to .dll via cygwin and the command ff-c++ I always get the error: fatal error: umfpack.h not found. But I already reinstalled the packages for umfpack.h and it still tells the same error. What do I need to change?
Here the response of cygwin in detail:
$ ff-c++ mf3.cpp
Window without cygwin
g++ -c ‘-I/cygdrive/c/Program Files (x86)/FreeFem++/include’ -g -O2 -I/usr/include/mingw -I/usr/include/mingw -DNDEBUG -O3 -mtune=generic -std=c++14 -DBAMG_LONG_LONG -DNCHECKPTR -I/mingw64/ff-petsc/r/include ‘mf3.cpp’
In file included from /cygdrive/c/Program Files (x86)/FreeFem++/include/SparseLinearSolver.hpp:9,
from /cygdrive/c/Program Files (x86)/FreeFem++/include/ff++.hpp:36,
from mf3.cpp:1:
/cygdrive/c/Program Files (x86)/FreeFem++/include/VirtualSolverSparseSuite.hpp:10:10: fatal error: umfpack.h: No such file or directory
10 | #include <umfpack.h>
| ^~~~~~~~~~~
compilation terminated.
I’m using cygwin, not mingw, so I don’t have a mingw64 folder. But I also couldn’t find an ff-petsc folder in cygwin64. But the umfpack.h is in cygwin64/usr/include/suitesparse if this is of any help.
Ok i actually got to solve the problem with the packages, but I still get an error: undefined reference to `map_type’
collect2: error: ld returned 1 exit status
What does this error mean and how do I solve this error?
I still don’t get an .dll file, but an .o file, which is already a step forward.
Here the skript in detail:
$ ff-c++ -cygwin mf3.cpp
cygwin-version
g++ -c ‘-I/cygdrive/c/Program Files (x86)/FreeFem++/include’ -g -O2 -I/usr/include/mingw -I/usr/include/mingw -DNDEBUG -O3 -mtune=generic -std=c++14 -DBAMG_LONG_LONG -DNCHECKPTR -I/mingw64/ff-petsc/r/include ‘mf3.cpp’