Skip to content

test_cppext.TestInteralCAPI breaks with --with-valgrind configure option #150907

@encukou

Description

@encukou

Bug report

As seen in recent buildbot falures like here, the --with-valgrind config option breaks the C++ internal API test:

  /usr/bin/g++ -fno-omit-frame-pointer -mno-omit-leaf-frame-pointer -fno-strict-overflow -Wsign-compare -DDYNAMIC_ANNOTATIONS_ENABLED=1 -g -Og -Wall -fPIC -I/home/buildbot-worker/cstratak-fedora-stable-x86_64/3.x.cstratak-fedora-stable-x86_64/build/build_oot/build/test_python_985592æ/tempcwd/env/include -I/home/buildbot-worker/cstratak-fedora-stable-x86_64/3.x.cstratak-fedora-stable-x86_64/build/Include -I/home/buildbot-worker/cstratak-fedora-stable-x86_64/3.x.cstratak-fedora-stable-x86_64/build/build_oot -c extension.cpp -o build/temp.linux-x86_64-cpython-316-pydebug/extension.o -Werror -DMODULE_NAME=_testcppext_internal -DTEST_INTERNAL_C_API=1
  In file included from /home/buildbot-worker/cstratak-fedora-stable-x86_64/3.x.cstratak-fedora-stable-x86_64/build/Include/internal/pycore_pythread.h:11,
                   from /home/buildbot-worker/cstratak-fedora-stable-x86_64/3.x.cstratak-fedora-stable-x86_64/build/Include/internal/pycore_condvar.h:8,
                   from /home/buildbot-worker/cstratak-fedora-stable-x86_64/3.x.cstratak-fedora-stable-x86_64/build/Include/internal/pycore_gil.h:11,
                   from /home/buildbot-worker/cstratak-fedora-stable-x86_64/3.x.cstratak-fedora-stable-x86_64/build/Include/internal/pycore_interp_structs.h:288,
                   from /home/buildbot-worker/cstratak-fedora-stable-x86_64/3.x.cstratak-fedora-stable-x86_64/build/Include/internal/pycore_backoff.h:15,
                   from extension.cpp:28:
  /home/buildbot-worker/cstratak-fedora-stable-x86_64/3.x.cstratak-fedora-stable-x86_64/build/Include/dynamic_annotations.h:472:3: error: template with C linkage
    472 |   template <class T>
        |   ^~~~~~~~
  /home/buildbot-worker/cstratak-fedora-stable-x86_64/3.x.cstratak-fedora-stable-x86_64/build/Include/internal/pycore_pythread.h:4:1: note: ‘extern "C"’ linkage started here
      4 | extern "C" {
        | ^~~~~~~~~~
  error: command '/usr/bin/g++' failed with exit code 1
  error: subprocess-exited-with-error

(Note that this is mostly a canary. We don't support using the internal API in external projects, and we do not use C++ internally.)

Linked PRs

Metadata

Metadata

Assignees

No one assigned

    Labels

    testsTests in the Lib/test dirtype-bugAn unexpected behavior, bug, or error
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions