Skip to content

Fails to build: Missing include: stdbool.h #69

Description

@es20490446e

As long as there is any CFLAGS set in the environment variables, running python -m build --wheel --no-isolation leads to:

* Getting build dependencies for wheel..                                                              
running egg_info
creating src/rtmixer.egg-info
writing src/rtmixer.egg-info/PKG-INFO
writing dependency_links to src/rtmixer.egg-info/dependency_links.txt
writing requirements to src/rtmixer.egg-info/requires.txt
writing top-level names to src/rtmixer.egg-info/top_level.txt
writing manifest file 'src/rtmixer.egg-info/SOURCES.txt'
reading manifest file 'src/rtmixer.egg-info/SOURCES.txt'
reading manifest template 'MANIFEST.in'
warning: no files found matching 'portaudio/index.html'
adding license file 'LICENSE'
writing manifest file 'src/rtmixer.egg-info/SOURCES.txt'
* Building wheel..
running bdist_wheel
running build
running build_py
creating build/lib.linux-x86_64-cpython-314
copying src/rtmixer.py -> build/lib.linux-x86_64-cpython-314
running egg_info
writing src/rtmixer.egg-info/PKG-INFO
writing dependency_links to src/rtmixer.egg-info/dependency_links.txt
writing requirements to src/rtmixer.egg-info/requires.txt
writing top-level names to src/rtmixer.egg-info/top_level.txt
reading manifest file 'src/rtmixer.egg-info/SOURCES.txt'
reading manifest template 'MANIFEST.in'
warning: no files found matching 'portaudio/index.html'
adding license file 'LICENSE'
writing manifest file 'src/rtmixer.egg-info/SOURCES.txt'
running build_ext
generating cffi module 'build/temp.linux-x86_64-cpython-314/_rtmixer.c'
creating build/temp.linux-x86_64-cpython-314
building '_rtmixer' extension
creating build/temp.linux-x86_64-cpython-314/build/temp.linux-x86_64-cpython-314
creating build/temp.linux-x86_64-cpython-314/portaudio/src/common
gcc -march=x86-64 -fPIC -Isrc -Iportaudio/include -I/usr/include/python3.14 -c build/temp.linux-x86_64-cpython-314/_rtmixer.c -o build/temp.linux-x86_64-cpython-314/build/temp.linux-x86_64-cpython-314/_rtmixer.o --std=c99
build/temp.linux-x86_64-cpython-314/_rtmixer.c: In function ‘get_relevant_time’:
build/temp.linux-x86_64-cpython-314/_rtmixer.c:615:13: error: ‘false’ undeclared (first use in this function)
  615 |   }} while (false)
      |             ^~~~~
build/temp.linux-x86_64-cpython-314/_rtmixer.c:702:5: note: in expansion of macro ‘CALLBACK_ASSERT’
  702 |     CALLBACK_ASSERT(action->action);
      |     ^~~~~~~~~~~~~~~
build/temp.linux-x86_64-cpython-314/_rtmixer.c:604:1: note: ‘false’ is defined in header ‘<stdbool.h>’; this is probably fixable by adding ‘#include <stdbool.h>’
  603 | #include "rtmixer.h"
  +++ |+#include <stdbool.h>
  604 | 
build/temp.linux-x86_64-cpython-314/_rtmixer.c:615:13: note: each undeclared identifier is reported only once for each function it appears in
  615 |   }} while (false)
      |             ^~~~~
build/temp.linux-x86_64-cpython-314/_rtmixer.c:702:5: note: in expansion of macro ‘CALLBACK_ASSERT’
  702 |     CALLBACK_ASSERT(action->action);
      |     ^~~~~~~~~~~~~~~
build/temp.linux-x86_64-cpython-314/_rtmixer.c: In function ‘callback’:
build/temp.linux-x86_64-cpython-314/_rtmixer.c:615:13: error: ‘false’ undeclared (first use in this function)
  615 |   }} while (false)
      |             ^~~~~
build/temp.linux-x86_64-cpython-314/_rtmixer.c:724:3: note: in expansion of macro ‘CALLBACK_ASSERT’
  724 |   CALLBACK_ASSERT(state);
      |   ^~~~~~~~~~~~~~~
build/temp.linux-x86_64-cpython-314/_rtmixer.c:615:13: note: ‘false’ is defined in header ‘<stdbool.h>’; this is probably fixable by adding ‘#include <stdbool.h>’
  615 |   }} while (false)
      |             ^~~~~
build/temp.linux-x86_64-cpython-314/_rtmixer.c:724:3: note: in expansion of macro ‘CALLBACK_ASSERT’
  724 |   CALLBACK_ASSERT(state);
      |   ^~~~~~~~~~~~~~~
error: command '/usr/bin/gcc' failed with exit code 1

This work-around works:

sed "6a#include <stdbool.h>" --in-place "src/rtmixer.c"

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions