[Talk-de] Nominatim build fails

Dieter Faulbaum mail at faulbaum.in-berlin.de
Fr Sep 13 11:15:56 UTC 2024


ich habe versucht Nominatim 4.5.0 (unter Debian sid) mittels pip 
zu installieren bekomme aber Fehler,
die ich nicht recht verstehe (ich bin aber mit pip auch noch nicht 
so recht vertraut, die Methode mittels cmake funktioniert):

Gibt's Ideen, wie ich tun muss, damit es auch per pip 
funktioniert?

$ /srv/nominatim-venv/bin/pip install nominatim-db nominatim-api
Collecting nominatim-db
  Using cached nominatim_db-4.5.0-py3-none-any.whl.metadata (2.5 
  kB)
Collecting nominatim-api
  Using cached nominatim_api-4.5.0-py3-none-any.whl.metadata (2.1 
  kB)
Collecting datrie (from nominatim-db)
  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 jinja2 (from nominatim-db)
  Using cached jinja2-3.1.4-py3-none-any.whl.metadata (2.6 kB)
Collecting psutil (from nominatim-db)
  Using cached 
  psutil-6.0.0-cp36-abi3-manylinux_2_12_x86_64.manylinux2010_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl.metadata 
  (21 kB)
Collecting psycopg (from nominatim-db)
  Using cached psycopg-3.2.1-py3-none-any.whl.metadata (4.2 kB)
Collecting pyicu (from nominatim-db)
  Using cached PyICU-2.13.1-cp312-cp312-linux_x86_64.whl
Collecting python-dotenv (from nominatim-db)
  Using cached python_dotenv-1.0.1-py3-none-any.whl.metadata (23 
  kB)
Collecting pyyaml>=5.1 (from nominatim-db)
  Using cached 
  PyYAML-6.0.2-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.metadata 
  (2.1 kB)
Collecting sqlalchemy>=1.4.31 (from nominatim-api)
  Using cached 
  SQLAlchemy-2.0.34-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.metadata 
  (9.6 kB)
Collecting typing-extensions>=4.6.0 (from 
sqlalchemy>=1.4.31->nominatim-api)
  Using cached typing_extensions-4.12.2-py3-none-any.whl.metadata 
  (3.0 kB)
Collecting greenlet!=0.4.17 (from 
sqlalchemy>=1.4.31->nominatim-api)
  Using cached 
  greenlet-3.1.0-cp312-cp312-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl.metadata 
  (3.8 kB)
Collecting MarkupSafe>=2.0 (from jinja2->nominatim-db)
  Using cached 
  MarkupSafe-2.1.5-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.metadata 
  (3.0 kB)
Using cached nominatim_db-4.5.0-py3-none-any.whl (15.3 MB)
Using cached nominatim_api-4.5.0-py3-none-any.whl (501 kB)
Using cached 
PyYAML-6.0.2-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl 
(767 kB)
Using cached 
SQLAlchemy-2.0.34-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl 
(3.2 MB)
Using cached jinja2-3.1.4-py3-none-any.whl (133 kB)
Using cached 
psutil-6.0.0-cp36-abi3-manylinux_2_12_x86_64.manylinux2010_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl 
(290 kB)
Using cached psycopg-3.2.1-py3-none-any.whl (197 kB)
Using cached python_dotenv-1.0.1-py3-none-any.whl (19 kB)
Using cached 
greenlet-3.1.0-cp312-cp312-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl 
(626 kB)
Using cached 
MarkupSafe-2.1.5-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl 
(28 kB)
Using cached typing_extensions-4.12.2-py3-none-any.whl (37 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
  ╰─> [97 lines of output]
      /tmp/pip-build-env-0n92bbm0/overlay/lib/python3.12/site-packages/setuptools/_distutils/dist.py:261: 
      UserWarning: Unknown distribution option: 'tests_require'
        warnings.warn(msg)
      running bdist_wheel
      running build
      running build_clib
      building 'datrie' library
      creating build
      creating build/temp.linux-x86_64-cpython-312
      creating build/temp.linux-x86_64-cpython-312/libdatrie
      creating 
      build/temp.linux-x86_64-cpython-312/libdatrie/datrie
      x86_64-linux-gnu-gcc -fno-strict-overflow -Wsign-compare 
      -DNDEBUG -g -O2 -Wall -fPIC -Ilibdatrie -c 
      libdatrie/datrie/alpha-map.c -o 
      build/temp.linux-x86_64-cpython-312/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)
            |                     ^~
      x86_64-linux-gnu-gcc -fno-strict-overflow -Wsign-compare 
      -DNDEBUG -g -O2 -Wall -fPIC -Ilibdatrie -c 
      libdatrie/datrie/darray.c -o 
      build/temp.linux-x86_64-cpython-312/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))
            |                      ^
      x86_64-linux-gnu-gcc -fno-strict-overflow -Wsign-compare 
      -DNDEBUG -g -O2 -Wall -fPIC -Ilibdatrie -c 
      libdatrie/datrie/dstring.c -o 
      build/temp.linux-x86_64-cpython-312/libdatrie/datrie/dstring.o
      x86_64-linux-gnu-gcc -fno-strict-overflow -Wsign-compare 
      -DNDEBUG -g -O2 -Wall -fPIC -Ilibdatrie -c 
      libdatrie/datrie/fileutils.c -o 
      build/temp.linux-x86_64-cpython-312/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);
            | 
            ^~
      x86_64-linux-gnu-gcc -fno-strict-overflow -Wsign-compare 
      -DNDEBUG -g -O2 -Wall -fPIC -Ilibdatrie -c 
      libdatrie/datrie/tail.c -o 
      build/temp.linux-x86_64-cpython-312/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))
            |                      ^
      x86_64-linux-gnu-gcc -fno-strict-overflow -Wsign-compare 
      -DNDEBUG -g -O2 -Wall -fPIC -Ilibdatrie -c 
      libdatrie/datrie/trie-string.c -o 
      build/temp.linux-x86_64-cpython-312/libdatrie/datrie/trie-string.o
      x86_64-linux-gnu-gcc -fno-strict-overflow -Wsign-compare 
      -DNDEBUG -g -O2 -Wall -fPIC -Ilibdatrie -c 
      libdatrie/datrie/trie.c -o 
      build/temp.linux-x86_64-cpython-312/libdatrie/datrie/trie.o
      x86_64-linux-gnu-gcc-ar rcs 
      build/temp.linux-x86_64-cpython-312/libdatrie.a 
      build/temp.linux-x86_64-cpython-312/libdatrie/datrie/alpha-map.o 
      build/temp.linux-x86_64-cpython-312/libdatrie/datrie/darray.o 
      build/temp.linux-x86_64-cpython-312/libdatrie/datrie/dstring.o 
      build/temp.linux-x86_64-cpython-312/libdatrie/datrie/fileutils.o 
      build/temp.linux-x86_64-cpython-312/libdatrie/datrie/tail.o 
      build/temp.linux-x86_64-cpython-312/libdatrie/datrie/trie-string.o 
      build/temp.linux-x86_64-cpython-312/libdatrie/datrie/trie.o
      running build_ext
      building 'datrie' extension
      creating build/temp.linux-x86_64-cpython-312/src
      x86_64-linux-gnu-gcc -fno-strict-overflow -Wsign-compare 
      -DNDEBUG -g -O2 -Wall -fPIC -Ilibdatrie 
      -I/srv/nominatim-venv/include -I/usr/include/python3.12 -c 
      src/datrie.c -o 
      build/temp.linux-x86_64-cpython-312/src/datrie.o
      src/datrie.c: In function 
      ‘__pyx_pf_6datrie_8BaseTrie___init__’:
      src/datrie.c:5669:53: error: passing argument 1 of 
      ‘trie_new’ from incompatible pointer type 
      [-Wincompatible-pointer-types]
       5669 |   __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:6347:47: error: passing argument 1 of 
      ‘trie_new’ from incompatible pointer type 
      [-Wincompatible-pointer-types]
       6347 |   __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:27405:30: error: assignment to ‘struct AlphaMap 
      *’ from incompatible pointer type ‘AlphaMap *’ {aka ‘struct 
      _AlphaMap *’} [-Wincompatible-pointer-types]
      27405 |   __pyx_v_self->_c_alpha_map = alpha_map_new();
            |                              ^
      src/datrie.c: In function 
      ‘__pyx_pf_6datrie_8AlphaMap_2__dealloc__’:
      src/datrie.c:27461:32: error: passing argument 1 of 
      ‘alpha_map_free’ from incompatible pointer type 
      [-Wincompatible-pointer-types]
      27461 |     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:27876:61: error: passing argument 1 of 
      ‘alpha_map_clone’ from incompatible pointer type 
      [-Wincompatible-pointer-types]
      27876 |   __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:27876:31: error: assignment to ‘struct AlphaMap 
      *’ from incompatible pointer type ‘AlphaMap *’ {aka ‘struct 
      _AlphaMap *’} [-Wincompatible-pointer-types]
      27876 |   __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:28567:50: error: passing argument 1 of 
      ‘alpha_map_add_range’ from incompatible pointer type 
      [-Wincompatible-pointer-types]
      28567 |   __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/bin/x86_64-linux-gnu-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: ERROR: Failed to build installable wheels for some 
pyproject.toml based projects (datrie)




Mehr Informationen über die Mailingliste Talk-de