Bug#1143328: jhbuild: FTBFS: dh_auto_test: error: make -j2 check TESTSUITEFLAGS="-j2 --verbose" VERBOSE=1 returned exit code 2

Santiago Vila sanvila at debian.org
Sat Aug 1 23:36:17 BST 2026


Package: src:jhbuild
Version: 3.38.0-4
Severity: serious
Tags: ftbfs forky sid

Dear maintainer:

During a rebuild of all packages in unstable, this package failed to build.

Below you will find the last part of the build log (probably the most
relevant part, but not necessarily). If required, the full build log
is available here:

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

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 cannot 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:jhbuild, so that this is still
visible in the BTS web page for this package.

Thanks.

--------------------------------------------------------------------------------
[...]
 debian/rules clean
dh clean
   dh_clean
 debian/rules binary
dh binary
   dh_update_autotools_config
   dh_autoreconf
autoreconf: export WARNINGS=
autoreconf: Entering directory '.'
autoreconf: running: autopoint --force
autopoint: using AM_GNU_GETTEXT_REQUIRE_VERSION instead of AM_GNU_GETTEXT_VERSION
Copying file ABOUT-NLS
Copying file build-aux/config.rpath
Copying file m4/build-to-host.m4
Copying file m4/gettext.m4

[... snipped ...]

if ! test -d "de/"; then mkdir "de/"; fi
if test -d "C"; then d="../"; else d="/<<PKGBUILDDIR>>/doc/"; fi; \
mo="de/de.mo"; \
if test -f "${mo}"; then mo="../${mo}"; else mo="/<<PKGBUILDDIR>>/doc/${mo}"; fi; \
(cd "de/" && itstool -m "${mo}" ${d}/C/index.docbook) && \
touch "de/de.stamp"
if ! test -d "el/"; then mkdir "el/"; fi
if test -d "C"; then d="../"; else d="/<<PKGBUILDDIR>>/doc/"; fi; \
mo="el/el.mo"; \
if test -f "${mo}"; then mo="../${mo}"; else mo="/<<PKGBUILDDIR>>/doc/${mo}"; fi; \
(cd "el/" && itstool -m "${mo}" ${d}/C/index.docbook) && \
touch "el/el.stamp"
if ! test -d "es/"; then mkdir "es/"; fi
if test -d "C"; then d="../"; else d="/<<PKGBUILDDIR>>/doc/"; fi; \
mo="es/es.mo"; \
if test -f "${mo}"; then mo="../${mo}"; else mo="/<<PKGBUILDDIR>>/doc/${mo}"; fi; \
(cd "es/" && itstool -m "${mo}" ${d}/C/index.docbook) && \
touch "es/es.stamp"
if ! test -d "fr/"; then mkdir "fr/"; fi
if test -d "C"; then d="../"; else d="/<<PKGBUILDDIR>>/doc/"; fi; \
mo="fr/fr.mo"; \
if test -f "${mo}"; then mo="../${mo}"; else mo="/<<PKGBUILDDIR>>/doc/${mo}"; fi; \
(cd "fr/" && itstool -m "${mo}" ${d}/C/index.docbook) && \
touch "fr/fr.stamp"
if ! test -d "ja/"; then mkdir "ja/"; fi
if test -d "C"; then d="../"; else d="/<<PKGBUILDDIR>>/doc/"; fi; \
mo="ja/ja.mo"; \
if test -f "${mo}"; then mo="../${mo}"; else mo="/<<PKGBUILDDIR>>/doc/${mo}"; fi; \
(cd "ja/" && itstool -m "${mo}" ${d}/C/index.docbook) && \
touch "ja/ja.stamp"
if ! test -d "ko/"; then mkdir "ko/"; fi
if test -d "C"; then d="../"; else d="/<<PKGBUILDDIR>>/doc/"; fi; \
mo="ko/ko.mo"; \
if test -f "${mo}"; then mo="../${mo}"; else mo="/<<PKGBUILDDIR>>/doc/${mo}"; fi; \
(cd "ko/" && itstool -m "${mo}" ${d}/C/index.docbook) && \
touch "ko/ko.stamp"
if ! test -d "pt_BR/"; then mkdir "pt_BR/"; fi
if test -d "C"; then d="../"; else d="/<<PKGBUILDDIR>>/doc/"; fi; \
mo="pt_BR/pt_BR.mo"; \
if test -f "${mo}"; then mo="../${mo}"; else mo="/<<PKGBUILDDIR>>/doc/${mo}"; fi; \
(cd "pt_BR/" && itstool -m "${mo}" ${d}/C/index.docbook) && \
touch "pt_BR/pt_BR.stamp"
if ! test -d "ru/"; then mkdir "ru/"; fi
if test -d "C"; then d="../"; else d="/<<PKGBUILDDIR>>/doc/"; fi; \
mo="ru/ru.mo"; \
if test -f "${mo}"; then mo="../${mo}"; else mo="/<<PKGBUILDDIR>>/doc/${mo}"; fi; \
(cd "ru/" && itstool -m "${mo}" ${d}/C/index.docbook) && \
touch "ru/ru.stamp"
if ! test -d "sl/"; then mkdir "sl/"; fi
if test -d "C"; then d="../"; else d="/<<PKGBUILDDIR>>/doc/"; fi; \
mo="sl/sl.mo"; \
if test -f "${mo}"; then mo="../${mo}"; else mo="/<<PKGBUILDDIR>>/doc/${mo}"; fi; \
(cd "sl/" && itstool -m "${mo}" ${d}/C/index.docbook) && \
touch "sl/sl.stamp"
if ! test -d "sv/"; then mkdir "sv/"; fi
if test -d "C"; then d="../"; else d="/<<PKGBUILDDIR>>/doc/"; fi; \
mo="sv/sv.mo"; \
if test -f "${mo}"; then mo="../${mo}"; else mo="/<<PKGBUILDDIR>>/doc/${mo}"; fi; \
(cd "sv/" && itstool -m "${mo}" ${d}/C/index.docbook) && \
touch "sv/sv.stamp"
if ! test -d "zh_CN/"; then mkdir "zh_CN/"; fi
if test -d "C"; then d="../"; else d="/<<PKGBUILDDIR>>/doc/"; fi; \
mo="zh_CN/zh_CN.mo"; \
if test -f "${mo}"; then mo="../${mo}"; else mo="/<<PKGBUILDDIR>>/doc/${mo}"; fi; \
(cd "zh_CN/" && itstool -m "${mo}" ${d}/C/index.docbook) && \
touch "zh_CN/zh_CN.stamp"
make[2]: Leaving directory '/<<PKGBUILDDIR>>/doc'
make[2]: Entering directory '/<<PKGBUILDDIR>>'
make[2]: Nothing to be done for 'all-am'.
make[2]: Leaving directory '/<<PKGBUILDDIR>>'
make[1]: Leaving directory '/<<PKGBUILDDIR>>'
   dh_auto_test
	make -j2 check TESTSUITEFLAGS="-j2 --verbose" VERBOSE=1
make[1]: Entering directory '/<<PKGBUILDDIR>>'
Making check in po
make[2]: Entering directory '/<<PKGBUILDDIR>>/po'
make[2]: Nothing to be done for 'check'.
make[2]: Leaving directory '/<<PKGBUILDDIR>>/po'
Making check in examples
make[2]: Entering directory '/<<PKGBUILDDIR>>/examples'
make[2]: Nothing to be done for 'check'.
make[2]: Leaving directory '/<<PKGBUILDDIR>>/examples'
Making check in scripts
make[2]: Entering directory '/<<PKGBUILDDIR>>/scripts'
make[2]: Nothing to be done for 'check'.
make[2]: Leaving directory '/<<PKGBUILDDIR>>/scripts'
Making check in triggers
make[2]: Entering directory '/<<PKGBUILDDIR>>/triggers'
make[2]: Nothing to be done for 'check'.
make[2]: Leaving directory '/<<PKGBUILDDIR>>/triggers'
Making check in jhbuild
make[2]: Entering directory '/<<PKGBUILDDIR>>/jhbuild'
Making check in commands
make[3]: Entering directory '/<<PKGBUILDDIR>>/jhbuild/commands'
make[3]: Nothing to be done for 'check'.
make[3]: Leaving directory '/<<PKGBUILDDIR>>/jhbuild/commands'
Making check in frontends
make[3]: Entering directory '/<<PKGBUILDDIR>>/jhbuild/frontends'
make[3]: Nothing to be done for 'check'.
make[3]: Leaving directory '/<<PKGBUILDDIR>>/jhbuild/frontends'
Making check in modtypes
make[3]: Entering directory '/<<PKGBUILDDIR>>/jhbuild/modtypes'
make[3]: Nothing to be done for 'check'.
make[3]: Leaving directory '/<<PKGBUILDDIR>>/jhbuild/modtypes'
Making check in utils
make[3]: Entering directory '/<<PKGBUILDDIR>>/jhbuild/utils'
make[3]: Nothing to be done for 'check'.
make[3]: Leaving directory '/<<PKGBUILDDIR>>/jhbuild/utils'
Making check in versioncontrol
make[3]: Entering directory '/<<PKGBUILDDIR>>/jhbuild/versioncontrol'
make[3]: Nothing to be done for 'check'.
make[3]: Leaving directory '/<<PKGBUILDDIR>>/jhbuild/versioncontrol'
make[3]: Entering directory '/<<PKGBUILDDIR>>/jhbuild'
make[3]: Nothing to be done for 'check-am'.
make[3]: Leaving directory '/<<PKGBUILDDIR>>/jhbuild'
make[2]: Leaving directory '/<<PKGBUILDDIR>>/jhbuild'
Making check in doc
make[2]: Entering directory '/<<PKGBUILDDIR>>/doc'
for lc in C cs de el es fr ja ko pt_BR ru sl sv zh_CN; do \
  if test -d "$lc"; \
    then d=; \
    xmlpath="$lc"; \
  else \
    d="./"; \
    xmlpath="$lc:./$lc"; \
  fi; \
  for page in index.docbook; do \
    echo "xmllint --nonet --noout --noent --path $xmlpath --xinclude $d$lc/$page"; \
    xmllint --nonet --noout --noent --path "$xmlpath" --xinclude "$d$lc/$page"; \
  done; \
done
xmllint --nonet --noout --noent --path C --xinclude C/index.docbook
xmllint --nonet --noout --noent --path cs --xinclude cs/index.docbook
xmllint --nonet --noout --noent --path de --xinclude de/index.docbook
xmllint --nonet --noout --noent --path el --xinclude el/index.docbook
xmllint --nonet --noout --noent --path es --xinclude es/index.docbook
xmllint --nonet --noout --noent --path fr --xinclude fr/index.docbook
xmllint --nonet --noout --noent --path ja --xinclude ja/index.docbook
xmllint --nonet --noout --noent --path ko --xinclude ko/index.docbook
xmllint --nonet --noout --noent --path pt_BR --xinclude pt_BR/index.docbook
xmllint --nonet --noout --noent --path ru --xinclude ru/index.docbook
xmllint --nonet --noout --noent --path sl --xinclude sl/index.docbook
xmllint --nonet --noout --noent --path sv --xinclude sv/index.docbook
xmllint --nonet --noout --noent --path zh_CN --xinclude zh_CN/index.docbook
make[2]: Leaving directory '/<<PKGBUILDDIR>>/doc'
make[2]: Entering directory '/<<PKGBUILDDIR>>'
make[2]: Nothing to be done for 'check-am'.
make[2]: Leaving directory '/<<PKGBUILDDIR>>'
/usr/bin/python3 -bb -m unittest discover -v -t . -s ./tests
test_build (tests.test_main.AutotoolsModTypeTestCase.test_build)
Building a autotools module ... ok
test_build_check (tests.test_main.AutotoolsModTypeTestCase.test_build_check)
Building a autotools module, with checks ... ok
test_build_check_error (tests.test_main.AutotoolsModTypeTestCase.test_build_check_error)
Building a autotools module, with an error in make check ... ok
test_build_clean_and_check (tests.test_main.AutotoolsModTypeTestCase.test_build_clean_and_check)
Building a autotools module, with cleaning and checks ... ok
test_build_no_network (tests.test_main.AutotoolsModTypeTestCase.test_build_no_network)
Building a autotools module, without network ... ok
test_update (tests.test_main.AutotoolsModTypeTestCase.test_update)
Updating a autotools module ... ok
test_policy_all (tests.test_main.BuildPolicyTestCase.test_policy_all)
Building an uptodate module with build policy set to "all" ... ok
test_policy_all_with_no_network (tests.test_main.BuildPolicyTestCase.test_policy_all_with_no_network)
Building an uptodate module with "all" policy, without network ... ok
test_policy_updated (tests.test_main.BuildPolicyTestCase.test_policy_updated)
Building an uptodate module with build policy set to "updated" ... ok
test_policy_updated_with_no_network (tests.test_main.BuildPolicyTestCase.test_policy_updated_with_no_network)
Building an uptodate module with "updated" policy, without network ... ok
test_to_sxml (tests.test_main.CMakeModuleTest.test_to_sxml) ... ok
test_pprint_output (tests.test_main.CmdTestCase.test_pprint_output) ... ok
test_autotools (tests.test_main.EndToEndTest.test_autotools) ... ERROR
test_autotools_with_libtool (tests.test_main.EndToEndTest.test_autotools_with_libtool) ... ERROR
test_dependency_chain_after (tests.test_main.ModuleOrderingTestCase.test_dependency_chain_after)
A dividing chain of dependencies with an <after> module ... ok
test_dependency_chain_bi (tests.test_main.ModuleOrderingTestCase.test_dependency_chain_bi)
A dividing chain of dependencies ... ok
test_dependency_chain_missing_after (tests.test_main.ModuleOrderingTestCase.test_dependency_chain_missing_after)
A chain of dependencies with a missing <after> module ... ok
test_dependency_chain_missing_dependencies (tests.test_main.ModuleOrderingTestCase.test_dependency_chain_missing_dependencies)
A chain of dependencies with a missing <dependencies> module ... ok
test_dependency_chain_missing_suggests (tests.test_main.ModuleOrderingTestCase.test_dependency_chain_missing_suggests)
A chain of dependencies with a missing <suggests> module ... ok
test_dependency_chain_recursive_after (tests.test_main.ModuleOrderingTestCase.test_dependency_chain_recursive_after)
A chain of dependencies with a recursively defined <after> module ... ok
test_dependency_chain_recursive_after_dependencies (tests.test_main.ModuleOrderingTestCase.test_dependency_chain_recursive_after_dependencies)
A chain dependency with an <after> module depending on an inversed relation ... ok
test_dependency_chain_straight (tests.test_main.ModuleOrderingTestCase.test_dependency_chain_straight)
A straight chain of dependencies ... ok
test_dependency_chain_straight_skip (tests.test_main.ModuleOrderingTestCase.test_dependency_chain_straight_skip)
A straight chain of dependencies, with a module to skip ... ok
test_dependency_chain_suggests (tests.test_main.ModuleOrderingTestCase.test_dependency_chain_suggests)
A dividing chain of dependencies with an <suggests> module ... ok
test_dependency_cycle (tests.test_main.ModuleOrderingTestCase.test_dependency_cycle)
A chain of dependencies with a cycle ... ok
test_dependency_cycle_after (tests.test_main.ModuleOrderingTestCase.test_dependency_cycle_after)
A chain of dependencies with a cycle caused by an <after> module ... ok
test_dependency_cycle_suggests (tests.test_main.ModuleOrderingTestCase.test_dependency_cycle_suggests)
A chain of dependencies with a cycle caused by an <suggests> module ... ok
test_standalone_one (tests.test_main.ModuleOrderingTestCase.test_standalone_one)
A standalone module ... ok
test_standalone_two (tests.test_main.ModuleOrderingTestCase.test_standalone_two)
Two standalone modules ... ok
test_sys_deps (tests.test_main.ModuleOrderingTestCase.test_sys_deps)
deps ommitted because satisfied by system dependencies ... ok
test_dtd (tests.test_main.ModulesetXMLTest.test_dtd) ... ok
test_relaxng (tests.test_main.ModulesetXMLTest.test_relaxng) ... ok
test_build (tests.test_main.TwoModulesTestCase.test_build)
Building two autotools module ... ok
test_build_failure_dependent_modules (tests.test_main.TwoModulesTestCase.test_build_failure_dependent_modules)
Building two dependent autotools modules, with failure in first ... ok
test_build_failure_dependent_modules_nopoison (tests.test_main.TwoModulesTestCase.test_build_failure_dependent_modules_nopoison)
Building two dependent autotools modules, with failure, but nopoison ... ok
test_build_failure_independent_modules (tests.test_main.TwoModulesTestCase.test_build_failure_independent_modules)
Building two independent autotools modules, with failure in first ... ok
test_build_no_update (tests.test_main.TwoModulesTestCase.test_build_no_update)
Building two uptodate, autotools module ... ok
test_build_no_update_updated_deps_policy (tests.test_main.TwoModulesTestCase.test_build_no_update_updated_deps_policy)
Building two autotools module, (changed and not), with 'updated-deps' policy ... ok
test_build_no_update_updated_policy (tests.test_main.TwoModulesTestCase.test_build_no_update_updated_policy)
Building two uptodate, autotools module, with 'updated' policy ... ok
test_make_check_failure_dependent_modules (tests.test_main.TwoModulesTestCase.test_make_check_failure_dependent_modules)
Building two dependent autotools modules, with failure in make check ... ok
test_make_check_failure_dependent_modules_makecheck_advisory (tests.test_main.TwoModulesTestCase.test_make_check_failure_dependent_modules_makecheck_advisory)
Building two dependent autotools modules, with *advisory* failure in make check ... ok
test_compare_version (tests.test_main.UtilsTest.test_compare_version) ... ok

======================================================================
ERROR: test_autotools (tests.test_main.EndToEndTest.test_autotools)
----------------------------------------------------------------------
Traceback (most recent call last):
  File "/<<PKGBUILDDIR>>/tests/test_main.py", line 715, in test_autotools
    build = self.make_terminal_buildscript(config, module_list)
  File "/<<PKGBUILDDIR>>/tests/test_main.py", line 197, in make_terminal_buildscript
    module_set = jhbuild.moduleset.load(config)
  File "/<<PKGBUILDDIR>>/jhbuild/moduleset.py", line 370, in load
    ms.modules.update(_parse_module_set(config, uri).modules)
                      ~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^
  File "/<<PKGBUILDDIR>>/jhbuild/moduleset.py", line 486, in _parse_module_set
    repo_class = get_repo_type(repo_type)
  File "/<<PKGBUILDDIR>>/jhbuild/versioncontrol/__init__.py", line 195, in get_repo_type
    try_import_module('jhbuild.versioncontrol.%s' % name)
    ~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/<<PKGBUILDDIR>>/jhbuild/utils/misc.py", line 39, in try_import_module
    if pkgutil.get_loader(module_name) is None:
       ^^^^^^^^^^^^^^^^^^
AttributeError: module 'pkgutil' has no attribute 'get_loader'

======================================================================
ERROR: test_autotools_with_libtool (tests.test_main.EndToEndTest.test_autotools_with_libtool)
----------------------------------------------------------------------
Traceback (most recent call last):
  File "/<<PKGBUILDDIR>>/tests/test_main.py", line 732, in test_autotools_with_libtool
    build = self.make_terminal_buildscript(config, module_list)
  File "/<<PKGBUILDDIR>>/tests/test_main.py", line 197, in make_terminal_buildscript
    module_set = jhbuild.moduleset.load(config)
  File "/<<PKGBUILDDIR>>/jhbuild/moduleset.py", line 370, in load
    ms.modules.update(_parse_module_set(config, uri).modules)
                      ~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^
  File "/<<PKGBUILDDIR>>/jhbuild/moduleset.py", line 486, in _parse_module_set
    repo_class = get_repo_type(repo_type)
  File "/<<PKGBUILDDIR>>/jhbuild/versioncontrol/__init__.py", line 195, in get_repo_type
    try_import_module('jhbuild.versioncontrol.%s' % name)
    ~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/<<PKGBUILDDIR>>/jhbuild/utils/misc.py", line 39, in try_import_module
    if pkgutil.get_loader(module_name) is None:
       ^^^^^^^^^^^^^^^^^^
AttributeError: module 'pkgutil' has no attribute 'get_loader'

----------------------------------------------------------------------
Ran 42 tests in 0.208s

FAILED (errors=2)
make[1]: *** [Makefile:942: check] Error 1
make[1]: Leaving directory '/<<PKGBUILDDIR>>'
dh_auto_test: error: make -j2 check TESTSUITEFLAGS="-j2 --verbose" VERBOSE=1 returned exit code 2
make: *** [debian/rules:4: binary] Error 25
dpkg-buildpackage: error: debian/rules binary subprocess failed with exit status 2
--------------------------------------------------------------------------------



More information about the pkg-gnome-maintainers mailing list