• Bug#1099294: virt-top: FTBFS: Error: No implementation provided for the

    From Santiago Vila@21:1/5 to All on Sat Mar 1 22:10:14 2025
    Package: src:virt-top
    Version: 1.1.1-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 --with ocaml
    dh_ocamlclean
    dh_clean
    debian/rules binary
    dh binary --with ocaml
    dh_update_autotools_config
    dh_autoreconf
    configure.ac: warning: AM_GNU_GETTEXT is used, but not AM_GNU_GETTEXT_VERSION or AM_GNU_GETTEXT_REQUIRE_VERSION
    configure.ac:30: warning: The macro 'AC_PROG_CC_STDC' is obsolete. configure.ac:30: You should run autoupdate.
    ./lib/autoconf/c.m4:1669: AC_PROG_CC_STDC is expanded from...
    configure.ac:30: the top level
    configure.ac:125: installing './config.guess'
    configure.ac:125: installing './config.sub'
    dh_ocamlinit
    dh_auto_configure
    ./configure --build=x86_64-linux-gnu --prefix=/usr --includedir=\${prefix}/include --mandir=\${prefix}/share/man --infodir=\${prefix}/share/info --sysconfdir=/etc --localstatedir=/var --disable-option-checking --disable-silent-rules --libdir=\${prefix}/
    lib/x86_64-linux-gnu --runstatedir=/run --disable-maintainer-mode --disable-dependency-tracking
    checking for a BSD-compatible install... /usr/bin/install -c
    checking whether sleep supports fractional seconds... yes
    checking filesystem timestamp resolution... 0.01
    checking whether build environment is sane... yes
    checking for a race-free mkdir -p... /usr/bin/mkdir -p
    checking for gawk... no
    checking for mawk... mawk
    checking whether make sets $(MAKE)... yes
    checking whether make supports nested variables... yes
    checking xargs -n works... yes
    checking whether make supports the include directive... yes (GNU style) checking for gcc... gcc
    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 accepts -g... yes
    checking for gcc option to enable C11 features... none needed
    checking whether gcc understands -c and -o together... yes
    checking dependency style of gcc... none
    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 wchar.h... yes
    checking for minix/config.h... no
    checking whether it is safe to define __EXTENSIONS__... yes
    checking whether _XOPEN_SOURCE should be defined... no
    checking how to run the C preprocessor... gcc -E
    checking for gcc option to enable large file support... none needed
    checking for pkg-config... /usr/bin/pkg-config
    checking pkg-config is at least version 0.9.0... yes
    checking for libxml-2.0... yes
    checking for ocamlc... ocamlc
    OCaml version is 5.3.0
    OCaml library path is /usr/lib/x86_64-linux-gnu/ocaml/5.3.0
    checking for ocamlopt... ocamlopt
    checking for ocamlc.opt... ocamlc.opt
    checking for ocamlopt.opt... ocamlopt.opt
    checking for ocaml... ocaml
    checking for ocamldep... ocamldep
    checking for ocamlmktop... ocamlmktop
    checking for ocamlmklib... ocamlmklib
    checking for ocamldoc... ocamldoc
    checking for ocamlbuild... no
    checking for ocamlfind... ocamlfind
    checking for OCaml findlib package unix... found
    checking for OCaml findlib package libvirt... found
    checking for OCaml findlib package curses... found
    checking for OCaml findlib package calendar... not found
    checking for OCaml findlib package gettext... found
    checking if OCaml ‘-runtime-variant _pic’ works... yes
    checking for perldoc... perldoc
    checking for ocaml-gettext... ocaml-gettext
    checking for xgettext... xgettext
    checking for msgcat... msgcat
    checking for msgfmt... msgfmt
    checking for msgmerge... msgmerge
    checking msgfmt is GNU tool... yes
    checking for a sed that does not truncate output... /usr/bin/sed
    checking whether NLS is requested... yes
    checking for msgfmt... /usr/bin/msgfmt
    checking for gmsgfmt... /usr/bin/msgfmt
    checking for xgettext... /usr/bin/xgettext
    checking for msgmerge... /usr/bin/msgmerge
    checking build system type... x86_64-pc-linux-gnu
    checking host system type... x86_64-pc-linux-gnu
    checking for ld used by gcc... /usr/bin/ld
    checking if the linker (/usr/bin/ld) is GNU ld... yes
    checking for shared library run path origin... done
    checking 32-bit host C ABI... no
    checking for egrep -e... /usr/bin/grep -E
    checking for ELF binary format... yes
    checking for the common suffixes of directories in the library search path... lib,lib,lib64
    checking for CFPreferencesCopyAppValue... no
    checking for CFLocaleCopyPreferredLanguages... no
    checking for GNU gettext in libc... yes
    checking whether to use NLS... yes
    checking where the gettext function comes from... libc
    configure: creating src/opt_gettext.ml ------------------------------------------------------------
    Thanks for downloading virt-top 1.1.1 ------------------------------------------------------------
    checking that generated files are newer than configure... done
    configure: creating ./config.status
    config.status: creating ocaml-dep.sh
    config.status: creating ocaml-link.sh
    config.status: creating Makefile
    config.status: creating po/Makefile
    config.status: creating src/Makefile
    config.status: creating src/version.ml
    config.status: creating config.h
    config.status: executing depfiles commands
    config.status: executing po-directories commands
    dh_auto_build
    make -j2
    make[1]: Entering directory '/<<PKGBUILDDIR>>'
    make all-recursive
    make[2]: Entering directory '/<<PKGBUILDDIR>>'
    Making all in src
    make[3]: Entering directory '/<<PKGBUILDDIR>>/src'
    ../ocaml-dep.sh collect.ml csv_output.ml main.ml opt_calendar.ml opt_gettext.ml redraw.ml screen.ml stream_output.ml top.ml types.ml utils.ml version.ml xml.ml collect.mli csv_output.mli redraw.mli screen.mli stream_output.mli top.mli types.mli utils.mli
    gcc -DHAVE_CONFIG_H -I. -I.. -Wdate-time -D_FORTIFY_SOURCE=2 -I/usr/include/libxml2 -I/usr/lib/x86_64-linux-gnu/ocaml/5.3.0 -g -O2 -Werror=implicit-function-declaration -ffile-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -fstack-clash-
    protection -Wformat -Werror=format-security -fcf-protection -c -o virt_top-xml-c.o `test -f 'xml-c.c' || echo './'`xml-c.c
    ocamlfind ocamlopt -g -warn-error +C+D+E+F+L+M+P+S+U+V+Y+Z+X-3 -ccopt '-g -O2 -Werror=implicit-function-declaration -ffile-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection' -
    package unix,curses,str,libvirt -package gettext-stub -c version.ml -o version.cmx
    ocamlfind ocamlopt -g -warn-error +C+D+E+F+L+M+P+S+U+V+Y+Z+X-3 -ccopt '-g -O2 -Werror=implicit-function-declaration -ffile-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection' -
    package unix,curses,str,libvirt -package gettext-stub -c opt_gettext.ml -o opt_gettext.cmx
    ocamlfind ocamlc -g -warn-error +C+D+E+F+L+M+P+S+U+V+Y+Z+X-3 -ccopt '-g -O2 -Werror=implicit-function-declaration -ffile-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection' -
    package unix,curses,str,libvirt -package gettext-stub -c utils.mli -o utils.cmi
    ocamlfind ocamlc -g -warn-error +C+D+E+F+L+M+P+S+U+V+Y+Z+X-3 -ccopt '-g -O2 -Werror=implicit-function-declaration -ffile-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection' -
    package unix,curses,str,libvirt -package gettext-stub -c types.mli -o types.cmi
    ocamlfind ocamlopt -g -warn-error +C+D+E+F+L+M+P+S+U+V+Y+Z+X-3 -ccopt '-g -O2 -Werror=implicit-function-declaration -ffile-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection' -
    package unix,curses,str,libvirt -package gettext-stub -c xml.ml -o xml.cmx ocamlfind ocamlc -g -warn-error +C+D+E+F+L+M+P+S+U+V+Y+Z+X-3 -ccopt '-g -O2 -Werror=implicit-function-declaration -ffile-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection' -
    package unix,curses,str,libvirt -package gettext-stub -c screen.mli -o screen.cmi
    ocamlfind ocamlc -g -warn-error +C+D+E+F+L+M+P+S+U+V+Y+Z+X-3 -ccopt '-g -O2 -Werror=implicit-function-declaration -ffile-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection' -
    package unix,curses,str,libvirt -package gettext-stub -c top.mli -o top.cmi ocamlfind ocamlopt -g -warn-error +C+D+E+F+L+M+P+S+U+V+Y+Z+X-3 -ccopt '-g -O2 -Werror=implicit-function-declaration -ffile-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection' -
    package unix,curses,str,libvirt -package gettext-stub -c utils.ml -o utils.cmx ocamlfind ocamlc -g -warn-error +C+D+E+F+L+M+P+S+U+V+Y+Z+X-3 -ccopt '-g -O2 -Werror=implicit-function-declaration -ffile-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection' -
    package unix,curses,str,libvirt -package gettext-stub -c collect.mli -o collect.cmi
    ocamlfind ocamlopt -g -warn-error +C+D+E+F+L+M+P+S+U+V+Y+Z+X-3 -ccopt '-g -O2 -Werror=implicit-function-declaration -ffile-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection' -
    package unix,curses,str,libvirt -package gettext-stub -c screen.ml -o screen.cmx
    ocamlfind ocamlc -g -warn-error +C+D+E+F+L+M+P+S+U+V+Y+Z+X-3 -ccopt '-g -O2 -Werror=implicit-function-declaration -ffile-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection' -
    package unix,curses,str,libvirt -package gettext-stub -c redraw.mli -o redraw.cmi
    ocamlfind ocamlc -g -warn-error +C+D+E+F+L+M+P+S+U+V+Y+Z+X-3 -ccopt '-g -O2 -Werror=implicit-function-declaration -ffile-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection' -
    package unix,curses,str,libvirt -package gettext-stub -c csv_output.mli -o csv_output.cmi
    ocamlfind ocamlc -g -warn-error +C+D+E+F+L+M+P+S+U+V+Y+Z+X-3 -ccopt '-g -O2 -Werror=implicit-function-declaration -ffile-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection' -
    package unix,curses,str,libvirt -package gettext-stub -c stream_output.mli -o stream_output.cmi
    ocamlfind ocamlopt -g -warn-error +C+D+E+F+L+M+P+S+U+V+Y+Z+X-3 -ccopt '-g -O2 -Werror=implicit-function-declaration -ffile-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection' -
    package unix,curses,str,libvirt -package gettext-stub -c types.ml -o types.cmx ocamlfind ocamlopt -g -warn-error +C+D+E+F+L+M+P+S+U+V+Y+Z+X-3 -ccopt '-g -O2 -Werror=implicit-function-declaration -ffile-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection' -
    package unix,curses,str,libvirt -package gettext-stub -c collect.ml -o collect.cmx
    ocamlfind ocamlopt -g -warn-error +C+D+E+F+L+M+P+S+U+V+Y+Z+X-3 -ccopt '-g -O2 -Werror=implicit-function-declaration -ffile-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection' -
    package unix,curses,str,libvirt -package gettext-stub -c redraw.ml -o redraw.cmx
    ocamlfind ocamlopt -g -warn-error +C+D+E+F+L+M+P+S+U+V+Y+Z+X-3 -ccopt '-g -O2 -Werror=implicit-function-declaration -ffile-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection' -
    package unix,curses,str,libvirt -package gettext-stub -c csv_output.ml -o csv_output.cmx
    ocamlfind ocamlopt -g -warn-error +C+D+E+F+L+M+P+S+U+V+Y+Z+X-3 -ccopt '-g -O2 -Werror=implicit-function-declaration -ffile-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection' -
    package unix,curses,str,libvirt -package gettext-stub -c stream_output.ml -o stream_output.cmx
    ocamlfind ocamlopt -g -warn-error +C+D+E+F+L+M+P+S+U+V+Y+Z+X-3 -ccopt '-g -O2 -Werror=implicit-function-declaration -ffile-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection' -
    package unix,curses,str,libvirt -package gettext-stub -c top.ml -o top.cmx ocamlfind ocamlopt -g -warn-error +C+D+E+F+L+M+P+S+U+V+Y+Z+X-3 -ccopt '-g -O2 -Werror=implicit-function-declaration -ffile-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection' -
    package unix,curses,str,libvirt -package gettext-stub -c main.ml -o main.cmx ../ocaml-link.sh -cclib '-lxml2 ' -- ocamlfind ocamlopt -g -warn-error +C+D+E+F+L+M+P+S+U+V+Y+Z+X-3 -ccopt '-g -O2 -Werror=implicit-function-declaration -ffile-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -fstack-clash-protection -Wformat -
    Werror=format-security -fcf-protection' -package unix,curses,str,libvirt -package gettext-stub version.cmx opt_gettext.cmx utils.cmx types.cmx xml.cmx collect.cmx screen.cmx redraw.cmx csv_output.cmx stream_output.cmx top.cmx main.cmx -o virt-top virt_
    top-xml-c.o
    ocamlfind ocamlopt -g -warn-error +C+D+E+F+L+M+P+S+U+V+Y+Z+X-3 -ccopt -g -O2 -Werror=implicit-function-declaration -ffile-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -
    package unix,curses,str,libvirt -package gettext-stub version.cmx opt_gettext.cmx utils.cmx types.cmx xml.cmx collect.cmx screen.cmx redraw.cmx csv_output.cmx stream_output.cmx top.cmx main.cmx -o virt-top virt_top-xml-c.o -runtime-variant _pic -linkpkg -
    cclib '-Wl,-z,relro -lxml2 '
    File "_none_", line 1:
    Error: No implementation provided for the following modules:
    "Dune_site__Dune_site_data" referenced from "Dune_site__Helpers" (/usr/lib/x86_64-linux-gnu/ocaml/5.3.0/dune-site/dune_site.cmxa)
    make[3]: *** [Makefile:473: virt-top] Error 2
    make[3]: Leaving directory '/<<PKGBUILDDIR>>/src'
    make[2]: *** [Makefile:443: all-recursive] Error 1
    make[2]: Leaving directory '/<<PKGBUILDDIR>>'
    make[1]: *** [Makefile:380: all] Error 2
    make[1]: Leaving directory '/<<PKGBUILDDIR>>'
    dh_auto_build: error: make -j2 returned exit code 2
    make: *** [debian/rules:5: 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/202503/

    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:virt-top, 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)