Search code examples
ccygwin

installing C Umfpack error using Cygwin-Windows


I'm learning C and I want to use the Umfpack library. I downloaded the package from here http://faculty.cse.tamu.edu/davis/suitesparse.html

I tried to compile using the make and make -f Makefile command, however these errors occur:

$ make -f Makefile
( cd Lib    ; C:/cygwin64/bin/make )
make[1]: Entering directory 'E:/SuiteSparse/UMFPACK/Lib'
cc    -O3 -fexceptions -fPIC -DNCHOLMOD  -I../Include -I../Source -I../../AMD/Include -I../../SuiteSparse_config -I../../CHOLMOD/Include -DDINT -c ../Source/umf_analyze.c -o umf_i_analyze.o
GNUmakefile:104: recipe for target 'umf_i_analyze.o' failed
process_begin: CreateProcess(C:\cygwin64\bin\cc, cc -O3 -fexceptions -fPIC -DNCHOLMOD -I../Include -I../Source -I../../AMD/Include -I../../SuiteSparse_config -I../../CHOLMOD/Include -DDINT -c ../Source/umf_analyze.c -o umf_i_analyze.o, ...) failed.
make (e=5): Access is denied.
make[1]: *** [umf_i_analyze.o] Error 5
make[1]: Leaving directory 'E:/SuiteSparse/UMFPACK/Lib'
Makefile:15: recipe for target 'all' failed
make: *** [all] Error 2

I spent a long time searching on google for the solution, but I couldn't find any. Could someone help me with this please. Thanks.


Solution

  • did you read these instructions in the sub directory UMFPACK in the README file?

    Quick start (Unix, or Windows with Cygwin):

    To compile, test, and install both UMFPACK and AMD, the UMFPACK and AMD
    directories must be in the same parent directory.  To configure, edit the
    SuiteSparse_config/SuiteSparse_config.mk file (otherwise, you may get
    warnings that the BLAS (dgemm, etc) are not found).  You may use
    UMFPACK_CONFIG = -DNBLAS in the SuiteSparse_config/SuiteSparse_config.mk
    file, to avoid using the BLAS, but UMFPACK will be slow.  Next, cd to this
    directory (UMFPACK) and type "make".  To compile and run a FORTRAN demo
    program for Harwell/Boeing matrices, type "make hb".  To compile a FORTRAN
    main program that calls the 32-bit C-callable UMFPACK library, type "make
    fortran".  When done, type "make clean" to remove unused *.o files (keeps
    the compiled libraries and demo programs).  See the User Guide
    (Doc/UserGuide.pdf), or ../SuiteSparse_config/SuiteSparse_config.mk for
    more details (including options for compiling in 64-bit mode).
    

    did you follow those instructions?

    Did you notice, that the makefile does not ever call anything in a E:\ drive?