Message-ID: <E3E52404-38F5-47E5-A464-457157F69715@kaust.edu.sa>
Date: 2019-09-25T08:29:20Z
From: Sameh M. Abdulah
Subject: [R-pkg-devel] Package or namespace load failed: undefined symbol
In-Reply-To: <CAFQwRQzXnvSN2JWT0sZfeWMKQ5HbYLofoCyZKLF1GfJcenTy7g@mail.gmail.com>
Thanks Ralf
I am installing OpenBLAS because I need LAPACKE libraries which I cannot find on the current version of OpenBLAS on CRAN.
I add the libraries directory in my package to the PKG_CONFIG_PATH. Is this enough for the system to use my OpenBLAS library?
Thanks
Sameh
?On 9/25/19, 10:23 AM, "Ralf Stubner" <ralf.stubner at gmail.com> wrote:
On Tue, Sep 24, 2019 at 12:10 PM Sameh M. Abdulah
<sameh.abdulah at kaust.edu.sa> wrote:
> I am uploading my R package to CRAN. One of the dynamic libraries the package requires depends on LAPACKE library which usually integrated with BLAS and CBLAS in the same .so file (as I understand). CRAN has OpenBLAS already installed on the system. However, this OpenBLAS library does not maintain implementation of LAPACKE library. Thus, I have modified my configure file to install a standalone OpenBLAS library to use it.
>
> The problem that my installation has successfully passed, however, CRAN fails in loading my package giving me this error:
>
> /srv/hornik/tmp/CRAN/exageostatr.Rcheck/exageostatr/lib/libcoreblas.so: undefined symbol: LAPACKE_slarfb_work
This looks as if you are building OpenBLAS as a /dynamic/ library
installed in your package directory. This cannot work since the
run-time linker will not search your package directory for dynamic
libraries. You could build OpenBLAS as a /static/ library instead.
However, I am unsure why you want to build OpenBLAS in the first
place, since any R package can reliably link with the BLAS and LAPACK
versions used by R. See WRE on Makevars, BLAS_LIBS etc. for details.
cheerio
ralf