Your message dated Wed, 11 Oct 2023 17:41:02 +0000
with message-id <e1qqdcg-0003o2...@fasolo.debian.org>
and subject line Bug#1052910: fixed in exhale 0.3.6-4
has caused the Debian Bug report #1052910,
regarding exhale: FTBFS: E                   RuntimeError: Matching child for 
[function] 'conversions::degrees_to_radians_s' with signature 'real(c_float) 
function conversions::degrees_to_radians_s(degrees_s)' not found! Considered 
signatures:
to be marked as done.

This means that you claim that the problem has been dealt with.
If this is not the case it is now your responsibility to reopen the
Bug report if necessary, and/or fix the problem forthwith.

(NB: If you are a system administrator and have no idea what this
message is talking about, this may indicate a serious mail system
misconfiguration somewhere. Please contact ow...@bugs.debian.org
immediately.)


-- 
1052910: https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=1052910
Debian Bug Tracking System
Contact ow...@bugs.debian.org with problems
--- Begin Message ---
Source: exhale
Version: 0.3.6-3
Severity: serious
Justification: FTBFS
Tags: trixie sid ftbfs
User: lu...@debian.org
Usertags: ftbfs-20230925 ftbfs-trixie

Hi,

During a rebuild of all packages in sid, your package failed to build
on amd64.


Relevant part (hopefully):
>  debian/rules binary
> dh binary --buildsystem=pybuild
>    dh_update_autotools_config -O--buildsystem=pybuild
>    dh_autoreconf -O--buildsystem=pybuild
>    dh_auto_configure -O--buildsystem=pybuild
>    dh_auto_build -O--buildsystem=pybuild
> I: pybuild plugin_pyproject:110: Building wheel for python3.11 with "build" 
> module
> I: pybuild base:291: python3.11 -m build --skip-dependency-check 
> --no-isolation --wheel --outdir /<<PKGBUILDDIR>>/.pybuild/cpython3_3.11 
> * Building wheel...
> running bdist_wheel
> running build
> running build_py
> creating build
> creating build/lib
> creating build/lib/exhale
> copying exhale/graph.py -> build/lib/exhale
> copying exhale/utils.py -> build/lib/exhale
> copying exhale/__init__.py -> build/lib/exhale
> copying exhale/parse.py -> build/lib/exhale
> copying exhale/configs.py -> build/lib/exhale
> copying exhale/deploy.py -> build/lib/exhale
> creating build/lib/exhale/data
> creating build/lib/exhale/data/treeView
> creating build/lib/exhale/data/treeView/collapsible-lists
> creating build/lib/exhale/data/treeView/collapsible-lists/css
> copying exhale/data/treeView/collapsible-lists/css/button-closed.png -> 
> build/lib/exhale/data/treeView/collapsible-lists/css
> copying exhale/data/treeView/collapsible-lists/css/list-item-open.png -> 
> build/lib/exhale/data/treeView/collapsible-lists/css
> copying exhale/data/treeView/collapsible-lists/css/button-open.png -> 
> build/lib/exhale/data/treeView/collapsible-lists/css
> copying exhale/data/treeView/collapsible-lists/css/list-item-last.png -> 
> build/lib/exhale/data/treeView/collapsible-lists/css
> copying exhale/data/treeView/collapsible-lists/css/list-item.png -> 
> build/lib/exhale/data/treeView/collapsible-lists/css
> copying exhale/data/treeView/collapsible-lists/css/list-item-contents.png -> 
> build/lib/exhale/data/treeView/collapsible-lists/css
> copying exhale/data/treeView/collapsible-lists/css/list-item-last-open.png -> 
> build/lib/exhale/data/treeView/collapsible-lists/css
> copying exhale/data/treeView/collapsible-lists/css/list-item-root.png -> 
> build/lib/exhale/data/treeView/collapsible-lists/css
> copying exhale/data/treeView/collapsible-lists/css/tree_view.css -> 
> build/lib/exhale/data/treeView/collapsible-lists/css
> copying exhale/data/treeView/collapsible-lists/css/button.png -> 
> build/lib/exhale/data/treeView/collapsible-lists/css
> creating build/lib/exhale/data/treeView/collapsible-lists/js
> copying 
> exhale/data/treeView/collapsible-lists/js/CollapsibleLists.compressed.js -> 
> build/lib/exhale/data/treeView/collapsible-lists/js
> copying exhale/data/treeView/collapsible-lists/js/apply-collapsible-lists.js 
> -> build/lib/exhale/data/treeView/collapsible-lists/js
> copying exhale/data/treeView/collapsible-lists/LICENSE.md -> 
> build/lib/exhale/data/treeView/collapsible-lists
> creating build/lib/exhale/data/treeView-bootstrap
> creating build/lib/exhale/data/treeView-bootstrap/bootstrap-treeview
> copying 
> exhale/data/treeView-bootstrap/bootstrap-treeview/bootstrap-treeview.min.css 
> -> build/lib/exhale/data/treeView-bootstrap/bootstrap-treeview
> copying 
> exhale/data/treeView-bootstrap/bootstrap-treeview/bootstrap-treeview.min.js 
> -> build/lib/exhale/data/treeView-bootstrap/bootstrap-treeview
> copying exhale/data/treeView-bootstrap/bootstrap-treeview/LICENSE -> 
> build/lib/exhale/data/treeView-bootstrap/bootstrap-treeview
> copying 
> exhale/data/treeView-bootstrap/bootstrap-treeview/apply-bootstrap-treview.js 
> -> build/lib/exhale/data/treeView-bootstrap/bootstrap-treeview
> installing to build/bdist.linux-x86_64/wheel
> running install
> running install_lib
> creating build/bdist.linux-x86_64
> creating build/bdist.linux-x86_64/wheel
> creating build/bdist.linux-x86_64/wheel/exhale
> copying build/lib/exhale/graph.py -> build/bdist.linux-x86_64/wheel/exhale
> copying build/lib/exhale/utils.py -> build/bdist.linux-x86_64/wheel/exhale
> copying build/lib/exhale/__init__.py -> build/bdist.linux-x86_64/wheel/exhale
> creating build/bdist.linux-x86_64/wheel/exhale/data
> creating build/bdist.linux-x86_64/wheel/exhale/data/treeView
> creating build/bdist.linux-x86_64/wheel/exhale/data/treeView/collapsible-lists
> creating 
> build/bdist.linux-x86_64/wheel/exhale/data/treeView/collapsible-lists/css
> copying 
> build/lib/exhale/data/treeView/collapsible-lists/css/button-closed.png -> 
> build/bdist.linux-x86_64/wheel/exhale/data/treeView/collapsible-lists/css
> copying 
> build/lib/exhale/data/treeView/collapsible-lists/css/list-item-open.png -> 
> build/bdist.linux-x86_64/wheel/exhale/data/treeView/collapsible-lists/css
> copying 
> build/lib/exhale/data/treeView/collapsible-lists/css/list-item-root.png -> 
> build/bdist.linux-x86_64/wheel/exhale/data/treeView/collapsible-lists/css
> copying 
> build/lib/exhale/data/treeView/collapsible-lists/css/list-item-last.png -> 
> build/bdist.linux-x86_64/wheel/exhale/data/treeView/collapsible-lists/css
> copying build/lib/exhale/data/treeView/collapsible-lists/css/list-item.png -> 
> build/bdist.linux-x86_64/wheel/exhale/data/treeView/collapsible-lists/css
> copying build/lib/exhale/data/treeView/collapsible-lists/css/button-open.png 
> -> build/bdist.linux-x86_64/wheel/exhale/data/treeView/collapsible-lists/css
> copying build/lib/exhale/data/treeView/collapsible-lists/css/button.png -> 
> build/bdist.linux-x86_64/wheel/exhale/data/treeView/collapsible-lists/css
> copying 
> build/lib/exhale/data/treeView/collapsible-lists/css/list-item-contents.png 
> -> build/bdist.linux-x86_64/wheel/exhale/data/treeView/collapsible-lists/css
> copying build/lib/exhale/data/treeView/collapsible-lists/css/tree_view.css -> 
> build/bdist.linux-x86_64/wheel/exhale/data/treeView/collapsible-lists/css
> copying 
> build/lib/exhale/data/treeView/collapsible-lists/css/list-item-last-open.png 
> -> build/bdist.linux-x86_64/wheel/exhale/data/treeView/collapsible-lists/css
> creating 
> build/bdist.linux-x86_64/wheel/exhale/data/treeView/collapsible-lists/js
> copying 
> build/lib/exhale/data/treeView/collapsible-lists/js/CollapsibleLists.compressed.js
>  -> build/bdist.linux-x86_64/wheel/exhale/data/treeView/collapsible-lists/js
> copying 
> build/lib/exhale/data/treeView/collapsible-lists/js/apply-collapsible-lists.js
>  -> build/bdist.linux-x86_64/wheel/exhale/data/treeView/collapsible-lists/js
> copying build/lib/exhale/data/treeView/collapsible-lists/LICENSE.md -> 
> build/bdist.linux-x86_64/wheel/exhale/data/treeView/collapsible-lists
> creating build/bdist.linux-x86_64/wheel/exhale/data/treeView-bootstrap
> creating 
> build/bdist.linux-x86_64/wheel/exhale/data/treeView-bootstrap/bootstrap-treeview
> copying 
> build/lib/exhale/data/treeView-bootstrap/bootstrap-treeview/bootstrap-treeview.min.css
>  -> 
> build/bdist.linux-x86_64/wheel/exhale/data/treeView-bootstrap/bootstrap-treeview
> copying build/lib/exhale/data/treeView-bootstrap/bootstrap-treeview/LICENSE 
> -> 
> build/bdist.linux-x86_64/wheel/exhale/data/treeView-bootstrap/bootstrap-treeview
> copying 
> build/lib/exhale/data/treeView-bootstrap/bootstrap-treeview/apply-bootstrap-treview.js
>  -> 
> build/bdist.linux-x86_64/wheel/exhale/data/treeView-bootstrap/bootstrap-treeview
> copying 
> build/lib/exhale/data/treeView-bootstrap/bootstrap-treeview/bootstrap-treeview.min.js
>  -> 
> build/bdist.linux-x86_64/wheel/exhale/data/treeView-bootstrap/bootstrap-treeview
> copying build/lib/exhale/parse.py -> build/bdist.linux-x86_64/wheel/exhale
> copying build/lib/exhale/configs.py -> build/bdist.linux-x86_64/wheel/exhale
> copying build/lib/exhale/deploy.py -> build/bdist.linux-x86_64/wheel/exhale
> running install_egg_info
> running egg_info
> creating exhale.egg-info
> writing exhale.egg-info/PKG-INFO
> /usr/lib/python3/dist-packages/setuptools/dist.py:172: 
> SetuptoolsDeprecationWarning: Invalid config.
> !!
> 
>         
> ********************************************************************************
>         newlines are not allowed in `summary` and will break in the future
>         
> ********************************************************************************
> 
> !!
>   write_field('Summary', single_line(summary))
> writing dependency_links to exhale.egg-info/dependency_links.txt
> writing requirements to exhale.egg-info/requires.txt
> writing top-level names to exhale.egg-info/top_level.txt
> writing manifest file 'exhale.egg-info/SOURCES.txt'
> reading manifest file 'exhale.egg-info/SOURCES.txt'
> adding license file 'LICENSE'
> writing manifest file 'exhale.egg-info/SOURCES.txt'
> Copying exhale.egg-info to 
> build/bdist.linux-x86_64/wheel/exhale-0.3.6.egg-info
> running install_scripts
> creating build/bdist.linux-x86_64/wheel/exhale-0.3.6.dist-info/WHEEL
> creating 
> '/<<PKGBUILDDIR>>/.pybuild/cpython3_3.11/.tmp-ni7dxltd/exhale-0.3.6-py3-none-any.whl'
>  and adding 'build/bdist.linux-x86_64/wheel' to it
> adding 'exhale/__init__.py'
> adding 'exhale/configs.py'
> adding 'exhale/deploy.py'
> adding 'exhale/graph.py'
> adding 'exhale/parse.py'
> adding 'exhale/utils.py'
> adding 'exhale/data/treeView/collapsible-lists/LICENSE.md'
> adding 'exhale/data/treeView/collapsible-lists/css/button-closed.png'
> adding 'exhale/data/treeView/collapsible-lists/css/button-open.png'
> adding 'exhale/data/treeView/collapsible-lists/css/button.png'
> adding 'exhale/data/treeView/collapsible-lists/css/list-item-contents.png'
> adding 'exhale/data/treeView/collapsible-lists/css/list-item-last-open.png'
> adding 'exhale/data/treeView/collapsible-lists/css/list-item-last.png'
> adding 'exhale/data/treeView/collapsible-lists/css/list-item-open.png'
> adding 'exhale/data/treeView/collapsible-lists/css/list-item-root.png'
> adding 'exhale/data/treeView/collapsible-lists/css/list-item.png'
> adding 'exhale/data/treeView/collapsible-lists/css/tree_view.css'
> adding 
> 'exhale/data/treeView/collapsible-lists/js/CollapsibleLists.compressed.js'
> adding 'exhale/data/treeView/collapsible-lists/js/apply-collapsible-lists.js'
> adding 'exhale/data/treeView-bootstrap/bootstrap-treeview/LICENSE'
> adding 
> 'exhale/data/treeView-bootstrap/bootstrap-treeview/apply-bootstrap-treview.js'
> adding 
> 'exhale/data/treeView-bootstrap/bootstrap-treeview/bootstrap-treeview.min.css'
> adding 
> 'exhale/data/treeView-bootstrap/bootstrap-treeview/bootstrap-treeview.min.js'
> adding 'exhale-0.3.6.dist-info/LICENSE'
> adding 'exhale-0.3.6.dist-info/METADATA'
> adding 'exhale-0.3.6.dist-info/WHEEL'
> adding 'exhale-0.3.6.dist-info/top_level.txt'
> adding 'exhale-0.3.6.dist-info/RECORD'
> removing build/bdist.linux-x86_64/wheel
> Successfully built exhale-0.3.6-py3-none-any.whl
> I: pybuild plugin_pyproject:122: Unpacking wheel built for python3.11 with 
> "installer" module
>    dh_auto_test -O--buildsystem=pybuild
> I: pybuild base:291: cd /<<PKGBUILDDIR>>/.pybuild/cpython3_3.11/build; 
> python3.11 -m pytest /<<PKGBUILDDIR>>/testing -m "not setup_raises" -k "not 
> CPPNestingPages"
> ============================= test session starts 
> ==============================
> platform linux -- Python 3.11.5, pytest-7.4.2, pluggy-1.3.0
> cachedir: testing/.cache
> rootdir: /<<PKGBUILDDIR>>
> configfile: pyproject.toml
> collected 121 items / 13 deselected / 108 selected
> 
> ../../../testing/tests/c_maths.py .....                                  [  
> 4%]
> ../../../testing/tests/configs.py ..........................             [ 
> 28%]
> ../../../testing/tests/configs_tree_view.py ......                       [ 
> 34%]
> ../../../testing/tests/cpp_dir_underscores.py ....                       [ 
> 37%]
> ../../../testing/tests/cpp_fortran_mixed.py ..F.                         [ 
> 41%]
> ../../../testing/tests/cpp_func_overloads.py ...                         [ 
> 44%]
> ../../../testing/tests/cpp_long_names.py ...                             [ 
> 47%]
> ../../../testing/tests/cpp_nesting.py ...                                [ 
> 50%]
> ../../../testing/tests/cpp_pimpl.py .......                              [ 
> 56%]
> ../../../testing/tests/cpp_with_spaces.py ...                            [ 
> 59%]
> ../../../testing/tests/utils.py ........................................ [ 
> 96%]
> ....                                                                     
> [100%]
> 
> =================================== FAILURES 
> ===================================
> _______________________ CPPFortranMixed.test_hierarchies 
> _______________________
> 
> self = <testing.tests.cpp_fortran_mixed.CPPFortranMixed 
> testMethod=test_hierarchies>
> 
>     def test_hierarchies(self):
>         """
>         Validate the class and file hierarchies.
>     
>         **Not tested on Windows**, maybe I'll care to fix it one day.
>         `But it is not this day`__!
>     
>         __ https://youtu.be/EXGUNvIFTQw
>     
>         .. todo::
>     
>             Too much shared code in hierarchy comparisons, the class 
> hierarchy for this
>             project should be **empty**.  Need to enable asserting this fact 
> (same for
>             the ``cpp_nesting`` project).
>         """
>         if platform.system() != "Windows":
>             # compare_class_hierarchy(self, class_hierarchy({}))
> >           compare_file_hierarchy(self, 
> > file_hierarchy(self.file_hierarchy_dict()))
> 
> ../../../testing/tests/cpp_fortran_mixed.py:74: 
> _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
> _ 
> ../../../testing/hierarchies.py:1246: in compare_file_hierarchy
>     _compare_children("file", test, test_obj, exhale_obj)
> ../../../testing/hierarchies.py:1114: in _compare_children
>     _compare_children(hierarchy_type, test, test_grand_child, 
> exhale_grand_child)
> _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
> _ 
> 
> hierarchy_type = 'file'
> test = <testing.tests.cpp_fortran_mixed.CPPFortranMixed 
> testMethod=test_hierarchies>
> test_child = File(src/conversions.f90, n_kids=8)
> exhale_child = File(src/conversions.f90, n_kids=8)
> 
>     def _compare_children(hierarchy_type, test, test_child, exhale_child):
>         if test_child.parent:
>             test.assertTrue(
>                 exhale_child.parent is not None,
>                 f"test_child of kind={test_child.kind} name={test_child.name} 
> had a "
>                 f"parent of kind={test_child.parent.kind} 
> name={test_child.parent.name} "
>                 "but exhale_child did *NOT* have a parent.  Likely invalid 
> test hierarchy.")
>             test.assertEqual(test_child.parent.name, exhale_child.parent.name)
>             test.assertEqual(test_child.parent.kind, exhale_child.parent.kind)
>         else:
>             # namespaces are not represented in the file hierarchy, but in 
> the Exhale graph
>             # the parent will be the namespace
>             if "::" in test_child.name and hierarchy_type == "file":
>                 test.assertTrue(exhale_child.parent is not None)
>                 test.assertTrue(exhale_child.parent.kind == "namespace")
>             else:
>                 # Better error message when the test fails, but don't crash 
> tests
>                 # that succeed by accessing `parent`.
>                 def err_message():
>                     if exhale_child.parent is None:
>                         return ""
>                     return (
>                         f"exhale_child of kind={exhale_child.kind} "
>                         f"name={exhale_child.name} had a parent of "
>                         f"kind={exhale_child.parent.kind} "
>                         f"name={exhale_child.parent.name} but *NO* parent was 
> expected."
>                     )
>     
>                 test.assertTrue(exhale_child.parent is None, err_message())
>     
>         if hierarchy_type == "file":
>             if test_child.def_in_file:
>                 # TODO: populate location variables for files
>                 test.assertEqual(test_child.def_in_file.name, 
> exhale_child.def_in_file.name)
>                 test.assertEqual(test_child.def_in_file.location, 
> exhale_child.def_in_file.location)
>             else:
>                 test.assertTrue(exhale_child.def_in_file is None)
>     
>             # Make sure parent references for directory and file pages are 
> included.
>             if test_child.kind in {"dir", "file"}:
>                 # Load in the generated file contents.
>                 generated_rst_path = os.path.join(
>                     test.getAbsContainmentFolder(), exhale_child.file_name
>                 )
>                 with codecs.open(generated_rst_path, "r", "utf-8") as 
> gen_file:
>                     generated_rst = gen_file.read()
>     
>                 if test_child.kind == "dir":
>                     # Make sure full directory path is included (at least for 
> now, may
>                     # put it back in the title at some point).
>                     path = "*Directory path:* 
> ``{path}``".format(path=test_child.name)
>                     test.assertTrue(
>                         path in generated_rst,
>                         textwrap.dedent('''
>                             The following full path listing:
>     
>                             {vsep}
>                             {path}
>                             {vsep}
>     
>                             was not found in '{generated_rst_path}' with full 
> contents:
>     
>                             {vsep}
>                             {generated_rst}
>                             {vsep}
>                         ''').format(
>                             vsep=("*" * 77),
>                             path=path,
>                             generated_rst_path=generated_rst_path,
>                             generated_rst=generated_rst
>                         )
>                     )
>                 else:  # test_child.kind == "file"
>                     program_listing_path = os.path.join(
>                         os.path.dirname(generated_rst_path),
>                         exhale_child.program_file  # wtf did i do 
> gerrymanderNodeFilenames for?!
>                     )
>                     program_listing_basename = 
> os.path.basename(program_listing_path)
>     
>                     # 1. Make sure link to program_listing file is generated.
>                     program_listing_toctree = textwrap.dedent('''
>                         .. toctree::
>                            :maxdepth: 1
>     
>                            {program_listing_basename}
>                     ''').format(
>                         program_listing_basename=program_listing_basename
>                     )
>                     test.assertTrue(
>                         program_listing_toctree in generated_rst,
>                         textwrap.dedent('''
>                             The following toctree directive:
>     
>                             {vsep}
>                             {program_listing_toctree}
>                             {vsep}
>     
>                             was not found in '{generated_rst_path}' with full 
> contents:
>     
>                             {vsep}
>                             {generated_rst}
>                             {vsep}
>                         ''').format(
>                             vsep=("*" * 77),
>                             program_listing_toctree=program_listing_toctree,
>                             generated_rst_path=generated_rst_path,
>                             generated_rst=generated_rst
>                         )
>                     )
>     
>                     # 2. Make sure link back to file page from 
> program_listing file is generated.
>                     program_back_link = textwrap.dedent('''
>                         |exhale_lsh| :ref:`Return to documentation for file 
> <{file_link}>` (``{file_location}``)
>     
>                         .. |exhale_lsh| unicode:: U+021B0 .. UPWARDS ARROW 
> WITH TIP LEFTWARDS
>     
>                     ''').format(
>                         file_link=exhale_child.link_name,
>                         file_location=exhale_child.location
>                     )
>                     # NOTE: see #171
>                     test.assertTrue(
>                         program_back_link.endswith("S\n\n"),
>                         "Test setup failure, trailing newlines are expected.")
>     
>                     with codecs.open(program_listing_path, "r", "utf-8") as 
> pl_file:
>                         desired_lines = []
>                         for line in pl_file:
>                             if line.startswith(".. code-block::"):
>                                 break
>                             desired_lines.append(line)
>                         program_listing_header = "".join(desired_lines)
>     
>                     test.assertTrue(
>                         program_back_link in program_listing_header,
>                         textwrap.dedent('''
>                             The following back-link:
>     
>                             {vsep}
>                             {program_back_link}
>                             {vsep}
>     
>                             was not found in '{program_listing_path}' with 
> header contents:
>     
>                             {vsep}
>                             {program_listing_header}
>                             {vsep}
>                         ''').format(
>                             vsep=("*" * 77),
>                             program_back_link=program_back_link,
>                             program_listing_path=program_listing_path,
>                             program_listing_header=program_listing_header
>                         )
>                     )
>     
>                 # If parent exists, verify that a link to the parent is 
> created.
>                 if test_child.parent:
>                     # Reconstruct expected parent directory reference rst.
>                     # TODO: un-copy-paste this from graph.py
>                     if test_child.parent.kind == "file":
>                         parent_unique_id = test_child.parent.location
>                     else:
>                         parent_unique_id = test_child.parent.name
>                     parent_unique_id = parent_unique_id.replace(":", 
> "_").replace(os.sep, "_").replace(" ", "_")
>                     parent_link_name = 
> "{kind}_{id}".format(kind=test_child.parent.kind, id=parent_unique_id)
>                     parent_name = test_child.parent.name
>                     parent_reference = textwrap.dedent('''
>                         |exhale_lsh| :ref:`Parent directory <{parent_link}>` 
> (``{parent_name}``)
>     
>                         .. |exhale_lsh| unicode:: U+021B0 .. UPWARDS ARROW 
> WITH TIP LEFTWARDS
>     
>                     '''.format(
>                         parent_link=parent_link_name, parent_name=parent_name
>                     ))
>                     # NOTE: see #171
>                     test.assertTrue(
>                         parent_reference.endswith("S\n\n"),
>                         "Test setup failure, trailing newlines are expected.")
>     
>                     # Verify that both files and directories link to their 
> directory parent
>                     test.assertTrue(
>                         parent_reference in generated_rst,
>                         textwrap.dedent('''
>                             The following parent directory reference:
>     
>                             {vsep}
>                             {parent_reference}
>                             {vsep}
>     
>                             was not found in '{generated_rst_path}' with full 
> contents:
>     
>                             {vsep}
>                             {generated_rst}
>                             {vsep}
>                         ''').format(
>                             vsep=("*" * 77),
>                             parent_reference=parent_reference,
>                             generated_rst_path=generated_rst_path,
>                             generated_rst=generated_rst
>                         )
>                     )
>     
>         # Make sure they have the same name.
>         test.assertEqual(
>             test_child.name,
>             exhale_child.name,
>             "test_child.name [{tc_name}] != exhale_child.name 
> [{ec_name}]".format(
>                 tc_name=test_child.name, ec_name=exhale_child.name
>             )
>         )
>         # Make sure they have the same kind.
>         test.assertEqual(
>             test_child.kind,
>             exhale_child.kind,
>             "test_child.kind [{tc_kind}] != exhale_child.kind 
> [{ec_kind}]".format(
>                 tc_kind=test_child.kind, ec_kind=exhale_child.kind
>             )
>         )
>         # Make sure they have the same number of children.
>         CHILD_COUNT_IGNORE_KINDS = ["enumvalue", "group"]
>         # Functions do not appear in the class hierarchy.
>         if hierarchy_type == "class":
>             CHILD_COUNT_IGNORE_KINDS.append("function")
>         num_exhale_children = sum(child.kind not in CHILD_COUNT_IGNORE_KINDS 
> for child in exhale_child.children)
>         test.assertEqual(
>             len(test_child.children),
>             num_exhale_children,
>             textwrap.dedent('''
>                 For child: {child_name}
>     
>                 test_child.children names:
>     
>                 {tc_names}
>     
>                 exhale_child.children names:
>     
>                 {ec_names}
>             ''').format(
>                 child_name=test_child.breathe_identifier(),
>                 tc_names="\n".join([
>                     "- 
> {breathe_identifier}".format(breathe_identifier=child.breathe_identifier())
>                     for child in test_child.children
>                 ]),
>                 ec_names="\n".join([
>                     "- 
> {breathe_identifier}".format(breathe_identifier=child.breathe_identifier())
>                     for child in exhale_child.children if child.kind not in 
> CHILD_COUNT_IGNORE_KINDS
>                 ])
>             )
>         )
>     
>         for test_grand_child in test_child.children:
>             exhale_grand_child = None
>             if test_grand_child.kind == "function":
>                 # NOTE: First hit in macOS, possibly inbound with newer 
> doxygen elsewhere.
>                 # Matching child for [function] 
> 'conversions::degrees_to_radians_s' with
>                 # signature
>                 # 'real(c_float) function 
> conversions::degrees_to_radians_s(degrees_s)'
>                 # not found!  Considered signatures:
>                 # real(c_double) function 
> conversions::degrees_to_radians_d(real(c_double), intent(in))
>                 # real(c_float) function 
> conversions::degrees_to_radians_s(real(c_float), intent(in))
>                 # real(c_double) function 
> conversions::radians_to_degrees_d(real(c_double), intent(in))
>                 # real(c_float) function 
> conversions::radians_to_degrees_s(real(c_float), intent(in))
>                 #
>                 # ns::func(paramname) => ns::func(paramtype, param???)
>                 #          degrees_s              real(c_float), intent(in)
>                 #
>                 # Coming from cpp_fortran_mixed conversions.f90, relates to 
> docstring...
>                 test_signature = test_grand_child.full_signature()
>                 if platform.system() == "Darwin" and \
>                         test_grand_child.def_in_file.name == 
> "conversions.f90":
>                     test_signature = re.sub(
>                         rf"(.*) (function 
> ({test_grand_child.name}))\((.*)\)$",
>                         r"\1 \2(\1, intent(in))",
>                         test_signature
>                     )
>                 considered_signatures = []  # for error reporting help in CI
>                 for candidate in exhale_child.children:
>                     if candidate.kind == "function":
>                         candidate_signature = candidate.full_signature()
>                         considered_signatures.append(candidate_signature)
>                         if test_signature == candidate_signature:
>                             exhale_grand_child = candidate
>                             break
>     
>                 if not exhale_grand_child:
>                     sig_str = "\n- ".join(considered_signatures)
> >                   raise RuntimeError(
>                         f"Matching child for [{test_grand_child.kind}] "
>                         f"'{test_grand_child.name}' with signature 
> '{test_signature}' not "
>                         f"found!  Considered signatures:\n{sig_str}.")
> E                   RuntimeError: Matching child for [function] 
> 'conversions::degrees_to_radians_s' with signature 'real(c_float) function 
> conversions::degrees_to_radians_s(degrees_s)' not found!  Considered 
> signatures:
> E                   real(c_double) function 
> conversions::degrees_to_radians_d(real(c_double), intent(in))
> E                   - real(c_float) function 
> conversions::degrees_to_radians_s(real(c_float), intent(in))
> E                   - real(c_double) function 
> conversions::radians_to_degrees_d(real(c_double), intent(in))
> E                   - real(c_float) function 
> conversions::radians_to_degrees_s(real(c_float), intent(in)).
> 
> ../../../testing/hierarchies.py:1100: RuntimeError
> ---------------------------- Captured stdout setup 
> -----------------------------
> Doxygen version used: 1.9.8
> Notice: Output directory 
> '/<<PKGBUILDDIR>>/testing/projects/cpp_fortran_mixed/docs_CPPFortranMixed_test_hierarchies/_doxygen'
>  does not exist. I have created it for you.
> Searching for include files...
> Searching for example files...
> Searching for images...
> Searching for dot files...
> Searching for msc files...
> Searching for dia files...
> Searching for files to exclude
> Searching INPUT for files to process...
> Searching for files in directory 
> /<<PKGBUILDDIR>>/testing/projects/cpp_fortran_mixed/include
> Searching for files in directory 
> /<<PKGBUILDDIR>>/testing/projects/cpp_fortran_mixed/include/convert
> Reading and parsing tag files
> Parsing files
> Preprocessing 
> /<<PKGBUILDDIR>>/testing/projects/cpp_fortran_mixed/include/convert/convert.hpp...
> Parsing file 
> /<<PKGBUILDDIR>>/testing/projects/cpp_fortran_mixed/include/convert/convert.hpp...
> Reading 
> /<<PKGBUILDDIR>>/testing/projects/cpp_fortran_mixed/src/conversions.f90...
> Parsing file 
> /<<PKGBUILDDIR>>/testing/projects/cpp_fortran_mixed/src/conversions.f90...
> Building macro definition list...
> Building group list...
> Building directory list...
> Building namespace list...
> Building file list...
> Building class list...
> Building concept list...
> Computing nesting relations for classes...
> Associating documentation with classes...
> Associating documentation with concepts...
> Associating documentation with modules...
> Building example list...
> Searching for enumerations...
> Searching for documented typedefs...
> Searching for members imported via using declarations...
> Searching for included using directives...
> Searching for documented variables...
> Building interface member list...
> Building member list...
> Searching for friends...
> Searching for documented defines...
> Computing class inheritance relations...
> Computing class usage relations...
> Flushing cached template relations that have become invalid...
> Computing class relations...
> Add enum values to enums...
> Searching for member function documentation...
> Creating members for template instances...
> Building page list...
> Search for main page...
> Computing page relations...
> Determining the scope of groups...
> Computing module relations...
> Sorting lists...
> Determining which enums are documented
> Computing member relations...
> Building full member lists recursively...
> Adding members to member groups.
> Computing member references...
> Inheriting documentation...
> Generating disk names...
> Adding source references...
> Adding xrefitems...
> Sorting member lists...
> Setting anonymous enum type...
> Computing dependencies between directories...
> Generating citations page...
> Counting members...
> Counting data structures...
> Resolving user defined references...
> Finding anchors and sections in the documentation...
> Transferring function references...
> Combining using relations...
> Adding members to index pages...
> Correcting members for VHDL...
> Computing tooltip texts...
> Generating style sheet...
> Generating search indices...
> Generating example documentation...
> Generating file sources...
> Generating code for file include/convert/convert.hpp...
> Generating file documentation...
> Generating docs for file include/convert/convert.hpp...
> Generating docs for file src/conversions.f90...
> Generating page documentation...
> Generating group documentation...
> Generating class documentation...
> Generating concept documentation...
> Generating module documentation...
> Generating namespace documentation...
> Generating docs for namespace conversions
> Generating docs for namespace convert
> Generating graph info page...
> Generating directory documentation...
> Generating dependency graph for directory include/convert
> finalizing index lists...
> writing tag file...
> Generating XML output...
> Generating XML output for namespace conversions
> Generating XML output for namespace convert
> Generating XML output for file convert.hpp
> Generating XML output for file conversions.f90
> Generate XML output for dir 
> /<<PKGBUILDDIR>>/testing/projects/cpp_fortran_mixed/include/convert/
> Generate XML output for dir 
> /<<PKGBUILDDIR>>/testing/projects/cpp_fortran_mixed/include/
> Generate XML output for dir 
> /<<PKGBUILDDIR>>/testing/projects/cpp_fortran_mixed/src/
> Running plantuml with JAVA...
> Running dot...
> type lookup cache used 28/65536 hits=194 misses=28
> symbol lookup cache used 39/65536 hits=369 misses=39
> finished...
> 
> [~] Exhale: parsing Doxygen XML.
> [+] Exhale: finished parsing Doxygen XML in 0.04 seconds.
> [~] Exhale: generating reStructuredText documents.
> [+] Exhale: generated reStructuredText documents in 0.03 seconds.
> --------------------------- Captured stdout teardown 
> ---------------------------
> # testroot: root
> # builder: html
> # srcdir: 
> /<<PKGBUILDDIR>>/testing/projects/cpp_fortran_mixed/docs_CPPFortranMixed_test_hierarchies
> # outdir: 
> /<<PKGBUILDDIR>>/testing/projects/cpp_fortran_mixed/docs_CPPFortranMixed_test_hierarchies/_build/html
> # status: 
> Running Sphinx v5.3.0
> [~] Exhale: changing directories to 
> [/<<PKGBUILDDIR>>/testing/projects/cpp_fortran_mixed/docs_CPPFortranMixed_test_hierarchies]
>  to execute Doxygen.
> [~] Exhale: executing doxygen.
> [~] Exhale: changing directories back to 
> [/<<PKGBUILDDIR>>/.pybuild/cpython3_3.11/build] after Doxygen.
> [+] Exhale: doxygen ran successfully in 0.05 seconds.
> 
> # warning: 
> 
> =============================== warnings summary 
> ===============================
> ../../../../../../usr/lib/python3/dist-packages/babel/messages/catalog.py:13
>   /usr/lib/python3/dist-packages/babel/messages/catalog.py:13: 
> DeprecationWarning: 'cgi' is deprecated and slated for removal in Python 3.13
>     from cgi import parse_header
> 
> testing/tests/c_maths.py::CMathsTests::test_alt_out
>   /usr/lib/python3/dist-packages/sphinx/util/images.py:4: DeprecationWarning: 
> 'imghdr' is deprecated and slated for removal in Python 3.13
>     import imghdr
> 
> -- Docs: https://docs.pytest.org/en/stable/how-to/capture-warnings.html
> =========================== short test summary info 
> ============================
> FAILED 
> ../../../testing/tests/cpp_fortran_mixed.py::CPPFortranMixed::test_hierarchies
> ========== 1 failed, 107 passed, 13 deselected, 2 warnings in 21.31s 
> ===========
> E: pybuild pybuild:395: test: plugin pyproject failed with: exit code=1: cd 
> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.11/build; python3.11 -m pytest 
> /<<PKGBUILDDIR>>/testing -m "not setup_raises" -k "not CPPNestingPages"
> dh_auto_test: error: pybuild --test --test-pytest -i python{version} -p 3.11 
> returned exit code 13


The full build log is available from:
http://qa-logs.debian.net/2023/09/25/exhale_0.3.6-3_unstable.log

All bugs filed during this archive rebuild are listed at:
https://bugs.debian.org/cgi-bin/pkgreport.cgi?tag=ftbfs-20230925;users=lu...@debian.org
or:
https://udd.debian.org/bugs/?release=na&merged=ign&fnewerval=7&flastmodval=7&fusertag=only&fusertagtag=ftbfs-20230925&fusertaguser=lu...@debian.org&allbugs=1&cseverity=1&ctags=1&caffected=1#results

A list of current common problems and possible solutions is available at
http://wiki.debian.org/qa.debian.org/FTBFS . You're welcome to contribute!

If you reassign this bug to another package, please mark it as 'affects'-ing
this package. See https://www.debian.org/Bugs/server-control#affects

If you fail to reproduce this, please provide a build log and diff it with mine
so that we can identify if something relevant changed in the meantime.

--- End Message ---
--- Begin Message ---
Source: exhale
Source-Version: 0.3.6-4
Done: Timo Röhling <roehl...@debian.org>

We believe that the bug you reported is fixed in the latest version of
exhale, which is due to be installed in the Debian FTP archive.

A summary of the changes between this version and the previous one is
attached.

Thank you for reporting the bug, which will now be closed.  If you
have further comments please address them to 1052...@bugs.debian.org,
and the maintainer will reopen the bug report if appropriate.

Debian distribution maintenance software
pp.
Timo Röhling <roehl...@debian.org> (supplier of updated exhale package)

(This message was generated automatically at their request; if you
believe that there is a problem with it please contact the archive
administrators by mailing ftpmas...@ftp-master.debian.org)


-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA512

Format: 1.8
Date: Wed, 11 Oct 2023 19:22:36 +0200
Source: exhale
Architecture: source
Version: 0.3.6-4
Distribution: unstable
Urgency: medium
Maintainer: Debian Python Team <team+pyt...@tracker.debian.org>
Changed-By: Timo Röhling <roehl...@debian.org>
Closes: 1044900 1052910
Changes:
 exhale (0.3.6-4) unstable; urgency=medium
 .
   * Clean test build files (Closes: #1044900)
   * Hotfix for Fortran signature change (Closes: #1052910)
Checksums-Sha1:
 4a3b6b385ee0b985e76abcdabdb8fdbb8f374dd8 2125 exhale_0.3.6-4.dsc
 036070ae594535da8bc37728fd652456abc2c2b6 12192 exhale_0.3.6-4.debian.tar.xz
Checksums-Sha256:
 c245353979168b57b4fb8c8f22769059255a9628473426fb8e44b53a0fdd8b02 2125 
exhale_0.3.6-4.dsc
 e9d556e4fe56683775ea10253e44a8170af701218f5895b67d3283aa399850c5 12192 
exhale_0.3.6-4.debian.tar.xz
Files:
 0eb72ed16ed555571d96defbfd70e716 2125 python optional exhale_0.3.6-4.dsc
 6e0c292edbcc77619cda547a880f7524 12192 python optional 
exhale_0.3.6-4.debian.tar.xz

-----BEGIN PGP SIGNATURE-----

iQHIBAEBCgAyFiEEJvtDgpxjkjCIVtam+C8H+466LVkFAmUm2skUHHJvZWhsaW5n
QGRlYmlhbi5vcmcACgkQ+C8H+466LVk5lgwAuTNLyBBfKNjpwI/alPpNqrQzk9A8
EP+z5JSh23zaZXkZ/P/dSI1N1Kygt3Y41nmCrEwPLav3YmmztD40ZzPNnX98Ynjv
S8P0J4UOCyqW8upeYW0UiNZ/wMnUl6xGbo4mwLSRQtsEhQ9OdyNedGZy0cw8Isfg
tMYYIJy8XibOUEqmEPNEqTHekKWdgi6lcOeq5eRnlQrvI1/2Nrxm2incMMeadAxT
6IsJzJeJ0UqqnI1ToRBw8/L6RTYYhJs0t4p2wc/l4RYd1mmtWpEVrhud9a6t8HPr
mBsdNPCcFkE1bMGbjscCya9AL1jZvjHkzJ957iCeIalEvhKQoDhldrS3M7uA1llS
pofgFz+COV/L7xv166rH2je8842X0CfGsu0DenVXZwhZ7dFtL9O95CeSdE1w4izF
1xBBbZdtB26XkqGoAmFjgQQTYFAA4+vNNEqENvblZmeBLB6fGJ3k6ImHwdkKn/zL
ArkgoLdIwbu+z1gYNsdizeH6mvrjxWV1wh7J
=5KRC
-----END PGP SIGNATURE-----

--- End Message ---

Reply via email to