• Bug#1103203: rjava: FTBFS: /usr/bin/ld: cannot find -lzstd: No such fil

    From Santiago Vila@21:1/5 to All on Tue Apr 15 02:30:01 2025
    Package: src:rjava
    Version: 1.0-11-1
    Severity: serious
    Tags: ftbfs trixie sid

    Dear maintainer:

    During a rebuild of all packages in unstable, your package failed to build:

    --------------------------------------------------------------------------------
    [...]
    debian/rules clean
    dh clean --buildsystem R
    dh_auto_clean -O--buildsystem=R
    dh_autoreconf_clean -O--buildsystem=R
    dh_clean -O--buildsystem=R
    debian/rules binary
    dh binary --buildsystem R
    dh_update_autotools_config -O--buildsystem=R
    dh_autoreconf -O--buildsystem=R
    dh_auto_configure -O--buildsystem=R
    dh_auto_build -O--buildsystem=R
    dh_auto_test -O--buildsystem=R
    create-stamp debian/debhelper-build-stamp
    dh_testroot -O--buildsystem=R
    dh_prep -O--buildsystem=R
    dh_auto_install --destdir=debian/r-cran-rjava/ -O--buildsystem=R
    I: R Package: rJava Version: 1.0-11
    I: Building using R version 4.5.0-1
    I: R API version: r-api-4.0
    I: Using built-time from d/changelog: Fri, 26 Jan 2024 11:10:09 -0600
    mkdir -p /<<PKGBUILDDIR>>/debian/r-cran-rjava/usr/lib/R/site-library
    R CMD INSTALL -l /<<PKGBUILDDIR>>/debian/r-cran-rjava/usr/lib/R/site-library --clean . "--built-timestamp='Fri, 26 Jan 2024 11:10:09 -0600'"
    * installing *source* package ‘rJava’ ...
    ** this is package ‘rJava’ version ‘1.0-11’
    files ‘configure’, ‘jri/configure’, ‘jri/src/config.h.in’, ‘jri/tools/config.guess’, ‘jri/tools/config.sub’, ‘src/config.h.in’ have the wrong MD5 checksums
    ** using staged installation
    checking for gcc... gcc -std=gnu23
    checking whether the C compiler works... yes
    checking for C compiler default output file name... a.out
    checking for suffix of executables...
    checking whether we are cross compiling... no
    checking for suffix of object files... o
    checking whether the compiler supports GNU C... yes
    checking whether gcc -std=gnu23 accepts -g... yes
    checking for gcc -std=gnu23 option to enable C11 features... none needed checking for sys/wait.h that is POSIX.1 compatible... yes
    checking for stdio.h... yes
    checking for stdlib.h... yes
    checking for string.h... yes
    checking for inttypes.h... yes
    checking for stdint.h... yes
    checking for strings.h... yes
    checking for sys/stat.h... yes
    checking for sys/types.h... yes
    checking for unistd.h... yes
    checking for string.h... (cached) yes
    checking for sys/time.h... yes
    checking for unistd.h... (cached) yes
    checking for an ANSI C-conforming const... yes
    configure: checking whether gcc -std=gnu23 supports static inline...
    yes
    checking whether setjmp.h is POSIX.1 compatible... yes
    checking for gcc -std=gnu23 options needed to detect all undeclared functions... none needed
    checking whether sigsetjmp is declared... yes
    checking whether siglongjmp is declared... yes
    checking Java support in R... present:
    interpreter : '/usr/lib/jvm/default-java/bin/java'
    archiver : '/usr/lib/jvm/default-java/bin/jar'
    compiler : '/usr/lib/jvm/default-java/bin/javac'
    header prep.: ''
    cpp flags : '-I/usr/lib/jvm/default-java/include -I/usr/lib/jvm/default-java/include/linux'
    java libs : '-L/usr/lib/jvm/default-java/lib/server -ljvm'
    checking whether Java run-time works... yes
    checking whether -Xrs is supported... yes
    checking whether -Xrs will be used... yes
    checking whether JVM will be loaded dynamically... no
    checking whether JNI programs can be compiled... yes
    checking whether JNI programs run... yes
    checking JNI data types... ok
    checking whether JRI should be compiled (autodetect)... yes
    checking whether debugging output should be enabled... no
    checking whether memory profiling is desired... no
    checking whether threads support is requested... no
    checking whether callbacks support is requested... no
    checking whether JNI cache support is requested... no
    checking whether headless init is enabled... no
    checking whether JRI is requested... yes
    configure: creating ./config.status
    config.status: creating src/Makevars
    config.status: creating R/zzz.R
    config.status: creating src/config.h
    === configuring in jri (/<<PKGBUILDDIR>>/jri)
    configure: running /bin/bash ./configure --disable-option-checking '--prefix=/usr/local' 'CC=gcc -std=gnu23' 'CFLAGS=-g -O2 -Werror=implicit-function-declaration -ffile-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -fstack-clash-protection -
    Wformat -Werror=format-security -fcf-protection' 'LDFLAGS=-Wl,-z,relro' 'CPPFLAGS=-Wdate-time -D_FORTIFY_SOURCE=2' --cache-file=/dev/null --srcdir=.
    checking build system type... x86_64-pc-linux-gnu
    checking host system type... x86_64-pc-linux-gnu
    checking for gcc... gcc -std=gnu23
    checking whether the C compiler works... yes
    checking for C compiler default output file name... a.out
    checking for suffix of executables...
    checking whether we are cross compiling... no
    checking for suffix of object files... o
    checking whether the compiler supports GNU C... yes
    checking whether gcc -std=gnu23 accepts -g... yes
    checking for gcc -std=gnu23 option to enable C11 features... none needed checking for stdio.h... yes
    checking for stdlib.h... yes
    checking for string.h... yes
    checking for inttypes.h... yes
    checking for stdint.h... yes
    checking for strings.h... yes
    checking for sys/stat.h... yes
    checking for sys/types.h... yes
    checking for unistd.h... yes
    checking for sys/time.h... yes
    checking for sys/types.h... (cached) yes
    checking for sys/select.h... yes
    checking Java version... 21.0.7-ea
    checking Java compatibility version (integer)... 21
    checking whether actually works... no
    checking whether javah was replaced by javac -h... yes
    checking for target flags... -h . -target 1.8 -source 1.8
    checking whether Java interpreter works... checking whether JNI programs can be compiled... yes
    checking whether JNI programs can be run... yes
    checking JNI data types... ok
    checking whether Rinterface.h exports R_CStackXXX variables... yes
    checking whether Rinterface.h exports R_SignalHandlers... yes
    configure: creating ./config.status
    config.status: creating src/Makefile
    config.status: creating Makefile
    config.status: creating run
    config.status: creating src/config.h
    ** libs
    using C compiler: ‘gcc (Debian 14.2.0-19) 14.2.0’
    make[1]: Entering directory '/<<PKGBUILDDIR>>/src'
    gcc -std=gnu23 -I"/usr/share/R/include" -DNDEBUG -I. -I/usr/lib/jvm/default-java/include -I/usr/lib/jvm/default-java/include/linux -fpic -g -O2 -ffile-prefix-map=/<<BUILDDIR>>/r-base-4.5.0=. -fstack-protector-strong -fstack-clash-protection -
    Wformat -Werror=format-security -fcf-protection -Wdate-time -D_FORTIFY_SOURCE=2 -c Rglue.c -o Rglue.o
    gcc -std=gnu23 -I"/usr/share/R/include" -DNDEBUG -I. -I/usr/lib/jvm/default-java/include -I/usr/lib/jvm/default-java/include/linux -fpic -g -O2 -ffile-prefix-map=/<<BUILDDIR>>/r-base-4.5.0=. -fstack-protector-strong -fstack-clash-protection -
    Wformat -Werror=format-security -fcf-protection -Wdate-time -D_FORTIFY_SOURCE=2 -c arrayc.c -o arrayc.o
    gcc -std=gnu23 -I"/usr/share/R/include" -DNDEBUG -I. -I/usr/lib/jvm/default-java/include -I/usr/lib/jvm/default-java/include/linux -fpic -g -O2 -ffile-prefix-map=/<<BUILDDIR>>/r-base-4.5.0=. -fstack-protector-strong -fstack-clash-protection -
    Wformat -Werror=format-security -fcf-protection -Wdate-time -D_FORTIFY_SOURCE=2 -c callJNI.c -o callJNI.o
    gcc -std=gnu23 -I"/usr/share/R/include" -DNDEBUG -I. -I/usr/lib/jvm/default-java/include -I/usr/lib/jvm/default-java/include/linux -fpic -g -O2 -ffile-prefix-map=/<<BUILDDIR>>/r-base-4.5.0=. -fstack-protector-strong -fstack-clash-protection -
    Wformat -Werror=format-security -fcf-protection -Wdate-time -D_FORTIFY_SOURCE=2 -c callback.c -o callback.o
    gcc -std=gnu23 -I"/usr/share/R/include" -DNDEBUG -I. -I/usr/lib/jvm/default-java/include -I/usr/lib/jvm/default-java/include/linux -fpic -g -O2 -ffile-prefix-map=/<<BUILDDIR>>/r-base-4.5.0=. -fstack-protector-strong -fstack-clash-protection -
    Wformat -Werror=format-security -fcf-protection -Wdate-time -D_FORTIFY_SOURCE=2 -c fields.c -o fields.o
    gcc -std=gnu23 -I"/usr/share/R/include" -DNDEBUG -I. -I/usr/lib/jvm/default-java/include -I/usr/lib/jvm/default-java/include/linux -fpic -g -O2 -ffile-prefix-map=/<<BUILDDIR>>/r-base-4.5.0=. -fstack-protector-strong -fstack-clash-protection -
    Wformat -Werror=format-security -fcf-protection -Wdate-time -D_FORTIFY_SOURCE=2 -c init.c -o init.o
    gcc -std=gnu23 -I"/usr/share/R/include" -DNDEBUG -I. -I/usr/lib/jvm/default-java/include -I/usr/lib/jvm/default-java/include/linux -fpic -g -O2 -ffile-prefix-map=/<<BUILDDIR>>/r-base-4.5.0=. -fstack-protector-strong -fstack-clash-protection -
    Wformat -Werror=format-security -fcf-protection -Wdate-time -D_FORTIFY_SOURCE=2 -c jri_glue.c -o jri_glue.o
    gcc -std=gnu23 -I"/usr/share/R/include" -DNDEBUG -I. -I/usr/lib/jvm/default-java/include -I/usr/lib/jvm/default-java/include/linux -fpic -g -O2 -ffile-prefix-map=/<<BUILDDIR>>/r-base-4.5.0=. -fstack-protector-strong -fstack-clash-protection -
    Wformat -Werror=format-security -fcf-protection -Wdate-time -D_FORTIFY_SOURCE=2 -c loader.c -o loader.o
    gcc -std=gnu23 -I"/usr/share/R/include" -DNDEBUG -I. -I/usr/lib/jvm/default-java/include -I/usr/lib/jvm/default-java/include/linux -fpic -g -O2 -ffile-prefix-map=/<<BUILDDIR>>/r-base-4.5.0=. -fstack-protector-strong -fstack-clash-protection -
    Wformat -Werror=format-security -fcf-protection -Wdate-time -D_FORTIFY_SOURCE=2 -c otables.c -o otables.o
    gcc -std=gnu23 -I"/usr/share/R/include" -DNDEBUG -I. -I/usr/lib/jvm/default-java/include -I/usr/lib/jvm/default-java/include/linux -fpic -g -O2 -ffile-prefix-map=/<<BUILDDIR>>/r-base-4.5.0=. -fstack-protector-strong -fstack-clash-protection -
    Wformat -Werror=format-security -fcf-protection -Wdate-time -D_FORTIFY_SOURCE=2 -c rJava.c -o rJava.o
    gcc -std=gnu23 -I"/usr/share/R/include" -DNDEBUG -I. -I/usr/lib/jvm/default-java/include -I/usr/lib/jvm/default-java/include/linux -fpic -g -O2 -ffile-prefix-map=/<<BUILDDIR>>/r-base-4.5.0=. -fstack-protector-strong -fstack-clash-protection -
    Wformat -Werror=format-security -fcf-protection -Wdate-time -D_FORTIFY_SOURCE=2 -c registration.c -o registration.o
    gcc -std=gnu23 -I"/usr/share/R/include" -DNDEBUG -I. -I/usr/lib/jvm/default-java/include -I/usr/lib/jvm/default-java/include/linux -fpic -g -O2 -ffile-prefix-map=/<<BUILDDIR>>/r-base-4.5.0=. -fstack-protector-strong -fstack-clash-protection -
    Wformat -Werror=format-security -fcf-protection -Wdate-time -D_FORTIFY_SOURCE=2 -c rjstring.c -o rjstring.o
    gcc -std=gnu23 -I"/usr/share/R/include" -DNDEBUG -I. -I/usr/lib/jvm/default-java/include -I/usr/lib/jvm/default-java/include/linux -fpic -g -O2 -ffile-prefix-map=/<<BUILDDIR>>/r-base-4.5.0=. -fstack-protector-strong -fstack-clash-protection -
    Wformat -Werror=format-security -fcf-protection -Wdate-time -D_FORTIFY_SOURCE=2 -c tools.c -o tools.o
    gcc -std=gnu23 -shared -L/usr/lib/R/lib -Wl,-z,relro -o rJava.so Rglue.o arrayc.o callJNI.o callback.o fields.o init.o jri_glue.o loader.o otables.o rJava.o registration.o rjstring.o tools.o -L/usr/lib/jvm/default-java/lib/server -ljvm -L/usr/lib/R/lib -
    lR
    (cd ../jri && make)
    make[2]: Entering directory '/<<PKGBUILDDIR>>/jri'
    make -C src JRI.jar
    make[3]: Entering directory '/<<PKGBUILDDIR>>/jri/src' /usr/lib/jvm/default-java/bin/javac -h . -target 1.8 -source 1.8 -d . ../Mutex.java ../RBool.java ../RConsoleOutputStream.java ../REXP.java ../RFactor.java ../RList.java ../RMainLoopCallbacks.java ../RVector.java ../Rengine.java ../package-info.java
    warning: [options] bootstrap class path not set in conjunction with -source 8 warning: [options] source value 8 is obsolete and will be removed in a future release
    warning: [options] target value 8 is obsolete and will be removed in a future release
    warning: [options] To suppress warnings about obsolete options, use -Xlint:-options.
    ../REXP.java:170: warning: [removal] finalize() in Object has been deprecated and marked for removal
    protected void finalize() throws Throwable {
    ^
    ../REXP.java:175: warning: [removal] finalize() in Object has been deprecated and marked for removal
    super.finalize();
    ^
    Note: Some input files use unchecked or unsafe operations.
    Note: Recompile with -Xlint:unchecked for details.
    6 warnings
    if [ -n "" ]; then -d . -classpath . org.rosuda.JRI.Rengine; fi
    gcc -std=gnu23 -c -o Rengine.o Rengine.c -g -O2 -ffile-prefix-map=/<<BUILDDIR>>/r-base-4.5.0=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -Wdate-time -D_FORTIFY_SOURCE=2 -g -Iinclude -DRIF_HAS_
    CSTACK -DRIF_HAS_RSIGHAND -DHAVE_CONFIG_H -g -O2 -Werror=implicit-function-declaration -ffile-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -I/usr/lib/jvm/default-java/
    include -I/usr/lib/jvm/default-java/include/linux -fpic -I/usr/lib/jvm/default-java/include -I/usr/lib/jvm/default-java/include/linux -I/usr/share/R/include -I/usr/share/R/include
    gcc -std=gnu23 -c -o jri.o jri.c -g -O2 -ffile-prefix-map=/<<BUILDDIR>>/r-base-4.5.0=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -Wdate-time -D_FORTIFY_SOURCE=2 -g -Iinclude -DRIF_HAS_CSTACK -
    DRIF_HAS_RSIGHAND -DHAVE_CONFIG_H -g -O2 -Werror=implicit-function-declaration -ffile-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -I/usr/lib/jvm/default-java/include -I/
    usr/lib/jvm/default-java/include/linux -fpic -I/usr/lib/jvm/default-java/include -I/usr/lib/jvm/default-java/include/linux -I/usr/share/R/include -I/usr/share/R/include
    gcc -std=gnu23 -c -o Rcallbacks.o Rcallbacks.c -g -O2 -ffile-prefix-map=/<<BUILDDIR>>/r-base-4.5.0=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -Wdate-time -D_FORTIFY_SOURCE=2 -g -Iinclude -DRIF_
    HAS_CSTACK -DRIF_HAS_RSIGHAND -DHAVE_CONFIG_H -g -O2 -Werror=implicit-function-declaration -ffile-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -I/usr/lib/jvm/default-
    java/include -I/usr/lib/jvm/default-java/include/linux -fpic -I/usr/lib/jvm/default-java/include -I/usr/lib/jvm/default-java/include/linux -I/usr/share/R/include -I/usr/share/R/include
    gcc -std=gnu23 -c -o Rinit.o Rinit.c -g -O2 -ffile-prefix-map=/<<BUILDDIR>>/r-base-4.5.0=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -Wdate-time -D_FORTIFY_SOURCE=2 -g -Iinclude -DRIF_HAS_CSTACK -
    DRIF_HAS_RSIGHAND -DHAVE_CONFIG_H -g -O2 -Werror=implicit-function-declaration -ffile-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -I/usr/lib/jvm/default-java/include -I/
    usr/lib/jvm/default-java/include/linux -fpic -I/usr/share/R/include -I/usr/share/R/include
    gcc -std=gnu23 -c -o globals.o globals.c -g -O2 -ffile-prefix-map=/<<BUILDDIR>>/r-base-4.5.0=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -Wdate-time -D_FORTIFY_SOURCE=2 -g -Iinclude -DRIF_HAS_
    CSTACK -DRIF_HAS_RSIGHAND -DHAVE_CONFIG_H -g -O2 -Werror=implicit-function-declaration -ffile-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -I/usr/lib/jvm/default-java/
    include -I/usr/lib/jvm/default-java/include/linux -fpic -I/usr/lib/jvm/default-java/include -I/usr/lib/jvm/default-java/include/linux
    gcc -std=gnu23 -c -o rjava.o rjava.c -g -O2 -ffile-prefix-map=/<<BUILDDIR>>/r-base-4.5.0=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -Wdate-time -D_FORTIFY_SOURCE=2 -g -Iinclude -DRIF_HAS_CSTACK -
    DRIF_HAS_RSIGHAND -DHAVE_CONFIG_H -g -O2 -Werror=implicit-function-declaration -ffile-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -I/usr/lib/jvm/default-java/include -I/
    usr/lib/jvm/default-java/include/linux -fpic -I/usr/lib/jvm/default-java/include -I/usr/lib/jvm/default-java/include/linux
    gcc -std=gnu23 -c -o rjstring.o rjstring.c -g -O2 -ffile-prefix-map=/<<BUILDDIR>>/r-base-4.5.0=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -Wdate-time -D_FORTIFY_SOURCE=2 -g -Iinclude -DRIF_HAS_
    CSTACK -DRIF_HAS_RSIGHAND -DHAVE_CONFIG_H -g -O2 -Werror=implicit-function-declaration -ffile-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -I/usr/lib/jvm/default-java/
    include -I/usr/lib/jvm/default-java/include/linux -fpic -I/usr/lib/jvm/default-java/include -I/usr/lib/jvm/default-java/include/linux -I/usr/share/R/include -I/usr/share/R/include
    gcc -std=gnu23 -o libjri.so Rengine.o jri.o Rcallbacks.o Rinit.o globals.o rjava.o rjstring.o -Wl,-z,relro -Wl,-z,relro -shared -L/usr/lib/jvm/default-java/lib/server -ljvm -Wl,--export-dynamic -fopenmp -Wl,-z,relro -L/usr/lib/R/lib -lR -lpcre2-8 -
    ldeflate -lzstd -llzma -lbz2 -lz -ltirpc -lrt -ldl -lm -licuuc -licui18n /usr/bin/ld: cannot find -lzstd: No such file or directory
    collect2: error: ld returned 1 exit status
    make[3]: *** [Makefile.all:40: libjri.so] Error 1
    make[3]: Leaving directory '/<<PKGBUILDDIR>>/jri/src'
    make[2]: *** [Makefile.all:19: src/JRI.jar] Error 2
    make[2]: Leaving directory '/<<PKGBUILDDIR>>/jri'
    make[1]: *** [Makevars:14: jri] Error 2
    make[1]: Leaving directory '/<<PKGBUILDDIR>>/src'
    make[1]: Entering directory '/<<PKGBUILDDIR>>/src'
    make[1]: Leaving directory '/<<PKGBUILDDIR>>/src'
    ERROR: compilation failed for package ‘rJava’
    * removing ‘/<<PKGBUILDDIR>>/debian/r-cran-rjava/usr/lib/R/site-library/rJava’
    dh_auto_install: error: R CMD INSTALL -l /<<PKGBUILDDIR>>/debian/r-cran-rjava/usr/lib/R/site-library --clean . "--built-timestamp='Fri, 26 Jan 2024 11:10:09 -0600'" returned exit code 1
    make: *** [debian/rules:7: binary] Error 25
    dpkg-buildpackage: error: debian/rules binary subprocess returned exit status 2 --------------------------------------------------------------------------------

    The above is just how the build ends and not necessarily the most relevant part.
    If required, the full build log is available here:

    https://people.debian.org/~sanvila/build-logs/202504/

    About the archive rebuild: The build was made on virtual machines from AWS, using sbuild and a reduced chroot with only build-essential packages.

    If you could not reproduce the bug please contact me privately, as I
    am willing to provide ssh access to a virtual machine where the bug is
    fully reproducible.

    If this is really a bug in one of the build-depends, please use
    reassign and add an affects on src:rjava, so that this is still
    visible in the BTS web page for this package.

    Thanks.

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