Skip to content

8.16.0: Cannot be installed because datrie no longer builds with GCC 14 #2970

@sanjayankur31

Description

@sanjayankur31

Snakemake version

snakemake-8.16.0

Describe the bug

Datrie does not build with GCC 14, and this makes snakemake uninstallable.

Logs

$ python --version
Python 3.11.9
$ gcc --version
gcc (GCC) 14.1.1 20240701 (Red Hat 14.1.1-7)
Copyright (C) 2024 Free Software Foundation, Inc.
This is free software; see the source for copying conditions.  There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

$ pip install snakemake
Collecting snakemake
  Using cached snakemake-8.16.0-py3-none-any.whl.metadata (2.5 kB)
Requirement already satisfied: appdirs in /home/asinha/.local/share/virtualenvs/neuroml-cap/lib/python3.11/site-packages (from snakemake) (1.4.4)
Collecting immutables (from snakemake)
  Using cached immutables-0.20-cp311-cp311-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl.metadata (4.6 kB)
Collecting configargparse (from snakemake)
  Using cached ConfigArgParse-1.7-py3-none-any.whl.metadata (23 kB)
Collecting connection-pool>=0.0.3 (from snakemake)
  Using cached connection_pool-0.0.3-py3-none-any.whl
Collecting datrie (from snakemake)
  Using cached datrie-0.8.2.tar.gz (63 kB)
  Installing build dependencies ... done
  Getting requirements to build wheel ... done
  Installing backend dependencies ... done
  Preparing metadata (pyproject.toml) ... done
Collecting docutils (from snakemake)
  Using cached docutils-0.21.2-py3-none-any.whl.metadata (2.8 kB)
Collecting gitpython (from snakemake)
  Using cached GitPython-3.1.43-py3-none-any.whl.metadata (13 kB)
Collecting humanfriendly (from snakemake)
  Using cached humanfriendly-10.0-py2.py3-none-any.whl.metadata (9.2 kB)
Requirement already satisfied: jinja2<4.0,>=3.0 in /home/asinha/.local/share/virtualenvs/neuroml-cap/lib/python3.11/site-packages (from snakemake) (3.1.4)
Collecting jsonschema (from snakemake)
  Using cached jsonschema-4.23.0-py3-none-any.whl.metadata (7.9 kB)
Collecting nbformat (from snakemake)
  Using cached nbformat-5.10.4-py3-none-any.whl.metadata (3.6 kB)
Requirement already satisfied: packaging in /home/asinha/.local/share/virtualenvs/neuroml-cap/lib/python3.11/site-packages (from snakemake) (24.1)
Requirement already satisfied: psutil in /home/asinha/.local/share/virtualenvs/neuroml-cap/lib64/python3.11/site-packages (from snakemake) (6.0.0)
Collecting pulp<2.9,>=2.3.1 (from snakemake)
  Using cached PuLP-2.8.0-py3-none-any.whl.metadata (5.4 kB)
Requirement already satisfied: pyyaml in /home/asinha/.local/share/virtualenvs/neuroml-cap/lib64/python3.11/site-packages (from snakemake) (6.0.1)
Requirement already satisfied: requests<3.0,>=2.8.1 in /home/asinha/.local/share/virtualenvs/neuroml-cap/lib/python3.11/site-packages (from snakemake) (2.32.3)
Collecting reretry (from snakemake)
  Using cached reretry-0.11.8-py2.py3-none-any.whl.metadata (5.5 kB)
Collecting smart-open<8.0,>=4.0 (from snakemake)
  Using cached smart_open-7.0.4-py3-none-any.whl.metadata (23 kB)
Collecting snakemake-interface-executor-plugins<10.0,>=9.2.0 (from snakemake)
  Using cached snakemake_interface_executor_plugins-9.2.0-py3-none-any.whl.metadata (7.7 kB)
Collecting snakemake-interface-common<2.0,>=1.17.0 (from snakemake)
  Using cached snakemake_interface_common-1.17.2-py3-none-any.whl.metadata (760 bytes)
Collecting snakemake-interface-storage-plugins<4.0,>=3.2.3 (from snakemake)
  Using cached snakemake_interface_storage_plugins-3.2.3-py3-none-any.whl.metadata (9.4 kB)
Collecting snakemake-interface-report-plugins<2.0.0,>=1.0.0 (from snakemake)
  Using cached snakemake_interface_report_plugins-1.0.0-py3-none-any.whl.metadata (3.4 kB)
Collecting stopit (from snakemake)
  Using cached stopit-1.1.2-py3-none-any.whl
Requirement already satisfied: tabulate in /home/asinha/.local/share/virtualenvs/neuroml-cap/lib/python3.11/site-packages (from snakemake) (0.9.0)
Collecting throttler (from snakemake)
  Using cached throttler-1.2.2-py3-none-any.whl.metadata (7.4 kB)
Collecting toposort<2.0,>=1.10 (from snakemake)
  Using cached toposort-1.10-py3-none-any.whl.metadata (4.1 kB)
Collecting wrapt (from snakemake)
  Using cached wrapt-1.16.0-cp311-cp311-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl.metadata (6.6 kB)
Collecting yte<2.0,>=1.5.1 (from snakemake)
  Using cached yte-1.5.4-py3-none-any.whl.metadata (3.4 kB)
Collecting dpath<3.0.0,>=2.1.6 (from snakemake)
  Using cached dpath-2.2.0-py3-none-any.whl.metadata (15 kB)
Collecting conda-inject<2.0,>=1.3.1 (from snakemake)
  Using cached conda_inject-1.3.2-py3-none-any.whl.metadata (855 bytes)
Requirement already satisfied: MarkupSafe>=2.0 in /home/asinha/.local/share/virtualenvs/neuroml-cap/lib64/python3.11/site-packages (from jinja2<4.0,>=3.0->snakemake) (2.1.5)
Requirement already satisfied: charset-normalizer<4,>=2 in /home/asinha/.local/share/virtualenvs/neuroml-cap/lib64/python3.11/site-packages (from requests<3.0,>=2.8.1->snakemake) (3.3.2)
Requirement already satisfied: idna<4,>=2.5 in /home/asinha/.local/share/virtualenvs/neuroml-cap/lib/python3.11/site-packages (from requests<3.0,>=2.8.1->snakemake) (3.7)
Requirement already satisfied: urllib3<3,>=1.21.1 in /home/asinha/.local/share/virtualenvs/neuroml-cap/lib/python3.11/site-packages (from requests<3.0,>=2.8.1->snakemake) (2.2.2)
Requirement already satisfied: certifi>=2017.4.17 in /home/asinha/.local/share/virtualenvs/neuroml-cap/lib/python3.11/site-packages (from requests<3.0,>=2.8.1->snakemake) (2024.7.4)
Collecting argparse-dataclass<3.0.0,>=2.0.0 (from snakemake-interface-common<2.0,>=1.17.0->snakemake)
  Using cached argparse_dataclass-2.0.0-py3-none-any.whl.metadata (7.2 kB)
Collecting plac<2.0.0,>=1.3.4 (from yte<2.0,>=1.5.1->snakemake)
  Using cached plac-1.4.3-py2.py3-none-any.whl.metadata (5.9 kB)
Collecting gitdb<5,>=4.0.1 (from gitpython->snakemake)
  Using cached gitdb-4.0.11-py3-none-any.whl.metadata (1.2 kB)
Requirement already satisfied: attrs>=22.2.0 in /home/asinha/.local/share/virtualenvs/neuroml-cap/lib/python3.11/site-packages (from jsonschema->snakemake) (23.2.0)
Collecting jsonschema-specifications>=2023.03.6 (from jsonschema->snakemake)
  Using cached jsonschema_specifications-2023.12.1-py3-none-any.whl.metadata (3.0 kB)
Collecting referencing>=0.28.4 (from jsonschema->snakemake)
  Using cached referencing-0.35.1-py3-none-any.whl.metadata (2.8 kB)
Collecting rpds-py>=0.7.1 (from jsonschema->snakemake)
  Using cached rpds_py-0.19.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.metadata (4.1 kB)
Collecting fastjsonschema>=2.15 (from nbformat->snakemake)
  Using cached fastjsonschema-2.20.0-py3-none-any.whl.metadata (2.1 kB)
Requirement already satisfied: jupyter-core!=5.0.*,>=4.12 in /home/asinha/.local/share/virtualenvs/neuroml-cap/lib/python3.11/site-packages (from nbformat->snakemake) (5.7.2)
Requirement already satisfied: traitlets>=5.1 in /home/asinha/.local/share/virtualenvs/neuroml-cap/lib/python3.11/site-packages (from nbformat->snakemake) (5.14.3)
Collecting smmap<6,>=3.0.1 (from gitdb<5,>=4.0.1->gitpython->snakemake)
  Using cached smmap-5.0.1-py3-none-any.whl.metadata (4.3 kB)
Requirement already satisfied: platformdirs>=2.5 in /home/asinha/.local/share/virtualenvs/neuroml-cap/lib/python3.11/site-packages (from jupyter-core!=5.0.*,>=4.12->nbformat->snakemake) (4.2.2)
Using cached snakemake-8.16.0-py3-none-any.whl (306 kB)
Using cached conda_inject-1.3.2-py3-none-any.whl (4.1 kB)
Using cached dpath-2.2.0-py3-none-any.whl (17 kB)
Using cached PuLP-2.8.0-py3-none-any.whl (17.7 MB)
Using cached smart_open-7.0.4-py3-none-any.whl (61 kB)
Using cached snakemake_interface_common-1.17.2-py3-none-any.whl (14 kB)
Using cached ConfigArgParse-1.7-py3-none-any.whl (25 kB)
Using cached snakemake_interface_executor_plugins-9.2.0-py3-none-any.whl (22 kB)
Using cached snakemake_interface_report_plugins-1.0.0-py3-none-any.whl (6.9 kB)
Using cached snakemake_interface_storage_plugins-3.2.3-py3-none-any.whl (14 kB)
Using cached reretry-0.11.8-py2.py3-none-any.whl (5.6 kB)
Using cached throttler-1.2.2-py3-none-any.whl (7.6 kB)
Using cached toposort-1.10-py3-none-any.whl (8.5 kB)
Using cached wrapt-1.16.0-cp311-cp311-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl (80 kB)
Using cached yte-1.5.4-py3-none-any.whl (7.7 kB)
Using cached docutils-0.21.2-py3-none-any.whl (587 kB)
Using cached GitPython-3.1.43-py3-none-any.whl (207 kB)
Using cached humanfriendly-10.0-py2.py3-none-any.whl (86 kB)
Using cached immutables-0.20-cp311-cp311-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl (99 kB)
Using cached jsonschema-4.23.0-py3-none-any.whl (88 kB)
Using cached nbformat-5.10.4-py3-none-any.whl (78 kB)
Using cached argparse_dataclass-2.0.0-py3-none-any.whl (8.8 kB)
Using cached fastjsonschema-2.20.0-py3-none-any.whl (23 kB)
Using cached gitdb-4.0.11-py3-none-any.whl (62 kB)
Using cached jsonschema_specifications-2023.12.1-py3-none-any.whl (18 kB)
Using cached plac-1.4.3-py2.py3-none-any.whl (22 kB)
Using cached referencing-0.35.1-py3-none-any.whl (26 kB)
Using cached rpds_py-0.19.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (355 kB)
Using cached smmap-5.0.1-py3-none-any.whl (24 kB)
Building wheels for collected packages: datrie
  Building wheel for datrie (pyproject.toml) ... error
  error: subprocess-exited-with-error

  × Building wheel for datrie (pyproject.toml) did not run successfully.
  │ exit code: 1
  ╰─> [95 lines of output]
      running bdist_wheel
      running build
      running build_clib
      building 'datrie' library
      creating build
      creating build/temp.linux-x86_64-cpython-311
      creating build/temp.linux-x86_64-cpython-311/libdatrie
      creating build/temp.linux-x86_64-cpython-311/libdatrie/datrie
      gcc -Wsign-compare -DDYNAMIC_ANNOTATIONS_ENABLED=1 -DNDEBUG -fcf-protection -fexceptions -fcf-protection -fexceptions -fcf-protection -fexceptions -O2 -flto=auto -ffat-lto-objects -fexceptions -g -grecord-gcc-switches -pipe -Wall -Wno-complain-wrong-lang -Werror=format-security -Wp,-U_FORTIFY_SOURCE,-D_FORTIFY_SOURCE=3 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -m64 -march=x86-64 -mtune=generic -fasynchronous-unwind-tables -fstack-clash-protection -fcf-protection -fno-omit-frame-pointer -mno-omit-leaf-frame-pointer -fPIC -Ilibdatrie -c libdatrie/datrie/alpha-map.c -o build/temp.linux-x86_64-cpython-311/libdatrie/datrie/alpha-map.o
      libdatrie/datrie/alpha-map.c: In function ‘alpha_map_char_to_trie’:
      libdatrie/datrie/alpha-map.c:500:21: warning: comparison of integer expressions of different signedness: ‘TrieIndex’ {aka ‘int’} and ‘AlphaChar’ {aka ‘unsigned int’} [-Wsign-compare]
        500 |     if (alpha_begin <= ac && ac <= alpha_map->alpha_end)
            |                     ^~
      gcc -Wsign-compare -DDYNAMIC_ANNOTATIONS_ENABLED=1 -DNDEBUG -fcf-protection -fexceptions -fcf-protection -fexceptions -fcf-protection -fexceptions -O2 -flto=auto -ffat-lto-objects -fexceptions -g -grecord-gcc-switches -pipe -Wall -Wno-complain-wrong-lang -Werror=format-security -Wp,-U_FORTIFY_SOURCE,-D_FORTIFY_SOURCE=3 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -m64 -march=x86-64 -mtune=generic -fasynchronous-unwind-tables -fstack-clash-protection -fcf-protection -fno-omit-frame-pointer -mno-omit-leaf-frame-pointer -fPIC -Ilibdatrie -c libdatrie/datrie/darray.c -o build/temp.linux-x86_64-cpython-311/libdatrie/datrie/darray.o
      libdatrie/datrie/darray.c: In function ‘da_fread’:
      libdatrie/datrie/darray.c:239:22: warning: comparison of integer expressions of different signedness: ‘TrieIndex’ {aka ‘int’} and ‘long unsigned int’ [-Wsign-compare]
        239 |     if (d->num_cells > SIZE_MAX / sizeof (DACell))
            |                      ^
      gcc -Wsign-compare -DDYNAMIC_ANNOTATIONS_ENABLED=1 -DNDEBUG -fcf-protection -fexceptions -fcf-protection -fexceptions -fcf-protection -fexceptions -O2 -flto=auto -ffat-lto-objects -fexceptions -g -grecord-gcc-switches -pipe -Wall -Wno-complain-wrong-lang -Werror=format-security -Wp,-U_FORTIFY_SOURCE,-D_FORTIFY_SOURCE=3 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -m64 -march=x86-64 -mtune=generic -fasynchronous-unwind-tables -fstack-clash-protection -fcf-protection -fno-omit-frame-pointer -mno-omit-leaf-frame-pointer -fPIC -Ilibdatrie -c libdatrie/datrie/dstring.c -o build/temp.linux-x86_64-cpython-311/libdatrie/datrie/dstring.o
      gcc -Wsign-compare -DDYNAMIC_ANNOTATIONS_ENABLED=1 -DNDEBUG -fcf-protection -fexceptions -fcf-protection -fexceptions -fcf-protection -fexceptions -O2 -flto=auto -ffat-lto-objects -fexceptions -g -grecord-gcc-switches -pipe -Wall -Wno-complain-wrong-lang -Werror=format-security -Wp,-U_FORTIFY_SOURCE,-D_FORTIFY_SOURCE=3 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -m64 -march=x86-64 -mtune=generic -fasynchronous-unwind-tables -fstack-clash-protection -fcf-protection -fno-omit-frame-pointer -mno-omit-leaf-frame-pointer -fPIC -Ilibdatrie -c libdatrie/datrie/fileutils.c -o build/temp.linux-x86_64-cpython-311/libdatrie/datrie/fileutils.o
      libdatrie/datrie/fileutils.c: In function ‘file_read_chars’:
      libdatrie/datrie/fileutils.c:103:52: warning: comparison of integer expressions of different signedness: ‘size_t’ {aka ‘long unsigned int’} and ‘int’ [-Wsign-compare]
        103 |     return (fread (buff, sizeof (char), len, file) == len);
            |                                                    ^~
      libdatrie/datrie/fileutils.c: In function ‘file_write_chars’:
      libdatrie/datrie/fileutils.c:109:53: warning: comparison of integer expressions of different signedness: ‘size_t’ {aka ‘long unsigned int’} and ‘int’ [-Wsign-compare]
        109 |     return (fwrite (buff, sizeof (char), len, file) == len);
            |                                                     ^~
      gcc -Wsign-compare -DDYNAMIC_ANNOTATIONS_ENABLED=1 -DNDEBUG -fcf-protection -fexceptions -fcf-protection -fexceptions -fcf-protection -fexceptions -O2 -flto=auto -ffat-lto-objects -fexceptions -g -grecord-gcc-switches -pipe -Wall -Wno-complain-wrong-lang -Werror=format-security -Wp,-U_FORTIFY_SOURCE,-D_FORTIFY_SOURCE=3 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -m64 -march=x86-64 -mtune=generic -fasynchronous-unwind-tables -fstack-clash-protection -fcf-protection -fno-omit-frame-pointer -mno-omit-leaf-frame-pointer -fPIC -Ilibdatrie -c libdatrie/datrie/tail.c -o build/temp.linux-x86_64-cpython-311/libdatrie/datrie/tail.o
      libdatrie/datrie/tail.c: In function ‘tail_fread’:
      libdatrie/datrie/tail.c:144:22: warning: comparison of integer expressions of different signedness: ‘TrieIndex’ {aka ‘int’} and ‘long unsigned int’ [-Wsign-compare]
        144 |     if (t->num_tails > SIZE_MAX / sizeof (TailBlock))
            |                      ^
      gcc -Wsign-compare -DDYNAMIC_ANNOTATIONS_ENABLED=1 -DNDEBUG -fcf-protection -fexceptions -fcf-protection -fexceptions -fcf-protection -fexceptions -O2 -flto=auto -ffat-lto-objects -fexceptions -g -grecord-gcc-switches -pipe -Wall -Wno-complain-wrong-lang -Werror=format-security -Wp,-U_FORTIFY_SOURCE,-D_FORTIFY_SOURCE=3 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -m64 -march=x86-64 -mtune=generic -fasynchronous-unwind-tables -fstack-clash-protection -fcf-protection -fno-omit-frame-pointer -mno-omit-leaf-frame-pointer -fPIC -Ilibdatrie -c libdatrie/datrie/trie-string.c -o build/temp.linux-x86_64-cpython-311/libdatrie/datrie/trie-string.o
      gcc -Wsign-compare -DDYNAMIC_ANNOTATIONS_ENABLED=1 -DNDEBUG -fcf-protection -fexceptions -fcf-protection -fexceptions -fcf-protection -fexceptions -O2 -flto=auto -ffat-lto-objects -fexceptions -g -grecord-gcc-switches -pipe -Wall -Wno-complain-wrong-lang -Werror=format-security -Wp,-U_FORTIFY_SOURCE,-D_FORTIFY_SOURCE=3 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -m64 -march=x86-64 -mtune=generic -fasynchronous-unwind-tables -fstack-clash-protection -fcf-protection -fno-omit-frame-pointer -mno-omit-leaf-frame-pointer -fPIC -Ilibdatrie -c libdatrie/datrie/trie.c -o build/temp.linux-x86_64-cpython-311/libdatrie/datrie/trie.o
      ar rcs build/temp.linux-x86_64-cpython-311/libdatrie.a build/temp.linux-x86_64-cpython-311/libdatrie/datrie/alpha-map.o build/temp.linux-x86_64-cpython-311/libdatrie/datrie/darray.o build/temp.linux-x86_64-cpython-311/libdatrie/datrie/dstring.o build/temp.linux-x86_64-cpython-311/libdatrie/datrie/fileutils.o build/temp.linux-x86_64-cpython-311/libdatrie/datrie/tail.o build/temp.linux-x86_64-cpython-311/libdatrie/datrie/trie-string.o build/temp.linux-x86_64-cpython-311/libdatrie/datrie/trie.o
      running build_ext
      building 'datrie' extension
      creating build/temp.linux-x86_64-cpython-311/src
      gcc -Wsign-compare -DDYNAMIC_ANNOTATIONS_ENABLED=1 -DNDEBUG -fcf-protection -fexceptions -fcf-protection -fexceptions -fcf-protection -fexceptions -O2 -flto=auto -ffat-lto-objects -fexceptions -g -grecord-gcc-switches -pipe -Wall -Wno-complain-wrong-lang -Werror=format-security -Wp,-U_FORTIFY_SOURCE,-D_FORTIFY_SOURCE=3 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -m64 -march=x86-64 -mtune=generic -fasynchronous-unwind-tables -fstack-clash-protection -fcf-protection -fno-omit-frame-pointer -mno-omit-leaf-frame-pointer -fPIC -Ilibdatrie -I/home/asinha/.local/share/virtualenvs/neuroml-cap/include -I/usr/include/python3.11 -c src/datrie.c -o build/temp.linux-x86_64-cpython-311/src/datrie.o
      src/datrie.c: In function ‘__pyx_pf_6datrie_8BaseTrie___init__’:
      src/datrie.c:5673:53: error: passing argument 1 of ‘trie_new’ from incompatible pointer type [-Wincompatible-pointer-types]
       5673 |   __pyx_v_self->_c_trie = trie_new(__pyx_v_alpha_map->_c_alpha_map);
            |                                    ~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~
            |                                                     |
            |                                                     struct AlphaMap *
      In file included from src/datrie.c:1248:
      src/../libdatrie/datrie/trie.h:120:35: note: expected ‘const AlphaMap *’ {aka ‘const struct _AlphaMap *’} but argument is of type ‘struct AlphaMap *’
        120 | Trie *  trie_new (const AlphaMap *alpha_map);
            |                   ~~~~~~~~~~~~~~~~^~~~~~~~~
      src/datrie.c: In function ‘__pyx_pf_6datrie_8BaseTrie_6clear’:
      src/datrie.c:6351:47: error: passing argument 1 of ‘trie_new’ from incompatible pointer type [-Wincompatible-pointer-types]
       6351 |   __pyx_v__c_trie = trie_new(__pyx_v_alpha_map->_c_alpha_map);
            |                              ~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~
            |                                               |
            |                                               struct AlphaMap *
      src/../libdatrie/datrie/trie.h:120:35: note: expected ‘const AlphaMap *’ {aka ‘const struct _AlphaMap *’} but argument is of type ‘struct AlphaMap *’
        120 | Trie *  trie_new (const AlphaMap *alpha_map);
            |                   ~~~~~~~~~~~~~~~~^~~~~~~~~
      src/datrie.c: In function ‘__pyx_pf_6datrie_8AlphaMap___cinit__’:
      src/datrie.c:27404:30: error: assignment to ‘struct AlphaMap *’ from incompatible pointer type ‘AlphaMap *’ {aka ‘struct _AlphaMap *’} [-Wincompatible-pointer-types]
      27404 |   __pyx_v_self->_c_alpha_map = alpha_map_new();
            |                              ^
      src/datrie.c: In function ‘__pyx_pf_6datrie_8AlphaMap_2__dealloc__’:
      src/datrie.c:27460:32: error: passing argument 1 of ‘alpha_map_free’ from incompatible pointer type [-Wincompatible-pointer-types]
      27460 |     alpha_map_free(__pyx_v_self->_c_alpha_map);
            |                    ~~~~~~~~~~~~^~~~~~~~~~~~~~
            |                                |
            |                                struct AlphaMap *
      In file included from src/datrie.c:1247:
      src/../libdatrie/datrie/alpha-map.h:72:39: note: expected ‘AlphaMap *’ {aka ‘struct _AlphaMap *’} but argument is of type ‘struct AlphaMap *’
         72 | void        alpha_map_free (AlphaMap *alpha_map);
            |                             ~~~~~~~~~~^~~~~~~~~
      src/datrie.c: In function ‘__pyx_f_6datrie_8AlphaMap_copy’:
      src/datrie.c:27875:61: error: passing argument 1 of ‘alpha_map_clone’ from incompatible pointer type [-Wincompatible-pointer-types]
      27875 |   __pyx_v_clone->_c_alpha_map = alpha_map_clone(__pyx_v_self->_c_alpha_map);
            |                                                 ~~~~~~~~~~~~^~~~~~~~~~~~~~
            |                                                             |
            |                                                             struct AlphaMap *
      src/../libdatrie/datrie/alpha-map.h:70:46: note: expected ‘const AlphaMap *’ {aka ‘const struct _AlphaMap *’} but argument is of type ‘struct AlphaMap *’
         70 | AlphaMap *  alpha_map_clone (const AlphaMap *a_map);
            |                              ~~~~~~~~~~~~~~~~^~~~~
      src/datrie.c:27875:31: error: assignment to ‘struct AlphaMap *’ from incompatible pointer type ‘AlphaMap *’ {aka ‘struct _AlphaMap *’} [-Wincompatible-pointer-types]
      27875 |   __pyx_v_clone->_c_alpha_map = alpha_map_clone(__pyx_v_self->_c_alpha_map);
            |                               ^
      src/datrie.c: In function ‘__pyx_f_6datrie_8AlphaMap__add_range’:
      src/datrie.c:28566:50: error: passing argument 1 of ‘alpha_map_add_range’ from incompatible pointer type [-Wincompatible-pointer-types]
      28566 |   __pyx_v_code = alpha_map_add_range(__pyx_v_self->_c_alpha_map, __pyx_v_begin, __pyx_v_end);
            |                                      ~~~~~~~~~~~~^~~~~~~~~~~~~~
            |                                                  |
            |                                                  struct AlphaMap *
      src/../libdatrie/datrie/alpha-map.h:74:45: note: expected ‘AlphaMap *’ {aka ‘struct _AlphaMap *’} but argument is of type ‘struct AlphaMap *’
         74 | int         alpha_map_add_range (AlphaMap  *alpha_map,
            |                                  ~~~~~~~~~~~^~~~~~~~~
      error: command '/usr/lib64/ccache/gcc' failed with exit code 1
      [end of output]

  note: This error originates from a subprocess, and is likely not a problem with pip.
  ERROR: Failed building wheel for datrie
Failed to build datrie
ERROR: Could not build wheels for datrie, which is required to install pyproject.toml-based projects

[notice] A new release of pip is available: 24.0 -> 24.1.2
[notice] To update, run: pip install --upgrade pip

Minimal example

N/A

Additional context

I see that datrie related issues seem to pop up again and again. Given that datrie has not seen a commit for the last 4 years and is unmaintained, perhaps it's time to look at using something else that is actively maintained?

An issue is filed at datrie here:

pytries/datrie#101

We're carrying the patch downstream in Fedora to make datrie build, but end users trying to install snakemake via pip etc. cannot be expected to dig up issues, apply PRs and then install software from source.

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugSomething isn't working

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions