Skip to content

Consider retiring LAPACK capabilities check #481

@eddelbuettel

Description

@eddelbuettel

Recent R versions (IIRC R 4.5.0 or later) have / should have a feature-complete LAPACK even when building with the internal Rlapack. If memory serves, it is even planned to move away from internal LAPACK. So the check we have in configure.ac namely

## external LAPACK has the required function
lapack=$(${R_HOME}/bin/R CMD config LAPACK_LIBS)
hasRlapack=$(echo ${lapack} | grep lRlapack)

## in what follows below we substitute both side of the define/undef
## while this may seem a little unusual we do it to fully reproduce the
## previous bash-based implementation

if test x"${hasRlapack}" = x""; then
    ## We are using a full Lapack and can use zgbsv -- so #undef remains
    AC_MSG_RESULT([system LAPACK found])
    arma_lapack="#undef ARMA_CRIPPLED_LAPACK"
else
    ## We are using R's subset of Lapack and CANNOT use zgbsv etc, so we mark it
    AC_MSG_RESULT([R-supplied partial LAPACK found])
    AC_MSG_WARN([Some complex-valued LAPACK functions may not be available])
    arma_lapack="#define ARMA_CRIPPLED_LAPACK 1"
fi

may be too harsh. I don't think I have a system to test this on: all mine use system lapack as do the cloud instances I have access to.

So in short maybe removing

AC_SUBST([ARMA_LAPACK],["${arma_lapack}"])

and its use in the generated header

#ifndef ARMA_CRIPPLED_LAPACK
// value on next line may be changed between #undef and #define by the configure script
@ARMA_LAPACK@
#endif

is appropriate now?

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions