Skip to content

Compilation error in _webp.c on CachyOS #9569

@jeffro256

Description

@jeffro256

What did you do?

Pip installation, as a dependency of Speculos, failed due to a C compile error. I ran the command pip install speculos from inside a virtual environment.

What did you expect to happen?

For Speculos, and thus Pillow, to install.

What actually happened?

While running compile command:

gcc -fno-strict-overflow -Wsign-compare -DNDEBUG -g -O3 -Wall -march=x86-64-v3 -mtune=generic -O3 -pipe -fno-plt -fexceptions -Wp,-D_FORTIFY_SOURCE=3 -Wformat -Werror=format-security -fstack-clash-protection -fcf-protection -mpclmul -fno-semantic-interposition -g -ffile-prefix-map=/tmp/pkg/src=/usr/src/debug/python -flto=auto -ffat-lto-objects -fno-semantic-interposition -march=x86-64-v3 -mtune=generic -O3 -pipe -fno-plt -fexceptions -Wp,-D_FORTIFY_SOURCE=3 -Wformat -Werror=format-security -fstack-clash-protection -fcf-protection -mpclmul -fno-semantic-interposition -g -ffile-prefix-map=/tmp/pkg/src=/usr/src/debug/python -flto=auto -march=x86-64-v3 -mtune=generic -O3 -pipe -fno-plt -fexceptions -Wp,-D_FORTIFY_SOURCE=3 -Wformat -Werror=format-security -fstack-clash-protection -fcf-protection -mpclmul -fno-semantic-interposition -g -ffile-prefix-map=/tmp/pkg/src=/usr/src/debug/python -flto=auto -fPIC -DHAVE_WEBPMUX -I/usr/include/freetype2 -I/usr/include/openjpeg-2.5 -I/usr/include -I/usr/include/webp -I/usr/include/libpng16 -I/usr/include/harfbuzz -I/usr/include/glib-2.0 -I/usr/lib/glib-2.0/include -I/usr/include/sysprof-6 -I/usr/include/fribidi -I/home/jeff/speculous_env/include -I/usr/local/include -I/home/jeff/speculous_env/include -I/usr/include/python3.14 -c src/_webp.c -o build/temp.linux-x86_64-cpython-314/src/_webp.o

The compiler emitted the following error message:

      src/_webp.c:930:28: error: initialization of ‘PyObject * (*)(PyObject *, PyObject *)’ {aka ‘struct _object * (*)(struct _object *, struct _object *)’} from incompatible pointer type ‘PyObject * (*)(void)’ {aka ‘struct _object * (*)(void)’} [-Wincompatible-pointer-types]
        930 |     {"WebPDecoderVersion", WebPDecoderVersion_wrapper, METH_NOARGS, "WebPVersion"},
            |                            ^~~~~~~~~~~~~~~~~~~~~~~~~~
      src/_webp.c:930:28: note: (near initialization for ‘webpMethods[4].ml_meth’)
      src/_webp.c:887:1: note: ‘WebPDecoderVersion_wrapper’ declared here
        887 | WebPDecoderVersion_wrapper() {
            | ^~~~~~~~~~~~~~~~~~~~~~~~~~
      src/_webp.c:932:6: error: initialization of ‘PyObject * (*)(PyObject *, PyObject *)’ {aka ‘struct _object * (*)(struct _object *, struct _object *)’} from incompatible pointer type ‘PyObject * (*)(void)’ {aka ‘struct _object * (*)(void)’} [-Wincompatible-pointer-types]
        932 |      WebPDecoderBuggyAlpha_wrapper,
            |      ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
      src/_webp.c:932:6: note: (near initialization for ‘webpMethods[5].ml_meth’)
      src/_webp.c:915:1: note: ‘WebPDecoderBuggyAlpha_wrapper’ declared here
        915 | WebPDecoderBuggyAlpha_wrapper() {

What are your OS, Python and Pillow versions?

  • OS: CachyOS 6.19.10-1
  • Python: 3.14.3
  • Pillow: 10.4.0
  • GCC: 15.2.1 20260209

PIL.report is not available since it did not install

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type
    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