Skip to content

Request OpenBLAS development libraries for fastPLS build machines #476

Description

@tkcaccia

Package information

  • Package: fastPLS
  • Repository: https://github.com/tkcaccia/fastPLS
  • Status: under Bioconductor submission
  • Version exhibiting the problem: 0.99.61
  • Commit: 34a4da1ff0068e11654d96b147a3b0bbaa2bbec8

System requirement

fastPLS requires an OpenBLAS development library on Linux and Windows.

The package uses single-precision BLAS routines, including ssyrk. These
routines are not necessarily available from R's internal reference BLAS.
Without OpenBLAS, the package either fails during configuration or produces
a load-time error such as:

unable to load shared object 'fastPLS.so':
undefined symbol: ssyrk_

Linux build machines

The development package has different names across Linux distributions.
For Debian and Ubuntu:

apt-get update
apt-get install -y libopenblas-dev pkg-config

For Fedora and RHEL-compatible distributions:

dnf install -y openblas-devel pkgconf-pkg-config

The package detects the installation through:

pkg-config --cflags openblas
pkg-config --libs openblas

It also supports OPENBLAS_ROOT for installations in nonstandard locations.

Windows build machines

The Windows build requires OpenBLAS headers and a static OpenBLAS library
compiled with the same Rtools UCRT toolchain and architecture used by the
Bioconductor builder.
The library must provide the required single-precision BLAS routines,
including ssyrk.
Could you please advise whether an Rtools-compatible OpenBLAS library can be
made available on the supported Windows builders? If different arrangements
are needed for x86-64 and ARM64, guidance on the preferred Bioconductor
mechanism would be appreciated.

Package metadata and documentation

The package declares the dependency in DESCRIPTION using a
distribution-neutral description:
SystemRequirements: OpenBLAS development library providing single-precision
BLAS routines; pkg-config on Unix
A top-level INSTALL file documents the corresponding installation commands
for supported operating systems.
The package configuration checks, in order:

  1. OPENBLAS_ROOT;
  2. pkg-config openblas;
  3. standard system library locations.
    Installation stops with an explicit diagnostic when the mandatory dependency
    cannot be found or does not pass the compile-and-link test.

Reproducible failure

An R-universe Bioconductor-staging build failed because the OpenBLAS
development package was unavailable:
https://github.com/r-universe/biocstaging/actions/runs/34610953660
The relevant message was:

ERROR: OpenBLAS is required for this fastPLS Linux build but was not found.
Install the OpenBLAS development package and pkg-config, or set OPENBLAS_ROOT.
ERROR: configuration failed for package 'fastPLS'

I understand that R-universe is separate from the official Bioconductor Build
System. This run is provided only as a reproducible example of the missing
system dependency.

Request

Could the following dependencies please be made available on the
Bioconductor build infrastructure?

  • Debian/Ubuntu Linux: libopenblas-dev and pkg-config.
  • Fedora/RHEL Linux: openblas-devel and pkgconf-pkg-config.
  • Windows: an OpenBLAS static library and headers compatible with the
    corresponding Rtools UCRT toolchain and architecture.
    Please let me know if additional configuration logs, symbol checks, or
    platform information are required.

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

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