[R-SIG-Win] Rtools45 returning many -Wimplicit-function-declaration errors

Avraham Adler @vr@h@m@@d|er @end|ng |rom gm@||@com
Sun Mar 23 21:24:55 CET 2025


That's weird. Restarting the compilation allowed Matrix to finish and
it passes make check-devel/check-recommended. I am so confused.

So, for the time being, passing "-Wno-implicit-function-declaration"
in line 8 of src/extra/blas/Makevars.win when compiling blas00.c
solves this problem. Is there any reason to dig further?

Thank you again,

Avi

On Sun, Mar 23, 2025 at 3:26 PM Avraham Adler <avraham.adler using gmail.com> wrote:
>
> Changing line 8 in src/extra/blas/Makefile.win to " $(CC) -O3
> -I../../include  -c $< -o $@ -Wno-implicit-function-declaration"
> allows the compilation to proceed past that point. But now I get
> errors when R compiles the Matrix package, even though I didn't when I
> build non-OpenBLAS. Errors below. It has to be related although I
> don't know why. I guess I will reach out to them. /sigh.
>
> Thanks,
>
> Avi
>
> gcc-ar -cr SuiteSparse_config.a SuiteSparse_config.o
> gcc-ranlib SuiteSparse_config.a
> gcc -shared -O2 -Wall -std=gnu2x -march=native -pipe
> -Wa,-muse-unaligned-vector-move -flto -fuse-linker-plugin -flto
> -fuse-linker-plugin -s -static-libgcc -o Matrix.dll Matrix-win.def
> Csparse.o attrib.o bind.o cholmod-common.o cholmod-etc.o coerce.o
> cs-etc.o dense.o determinant.o expm.o factor.o idz.o init.o kappa.o
> matmult.o objects.o perm.o solve.o sparse.o subassign.o subscript.o
> utils-R.o utils.o validity.o vector.o SuiteSparse/CHOLMOD/CHOLMOD.a
> SuiteSparse/CCOLAMD/CCOLAMD.a SuiteSparse/CAMD/CAMD.a
> SuiteSparse/COLAMD/COLAMD.a SuiteSparse/AMD/AMD.a
> SuiteSparse/CXSparse/CXSparse.a
> SuiteSparse/SuiteSparse_config/SuiteSparse_config.a
> -LC:/r/trunk/bin/x64 -lRlapack -LC:/r/trunk/bin/x64 -lRblas -lgfortran
> -lquadmath -LC:/rtools45/x86_64-w64-mingw32.static.posix/lib/x64
> -LC:/rtools45/x86_64-w64-mingw32.static.posix/lib -LC:/r/trunk/bin/x64
> -lR
> lto-wrapper.exe: warning: using serial compilation of 36 LTRANS jobs
> lto-wrapper.exe: note: see the '-flto' option documentation for more information
> installing to C:/R/trunk/library/Matrix/libs/x64
> ** R
> ** data
> ** inst
> ** tests
> ** byte-compile and prepare package for lazy loading
> Creating a generic function for 'chol2inv' from 'base' in package 'Matrix'
>     (from the saved implicit definition)
> Creating a generic function for 'chol2inv' from package 'base' in
> package 'Matrix'
> Creating a generic function for 'diag' from package 'base' in package 'Matrix'
> Creating a generic function for 'zapsmall' from package 'base' in
> package 'Matrix'
> Creating a generic function for 'drop' from package 'base' in package 'Matrix'
> in method for 'coerce' with signature '"matrix.csc","dgCMatrix"': no
> definition for class "matrix.csc"
> in method for 'coerce' with signature '"matrix.csr","dgRMatrix"': no
> definition for class "matrix.csr"
> in method for 'coerce' with signature '"matrix.coo","dgTMatrix"': no
> definition for class "matrix.coo"
> in method for 'coerce' with signature '"matrix.csr","dgCMatrix"': no
> definition for class "matrix.csr"
> in method for 'coerce' with signature '"matrix.coo","dgCMatrix"': no
> definition for class "matrix.coo"
> in method for 'coerce' with signature '"matrix.csc","CsparseMatrix"':
> no definition for class "matrix.csc"
> in method for 'coerce' with signature '"matrix.csc","RsparseMatrix"':
> no definition for class "matrix.csc"
> in method for 'coerce' with signature '"matrix.csc","TsparseMatrix"':
> no definition for class "matrix.csc"
> in method for 'coerce' with signature '"matrix.csr","CsparseMatrix"':
> no definition for class "matrix.csr"
> in method for 'coerce' with signature '"matrix.csr","RsparseMatrix"':
> no definition for class "matrix.csr"
> in method for 'coerce' with signature '"matrix.csr","TsparseMatrix"':
> no definition for class "matrix.csr"
> in method for 'coerce' with signature '"matrix.coo","CsparseMatrix"':
> no definition for class "matrix.coo"
> in method for 'coerce' with signature '"matrix.coo","RsparseMatrix"':
> no definition for class "matrix.coo"
> in method for 'coerce' with signature '"matrix.coo","TsparseMatrix"':
> no definition for class "matrix.coo"
> in method for 'coerce' with signature '"matrix.csc","sparseMatrix"':
> no definition for class "matrix.csc"
> in method for 'coerce' with signature '"matrix.csr","sparseMatrix"':
> no definition for class "matrix.csr"
> in method for 'coerce' with signature '"matrix.coo","sparseMatrix"':
> no definition for class "matrix.coo"
> in method for 'coerce' with signature '"matrix.csc","Matrix"': no
> definition for class "matrix.csc"
> in method for 'coerce' with signature '"matrix.csr","Matrix"': no
> definition for class "matrix.csr"
> in method for 'coerce' with signature '"matrix.coo","Matrix"': no
> definition for class "matrix.coo"
> in method for 'coerce' with signature '"dgCMatrix","matrix.csc"': no
> definition for class "matrix.csc"
> in method for 'coerce' with signature '"dgRMatrix","matrix.csr"': no
> definition for class "matrix.csr"
> in method for 'coerce' with signature '"dgTMatrix","matrix.coo"': no
> definition for class "matrix.coo"
> in method for 'coerce' with signature '"Matrix","matrix.csc"': no
> definition for class "matrix.csc"
> in method for 'coerce' with signature '"Matrix","matrix.csr"': no
> definition for class "matrix.csr"
> in method for 'coerce' with signature '"Matrix","matrix.coo"': no
> definition for class "matrix.coo"
> in method for 'coerce' with signature '"graphAM","TsparseMatrix"': no
> definition for class "graphAM"
> in method for 'coerce' with signature '"graphNEL","TsparseMatrix"': no
> definition for class "graphNEL"
> in method for 'coerce' with signature '"graph","CsparseMatrix"': no
> definition for class "graph"
> in method for 'coerce' with signature '"graph","RsparseMatrix"': no
> definition for class "graph"
> in method for 'coerce' with signature '"graph","TsparseMatrix"': no
> definition for class "graph"
> in method for 'coerce' with signature '"graph","sparseMatrix"': no
> definition for class "graph"
> in method for 'coerce' with signature '"graph","Matrix"': no
> definition for class "graph"
> in method for 'coerce' with signature '"TsparseMatrix","graphNEL"': no
> definition for class "graphNEL"
> in method for 'coerce' with signature '"Matrix","graphNEL"': no
> definition for class "graphNEL"
> in method for 'coerce' with signature '"Matrix","graph"': no
> definitimake[2]: *** [Makefile.win:40: Matrix.ts] Error 139
> make[1]: *** [Makefile:370: recommended] Error 2
> make: *** [Makefile:392: distribution] Error 2
>
>
>
> [Snipping old Error messages]



More information about the R-SIG-windows mailing list