• Bug#1103369: r-cran-webgestaltr: FTBFS in testing/armhf: make: *** [deb

    From Chris Hofstaedtler@21:1/5 to Chris Hofstaedtler on Mon Apr 28 12:40:01 2025
    Control: reassign -1 r-cran-svglite
    Control: affects -1 src:r-cran-webgestaltr

    On Mon, Apr 28, 2025 at 12:09:33PM +0200, Chris Hofstaedtler wrote:
    On Wed, Apr 16, 2025 at 09:07:51PM +0200, Lucas Nussbaum wrote:
    Relevant part (hopefully):
    make[1]: Entering directory '/build/reproducible-path/r-cran-webgestaltr-0.4.6/src'
    make[1]: Leaving directory '/build/reproducible-path/r-cran-webgestaltr-0.4.6/src'
    installing to /build/reproducible-path/r-cran-webgestaltr-0.4.6/debian/r-cran-webgestaltr/usr/lib/R/site-library/00LOCK-r-cran-webgestaltr-0.4.6/00new/WebGestaltR/libs
    ** R
    ** inst
    ** byte-compile and prepare package for lazy loading
    Error in dyn.load(file, DLLpath = DLLpath, ...) :
    unable to load shared object '/usr/lib/R/site-library/svglite/libs/svglite.so':
    /usr/lib/R/site-library/svglite/libs/svglite.so: undefined symbol: R_getVar
    Calls: <Anonymous> ... asNamespace -> loadNamespace -> library.dynam -> dyn.load
    Execution halted
    ERROR: lazy loading failed for package ‘WebGestaltR’
    * removing ‘/build/reproducible-path/r-cran-webgestaltr-0.4.6/debian/r-cran-webgestaltr/usr/lib/R/site-library/WebGestaltR’
    dh_auto_install: error: R CMD INSTALL -l /build/reproducible-path/r-cran-webgestaltr-0.4.6/debian/r-cran-webgestaltr/usr/lib/R/site-library --clean . "--built-timestamp='Thu, 29 Jun 2023 17:46:12 +0200'" returned exit code 1
    make: *** [debian/rules:4: binary-arch] Error 25

    I can confirm this in trixie.

    Building in unstable works.

    From what I can tell:

    r-cran-svglite is broken on armhf; it tries to use the symbol
    R_getVar. R_getVar was introduced in r-base 4.5.0-1. However trixie
    does not have r-base 4.5 yet.

    You might now ask how this situation can arise. My guess is:
    r-cran-svglite was binNMUed on armhf, after r-base 4.5.0-1 was
    uploaded to unstable. r-cran-svglite picks up the new symbol via
    r-cran-cpp11, which itself is arch:all - it providers headers
    r-cran-svglite uses to build.

    The entire (build-)dependency chain seems unsound. Something should
    generate accurate versioned dependencies, so a binary from
    r-cran-svglite built with r-base 4.5.0-1 cannot be combined with
    r-base 4.4.

    CC-ing release for awareness of this, IMO wider, problem.

    Reassigning the bug to r-cran-svglite, as that uses the
    non-available symbol.

    Just to be clear: this is NOT a 32bit-specific problem.

    Chris

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)