Skip to content

Build error: possible from cython #521

Closed

Description

@wreckdump

I know this python module is deprecated, but I really like this module and I would like to keep using it... So, if someone can help me with this issue, I would really appreciate it.

I've recently updated my system and the whole python virtual environment broke. So, I am in the process of reinstalling all the modules that I frequently use, and I am having problem with installing the basemap.

I do have all the dependency installed, and the last step is to install the basemap. But, I am getting an error that I can not figure out. Below is the error message from the command

pip install git+https://github.com/matplotlib/basemap

Error message

Collecting git+https://github.com/matplotlib/basemap
  Cloning https://github.com/matplotlib/basemap to /tmp/pip-req-build-q4etjjlp
  Running command git clone --filter=blob:none -q https://github.com/matplotlib/basemap /tmp/pip-req-build-q4etjjlp
  Resolved https://github.com/matplotlib/basemap to commit a516e5b1de2f26d9adfcced1215bee7285c61d22
  Preparing metadata (setup.py) ... done
Requirement already satisfied: matplotlib!=3.0.1,>=1.0.0 in /home/rangke/py_vrt/lib/python3.9/site-packages (from basemap==1.2.2+dev) (3.3.4)
Requirement already satisfied: numpy>=1.2.1 in /home/rangke/py_vrt/lib/python3.9/site-packages (from basemap==1.2.2+dev) (1.20.1)
Requirement already satisfied: pyproj>=1.9.3 in /home/rangke/py_vrt/lib/python3.9/site-packages (from basemap==1.2.2+dev) (3.0.0.post1)
Requirement already satisfied: pyshp>=1.2.0 in /home/rangke/py_vrt/lib/python3.9/site-packages (from basemap==1.2.2+dev) (2.1.3)
Requirement already satisfied: six in /home/rangke/py_vrt/lib/python3.9/site-packages (from basemap==1.2.2+dev) (1.15.0)
Requirement already satisfied: kiwisolver>=1.0.1 in /home/rangke/py_vrt/lib/python3.9/site-packages (from matplotlib!=3.0.1,>=1.0.0->basemap==1.2.2+dev) (1.3.1)
Requirement already satisfied: pyparsing!=2.0.4,!=2.1.2,!=2.1.6,>=2.0.3 in /home/rangke/py_vrt/lib/python3.9/site-packages (from matplotlib!=3.0.1,>=1.0.0->basemap==1.2.2+dev) (2.4.7)
Requirement already satisfied: pillow>=6.2.0 in /home/rangke/py_vrt/lib/python3.9/site-packages (from matplotlib!=3.0.1,>=1.0.0->basemap==1.2.2+dev) (8.1.0)
Requirement already satisfied: python-dateutil>=2.1 in /home/rangke/py_vrt/lib/python3.9/site-packages (from matplotlib!=3.0.1,>=1.0.0->basemap==1.2.2+dev) (2.8.1)
Requirement already satisfied: cycler>=0.10 in /home/rangke/py_vrt/lib/python3.9/site-packages (from matplotlib!=3.0.1,>=1.0.0->basemap==1.2.2+dev) (0.10.0)
Requirement already satisfied: certifi in /home/rangke/py_vrt/lib/python3.9/site-packages (from pyproj>=1.9.3->basemap==1.2.2+dev) (2020.12.5)
Using legacy 'setup.py install' for basemap, since package 'wheel' is not installed.
Installing collected packages: basemap
    Running setup.py install for basemap ... error
    ERROR: Command errored out with exit status 1:
     command: /home/rangke/py_vrt/bin/python -u -c 'import io, os, sys, setuptools, tokenize; sys.argv[0] = '"'"'/tmp/pip-req-build-q4etjjlp/setup.py'"'"'; __file__='"'"'/tmp/pip-req-build-q4etjjlp/setup.py'"'"';f = getattr(tokenize, '"'"'open'"'"', open)(__file__) if os.path.exists(__file__) else io.StringIO('"'"'from setuptools import setup; setup()'"'"');code = f.read().replace('"'"'\r\n'"'"', '"'"'\n'"'"');f.close();exec(compile(code, __file__, '"'"'exec'"'"'))' install --record /tmp/pip-record-db3v2pk6/install-record.txt --single-version-externally-managed --compile --install-headers /home/rangke/py_vrt/include/site/python3.9/basemap
         cwd: /tmp/pip-req-build-q4etjjlp/
    Complete output (1135 lines):
    running install
    running build
    running config_cc
    unifing config_cc, config, build_clib, build_ext, build commands --compiler options
    running config_fc
    unifing config_fc, config, build_clib, build_ext, build commands --fcompiler options
    running build_src
    build_src
    building extension "_geoslib" sources
    build_src: building npy-pkg config files
    running build_py
    creating build
    creating build/lib.linux-x86_64-3.9
    creating build/lib.linux-x86_64-3.9/mpl_toolkits
    creating build/lib.linux-x86_64-3.9/mpl_toolkits/basemap
    copying lib/mpl_toolkits/basemap/test.py -> build/lib.linux-x86_64-3.9/mpl_toolkits/basemap
    copying lib/mpl_toolkits/basemap/solar.py -> build/lib.linux-x86_64-3.9/mpl_toolkits/basemap
    copying lib/mpl_toolkits/basemap/proj.py -> build/lib.linux-x86_64-3.9/mpl_toolkits/basemap
    copying lib/mpl_toolkits/basemap/diagnostic.py -> build/lib.linux-x86_64-3.9/mpl_toolkits/basemap
    copying lib/mpl_toolkits/basemap/cm.py -> build/lib.linux-x86_64-3.9/mpl_toolkits/basemap
    copying lib/mpl_toolkits/basemap/__init__.py -> build/lib.linux-x86_64-3.9/mpl_toolkits/basemap
    creating build/lib.linux-x86_64-3.9/mpl_toolkits/basemap_data
    copying lib/mpl_toolkits/basemap_data/__init__.py -> build/lib.linux-x86_64-3.9/mpl_toolkits/basemap_data
    copying lib/mpl_toolkits/basemap_data/UScounties.dbf -> build/lib.linux-x86_64-3.9/mpl_toolkits/basemap_data
    copying lib/mpl_toolkits/basemap_data/UScounties.prj -> build/lib.linux-x86_64-3.9/mpl_toolkits/basemap_data
    copying lib/mpl_toolkits/basemap_data/UScounties.shp -> build/lib.linux-x86_64-3.9/mpl_toolkits/basemap_data
    copying lib/mpl_toolkits/basemap_data/UScounties.shx -> build/lib.linux-x86_64-3.9/mpl_toolkits/basemap_data
    copying lib/mpl_toolkits/basemap_data/bmng.jpg -> build/lib.linux-x86_64-3.9/mpl_toolkits/basemap_data
    copying lib/mpl_toolkits/basemap_data/countries_c.dat -> build/lib.linux-x86_64-3.9/mpl_toolkits/basemap_data
    copying lib/mpl_toolkits/basemap_data/countries_f.dat -> build/lib.linux-x86_64-3.9/mpl_toolkits/basemap_data
    copying lib/mpl_toolkits/basemap_data/countries_h.dat -> build/lib.linux-x86_64-3.9/mpl_toolkits/basemap_data
    copying lib/mpl_toolkits/basemap_data/countries_i.dat -> build/lib.linux-x86_64-3.9/mpl_toolkits/basemap_data
    copying lib/mpl_toolkits/basemap_data/countries_l.dat -> build/lib.linux-x86_64-3.9/mpl_toolkits/basemap_data
    copying lib/mpl_toolkits/basemap_data/countriesmeta_c.dat -> build/lib.linux-x86_64-3.9/mpl_toolkits/basemap_data
    copying lib/mpl_toolkits/basemap_data/countriesmeta_f.dat -> build/lib.linux-x86_64-3.9/mpl_toolkits/basemap_data
    copying lib/mpl_toolkits/basemap_data/countriesmeta_h.dat -> build/lib.linux-x86_64-3.9/mpl_toolkits/basemap_data
    copying lib/mpl_toolkits/basemap_data/countriesmeta_i.dat -> build/lib.linux-x86_64-3.9/mpl_toolkits/basemap_data
    copying lib/mpl_toolkits/basemap_data/countriesmeta_l.dat -> build/lib.linux-x86_64-3.9/mpl_toolkits/basemap_data
    copying lib/mpl_toolkits/basemap_data/epsg -> build/lib.linux-x86_64-3.9/mpl_toolkits/basemap_data
    copying lib/mpl_toolkits/basemap_data/etopo1.jpg -> build/lib.linux-x86_64-3.9/mpl_toolkits/basemap_data
    copying lib/mpl_toolkits/basemap_data/gshhs_c.dat -> build/lib.linux-x86_64-3.9/mpl_toolkits/basemap_data
    copying lib/mpl_toolkits/basemap_data/gshhs_f.dat -> build/lib.linux-x86_64-3.9/mpl_toolkits/basemap_data
    copying lib/mpl_toolkits/basemap_data/gshhs_h.dat -> build/lib.linux-x86_64-3.9/mpl_toolkits/basemap_data
    copying lib/mpl_toolkits/basemap_data/gshhs_i.dat -> build/lib.linux-x86_64-3.9/mpl_toolkits/basemap_data
    copying lib/mpl_toolkits/basemap_data/gshhs_l.dat -> build/lib.linux-x86_64-3.9/mpl_toolkits/basemap_data
    copying lib/mpl_toolkits/basemap_data/gshhsmeta_c.dat -> build/lib.linux-x86_64-3.9/mpl_toolkits/basemap_data
    copying lib/mpl_toolkits/basemap_data/gshhsmeta_f.dat -> build/lib.linux-x86_64-3.9/mpl_toolkits/basemap_data
    copying lib/mpl_toolkits/basemap_data/gshhsmeta_h.dat -> build/lib.linux-x86_64-3.9/mpl_toolkits/basemap_data
    copying lib/mpl_toolkits/basemap_data/gshhsmeta_i.dat -> build/lib.linux-x86_64-3.9/mpl_toolkits/basemap_data
    copying lib/mpl_toolkits/basemap_data/gshhsmeta_l.dat -> build/lib.linux-x86_64-3.9/mpl_toolkits/basemap_data
    copying lib/mpl_toolkits/basemap_data/lsmask_1.25min_c.bin -> build/lib.linux-x86_64-3.9/mpl_toolkits/basemap_data
    copying lib/mpl_toolkits/basemap_data/lsmask_1.25min_f.bin -> build/lib.linux-x86_64-3.9/mpl_toolkits/basemap_data
    copying lib/mpl_toolkits/basemap_data/lsmask_1.25min_h.bin -> build/lib.linux-x86_64-3.9/mpl_toolkits/basemap_data
    copying lib/mpl_toolkits/basemap_data/lsmask_1.25min_i.bin -> build/lib.linux-x86_64-3.9/mpl_toolkits/basemap_data
    copying lib/mpl_toolkits/basemap_data/lsmask_1.25min_l.bin -> build/lib.linux-x86_64-3.9/mpl_toolkits/basemap_data
    copying lib/mpl_toolkits/basemap_data/lsmask_10min_c.bin -> build/lib.linux-x86_64-3.9/mpl_toolkits/basemap_data
    copying lib/mpl_toolkits/basemap_data/lsmask_10min_f.bin -> build/lib.linux-x86_64-3.9/mpl_toolkits/basemap_data
    copying lib/mpl_toolkits/basemap_data/lsmask_10min_h.bin -> build/lib.linux-x86_64-3.9/mpl_toolkits/basemap_data
    copying lib/mpl_toolkits/basemap_data/lsmask_10min_i.bin -> build/lib.linux-x86_64-3.9/mpl_toolkits/basemap_data
    copying lib/mpl_toolkits/basemap_data/lsmask_10min_l.bin -> build/lib.linux-x86_64-3.9/mpl_toolkits/basemap_data
    copying lib/mpl_toolkits/basemap_data/lsmask_2.5min_c.bin -> build/lib.linux-x86_64-3.9/mpl_toolkits/basemap_data
    copying lib/mpl_toolkits/basemap_data/lsmask_2.5min_f.bin -> build/lib.linux-x86_64-3.9/mpl_toolkits/basemap_data
    copying lib/mpl_toolkits/basemap_data/lsmask_2.5min_h.bin -> build/lib.linux-x86_64-3.9/mpl_toolkits/basemap_data
    copying lib/mpl_toolkits/basemap_data/lsmask_2.5min_i.bin -> build/lib.linux-x86_64-3.9/mpl_toolkits/basemap_data
    copying lib/mpl_toolkits/basemap_data/lsmask_2.5min_l.bin -> build/lib.linux-x86_64-3.9/mpl_toolkits/basemap_data
    copying lib/mpl_toolkits/basemap_data/lsmask_5min_c.bin -> build/lib.linux-x86_64-3.9/mpl_toolkits/basemap_data
    copying lib/mpl_toolkits/basemap_data/lsmask_5min_f.bin -> build/lib.linux-x86_64-3.9/mpl_toolkits/basemap_data
    copying lib/mpl_toolkits/basemap_data/lsmask_5min_h.bin -> build/lib.linux-x86_64-3.9/mpl_toolkits/basemap_data
    copying lib/mpl_toolkits/basemap_data/lsmask_5min_i.bin -> build/lib.linux-x86_64-3.9/mpl_toolkits/basemap_data
    copying lib/mpl_toolkits/basemap_data/lsmask_5min_l.bin -> build/lib.linux-x86_64-3.9/mpl_toolkits/basemap_data
    copying lib/mpl_toolkits/basemap_data/rivers_c.dat -> build/lib.linux-x86_64-3.9/mpl_toolkits/basemap_data
    copying lib/mpl_toolkits/basemap_data/rivers_f.dat -> build/lib.linux-x86_64-3.9/mpl_toolkits/basemap_data
    copying lib/mpl_toolkits/basemap_data/rivers_h.dat -> build/lib.linux-x86_64-3.9/mpl_toolkits/basemap_data
    copying lib/mpl_toolkits/basemap_data/rivers_i.dat -> build/lib.linux-x86_64-3.9/mpl_toolkits/basemap_data
    copying lib/mpl_toolkits/basemap_data/rivers_l.dat -> build/lib.linux-x86_64-3.9/mpl_toolkits/basemap_data
    copying lib/mpl_toolkits/basemap_data/riversmeta_c.dat -> build/lib.linux-x86_64-3.9/mpl_toolkits/basemap_data
    copying lib/mpl_toolkits/basemap_data/riversmeta_f.dat -> build/lib.linux-x86_64-3.9/mpl_toolkits/basemap_data
    copying lib/mpl_toolkits/basemap_data/riversmeta_h.dat -> build/lib.linux-x86_64-3.9/mpl_toolkits/basemap_data
    copying lib/mpl_toolkits/basemap_data/riversmeta_i.dat -> build/lib.linux-x86_64-3.9/mpl_toolkits/basemap_data
    copying lib/mpl_toolkits/basemap_data/riversmeta_l.dat -> build/lib.linux-x86_64-3.9/mpl_toolkits/basemap_data
    copying lib/mpl_toolkits/basemap_data/shadedrelief.jpg -> build/lib.linux-x86_64-3.9/mpl_toolkits/basemap_data
    copying lib/mpl_toolkits/basemap_data/states_c.dat -> build/lib.linux-x86_64-3.9/mpl_toolkits/basemap_data
    copying lib/mpl_toolkits/basemap_data/states_f.dat -> build/lib.linux-x86_64-3.9/mpl_toolkits/basemap_data
    copying lib/mpl_toolkits/basemap_data/states_h.dat -> build/lib.linux-x86_64-3.9/mpl_toolkits/basemap_data
    copying lib/mpl_toolkits/basemap_data/states_i.dat -> build/lib.linux-x86_64-3.9/mpl_toolkits/basemap_data
    copying lib/mpl_toolkits/basemap_data/states_l.dat -> build/lib.linux-x86_64-3.9/mpl_toolkits/basemap_data
    copying lib/mpl_toolkits/basemap_data/statesmeta_c.dat -> build/lib.linux-x86_64-3.9/mpl_toolkits/basemap_data
    copying lib/mpl_toolkits/basemap_data/statesmeta_f.dat -> build/lib.linux-x86_64-3.9/mpl_toolkits/basemap_data
    copying lib/mpl_toolkits/basemap_data/statesmeta_h.dat -> build/lib.linux-x86_64-3.9/mpl_toolkits/basemap_data
    copying lib/mpl_toolkits/basemap_data/statesmeta_i.dat -> build/lib.linux-x86_64-3.9/mpl_toolkits/basemap_data
    copying lib/mpl_toolkits/basemap_data/statesmeta_l.dat -> build/lib.linux-x86_64-3.9/mpl_toolkits/basemap_data
    running build_ext
    customize UnixCCompiler
    customize UnixCCompiler using build_ext
    CCompilerOpt.cc_test_flags[999] : testing flags (-march=native)
    C compiler: gcc -pthread -Wno-unused-result -Wsign-compare -DNDEBUG -g -fwrapv -O3 -Wall -march=x86-64 -mtune=generic -O3 -pipe -fno-plt -fno-semantic-interposition -march=x86-64 -mtune=generic -O3 -pipe -fno-plt -march=x86-64 -mtune=generic -O3 -pipe -fno-plt -fPIC
    
    creating /tmp/tmpm3ihr05q/home
    creating /tmp/tmpm3ihr05q/home/rangke
    creating /tmp/tmpm3ihr05q/home/rangke/py_vrt
    creating /tmp/tmpm3ihr05q/home/rangke/py_vrt/lib
    creating /tmp/tmpm3ihr05q/home/rangke/py_vrt/lib/python3.9
    creating /tmp/tmpm3ihr05q/home/rangke/py_vrt/lib/python3.9/site-packages
    creating /tmp/tmpm3ihr05q/home/rangke/py_vrt/lib/python3.9/site-packages/numpy
    creating /tmp/tmpm3ihr05q/home/rangke/py_vrt/lib/python3.9/site-packages/numpy/distutils
    creating /tmp/tmpm3ihr05q/home/rangke/py_vrt/lib/python3.9/site-packages/numpy/distutils/checks
    compile options: '-I/home/rangke/py_vrt/include -I/usr/include/python3.9 -c'
    extra options: '-march=native'
    CCompilerOpt.cc_test_flags[999] : testing flags (-O3)
    C compiler: gcc -pthread -Wno-unused-result -Wsign-compare -DNDEBUG -g -fwrapv -O3 -Wall -march=x86-64 -mtune=generic -O3 -pipe -fno-plt -fno-semantic-interposition -march=x86-64 -mtune=generic -O3 -pipe -fno-plt -march=x86-64 -mtune=generic -O3 -pipe -fno-plt -fPIC
    
    compile options: '-I/home/rangke/py_vrt/include -I/usr/include/python3.9 -c'
    extra options: '-O3'
    CCompilerOpt.cc_test_flags[999] : testing flags (-Werror)
    C compiler: gcc -pthread -Wno-unused-result -Wsign-compare -DNDEBUG -g -fwrapv -O3 -Wall -march=x86-64 -mtune=generic -O3 -pipe -fno-plt -fno-semantic-interposition -march=x86-64 -mtune=generic -O3 -pipe -fno-plt -march=x86-64 -mtune=generic -O3 -pipe -fno-plt -fPIC
    
    compile options: '-I/home/rangke/py_vrt/include -I/usr/include/python3.9 -c'
    extra options: '-Werror'
    CCompilerOpt.__init__[1674] : check requested baseline
    CCompilerOpt.cc_test_flags[999] : testing flags (-msse)
    C compiler: gcc -pthread -Wno-unused-result -Wsign-compare -DNDEBUG -g -fwrapv -O3 -Wall -march=x86-64 -mtune=generic -O3 -pipe -fno-plt -fno-semantic-interposition -march=x86-64 -mtune=generic -O3 -pipe -fno-plt -march=x86-64 -mtune=generic -O3 -pipe -fno-plt -fPIC
    
    compile options: '-I/home/rangke/py_vrt/include -I/usr/include/python3.9 -c'
    extra options: '-msse'
    CCompilerOpt.cc_test_flags[999] : testing flags (-msse2)
    C compiler: gcc -pthread -Wno-unused-result -Wsign-compare -DNDEBUG -g -fwrapv -O3 -Wall -march=x86-64 -mtune=generic -O3 -pipe -fno-plt -fno-semantic-interposition -march=x86-64 -mtune=generic -O3 -pipe -fno-plt -march=x86-64 -mtune=generic -O3 -pipe -fno-plt -fPIC
    
    compile options: '-I/home/rangke/py_vrt/include -I/usr/include/python3.9 -c'
    extra options: '-msse2'
    CCompilerOpt.feature_test[1444] : testing feature 'SSE' with flags (-msse -msse2)
    C compiler: gcc -pthread -Wno-unused-result -Wsign-compare -DNDEBUG -g -fwrapv -O3 -Wall -march=x86-64 -mtune=generic -O3 -pipe -fno-plt -fno-semantic-interposition -march=x86-64 -mtune=generic -O3 -pipe -fno-plt -march=x86-64 -mtune=generic -O3 -pipe -fno-plt -fPIC
    
    compile options: '-I/home/rangke/py_vrt/include -I/usr/include/python3.9 -c'
    extra options: '-msse -msse2 -Werror'
    CCompilerOpt.feature_test[1444] : testing feature 'SSE2' with flags (-msse -msse2)
    C compiler: gcc -pthread -Wno-unused-result -Wsign-compare -DNDEBUG -g -fwrapv -O3 -Wall -march=x86-64 -mtune=generic -O3 -pipe -fno-plt -fno-semantic-interposition -march=x86-64 -mtune=generic -O3 -pipe -fno-plt -march=x86-64 -mtune=generic -O3 -pipe -fno-plt -fPIC
    
    compile options: '-I/home/rangke/py_vrt/include -I/usr/include/python3.9 -c'
    extra options: '-msse -msse2 -Werror'
    CCompilerOpt.cc_test_flags[999] : testing flags (-msse3)
    C compiler: gcc -pthread -Wno-unused-result -Wsign-compare -DNDEBUG -g -fwrapv -O3 -Wall -march=x86-64 -mtune=generic -O3 -pipe -fno-plt -fno-semantic-interposition -march=x86-64 -mtune=generic -O3 -pipe -fno-plt -march=x86-64 -mtune=generic -O3 -pipe -fno-plt -fPIC
    
    compile options: '-I/home/rangke/py_vrt/include -I/usr/include/python3.9 -c'
    extra options: '-msse3'
    CCompilerOpt.feature_test[1444] : testing feature 'SSE3' with flags (-msse -msse2 -msse3)
    C compiler: gcc -pthread -Wno-unused-result -Wsign-compare -DNDEBUG -g -fwrapv -O3 -Wall -march=x86-64 -mtune=generic -O3 -pipe -fno-plt -fno-semantic-interposition -march=x86-64 -mtune=generic -O3 -pipe -fno-plt -march=x86-64 -mtune=generic -O3 -pipe -fno-plt -fPIC
    
    compile options: '-I/home/rangke/py_vrt/include -I/usr/include/python3.9 -c'
    extra options: '-msse -msse2 -msse3 -Werror'
    CCompilerOpt.__init__[1683] : check requested dispatch-able features
    CCompilerOpt.cc_test_flags[999] : testing flags (-mssse3)
    C compiler: gcc -pthread -Wno-unused-result -Wsign-compare -DNDEBUG -g -fwrapv -O3 -Wall -march=x86-64 -mtune=generic -O3 -pipe -fno-plt -fno-semantic-interposition -march=x86-64 -mtune=generic -O3 -pipe -fno-plt -march=x86-64 -mtune=generic -O3 -pipe -fno-plt -fPIC
    
    compile options: '-I/home/rangke/py_vrt/include -I/usr/include/python3.9 -c'
    extra options: '-mssse3'
    CCompilerOpt.cc_test_flags[999] : testing flags (-msse4.1)
    C compiler: gcc -pthread -Wno-unused-result -Wsign-compare -DNDEBUG -g -fwrapv -O3 -Wall -march=x86-64 -mtune=generic -O3 -pipe -fno-plt -fno-semantic-interposition -march=x86-64 -mtune=generic -O3 -pipe -fno-plt -march=x86-64 -mtune=generic -O3 -pipe -fno-plt -fPIC
    
    compile options: '-I/home/rangke/py_vrt/include -I/usr/include/python3.9 -c'
    extra options: '-msse4.1'
    CCompilerOpt.cc_test_flags[999] : testing flags (-mpopcnt)
    C compiler: gcc -pthread -Wno-unused-result -Wsign-compare -DNDEBUG -g -fwrapv -O3 -Wall -march=x86-64 -mtune=generic -O3 -pipe -fno-plt -fno-semantic-interposition -march=x86-64 -mtune=generic -O3 -pipe -fno-plt -march=x86-64 -mtune=generic -O3 -pipe -fno-plt -fPIC
    
    compile options: '-I/home/rangke/py_vrt/include -I/usr/include/python3.9 -c'
    extra options: '-mpopcnt'
    CCompilerOpt.cc_test_flags[999] : testing flags (-msse4.2)
    C compiler: gcc -pthread -Wno-unused-result -Wsign-compare -DNDEBUG -g -fwrapv -O3 -Wall -march=x86-64 -mtune=generic -O3 -pipe -fno-plt -fno-semantic-interposition -march=x86-64 -mtune=generic -O3 -pipe -fno-plt -march=x86-64 -mtune=generic -O3 -pipe -fno-plt -fPIC
    
    compile options: '-I/home/rangke/py_vrt/include -I/usr/include/python3.9 -c'
    extra options: '-msse4.2'
    CCompilerOpt.cc_test_flags[999] : testing flags (-mavx)
    C compiler: gcc -pthread -Wno-unused-result -Wsign-compare -DNDEBUG -g -fwrapv -O3 -Wall -march=x86-64 -mtune=generic -O3 -pipe -fno-plt -fno-semantic-interposition -march=x86-64 -mtune=generic -O3 -pipe -fno-plt -march=x86-64 -mtune=generic -O3 -pipe -fno-plt -fPIC
    
    compile options: '-I/home/rangke/py_vrt/include -I/usr/include/python3.9 -c'
    extra options: '-mavx'
    CCompilerOpt.feature_test[1444] : testing feature 'AVX' with flags (-msse -msse2 -msse3 -mssse3 -msse4.1 -mpopcnt -msse4.2 -mavx)
    C compiler: gcc -pthread -Wno-unused-result -Wsign-compare -DNDEBUG -g -fwrapv -O3 -Wall -march=x86-64 -mtune=generic -O3 -pipe -fno-plt -fno-semantic-interposition -march=x86-64 -mtune=generic -O3 -pipe -fno-plt -march=x86-64 -mtune=generic -O3 -pipe -fno-plt -fPIC
    
    compile options: '-I/home/rangke/py_vrt/include -I/usr/include/python3.9 -c'
    extra options: '-msse -msse2 -msse3 -mssse3 -msse4.1 -mpopcnt -msse4.2 -mavx -Werror'
    CCompilerOpt.feature_test[1444] : testing feature 'SSSE3' with flags (-msse -msse2 -msse3 -mssse3)
    C compiler: gcc -pthread -Wno-unused-result -Wsign-compare -DNDEBUG -g -fwrapv -O3 -Wall -march=x86-64 -mtune=generic -O3 -pipe -fno-plt -fno-semantic-interposition -march=x86-64 -mtune=generic -O3 -pipe -fno-plt -march=x86-64 -mtune=generic -O3 -pipe -fno-plt -fPIC
    
    compile options: '-I/home/rangke/py_vrt/include -I/usr/include/python3.9 -c'
    extra options: '-msse -msse2 -msse3 -mssse3 -Werror'
    CCompilerOpt.feature_test[1444] : testing feature 'POPCNT' with flags (-msse -msse2 -msse3 -mssse3 -msse4.1 -mpopcnt)
    C compiler: gcc -pthread -Wno-unused-result -Wsign-compare -DNDEBUG -g -fwrapv -O3 -Wall -march=x86-64 -mtune=generic -O3 -pipe -fno-plt -fno-semantic-interposition -march=x86-64 -mtune=generic -O3 -pipe -fno-plt -march=x86-64 -mtune=generic -O3 -pipe -fno-plt -fPIC
    
    compile options: '-I/home/rangke/py_vrt/include -I/usr/include/python3.9 -c'
    extra options: '-msse -msse2 -msse3 -mssse3 -msse4.1 -mpopcnt -Werror'
    CCompilerOpt.feature_test[1444] : testing feature 'SSE41' with flags (-msse -msse2 -msse3 -mssse3 -msse4.1)
    C compiler: gcc -pthread -Wno-unused-result -Wsign-compare -DNDEBUG -g -fwrapv -O3 -Wall -march=x86-64 -mtune=generic -O3 -pipe -fno-plt -fno-semantic-interposition -march=x86-64 -mtune=generic -O3 -pipe -fno-plt -march=x86-64 -mtune=generic -O3 -pipe -fno-plt -fPIC
    
    compile options: '-I/home/rangke/py_vrt/include -I/usr/include/python3.9 -c'
    extra options: '-msse -msse2 -msse3 -mssse3 -msse4.1 -Werror'
    CCompilerOpt.feature_test[1444] : testing feature 'SSE42' with flags (-msse -msse2 -msse3 -mssse3 -msse4.1 -mpopcnt -msse4.2)
    C compiler: gcc -pthread -Wno-unused-result -Wsign-compare -DNDEBUG -g -fwrapv -O3 -Wall -march=x86-64 -mtune=generic -O3 -pipe -fno-plt -fno-semantic-interposition -march=x86-64 -mtune=generic -O3 -pipe -fno-plt -march=x86-64 -mtune=generic -O3 -pipe -fno-plt -fPIC
    
    compile options: '-I/home/rangke/py_vrt/include -I/usr/include/python3.9 -c'
    extra options: '-msse -msse2 -msse3 -mssse3 -msse4.1 -mpopcnt -msse4.2 -Werror'
    CCompilerOpt.cc_test_flags[999] : testing flags (-mf16c)
    C compiler: gcc -pthread -Wno-unused-result -Wsign-compare -DNDEBUG -g -fwrapv -O3 -Wall -march=x86-64 -mtune=generic -O3 -pipe -fno-plt -fno-semantic-interposition -march=x86-64 -mtune=generic -O3 -pipe -fno-plt -march=x86-64 -mtune=generic -O3 -pipe -fno-plt -fPIC
    
    compile options: '-I/home/rangke/py_vrt/include -I/usr/include/python3.9 -c'
    extra options: '-mf16c'
    CCompilerOpt.feature_test[1444] : testing feature 'F16C' with flags (-msse -msse2 -msse3 -mssse3 -msse4.1 -mpopcnt -msse4.2 -mavx -mf16c)
    C compiler: gcc -pthread -Wno-unused-result -Wsign-compare -DNDEBUG -g -fwrapv -O3 -Wall -march=x86-64 -mtune=generic -O3 -pipe -fno-plt -fno-semantic-interposition -march=x86-64 -mtune=generic -O3 -pipe -fno-plt -march=x86-64 -mtune=generic -O3 -pipe -fno-plt -fPIC
    
    compile options: '-I/home/rangke/py_vrt/include -I/usr/include/python3.9 -c'
    extra options: '-msse -msse2 -msse3 -mssse3 -msse4.1 -mpopcnt -msse4.2 -mavx -mf16c -Werror'
    CCompilerOpt.cc_test_flags[999] : testing flags (-mfma)
    C compiler: gcc -pthread -Wno-unused-result -Wsign-compare -DNDEBUG -g -fwrapv -O3 -Wall -march=x86-64 -mtune=generic -O3 -pipe -fno-plt -fno-semantic-interposition -march=x86-64 -mtune=generic -O3 -pipe -fno-plt -march=x86-64 -mtune=generic -O3 -pipe -fno-plt -fPIC
    
    compile options: '-I/home/rangke/py_vrt/include -I/usr/include/python3.9 -c'
    extra options: '-mfma'
    CCompilerOpt.feature_test[1444] : testing feature 'FMA3' with flags (-msse -msse2 -msse3 -mssse3 -msse4.1 -mpopcnt -msse4.2 -mavx -mf16c -mfma)
    C compiler: gcc -pthread -Wno-unused-result -Wsign-compare -DNDEBUG -g -fwrapv -O3 -Wall -march=x86-64 -mtune=generic -O3 -pipe -fno-plt -fno-semantic-interposition -march=x86-64 -mtune=generic -O3 -pipe -fno-plt -march=x86-64 -mtune=generic -O3 -pipe -fno-plt -fPIC
    
    compile options: '-I/home/rangke/py_vrt/include -I/usr/include/python3.9 -c'
    extra options: '-msse -msse2 -msse3 -mssse3 -msse4.1 -mpopcnt -msse4.2 -mavx -mf16c -mfma -Werror'
    CCompilerOpt.cc_test_flags[999] : testing flags (-mavx2)
    C compiler: gcc -pthread -Wno-unused-result -Wsign-compare -DNDEBUG -g -fwrapv -O3 -Wall -march=x86-64 -mtune=generic -O3 -pipe -fno-plt -fno-semantic-interposition -march=x86-64 -mtune=generic -O3 -pipe -fno-plt -march=x86-64 -mtune=generic -O3 -pipe -fno-plt -fPIC
    
    compile options: '-I/home/rangke/py_vrt/include -I/usr/include/python3.9 -c'
    extra options: '-mavx2'
    CCompilerOpt.feature_test[1444] : testing feature 'AVX2' with flags (-msse -msse2 -msse3 -mssse3 -msse4.1 -mpopcnt -msse4.2 -mavx -mf16c -mavx2)
    C compiler: gcc -pthread -Wno-unused-result -Wsign-compare -DNDEBUG -g -fwrapv -O3 -Wall -march=x86-64 -mtune=generic -O3 -pipe -fno-plt -fno-semantic-interposition -march=x86-64 -mtune=generic -O3 -pipe -fno-plt -march=x86-64 -mtune=generic -O3 -pipe -fno-plt -fPIC
    
    compile options: '-I/home/rangke/py_vrt/include -I/usr/include/python3.9 -c'
    extra options: '-msse -msse2 -msse3 -mssse3 -msse4.1 -mpopcnt -msse4.2 -mavx -mf16c -mavx2 -Werror'
    CCompilerOpt.cc_test_flags[999] : testing flags (-mavx512f)
    C compiler: gcc -pthread -Wno-unused-result -Wsign-compare -DNDEBUG -g -fwrapv -O3 -Wall -march=x86-64 -mtune=generic -O3 -pipe -fno-plt -fno-semantic-interposition -march=x86-64 -mtune=generic -O3 -pipe -fno-plt -march=x86-64 -mtune=generic -O3 -pipe -fno-plt -fPIC
    
    compile options: '-I/home/rangke/py_vrt/include -I/usr/include/python3.9 -c'
    extra options: '-mavx512f'
    CCompilerOpt.feature_test[1444] : testing feature 'AVX512F' with flags (-msse -msse2 -msse3 -mssse3 -msse4.1 -mpopcnt -msse4.2 -mavx -mf16c -mfma -mavx2 -mavx512f)
    C compiler: gcc -pthread -Wno-unused-result -Wsign-compare -DNDEBUG -g -fwrapv -O3 -Wall -march=x86-64 -mtune=generic -O3 -pipe -fno-plt -fno-semantic-interposition -march=x86-64 -mtune=generic -O3 -pipe -fno-plt -march=x86-64 -mtune=generic -O3 -pipe -fno-plt -fPIC
    
    compile options: '-I/home/rangke/py_vrt/include -I/usr/include/python3.9 -c'
    extra options: '-msse -msse2 -msse3 -mssse3 -msse4.1 -mpopcnt -msse4.2 -mavx -mf16c -mfma -mavx2 -mavx512f -Werror'
    CCompilerOpt.cc_test_flags[999] : testing flags (-mavx512cd)
    C compiler: gcc -pthread -Wno-unused-result -Wsign-compare -DNDEBUG -g -fwrapv -O3 -Wall -march=x86-64 -mtune=generic -O3 -pipe -fno-plt -fno-semantic-interposition -march=x86-64 -mtune=generic -O3 -pipe -fno-plt -march=x86-64 -mtune=generic -O3 -pipe -fno-plt -fPIC
    
    compile options: '-I/home/rangke/py_vrt/include -I/usr/include/python3.9 -c'
    extra options: '-mavx512cd'
    CCompilerOpt.cc_test_flags[999] : testing flags (-mavx512vl -mavx512bw -mavx512dq)
    C compiler: gcc -pthread -Wno-unused-result -Wsign-compare -DNDEBUG -g -fwrapv -O3 -Wall -march=x86-64 -mtune=generic -O3 -pipe -fno-plt -fno-semantic-interposition -march=x86-64 -mtune=generic -O3 -pipe -fno-plt -march=x86-64 -mtune=generic -O3 -pipe -fno-plt -fPIC
    
    compile options: '-I/home/rangke/py_vrt/include -I/usr/include/python3.9 -c'
    extra options: '-mavx512vl -mavx512bw -mavx512dq'
    CCompilerOpt.cc_test_flags[999] : testing flags (-mavx512ifma -mavx512vbmi)
    C compiler: gcc -pthread -Wno-unused-result -Wsign-compare -DNDEBUG -g -fwrapv -O3 -Wall -march=x86-64 -mtune=generic -O3 -pipe -fno-plt -fno-semantic-interposition -march=x86-64 -mtune=generic -O3 -pipe -fno-plt -march=x86-64 -mtune=generic -O3 -pipe -fno-plt -fPIC
    
    compile options: '-I/home/rangke/py_vrt/include -I/usr/include/python3.9 -c'
    extra options: '-mavx512ifma -mavx512vbmi'
    CCompilerOpt.feature_test[1444] : testing feature 'AVX512_CNL' with flags (-msse -msse2 -msse3 -mssse3 -msse4.1 -mpopcnt -msse4.2 -mavx -mf16c -mfma -mavx2 -mavx512f -mavx512cd -mavx512vl -mavx512bw -mavx512dq -mavx512ifma -mavx512vbmi)
    C compiler: gcc -pthread -Wno-unused-result -Wsign-compare -DNDEBUG -g -fwrapv -O3 -Wall -march=x86-64 -mtune=generic -O3 -pipe -fno-plt -fno-semantic-interposition -march=x86-64 -mtune=generic -O3 -pipe -fno-plt -march=x86-64 -mtune=generic -O3 -pipe -fno-plt -fPIC
    
    compile options: '-I/home/rangke/py_vrt/include -I/usr/include/python3.9 -c'
    extra options: '-msse -msse2 -msse3 -mssse3 -msse4.1 -mpopcnt -msse4.2 -mavx -mf16c -mfma -mavx2 -mavx512f -mavx512cd -mavx512vl -mavx512bw -mavx512dq -mavx512ifma -mavx512vbmi -Werror'
    CCompilerOpt.feature_test[1444] : testing feature 'AVX512CD' with flags (-msse -msse2 -msse3 -mssse3 -msse4.1 -mpopcnt -msse4.2 -mavx -mf16c -mfma -mavx2 -mavx512f -mavx512cd)
    C compiler: gcc -pthread -Wno-unused-result -Wsign-compare -DNDEBUG -g -fwrapv -O3 -Wall -march=x86-64 -mtune=generic -O3 -pipe -fno-plt -fno-semantic-interposition -march=x86-64 -mtune=generic -O3 -pipe -fno-plt -march=x86-64 -mtune=generic -O3 -pipe -fno-plt -fPIC
    
    compile options: '-I/home/rangke/py_vrt/include -I/usr/include/python3.9 -c'
    extra options: '-msse -msse2 -msse3 -mssse3 -msse4.1 -mpopcnt -msse4.2 -mavx -mf16c -mfma -mavx2 -mavx512f -mavx512cd -Werror'
    CCompilerOpt.cc_test_flags[999] : testing flags (-mavx512vnni)
    C compiler: gcc -pthread -Wno-unused-result -Wsign-compare -DNDEBUG -g -fwrapv -O3 -Wall -march=x86-64 -mtune=generic -O3 -pipe -fno-plt -fno-semantic-interposition -march=x86-64 -mtune=generic -O3 -pipe -fno-plt -march=x86-64 -mtune=generic -O3 -pipe -fno-plt -fPIC
    
    compile options: '-I/home/rangke/py_vrt/include -I/usr/include/python3.9 -c'
    extra options: '-mavx512vnni'
    CCompilerOpt.feature_test[1444] : testing feature 'AVX512_CLX' with flags (-msse -msse2 -msse3 -mssse3 -msse4.1 -mpopcnt -msse4.2 -mavx -mf16c -mfma -mavx2 -mavx512f -mavx512cd -mavx512vl -mavx512bw -mavx512dq -mavx512vnni)
    C compiler: gcc -pthread -Wno-unused-result -Wsign-compare -DNDEBUG -g -fwrapv -O3 -Wall -march=x86-64 -mtune=generic -O3 -pipe -fno-plt -fno-semantic-interposition -march=x86-64 -mtune=generic -O3 -pipe -fno-plt -march=x86-64 -mtune=generic -O3 -pipe -fno-plt -fPIC
    
    compile options: '-I/home/rangke/py_vrt/include -I/usr/include/python3.9 -c'
    extra options: '-msse -msse2 -msse3 -mssse3 -msse4.1 -mpopcnt -msse4.2 -mavx -mf16c -mfma -mavx2 -mavx512f -mavx512cd -mavx512vl -mavx512bw -mavx512dq -mavx512vnni -Werror'
    CCompilerOpt.feature_test[1444] : testing feature 'AVX512_SKX' with flags (-msse -msse2 -msse3 -mssse3 -msse4.1 -mpopcnt -msse4.2 -mavx -mf16c -mfma -mavx2 -mavx512f -mavx512cd -mavx512vl -mavx512bw -mavx512dq)
    C compiler: gcc -pthread -Wno-unused-result -Wsign-compare -DNDEBUG -g -fwrapv -O3 -Wall -march=x86-64 -mtune=generic -O3 -pipe -fno-plt -fno-semantic-interposition -march=x86-64 -mtune=generic -O3 -pipe -fno-plt -march=x86-64 -mtune=generic -O3 -pipe -fno-plt -fPIC
    
    compile options: '-I/home/rangke/py_vrt/include -I/usr/include/python3.9 -c'
    extra options: '-msse -msse2 -msse3 -mssse3 -msse4.1 -mpopcnt -msse4.2 -mavx -mf16c -mfma -mavx2 -mavx512f -mavx512cd -mavx512vl -mavx512bw -mavx512dq -Werror'
    CCompilerOpt.cc_test_flags[999] : testing flags (-mavx512vbmi2 -mavx512bitalg -mavx512vpopcntdq)
    C compiler: gcc -pthread -Wno-unused-result -Wsign-compare -DNDEBUG -g -fwrapv -O3 -Wall -march=x86-64 -mtune=generic -O3 -pipe -fno-plt -fno-semantic-interposition -march=x86-64 -mtune=generic -O3 -pipe -fno-plt -march=x86-64 -mtune=generic -O3 -pipe -fno-plt -fPIC
    
    compile options: '-I/home/rangke/py_vrt/include -I/usr/include/python3.9 -c'
    extra options: '-mavx512vbmi2 -mavx512bitalg -mavx512vpopcntdq'
    CCompilerOpt.feature_test[1444] : testing feature 'AVX512_ICL' with flags (-msse -msse2 -msse3 -mssse3 -msse4.1 -mpopcnt -msse4.2 -mavx -mf16c -mfma -mavx2 -mavx512f -mavx512cd -mavx512vl -mavx512bw -mavx512dq -mavx512vnni -mavx512ifma -mavx512vbmi -mavx512vbmi2 -mavx512bitalg -mavx512vpopcntdq)
    C compiler: gcc -pthread -Wno-unused-result -Wsign-compare -DNDEBUG -g -fwrapv -O3 -Wall -march=x86-64 -mtune=generic -O3 -pipe -fno-plt -fno-semantic-interposition -march=x86-64 -mtune=generic -O3 -pipe -fno-plt -march=x86-64 -mtune=generic -O3 -pipe -fno-plt -fPIC
    
    compile options: '-I/home/rangke/py_vrt/include -I/usr/include/python3.9 -c'
    extra options: '-msse -msse2 -msse3 -mssse3 -msse4.1 -mpopcnt -msse4.2 -mavx -mf16c -mfma -mavx2 -mavx512f -mavx512cd -mavx512vl -mavx512bw -mavx512dq -mavx512vnni -mavx512ifma -mavx512vbmi -mavx512vbmi2 -mavx512bitalg -mavx512vpopcntdq -Werror'
    CCompilerOpt.cc_test_flags[999] : testing flags (-mavx512er -mavx512pf)
    C compiler: gcc -pthread -Wno-unused-result -Wsign-compare -DNDEBUG -g -fwrapv -O3 -Wall -march=x86-64 -mtune=generic -O3 -pipe -fno-plt -fno-semantic-interposition -march=x86-64 -mtune=generic -O3 -pipe -fno-plt -march=x86-64 -mtune=generic -O3 -pipe -fno-plt -fPIC
    
    compile options: '-I/home/rangke/py_vrt/include -I/usr/include/python3.9 -c'
    extra options: '-mavx512er -mavx512pf'
    CCompilerOpt.feature_test[1444] : testing feature 'AVX512_KNL' with flags (-msse -msse2 -msse3 -mssse3 -msse4.1 -mpopcnt -msse4.2 -mavx -mf16c -mfma -mavx2 -mavx512f -mavx512cd -mavx512er -mavx512pf)
    C compiler: gcc -pthread -Wno-unused-result -Wsign-compare -DNDEBUG -g -fwrapv -O3 -Wall -march=x86-64 -mtune=generic -O3 -pipe -fno-plt -fno-semantic-interposition -march=x86-64 -mtune=generic -O3 -pipe -fno-plt -march=x86-64 -mtune=generic -O3 -pipe -fno-plt -fPIC
    
    compile options: '-I/home/rangke/py_vrt/include -I/usr/include/python3.9 -c'
    extra options: '-msse -msse2 -msse3 -mssse3 -msse4.1 -mpopcnt -msse4.2 -mavx -mf16c -mfma -mavx2 -mavx512f -mavx512cd -mavx512er -mavx512pf -Werror'
    CCompilerOpt.cc_test_flags[999] : testing flags (-mavx5124fmaps -mavx5124vnniw -mavx512vpopcntdq)
    C compiler: gcc -pthread -Wno-unused-result -Wsign-compare -DNDEBUG -g -fwrapv -O3 -Wall -march=x86-64 -mtune=generic -O3 -pipe -fno-plt -fno-semantic-interposition -march=x86-64 -mtune=generic -O3 -pipe -fno-plt -march=x86-64 -mtune=generic -O3 -pipe -fno-plt -fPIC
    
    compile options: '-I/home/rangke/py_vrt/include -I/usr/include/python3.9 -c'
    extra options: '-mavx5124fmaps -mavx5124vnniw -mavx512vpopcntdq'
    CCompilerOpt.feature_test[1444] : testing feature 'AVX512_KNM' with flags (-msse -msse2 -msse3 -mssse3 -msse4.1 -mpopcnt -msse4.2 -mavx -mf16c -mfma -mavx2 -mavx512f -mavx512cd -mavx512er -mavx512pf -mavx5124fmaps -mavx5124vnniw -mavx512vpopcntdq)
    C compiler: gcc -pthread -Wno-unused-result -Wsign-compare -DNDEBUG -g -fwrapv -O3 -Wall -march=x86-64 -mtune=generic -O3 -pipe -fno-plt -fno-semantic-interposition -march=x86-64 -mtune=generic -O3 -pipe -fno-plt -march=x86-64 -mtune=generic -O3 -pipe -fno-plt -fPIC
    
    compile options: '-I/home/rangke/py_vrt/include -I/usr/include/python3.9 -c'
    extra options: '-msse -msse2 -msse3 -mssse3 -msse4.1 -mpopcnt -msse4.2 -mavx -mf16c -mfma -mavx2 -mavx512f -mavx512cd -mavx512er -mavx512pf -mavx5124fmaps -mavx5124vnniw -mavx512vpopcntdq -Werror'
    CCompilerOpt.__init__[1695] : skip features (SSE3 SSE2 SSE) since its part of baseline
    CCompilerOpt.__init__[1699] : initialize targets groups
    CCompilerOpt.__init__[1701] : parse target group simd_test
    CCompilerOpt._parse_target_tokens[1910] : skip targets (VSX2 VSX3 XOP NEON FMA4 ASIMD VSX) not part of baseline or dispatch-able features
    CCompilerOpt._parse_policy_not_keepbase[2022] : skip baseline features (SSE2)
    CCompilerOpt.generate_dispatch_header[2236] : generate CPU dispatch header: (build/src.linux-x86_64-3.9/numpy/distutils/include/npy_cpu_dispatch_config.h)
    CCompilerOpt.generate_dispatch_header[2245] : dispatch header dir build/src.linux-x86_64-3.9/numpy/distutils/include does not exist, creating it
    CCompilerOpt.feature_extra_checks[1519] : Testing extra checks for feature 'AVX512F' (AVX512F_REDUCE)
    C compiler: gcc -pthread -Wno-unused-result -Wsign-compare -DNDEBUG -g -fwrapv -O3 -Wall -march=x86-64 -mtune=generic -O3 -pipe -fno-plt -fno-semantic-interposition -march=x86-64 -mtune=generic -O3 -pipe -fno-plt -march=x86-64 -mtune=generic -O3 -pipe -fno-plt -fPIC
    
    compile options: '-I/home/rangke/py_vrt/include -I/usr/include/python3.9 -c'
    extra options: '-msse -msse2 -msse3 -mssse3 -msse4.1 -mpopcnt -msse4.2 -mavx -mf16c -mfma -mavx2 -mavx512f -Werror'
    CCompilerOpt.feature_extra_checks[1519] : Testing extra checks for feature 'AVX512_SKX' (AVX512BW_MASK AVX512DQ_MASK)
    C compiler: gcc -pthread -Wno-unused-result -Wsign-compare -DNDEBUG -g -fwrapv -O3 -Wall -march=x86-64 -mtune=generic -O3 -pipe -fno-plt -fno-semantic-interposition -march=x86-64 -mtune=generic -O3 -pipe -fno-plt -march=x86-64 -mtune=generic -O3 -pipe -fno-plt -fPIC
    
    compile options: '-I/home/rangke/py_vrt/include -I/usr/include/python3.9 -c'
    extra options: '-msse -msse2 -msse3 -mssse3 -msse4.1 -mpopcnt -msse4.2 -mavx -mf16c -mfma -mavx2 -mavx512f -mavx512cd -mavx512vl -mavx512bw -mavx512dq -Werror'
    C compiler: gcc -pthread -Wno-unused-result -Wsign-compare -DNDEBUG -g -fwrapv -O3 -Wall -march=x86-64 -mtune=generic -O3 -pipe -fno-plt -fno-semantic-interposition -march=x86-64 -mtune=generic -O3 -pipe -fno-plt -march=x86-64 -mtune=generic -O3 -pipe -fno-plt -fPIC
    
    compile options: '-I/home/rangke/py_vrt/include -I/usr/include/python3.9 -c'
    extra options: '-msse -msse2 -msse3 -mssse3 -msse4.1 -mpopcnt -msse4.2 -mavx -mf16c -mfma -mavx2 -mavx512f -mavx512cd -mavx512vl -mavx512bw -mavx512dq -Werror'
    Detected changes on compiler optimizations, force rebuilding
    building '_geoslib' extension
    compiling C sources
    C compiler: gcc -pthread -Wno-unused-result -Wsign-compare -DNDEBUG -g -fwrapv -O3 -Wall -march=x86-64 -mtune=generic -O3 -pipe -fno-plt -fno-semantic-interposition -march=x86-64 -mtune=generic -O3 -pipe -fno-plt -march=x86-64 -mtune=generic -O3 -pipe -fno-plt -fPIC
    
    creating build/temp.linux-x86_64-3.9/src
    compile options: '-I/home/rangke/tools/pkgs/geos/include -I/home/rangke/py_vrt/lib/python3.9/site-packages/numpy/core/include -I/home/rangke/py_vrt/lib/python3.9/site-packages/numpy/core/include -Ibuild/src.linux-x86_64-3.9/numpy/distutils/include -I/home/rangke/py_vrt/include -I/usr/include/python3.9 -c'
    extra options: '-msse -msse2 -msse3'
    gcc: src/_geoslib.c
    In file included from /home/rangke/py_vrt/lib/python3.9/site-packages/numpy/core/include/numpy/ndarraytypes.h:1944,
                     from /home/rangke/py_vrt/lib/python3.9/site-packages/numpy/core/include/numpy/ndarrayobject.h:12,
                     from /home/rangke/py_vrt/lib/python3.9/site-packages/numpy/core/include/numpy/arrayobject.h:4,
                     from src/_geoslib.c:565:
    /home/rangke/py_vrt/lib/python3.9/site-packages/numpy/core/include/numpy/npy_1_7_deprecated_api.h:17:2: warning: #warning "Using deprecated NumPy API, disable it with " "#define NPY_NO_DEPRECATED_API NPY_1_7_API_VERSION" [-Wcpp]
       17 | #warning "Using deprecated NumPy API, disable it with " \
          |  ^~~~~~~
    src/_geoslib.c: In function ‘__pyx_pf_8_geoslib_12BaseGeometry_is_valid’:
    src/_geoslib.c:1602:43: warning: passing argument 1 of ‘GEOSisValid’ from incompatible pointer type [-Wincompatible-pointer-types]
     1602 |   __pyx_v_valid = GEOSisValid(__pyx_v_self->_geom);
          |                               ~~~~~~~~~~~~^~~~~~~
          |                                           |
          |                                           GEOSGeometry ** {aka struct GEOSGeom_t **}
    In file included from src/_geoslib.c:566:
    /home/rangke/tools/pkgs/geos/include/geos_c.h:3310:54: note: expected ‘const GEOSGeometry *’ {aka ‘const struct GEOSGeom_t *’} but argument is of type ‘GEOSGeometry **’ {aka ‘struct GEOSGeom_t **’}
     3310 | extern char GEOS_DLL GEOSisValid(const GEOSGeometry* g);
          |                                  ~~~~~~~~~~~~~~~~~~~~^
    src/_geoslib.c: In function ‘__pyx_pf_8_geoslib_12BaseGeometry_2geom_type’:
    src/_geoslib.c:1699:59: warning: passing argument 1 of ‘GEOSGeomType’ from incompatible pointer type [-Wincompatible-pointer-types]
     1699 |   __pyx_t_1 = PyBytes_FromString(GEOSGeomType(__pyx_v_self->_geom)); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 152, __pyx_L1_error)
          |                                               ~~~~~~~~~~~~^~~~~~~
          |                                                           |
          |                                                           GEOSGeometry ** {aka struct GEOSGeom_t **}
    In file included from src/_geoslib.c:566:
    /home/rangke/tools/pkgs/geos/include/geos_c.h:3356:56: note: expected ‘const GEOSGeometry *’ {aka ‘const struct GEOSGeom_t *’} but argument is of type ‘GEOSGeometry **’ {aka ‘struct GEOSGeom_t **’}
     3356 | extern char GEOS_DLL *GEOSGeomType(const GEOSGeometry* g);
          |                                    ~~~~~~~~~~~~~~~~~~~~^
    src/_geoslib.c: In function ‘__pyx_pf_8_geoslib_12BaseGeometry_4within’:
    src/_geoslib.c:1787:31: warning: passing argument 1 of ‘GEOSWithin’ from incompatible pointer type [-Wincompatible-pointer-types]
     1787 |   __pyx_v_answer = GEOSWithin(__pyx_v_g1, __pyx_v_g2);
          |                               ^~~~~~~~~~
          |                               |
          |                               GEOSGeometry ** {aka struct GEOSGeom_t **}
    In file included from src/_geoslib.c:566:
    /home/rangke/tools/pkgs/geos/include/geos_c.h:2832:53: note: expected ‘const GEOSGeometry *’ {aka ‘const struct GEOSGeom_t *’} but argument is of type ‘GEOSGeometry **’ {aka ‘struct GEOSGeom_t **’}
     2832 | extern char GEOS_DLL GEOSWithin(const GEOSGeometry* g1, const GEOSGeometry* g2);
          |                                 ~~~~~~~~~~~~~~~~~~~~^~
    src/_geoslib.c:1787:43: warning: passing argument 2 of ‘GEOSWithin’ from incompatible pointer type [-Wincompatible-pointer-types]
     1787 |   __pyx_v_answer = GEOSWithin(__pyx_v_g1, __pyx_v_g2);
          |                                           ^~~~~~~~~~
          |                                           |
          |                                           GEOSGeometry ** {aka struct GEOSGeom_t **}
    In file included from src/_geoslib.c:566:
    /home/rangke/tools/pkgs/geos/include/geos_c.h:2832:77: note: expected ‘const GEOSGeometry *’ {aka ‘const struct GEOSGeom_t *’} but argument is of type ‘GEOSGeometry **’ {aka ‘struct GEOSGeom_t **’}
     2832 | extern char GEOS_DLL GEOSWithin(const GEOSGeometry* g1, const GEOSGeometry* g2);
          |                                                         ~~~~~~~~~~~~~~~~~~~~^~
    src/_geoslib.c: In function ‘__pyx_pf_8_geoslib_12BaseGeometry_6union’:
    src/_geoslib.c:1919:26: warning: passing argument 1 of ‘GEOSUnion’ from incompatible pointer type [-Wincompatible-pointer-types]
     1919 |   __pyx_v_g3 = GEOSUnion(__pyx_v_g1, __pyx_v_g2);
          |                          ^~~~~~~~~~
          |                          |
          |                          GEOSGeometry ** {aka struct GEOSGeom_t **}
    In file included from src/_geoslib.c:566:
    /home/rangke/tools/pkgs/geos/include/geos_c.h:2275:25: note: expected ‘const GEOSGeometry *’ {aka ‘const struct GEOSGeom_t *’} but argument is of type ‘GEOSGeometry **’ {aka ‘struct GEOSGeom_t **’}
     2275 |     const GEOSGeometry* ga,
          |     ~~~~~~~~~~~~~~~~~~~~^~
    src/_geoslib.c:1919:38: warning: passing argument 2 of ‘GEOSUnion’ from incompatible pointer type [-Wincompatible-pointer-types]
     1919 |   __pyx_v_g3 = GEOSUnion(__pyx_v_g1, __pyx_v_g2);
          |                                      ^~~~~~~~~~
          |                                      |
          |                                      GEOSGeometry ** {aka struct GEOSGeom_t **}
    In file included from src/_geoslib.c:566:
    /home/rangke/tools/pkgs/geos/include/geos_c.h:2276:25: note: expected ‘const GEOSGeometry *’ {aka ‘const struct GEOSGeom_t *’} but argument is of type ‘GEOSGeometry **’ {aka ‘struct GEOSGeom_t **’}
     2276 |     const GEOSGeometry* gb);
          |     ~~~~~~~~~~~~~~~~~~~~^~
    src/_geoslib.c:1919:14: warning: assignment to ‘GEOSGeometry **’ {aka ‘struct GEOSGeom_t **’} from incompatible pointer type ‘GEOSGeometry *’ {aka ‘struct GEOSGeom_t *’} [-Wincompatible-pointer-types]
     1919 |   __pyx_v_g3 = GEOSUnion(__pyx_v_g1, __pyx_v_g2);
          |              ^
    src/_geoslib.c:1928:35: warning: passing argument 1 of ‘GEOSGeomTypeId’ from incompatible pointer type [-Wincompatible-pointer-types]
     1928 |   __pyx_v_typeid = GEOSGeomTypeId(__pyx_v_g3);
          |                                   ^~~~~~~~~~
          |                                   |
          |                                   GEOSGeometry ** {aka struct GEOSGeom_t **}
    In file included from src/_geoslib.c:566:
    /home/rangke/tools/pkgs/geos/include/geos_c.h:3363:56: note: expected ‘const GEOSGeometry *’ {aka ‘const struct GEOSGeom_t *’} but argument is of type ‘GEOSGeometry **’ {aka ‘struct GEOSGeom_t **’}
     3363 | extern int GEOS_DLL GEOSGeomTypeId(const GEOSGeometry* g);
          |                                    ~~~~~~~~~~~~~~~~~~~~^
    src/_geoslib.c:2031:45: warning: passing argument 1 of ‘GEOSGetNumGeometries’ from incompatible pointer type [-Wincompatible-pointer-types]
     2031 |     __pyx_v_numgeoms = GEOSGetNumGeometries(__pyx_v_g3);
          |                                             ^~~~~~~~~~
          |                                             |
          |                                             GEOSGeometry ** {aka struct GEOSGeom_t **}
    In file included from src/_geoslib.c:566:
    /home/rangke/tools/pkgs/geos/include/geos_c.h:3407:62: note: expected ‘const GEOSGeometry *’ {aka ‘const struct GEOSGeom_t *’} but argument is of type ‘GEOSGeometry **’ {aka ‘struct GEOSGeom_t **’}
     3407 | extern int GEOS_DLL GEOSGetNumGeometries(const GEOSGeometry* g);
          |                                          ~~~~~~~~~~~~~~~~~~~~^
    src/_geoslib.c:2040:37: warning: passing argument 1 of ‘GEOSGetGeometryN’ from incompatible pointer type [-Wincompatible-pointer-types]
     2040 |     __pyx_v_gout = GEOSGetGeometryN(__pyx_v_g3, 0);
          |                                     ^~~~~~~~~~
          |                                     |
          |                                     GEOSGeometry ** {aka struct GEOSGeom_t **}
    In file included from src/_geoslib.c:566:
    /home/rangke/tools/pkgs/geos/include/geos_c.h:3424:25: note: expected ‘const GEOSGeometry *’ {aka ‘const struct GEOSGeom_t *’} but argument is of type ‘GEOSGeometry **’ {aka ‘struct GEOSGeom_t **’}
     3424 |     const GEOSGeometry* g,
          |     ~~~~~~~~~~~~~~~~~~~~^
    src/_geoslib.c:2040:18: warning: assignment to ‘GEOSGeometry **’ {aka ‘struct GEOSGeom_t **’} from incompatible pointer type ‘const GEOSGeometry *’ {aka ‘const struct GEOSGeom_t *’} [-Wincompatible-pointer-types]
     2040 |     __pyx_v_gout = GEOSGetGeometryN(__pyx_v_g3, 0);
          |                  ^
    src/_geoslib.c:2091:45: warning: passing argument 1 of ‘GEOSGetNumGeometries’ from incompatible pointer type [-Wincompatible-pointer-types]
     2091 |     __pyx_v_numgeoms = GEOSGetNumGeometries(__pyx_v_g3);
          |                                             ^~~~~~~~~~
          |                                             |
          |                                             GEOSGeometry ** {aka struct GEOSGeom_t **}
    In file included from src/_geoslib.c:566:
    /home/rangke/tools/pkgs/geos/include/geos_c.h:3407:62: note: expected ‘const GEOSGeometry *’ {aka ‘const struct GEOSGeom_t *’} but argument is of type ‘GEOSGeometry **’ {aka ‘struct GEOSGeom_t **’}
     3407 | extern int GEOS_DLL GEOSGetNumGeometries(const GEOSGeometry* g);
          |                                          ~~~~~~~~~~~~~~~~~~~~^
    src/_geoslib.c:2100:37: warning: passing argument 1 of ‘GEOSGetGeometryN’ from incompatible pointer type [-Wincompatible-pointer-types]
     2100 |     __pyx_v_gout = GEOSGetGeometryN(__pyx_v_g3, 0);
          |                                     ^~~~~~~~~~
          |                                     |
          |                                     GEOSGeometry ** {aka struct GEOSGeom_t **}
    In file included from src/_geoslib.c:566:
    /home/rangke/tools/pkgs/geos/include/geos_c.h:3424:25: note: expected ‘const GEOSGeometry *’ {aka ‘const struct GEOSGeom_t *’} but argument is of type ‘GEOSGeometry **’ {aka ‘struct GEOSGeom_t **’}
     3424 |     const GEOSGeometry* g,
          |     ~~~~~~~~~~~~~~~~~~~~^
    src/_geoslib.c:2100:18: warning: assignment to ‘GEOSGeometry **’ {aka ‘struct GEOSGeom_t **’} from incompatible pointer type ‘const GEOSGeometry *’ {aka ‘const struct GEOSGeom_t *’} [-Wincompatible-pointer-types]
     2100 |     __pyx_v_gout = GEOSGetGeometryN(__pyx_v_g3, 0);
          |                  ^
    src/_geoslib.c:2143:49: warning: passing argument 1 of ‘GEOSGeomType’ from incompatible pointer type [-Wincompatible-pointer-types]
     2143 |     __pyx_t_2 = PyBytes_FromString(GEOSGeomType(__pyx_v_g3)); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 194, __pyx_L1_error)
          |                                                 ^~~~~~~~~~
          |                                                 |
          |                                                 GEOSGeometry ** {aka struct GEOSGeom_t **}
    In file included from src/_geoslib.c:566:
    /home/rangke/tools/pkgs/geos/include/geos_c.h:3356:56: note: expected ‘const GEOSGeometry *’ {aka ‘const struct GEOSGeom_t *’} but argument is of type ‘GEOSGeometry **’ {aka ‘struct GEOSGeom_t **’}
     3356 | extern char GEOS_DLL *GEOSGeomType(const GEOSGeometry* g);
          |                                    ~~~~~~~~~~~~~~~~~~~~^
    src/_geoslib.c:2173:20: warning: passing argument 1 of ‘GEOSGeom_destroy’ from incompatible pointer type [-Wincompatible-pointer-types]
     2173 |   GEOSGeom_destroy(__pyx_v_g3);
          |                    ^~~~~~~~~~
          |                    |
          |                    GEOSGeometry ** {aka struct GEOSGeom_t **}
    In file included from src/_geoslib.c:566:
    /home/rangke/tools/pkgs/geos/include/geos_c.h:2164:53: note: expected ‘GEOSGeometry *’ {aka ‘struct GEOSGeom_t *’} but argument is of type ‘GEOSGeometry **’ {aka ‘struct GEOSGeom_t **’}
     2164 | extern void GEOS_DLL GEOSGeom_destroy(GEOSGeometry* g);
          |                                       ~~~~~~~~~~~~~~^
    src/_geoslib.c: In function ‘__pyx_pf_8_geoslib_12BaseGeometry_8simplify’:
    src/_geoslib.c:2276:29: warning: passing argument 1 of ‘GEOSSimplify’ from incompatible pointer type [-Wincompatible-pointer-types]
     2276 |   __pyx_v_g3 = GEOSSimplify(__pyx_v_g1, __pyx_v_tolerance);
          |                             ^~~~~~~~~~
          |                             |
          |                             GEOSGeometry ** {aka struct GEOSGeom_t **}
    In file included from src/_geoslib.c:566:
    /home/rangke/tools/pkgs/geos/include/geos_c.h:2660:25: note: expected ‘const GEOSGeometry *’ {aka ‘const struct GEOSGeom_t *’} but argument is of type ‘GEOSGeometry **’ {aka ‘struct GEOSGeom_t **’}
     2660 |     const GEOSGeometry* g,
          |     ~~~~~~~~~~~~~~~~~~~~^
    src/_geoslib.c:2276:14: warning: assignment to ‘GEOSGeometry **’ {aka ‘struct GEOSGeom_t **’} from incompatible pointer type ‘GEOSGeometry *’ {aka ‘struct GEOSGeom_t *’} [-Wincompatible-pointer-types]
     2276 |   __pyx_v_g3 = GEOSSimplify(__pyx_v_g1, __pyx_v_tolerance);
          |              ^
    src/_geoslib.c:2285:35: warning: passing argument 1 of ‘GEOSGeomTypeId’ from incompatible pointer type [-Wincompatible-pointer-types]
     2285 |   __pyx_v_typeid = GEOSGeomTypeId(__pyx_v_g3);
          |                                   ^~~~~~~~~~
          |                                   |
          |                                   GEOSGeometry ** {aka struct GEOSGeom_t **}
    In file included from src/_geoslib.c:566:
    /home/rangke/tools/pkgs/geos/include/geos_c.h:3363:56: note: expected ‘const GEOSGeometry *’ {aka ‘const struct GEOSGeom_t *’} but argument is of type ‘GEOSGeometry **’ {aka ‘struct GEOSGeom_t **’}
     3363 | extern int GEOS_DLL GEOSGeomTypeId(const GEOSGeometry* g);
          |                                    ~~~~~~~~~~~~~~~~~~~~^
    src/_geoslib.c:2388:45: warning: passing argument 1 of ‘GEOSGetNumGeometries’ from incompatible pointer type [-Wincompatible-pointer-types]
     2388 |     __pyx_v_numgeoms = GEOSGetNumGeometries(__pyx_v_g3);
          |                                             ^~~~~~~~~~
          |                                             |
          |                                             GEOSGeometry ** {aka struct GEOSGeom_t **}
    In file included from src/_geoslib.c:566:
    /home/rangke/tools/pkgs/geos/include/geos_c.h:3407:62: note: expected ‘const GEOSGeometry *’ {aka ‘const struct GEOSGeom_t *’} but argument is of type ‘GEOSGeometry **’ {aka ‘struct GEOSGeom_t **’}
     3407 | extern int GEOS_DLL GEOSGetNumGeometries(const GEOSGeometry* g);
          |                                          ~~~~~~~~~~~~~~~~~~~~^
    src/_geoslib.c:2397:37: warning: passing argument 1 of ‘GEOSGetGeometryN’ from incompatible pointer type [-Wincompatible-pointer-types]
     2397 |     __pyx_v_gout = GEOSGetGeometryN(__pyx_v_g3, 0);
          |                                     ^~~~~~~~~~
          |                                     |
          |                                     GEOSGeometry ** {aka struct GEOSGeom_t **}
    In file included from src/_geoslib.c:566:
    /home/rangke/tools/pkgs/geos/include/geos_c.h:3424:25: note: expected ‘const GEOSGeometry *’ {aka ‘const struct GEOSGeom_t *’} but argument is of type ‘GEOSGeometry **’ {aka ‘struct GEOSGeom_t **’}
     3424 |     const GEOSGeometry* g,
          |     ~~~~~~~~~~~~~~~~~~~~^
    src/_geoslib.c:2397:18: warning: assignment to ‘GEOSGeometry **’ {aka ‘struct GEOSGeom_t **’} from incompatible pointer type ‘const GEOSGeometry *’ {aka ‘const struct GEOSGeom_t *’} [-Wincompatible-pointer-types]
     2397 |     __pyx_v_gout = GEOSGetGeometryN(__pyx_v_g3, 0);
          |                  ^
    src/_geoslib.c:2448:45: warning: passing argument 1 of ‘GEOSGetNumGeometries’ from incompatible pointer type [-Wincompatible-pointer-types]
     2448 |     __pyx_v_numgeoms = GEOSGetNumGeometries(__pyx_v_g3);
          |                                             ^~~~~~~~~~
          |                                             |
          |                                             GEOSGeometry ** {aka struct GEOSGeom_t **}
    In file included from src/_geoslib.c:566:
    /home/rangke/tools/pkgs/geos/include/geos_c.h:3407:62: note: expected ‘const GEOSGeometry *’ {aka ‘const struct GEOSGeom_t *’} but argument is of type ‘GEOSGeometry **’ {aka ‘struct GEOSGeom_t **’}
     3407 | extern int GEOS_DLL GEOSGetNumGeometries(const GEOSGeometry* g);
          |                                          ~~~~~~~~~~~~~~~~~~~~^
    src/_geoslib.c:2457:37: warning: passing argument 1 of ‘GEOSGetGeometryN’ from incompatible pointer type [-Wincompatible-pointer-types]
     2457 |     __pyx_v_gout = GEOSGetGeometryN(__pyx_v_g3, 0);
          |                                     ^~~~~~~~~~
          |                                     |
          |                                     GEOSGeometry ** {aka struct GEOSGeom_t **}
    In file included from src/_geoslib.c:566:
    /home/rangke/tools/pkgs/geos/include/geos_c.h:3424:25: note: expected ‘const GEOSGeometry *’ {aka ‘const struct GEOSGeom_t *’} but argument is of type ‘GEOSGeometry **’ {aka ‘struct GEOSGeom_t **’}
     3424 |     const GEOSGeometry* g,
          |     ~~~~~~~~~~~~~~~~~~~~^
    src/_geoslib.c:2457:18: warning: assignment to ‘GEOSGeometry **’ {aka ‘struct GEOSGeom_t **’} from incompatible pointer type ‘const GEOSGeometry *’ {aka ‘const struct GEOSGeom_t *’} [-Wincompatible-pointer-types]
     2457 |     __pyx_v_gout = GEOSGetGeometryN(__pyx_v_g3, 0);
          |                  ^
    src/_geoslib.c:2500:49: warning: passing argument 1 of ‘GEOSGeomType’ from incompatible pointer type [-Wincompatible-pointer-types]
     2500 |     __pyx_t_3 = PyBytes_FromString(GEOSGeomType(__pyx_v_g3)); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 227, __pyx_L1_error)
          |                                                 ^~~~~~~~~~
          |                                                 |
          |                                                 GEOSGeometry ** {aka struct GEOSGeom_t **}
    In file included from src/_geoslib.c:566:
    /home/rangke/tools/pkgs/geos/include/geos_c.h:3356:56: note: expected ‘const GEOSGeometry *’ {aka ‘const struct GEOSGeom_t *’} but argument is of type ‘GEOSGeometry **’ {aka ‘struct GEOSGeom_t **’}
     3356 | extern char GEOS_DLL *GEOSGeomType(const GEOSGeometry* g);
          |                                    ~~~~~~~~~~~~~~~~~~~~^
    src/_geoslib.c:2530:20: warning: passing argument 1 of ‘GEOSGeom_destroy’ from incompatible pointer type [-Wincompatible-pointer-types]
     2530 |   GEOSGeom_destroy(__pyx_v_g3);
          |                    ^~~~~~~~~~
          |                    |
          |                    GEOSGeometry ** {aka struct GEOSGeom_t **}
    In file included from src/_geoslib.c:566:
    /home/rangke/tools/pkgs/geos/include/geos_c.h:2164:53: note: expected ‘GEOSGeometry *’ {aka ‘struct GEOSGeom_t *’} but argument is of type ‘GEOSGeometry **’ {aka ‘struct GEOSGeom_t **’}
     2164 | extern void GEOS_DLL GEOSGeom_destroy(GEOSGeometry* g);
          |                                       ~~~~~~~~~~~~~~^
    src/_geoslib.c: In function ‘__pyx_pf_8_geoslib_12BaseGeometry_10fix’:
    src/_geoslib.c:2621:27: warning: passing argument 1 of ‘GEOSBuffer’ from incompatible pointer type [-Wincompatible-pointer-types]
     2621 |   __pyx_v_g3 = GEOSBuffer(__pyx_v_g1, 0., 0);
          |                           ^~~~~~~~~~
          |                           |
          |                           GEOSGeometry ** {aka struct GEOSGeom_t **}
    In file included from src/_geoslib.c:566:
    /home/rangke/tools/pkgs/geos/include/geos_c.h:1916:62: note: expected ‘const GEOSGeometry *’ {aka ‘const struct GEOSGeom_t *’} but argument is of type ‘GEOSGeometry **’ {aka ‘struct GEOSGeom_t **’}
     1916 | extern GEOSGeometry GEOS_DLL *GEOSBuffer(const GEOSGeometry* g,
          |                                          ~~~~~~~~~~~~~~~~~~~~^
    src/_geoslib.c:2621:14: warning: assignment to ‘GEOSGeometry **’ {aka ‘struct GEOSGeom_t **’} from incompatible pointer type ‘GEOSGeometry *’ {aka ‘struct GEOSGeom_t *’} [-Wincompatible-pointer-types]
     2621 |   __pyx_v_g3 = GEOSBuffer(__pyx_v_g1, 0., 0);
          |              ^
    src/_geoslib.c:2630:35: warning: passing argument 1 of ‘GEOSGeomTypeId’ from incompatible pointer type [-Wincompatible-pointer-types]
     2630 |   __pyx_v_typeid = GEOSGeomTypeId(__pyx_v_g3);
          |                                   ^~~~~~~~~~
          |                                   |
          |                                   GEOSGeometry ** {aka struct GEOSGeom_t **}
    In file included from src/_geoslib.c:566:
    /home/rangke/tools/pkgs/geos/include/geos_c.h:3363:56: note: expected ‘const GEOSGeometry *’ {aka ‘const struct GEOSGeom_t *’} but argument is of type ‘GEOSGeometry **’ {aka ‘struct GEOSGeom_t **’}
     3363 | extern int GEOS_DLL GEOSGeomTypeId(const GEOSGeometry* g);
          |                                    ~~~~~~~~~~~~~~~~~~~~^
    src/_geoslib.c:2733:45: warning: passing argument 1 of ‘GEOSGetNumGeometries’ from incompatible pointer type [-Wincompatible-pointer-types]
     2733 |     __pyx_v_numgeoms = GEOSGetNumGeometries(__pyx_v_g3);
          |                                             ^~~~~~~~~~
          |                                             |
          |                                             GEOSGeometry ** {aka struct GEOSGeom_t **}
    In file included from src/_geoslib.c:566:
    /home/rangke/tools/pkgs/geos/include/geos_c.h:3407:62: note: expected ‘const GEOSGeometry *’ {aka ‘const struct GEOSGeom_t *’} but argument is of type ‘GEOSGeometry **’ {aka ‘struct GEOSGeom_t **’}
     3407 | extern int GEOS_DLL GEOSGetNumGeometries(const GEOSGeometry* g);
          |                                          ~~~~~~~~~~~~~~~~~~~~^
    src/_geoslib.c:2742:37: warning: passing argument 1 of ‘GEOSGetGeometryN’ from incompatible pointer type [-Wincompatible-pointer-types]
     2742 |     __pyx_v_gout = GEOSGetGeometryN(__pyx_v_g3, 0);
          |                                     ^~~~~~~~~~
          |                                     |
          |                                     GEOSGeometry ** {aka struct GEOSGeom_t **}
    In file included from src/_geoslib.c:566:
    /home/rangke/tools/pkgs/geos/include/geos_c.h:3424:25: note: expected ‘const GEOSGeometry *’ {aka ‘const struct GEOSGeom_t *’} but argument is of type ‘GEOSGeometry **’ {aka ‘struct GEOSGeom_t **’}
     3424 |     const GEOSGeometry* g,
          |     ~~~~~~~~~~~~~~~~~~~~^
    src/_geoslib.c:2742:18: warning: assignment to ‘GEOSGeometry **’ {aka ‘struct GEOSGeom_t **’} from incompatible pointer type ‘const GEOSGeometry *’ {aka ‘const struct GEOSGeom_t *’} [-Wincompatible-pointer-types]
     2742 |     __pyx_v_gout = GEOSGetGeometryN(__pyx_v_g3, 0);
          |                  ^
    src/_geoslib.c:2793:45: warning: passing argument 1 of ‘GEOSGetNumGeometries’ from incompatible pointer type [-Wincompatible-pointer-types]
     2793 |     __pyx_v_numgeoms = GEOSGetNumGeometries(__pyx_v_g3);
          |                                             ^~~~~~~~~~
          |                                             |
          |                                             GEOSGeometry ** {aka struct GEOSGeom_t **}
    In file included from src/_geoslib.c:566:
    /home/rangke/tools/pkgs/geos/include/geos_c.h:3407:62: note: expected ‘const GEOSGeometry *’ {aka ‘const struct GEOSGeom_t *’} but argument is of type ‘GEOSGeometry **’ {aka ‘struct GEOSGeom_t **’}
     3407 | extern int GEOS_DLL GEOSGetNumGeometries(const GEOSGeometry* g);
          |                                          ~~~~~~~~~~~~~~~~~~~~^
    src/_geoslib.c:2802:37: warning: passing argument 1 of ‘GEOSGetGeometryN’ from incompatible pointer type [-Wincompatible-pointer-types]
     2802 |     __pyx_v_gout = GEOSGetGeometryN(__pyx_v_g3, 0);
          |                                     ^~~~~~~~~~
          |                                     |
          |                                     GEOSGeometry ** {aka struct GEOSGeom_t **}
    In file included from src/_geoslib.c:566:
    /home/rangke/tools/pkgs/geos/include/geos_c.h:3424:25: note: expected ‘const GEOSGeometry *’ {aka ‘const struct GEOSGeom_t *’} but argument is of type ‘GEOSGeometry **’ {aka ‘struct GEOSGeom_t **’}
     3424 |     const GEOSGeometry* g,
          |     ~~~~~~~~~~~~~~~~~~~~^
    src/_geoslib.c:2802:18: warning: assignment to ‘GEOSGeometry **’ {aka ‘struct GEOSGeom_t **’} from incompatible pointer type ‘const GEOSGeometry *’ {aka ‘const struct GEOSGeom_t *’} [-Wincompatible-pointer-types]
     2802 |     __pyx_v_gout = GEOSGetGeometryN(__pyx_v_g3, 0);
          |                  ^
    src/_geoslib.c:2845:49: warning: passing argument 1 of ‘GEOSGeomType’ from incompatible pointer type [-Wincompatible-pointer-types]
     2845 |     __pyx_t_2 = PyBytes_FromString(GEOSGeomType(__pyx_v_g3)); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 258, __pyx_L1_error)
          |                                                 ^~~~~~~~~~
          |                                                 |
          |                                                 GEOSGeometry ** {aka struct GEOSGeom_t **}
    In file included from src/_geoslib.c:566:
    /home/rangke/tools/pkgs/geos/include/geos_c.h:3356:56: note: expected ‘const GEOSGeometry *’ {aka ‘const struct GEOSGeom_t *’} but argument is of type ‘GEOSGeometry **’ {aka ‘struct GEOSGeom_t **’}
     3356 | extern char GEOS_DLL *GEOSGeomType(const GEOSGeometry* g);
          |                                    ~~~~~~~~~~~~~~~~~~~~^
    src/_geoslib.c:2875:20: warning: passing argument 1 of ‘GEOSGeom_destroy’ from incompatible pointer type [-Wincompatible-pointer-types]
     2875 |   GEOSGeom_destroy(__pyx_v_g3);
          |                    ^~~~~~~~~~
          |                    |
          |                    GEOSGeometry ** {aka struct GEOSGeom_t **}
    In file included from src/_geoslib.c:566:
    /home/rangke/tools/pkgs/geos/include/geos_c.h:2164:53: note: expected ‘GEOSGeometry *’ {aka ‘struct GEOSGeom_t *’} but argument is of type ‘GEOSGeometry **’ {aka ‘struct GEOSGeom_t **’}
     2164 | extern void GEOS_DLL GEOSGeom_destroy(GEOSGeometry* g);
          |                                       ~~~~~~~~~~~~~~^
    src/_geoslib.c: In function ‘__pyx_pf_8_geoslib_12BaseGeometry_12intersects’:
    src/_geoslib.c:2975:35: warning: passing argument 1 of ‘GEOSIntersects’ from incompatible pointer type [-Wincompatible-pointer-types]
     2975 |   __pyx_v_answer = GEOSIntersects(__pyx_v_g1, __pyx_v_g2);
          |                                   ^~~~~~~~~~
          |                                   |
          |                                   GEOSGeometry ** {aka struct GEOSGeom_t **}
    In file included from src/_geoslib.c:566:
    /home/rangke/tools/pkgs/geos/include/geos_c.h:2812:57: note: expected ‘const GEOSGeometry *’ {aka ‘const struct GEOSGeom_t *’} but argument is of type ‘GEOSGeometry **’ {aka ‘struct GEOSGeom_t **’}
     2812 | extern char GEOS_DLL GEOSIntersects(const GEOSGeometry* g1, const GEOSGeometry* g2);
          |                                     ~~~~~~~~~~~~~~~~~~~~^~
    src/_geoslib.c:2975:47: warning: passing argument 2 of ‘GEOSIntersects’ from incompatible pointer type [-Wincompatible-pointer-types]
     2975 |   __pyx_v_answer = GEOSIntersects(__pyx_v_g1, __pyx_v_g2);
          |                                               ^~~~~~~~~~
          |                                               |
          |                                               GEOSGeometry ** {aka struct GEOSGeom_t **}
    In file included from src/_geoslib.c:566:
    /home/rangke/tools/pkgs/geos/include/geos_c.h:2812:81: note: expected ‘const GEOSGeometry *’ {aka ‘const struct GEOSGeom_t *’} but argument is of type ‘GEOSGeometry **’ {aka ‘struct GEOSGeom_t **’}
     2812 | extern char GEOS_DLL GEOSIntersects(const GEOSGeometry* g1, const GEOSGeometry* g2);
          |                                                             ~~~~~~~~~~~~~~~~~~~~^~
    src/_geoslib.c: In function ‘__pyx_pf_8_geoslib_12BaseGeometry_14intersection’:
    src/_geoslib.c:3109:33: warning: passing argument 1 of ‘GEOSIntersection’ from incompatible pointer type [-Wincompatible-pointer-types]
     3109 |   __pyx_v_g3 = GEOSIntersection(__pyx_v_g1, __pyx_v_g2);
          |                                 ^~~~~~~~~~
          |                                 |
          |                                 GEOSGeometry ** {aka struct GEOSGeom_t **}
    In file included from src/_geoslib.c:566:
    /home/rangke/tools/pkgs/geos/include/geos_c.h:2185:68: note: expected ‘const GEOSGeometry *’ {aka ‘const struct GEOSGeom_t *’} but argument is of type ‘GEOSGeometry **’ {aka ‘struct GEOSGeom_t **’}
     2185 | extern GEOSGeometry GEOS_DLL *GEOSIntersection(const GEOSGeometry* g1, const GEOSGeometry* g2);
          |                                                ~~~~~~~~~~~~~~~~~~~~^~
    src/_geoslib.c:3109:45: warning: passing argument 2 of ‘GEOSIntersection’ from incompatible pointer type [-Wincompatible-pointer-types]
     3109 |   __pyx_v_g3 = GEOSIntersection(__pyx_v_g1, __pyx_v_g2);
          |                                             ^~~~~~~~~~
          |                                             |
          |                                             GEOSGeometry ** {aka struct GEOSGeom_t **}
    In file included from src/_geoslib.c:566:
    /home/rangke/tools/pkgs/geos/include/geos_c.h:2185:92: note: expected ‘const GEOSGeometry *’ {aka ‘const struct GEOSGeom_t *’} but argument is of type ‘GEOSGeometry **’ {aka ‘struct GEOSGeom_t **’}
     2185 | extern GEOSGeometry GEOS_DLL *GEOSIntersection(const GEOSGeometry* g1, const GEOSGeometry* g2);
          |                                                                        ~~~~~~~~~~~~~~~~~~~~^~
    src/_geoslib.c:3109:14: warning: assignment to ‘GEOSGeometry **’ {aka ‘struct GEOSGeom_t **’} from incompatible pointer type ‘GEOSGeometry *’ {aka ‘struct GEOSGeom_t *’} [-Wincompatible-pointer-types]
     3109 |   __pyx_v_g3 = GEOSIntersection(__pyx_v_g1, __pyx_v_g2);
          |              ^
    src/_geoslib.c:3118:35: warning: passing argument 1 of ‘GEOSGeomTypeId’ from incompatible pointer type [-Wincompatible-pointer-types]
     3118 |   __pyx_v_typeid = GEOSGeomTypeId(__pyx_v_g3);
          |                                   ^~~~~~~~~~
          |                                   |
          |                                   GEOSGeometry ** {aka struct GEOSGeom_t **}
    In file included from src/_geoslib.c:566:
    /home/rangke/tools/pkgs/geos/include/geos_c.h:3363:56: note: expected ‘const GEOSGeometry *’ {aka ‘const struct GEOSGeom_t *’} but argument is of type ‘GEOSGeometry **’ {aka ‘struct GEOSGeom_t **’}
     3363 | extern int GEOS_DLL GEOSGeomTypeId(const GEOSGeometry* g);
          |                                    ~~~~~~~~~~~~~~~~~~~~^
    src/_geoslib.c:3251:45: warning: passing argument 1 of ‘GEOSGetNumGeometries’ from incompatible pointer type [-Wincompatible-pointer-types]
     3251 |     __pyx_v_numgeoms = GEOSGetNumGeometries(__pyx_v_g3);
          |                                             ^~~~~~~~~~
          |                                             |
          |                                             GEOSGeometry ** {aka struct GEOSGeom_t **}
    In file included from src/_geoslib.c:566:
    /home/rangke/tools/pkgs/geos/include/geos_c.h:3407:62: note: expected ‘const GEOSGeometry *’ {aka ‘const struct GEOSGeom_t *’} but argument is of type ‘GEOSGeometry **’ {aka ‘struct GEOSGeom_t **’}
     3407 | extern int GEOS_DLL GEOSGetNumGeometries(const GEOSGeometry* g);
          |                                          ~~~~~~~~~~~~~~~~~~~~^
    src/_geoslib.c:3282:39: warning: passing argument 1 of ‘GEOSGetGeometryN’ from incompatible pointer type [-Wincompatible-pointer-types]
     3282 |       __pyx_v_gout = GEOSGetGeometryN(__pyx_v_g3, __pyx_v_i);
          |                                       ^~~~~~~~~~
          |                                       |
          |                                       GEOSGeometry ** {aka struct GEOSGeom_t **}
    In file included from src/_geoslib.c:566:
    /home/rangke/tools/pkgs/geos/include/geos_c.h:3424:25: note: expected ‘const GEOSGeometry *’ {aka ‘const struct GEOSGeom_t *’} but argument is of type ‘GEOSGeometry **’ {aka ‘struct GEOSGeom_t **’}
     3424 |     const GEOSGeometry* g,
          |     ~~~~~~~~~~~~~~~~~~~~^
    src/_geoslib.c:3282:20: warning: assignment to ‘GEOSGeometry **’ {aka ‘struct GEOSGeom_t **’} from incompatible pointer type ‘const GEOSGeometry *’ {aka ‘const struct GEOSGeom_t *’} [-Wincompatible-pointer-types]
     3282 |       __pyx_v_gout = GEOSGetGeometryN(__pyx_v_g3, __pyx_v_i);
          |                    ^
    src/_geoslib.c:3343:45: warning: passing argument 1 of ‘GEOSGetNumGeometries’ from incompatible pointer type [-Wincompatible-pointer-types]
     3343 |     __pyx_v_numgeoms = GEOSGetNumGeometries(__pyx_v_g3);
          |                                             ^~~~~~~~~~
          |                                             |
          |                                             GEOSGeometry ** {aka struct GEOSGeom_t **}
    In file included from src/_geoslib.c:566:
    /home/rangke/tools/pkgs/geos/include/geos_c.h:3407:62: note: expected ‘const GEOSGeometry *’ {aka ‘const struct GEOSGeom_t *’} but argument is of type ‘GEOSGeometry **’ {aka ‘struct GEOSGeom_t **’}
     3407 | extern int GEOS_DLL GEOSGetNumGeometries(const GEOSGeometry* g);
          |                                          ~~~~~~~~~~~~~~~~~~~~^
    src/_geoslib.c:3374:39: warning: passing argument 1 of ‘GEOSGetGeometryN’ from incompatible pointer type [-Wincompatible-pointer-types]
     3374 |       __pyx_v_gout = GEOSGetGeometryN(__pyx_v_g3, __pyx_v_i);
          |                                       ^~~~~~~~~~
          |                                       |
          |                                       GEOSGeometry ** {aka struct GEOSGeom_t **}
    In file included from src/_geoslib.c:566:
    /home/rangke/tools/pkgs/geos/include/geos_c.h:3424:25: note: expected ‘const GEOSGeometry *’ {aka ‘const struct GEOSGeom_t *’} but argument is of type ‘GEOSGeometry **’ {aka ‘struct GEOSGeom_t **’}
     3424 |     const GEOSGeometry* g,
          |     ~~~~~~~~~~~~~~~~~~~~^
    src/_geoslib.c:3374:20: warning: assignment to ‘GEOSGeometry **’ {aka ‘struct GEOSGeom_t **’} from incompatible pointer type ‘const GEOSGeometry *’ {aka ‘const struct GEOSGeom_t *’} [-Wincompatible-pointer-types]
     3374 |       __pyx_v_gout = GEOSGetGeometryN(__pyx_v_g3, __pyx_v_i);
          |                    ^
    src/_geoslib.c:3427:22: warning: passing argument 1 of ‘GEOSGeom_destroy’ from incompatible pointer type [-Wincompatible-pointer-types]
     3427 |     GEOSGeom_destroy(__pyx_v_g3);
          |                      ^~~~~~~~~~
          |                      |
          |                      GEOSGeometry ** {aka struct GEOSGeom_t **}
    In file included from src/_geoslib.c:566:
    /home/rangke/tools/pkgs/geos/include/geos_c.h:2164:53: note: expected ‘GEOSGeometry *’ {aka ‘struct GEOSGeom_t *’} but argument is of type ‘GEOSGeometry **’ {aka ‘struct GEOSGeom_t **’}
     2164 | extern void GEOS_DLL GEOSGeom_destroy(GEOSGeometry* g);
          |                                       ~~~~~~~~~~~~~~^
    src/_geoslib.c:3452:20: warning: passing argument 1 of ‘GEOSGeom_destroy’ from incompatible pointer type [-Wincompatible-pointer-types]
     3452 |   GEOSGeom_destroy(__pyx_v_g3);
          |                    ^~~~~~~~~~
          |                    |
          |                    GEOSGeometry ** {aka struct GEOSGeom_t **}
    In file included from src/_geoslib.c:566:
    /home/rangke/tools/pkgs/geos/include/geos_c.h:2164:53: note: expected ‘GEOSGeometry *’ {aka ‘struct GEOSGeom_t *’} but argument is of type ‘GEOSGeometry **’ {aka ‘struct GEOSGeom_t **’}
     2164 | extern void GEOS_DLL GEOSGeom_destroy(GEOSGeometry* g);
          |                                       ~~~~~~~~~~~~~~^
    src/_geoslib.c: In function ‘__pyx_pf_8_geoslib_12BaseGeometry_18__dealloc__’:
    src/_geoslib.c:3578:32: warning: passing argument 1 of ‘GEOSGeom_destroy’ from incompatible pointer type [-Wincompatible-pointer-types]
     3578 |   GEOSGeom_destroy(__pyx_v_self->_geom);
          |                    ~~~~~~~~~~~~^~~~~~~
          |                                |
          |                                GEOSGeometry ** {aka struct GEOSGeom_t **}
    In file included from src/_geoslib.c:566:
    /home/rangke/tools/pkgs/geos/include/geos_c.h:2164:53: note: expected ‘GEOSGeometry *’ {aka ‘struct GEOSGeom_t *’} but argument is of type ‘GEOSGeometry **’ {aka ‘struct GEOSGeom_t **’}
     2164 | extern void GEOS_DLL GEOSGeom_destroy(GEOSGeometry* g);
          |                                       ~~~~~~~~~~~~~~^
    src/_geoslib.c: In function ‘__pyx_pf_8_geoslib_7Polygon___init__’:
    src/_geoslib.c:4001:14: warning: assignment to ‘GEOSCoordSequence **’ {aka ‘struct GEOSCoordSeq_t **’} from incompatible pointer type ‘GEOSCoordSequence *’ {aka ‘struct GEOSCoordSeq_t *’} [-Wincompatible-pointer-types]
     4001 |   __pyx_v_cs = GEOSCoordSeq_create(__pyx_v_M, 2);
          |              ^
    src/_geoslib.c:4047:30: warning: passing argument 1 of ‘GEOSCoordSeq_setX’ from incompatible pointer type [-Wincompatible-pointer-types]
     4047 |     (void)(GEOSCoordSeq_setX(__pyx_v_cs, __pyx_v_i, __pyx_v_dx));
          |                              ^~~~~~~~~~
          |                              |
          |                              GEOSCoordSequence ** {aka struct GEOSCoordSeq_t **}
    In file included from src/_geoslib.c:566:
    /home/rangke/tools/pkgs/geos/include/geos_c.h:1716:58: note: expected ‘GEOSCoordSequence *’ {aka ‘struct GEOSCoordSeq_t *’} but argument is of type ‘GEOSCoordSequence **’ {aka ‘struct GEOSCoordSeq_t **’}
     1716 | extern int GEOS_DLL GEOSCoordSeq_setX(GEOSCoordSequence* s,
          |                                       ~~~~~~~~~~~~~~~~~~~^
    src/_geoslib.c:4056:30: warning: passing argument 1 of ‘GEOSCoordSeq_setY’ from incompatible pointer type [-Wincompatible-pointer-types]
     4056 |     (void)(GEOSCoordSeq_setY(__pyx_v_cs, __pyx_v_i, __pyx_v_dy));
          |                              ^~~~~~~~~~
          |                              |
          |                              GEOSCoordSequence ** {aka struct GEOSCoordSeq_t **}
    In file included from src/_geoslib.c:566:
    /home/rangke/tools/pkgs/geos/include/geos_c.h:1725:58: note: expected ‘GEOSCoordSequence *’ {aka ‘struct GEOSCoordSeq_t *’} but argument is of type ‘GEOSCoordSequence **’ {aka ‘struct GEOSCoordSeq_t **’}
     1725 | extern int GEOS_DLL GEOSCoordSeq_setY(GEOSCoordSequence* s,
          |                                       ~~~~~~~~~~~~~~~~~~~^
    src/_geoslib.c:4094:30: warning: passing argument 1 of ‘GEOSCoordSeq_setX’ from incompatible pointer type [-Wincompatible-pointer-types]
     4094 |     (void)(GEOSCoordSeq_setX(__pyx_v_cs, (__pyx_v_M - 1), __pyx_v_dx));
          |                              ^~~~~~~~~~
          |                              |
          |                              GEOSCoordSequence ** {aka struct GEOSCoordSeq_t **}
    In file included from src/_geoslib.c:566:
    /home/rangke/tools/pkgs/geos/include/geos_c.h:1716:58: note: expected ‘GEOSCoordSequence *’ {aka ‘struct GEOSCoordSeq_t *’} but argument is of type ‘GEOSCoordSequence **’ {aka ‘struct GEOSCoordSeq_t **’}
     1716 | extern int GEOS_DLL GEOSCoordSeq_setX(GEOSCoordSequence* s,
          |                                       ~~~~~~~~~~~~~~~~~~~^
    src/_geoslib.c:4103:30: warning: passing argument 1 of ‘GEOSCoordSeq_setY’ from incompatible pointer type [-Wincompatible-pointer-types]
     4103 |     (void)(GEOSCoordSeq_setY(__pyx_v_cs, (__pyx_v_M - 1), __pyx_v_dy));
          |                              ^~~~~~~~~~
          |                              |
          |                              GEOSCoordSequence ** {aka struct GEOSCoordSeq_t **}
    In file included from src/_geoslib.c:566:
    /home/rangke/tools/pkgs/geos/include/geos_c.h:1725:58: note: expected ‘GEOSCoordSequence *’ {aka ‘struct GEOSCoordSeq_t *’} but argument is of type ‘GEOSCoordSequence **’ {aka ‘struct GEOSCoordSeq_t **’}
     1725 | extern int GEOS_DLL GEOSCoordSeq_setY(GEOSCoordSequence* s,
          |                                       ~~~~~~~~~~~~~~~~~~~^
    src/_geoslib.c:4121:42: warning: passing argument 1 of ‘GEOSGeom_createLinearRing’ from incompatible pointer type [-Wincompatible-pointer-types]
     4121 |   __pyx_v_lr = GEOSGeom_createLinearRing(__pyx_v_cs);
          |                                          ^~~~~~~~~~
          |                                          |
          |                                          GEOSCoordSequence ** {aka struct GEOSCoordSeq_t **}
    In file included from src/_geoslib.c:566:
    /home/rangke/tools/pkgs/geos/include/geos_c.h:2084:76: note: expected ‘GEOSCoordSequence *’ {aka ‘struct GEOSCoordSeq_t *’} but argument is of type ‘GEOSCoordSequence **’ {aka ‘struct GEOSCoordSeq_t **’}
     2084 | extern GEOSGeometry GEOS_DLL *GEOSGeom_createLinearRing(GEOSCoordSequence* s);
          |                                                         ~~~~~~~~~~~~~~~~~~~^
    src/_geoslib.c:4121:14: warning: assignment to ‘GEOSGeometry **’ {aka ‘struct GEOSGeom_t **’} from incompatible pointer type ‘GEOSGeometry *’ {aka ‘struct GEOSGeom_t *’} [-Wincompatible-pointer-types]
     4121 |   __pyx_v_lr = GEOSGeom_createLinearRing(__pyx_v_cs);
          |              ^
    src/_geoslib.c:4130:59: warning: passing argument 1 of ‘GEOSGeom_createPolygon’ from incompatible pointer type [-Wincompatible-pointer-types]
     4130 |   __pyx_v_self->__pyx_base._geom = GEOSGeom_createPolygon(__pyx_v_lr, NULL, 0);
          |                                                           ^~~~~~~~~~
          |                                                           |
          |                                                           GEOSGeometry ** {aka struct GEOSGeom_t **}
    In file included from src/_geoslib.c:566:
    /home/rangke/tools/pkgs/geos/include/geos_c.h:2121:19: note: expected ‘GEOSGeometry *’ {aka ‘struct GEOSGeom_t *’} but argument is of type ‘GEOSGeometry **’ {aka ‘struct GEOSGeom_t **’}
     2121 |     GEOSGeometry* shell,
          |     ~~~~~~~~~~~~~~^~~~~
    src/_geoslib.c:4130:34: warning: assignment to ‘GEOSGeometry **’ {aka ‘struct GEOSGeom_t **’} from incompatible pointer type ‘GEOSGeometry *’ {aka ‘struct GEOSGeom_t *’} [-Wincompatible-pointer-types]
     4130 |   __pyx_v_self->__pyx_base._geom = GEOSGeom_createPolygon(__pyx_v_lr, NULL, 0);
          |                                  ^
    src/_geoslib.c: In function ‘__pyx_pf_8_geoslib_7Polygon_2area’:
    src/_geoslib.c:4203:43: warning: passing argument 1 of ‘GEOSArea’ from incompatible pointer type [-Wincompatible-pointer-types]
     4203 |   (void)(GEOSArea(__pyx_v_self->__pyx_base._geom, (&__pyx_v_area)));
          |                   ~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~
          |                                           |
          |                                           GEOSGeometry ** {aka struct GEOSGeom_t **}
    In file included from src/_geoslib.c:566:
    /home/rangke/tools/pkgs/geos/include/geos_c.h:3653:25: note: expected ‘const GEOSGeometry *’ {aka ‘const struct GEOSGeom_t *’} but argument is of type ‘GEOSGeometry **’ {aka ‘struct GEOSGeom_t **’}
     3653 |     const GEOSGeometry* g,
          |     ~~~~~~~~~~~~~~~~~~~~^
    src/_geoslib.c: In function ‘__pyx_pf_8_geoslib_10LineString___init__’:
    src/_geoslib.c:4400:14: warning: assignment to ‘GEOSCoordSequence **’ {aka ‘struct GEOSCoordSeq_t **’} from incompatible pointer type ‘GEOSCoordSequence *’ {aka ‘struct GEOSCoordSeq_t *’} [-Wincompatible-pointer-types]
     4400 |   __pyx_v_cs = GEOSCoordSeq_create(__pyx_v_M, 2);
          |              ^
    src/_geoslib.c:4446:30: warning: passing argument 1 of ‘GEOSCoordSeq_setX’ from incompatible pointer type [-Wincompatible-pointer-types]
     4446 |     (void)(GEOSCoordSeq_setX(__pyx_v_cs, __pyx_v_i, __pyx_v_dx));
          |                              ^~~~~~~~~~
          |                              |
          |                              GEOSCoordSequence ** {aka struct GEOSCoordSeq_t **}
    In file included from src/_geoslib.c:566:
    /home/rangke/tools/pkgs/geos/include/geos_c.h:1716:58: note: expected ‘GEOSCoordSequence *’ {aka ‘struct GEOSCoordSeq_t *’} but argument is of type ‘GEOSCoordSequence **’ {aka ‘struct GEOSCoordSeq_t **’}
     1716 | extern int GEOS_DLL GEOSCoordSeq_setX(GEOSCoordSequence* s,
          |                                       ~~~~~~~~~~~~~~~~~~~^
    src/_geoslib.c:4455:30: warning: passing argument 1 of ‘GEOSCoordSeq_setY’ from incompatible pointer type [-Wincompatible-pointer-types]
     4455 |     (void)(GEOSCoordSeq_setY(__pyx_v_cs, __pyx_v_i, __pyx_v_dy));
          |                              ^~~~~~~~~~
          |                              |
          |                              GEOSCoordSequence ** {aka struct GEOSCoordSeq_t **}
    In file included from src/_geoslib.c:566:
    /home/rangke/tools/pkgs/geos/include/geos_c.h:1725:58: note: expected ‘GEOSCoordSequence *’ {aka ‘struct GEOSCoordSeq_t *’} but argument is of type ‘GEOSCoordSequence **’ {aka ‘struct GEOSCoordSeq_t **’}
     1725 | extern int GEOS_DLL GEOSCoordSeq_setY(GEOSCoordSequence* s,
          |                                       ~~~~~~~~~~~~~~~~~~~^
    src/_geoslib.c:4465:62: warning: passing argument 1 of ‘GEOSGeom_createLineString’ from incompatible pointer type [-Wincompatible-pointer-types]
     4465 |   __pyx_v_self->__pyx_base._geom = GEOSGeom_createLineString(__pyx_v_cs);
          |                                                              ^~~~~~~~~~
          |                                                              |
          |                                                              GEOSCoordSequence ** {aka struct GEOSCoordSeq_t **}
    In file included from src/_geoslib.c:566:
    /home/rangke/tools/pkgs/geos/include/geos_c.h:2092:76: note: expected ‘GEOSCoordSequence *’ {aka ‘struct GEOSCoordSeq_t *’} but argument is of type ‘GEOSCoordSequence **’ {aka ‘struct GEOSCoordSeq_t **’}
     2092 | extern GEOSGeometry GEOS_DLL *GEOSGeom_createLineString(GEOSCoordSequence* s);
          |                                                         ~~~~~~~~~~~~~~~~~~~^
    src/_geoslib.c:4465:34: warning: assignment to ‘GEOSGeometry **’ {aka ‘struct GEOSGeom_t **’} from incompatible pointer type ‘GEOSGeometry *’ {aka ‘struct GEOSGeom_t *’} [-Wincompatible-pointer-types]
     4465 |   __pyx_v_self->__pyx_base._geom = GEOSGeom_createLineString(__pyx_v_cs);
          |                                  ^
    src/_geoslib.c: In function ‘__pyx_pf_8_geoslib_5Point___init__’:
    src/_geoslib.c:4578:14: warning: assignment to ‘GEOSCoordSequence **’ {aka ‘struct GEOSCoordSeq_t **’} from incompatible pointer type ‘GEOSCoordSequence *’ {aka ‘struct GEOSCoordSeq_t *’} [-Wincompatible-pointer-types]
     4578 |   __pyx_v_cs = GEOSCoordSeq_create(1, 2);
          |              ^
    src/_geoslib.c:4605:28: warning: passing argument 1 of ‘GEOSCoordSeq_setX’ from incompatible pointer type [-Wincompatible-pointer-types]
     4605 |   (void)(GEOSCoordSeq_setX(__pyx_v_cs, 0, __pyx_v_dx));
          |                            ^~~~~~~~~~
          |                            |
          |                            GEOSCoordSequence ** {aka struct GEOSCoordSeq_t **}
    In file included from src/_geoslib.c:566:
    /home/rangke/tools/pkgs/geos/include/geos_c.h:1716:58: note: expected ‘GEOSCoordSequence *’ {aka ‘struct GEOSCoordSeq_t *’} but argument is of type ‘GEOSCoordSequence **’ {aka ‘struct GEOSCoordSeq_t **’}
     1716 | extern int GEOS_DLL GEOSCoordSeq_setX(GEOSCoordSequence* s,
          |                                       ~~~~~~~~~~~~~~~~~~~^
    src/_geoslib.c:4614:28: warning: passing argument 1 of ‘GEOSCoordSeq_setY’ from incompatible pointer type [-Wincompatible-pointer-types]
     4614 |   (void)(GEOSCoordSeq_setY(__pyx_v_cs, 0, __pyx_v_dy));
          |                            ^~~~~~~~~~
          |                            |
          |                            GEOSCoordSequence ** {aka struct GEOSCoordSeq_t **}
    In file included from src/_geoslib.c:566:
    /home/rangke/tools/pkgs/geos/include/geos_c.h:1725:58: note: expected ‘GEOSCoordSequence *’ {aka ‘struct GEOSCoordSeq_t *’} but argument is of type ‘GEOSCoordSequence **’ {aka ‘struct GEOSCoordSeq_t **’}
     1725 | extern int GEOS_DLL GEOSCoordSeq_setY(GEOSCoordSequence* s,
          |                                       ~~~~~~~~~~~~~~~~~~~^
    src/_geoslib.c:4623:57: warning: passing argument 1 of ‘GEOSGeom_createPoint’ from incompatible pointer type [-Wincompatible-pointer-types]
     4623 |   __pyx_v_self->__pyx_base._geom = GEOSGeom_createPoint(__pyx_v_cs);
          |                                                         ^~~~~~~~~~
          |                                                         |
          |                                                         GEOSCoordSequence ** {aka struct GEOSCoordSeq_t **}
    In file included from src/_geoslib.c:566:
    /home/rangke/tools/pkgs/geos/include/geos_c.h:2060:71: note: expected ‘GEOSCoordSequence *’ {aka ‘struct GEOSCoordSeq_t *’} but argument is of type ‘GEOSCoordSequence **’ {aka ‘struct GEOSCoordSeq_t **’}
     2060 | extern GEOSGeometry GEOS_DLL *GEOSGeom_createPoint(GEOSCoordSequence* s);
          |                                                    ~~~~~~~~~~~~~~~~~~~^
    src/_geoslib.c:4623:34: warning: assignment to ‘GEOSGeometry **’ {aka ‘struct GEOSGeom_t **’} from incompatible pointer type ‘GEOSGeometry *’ {aka ‘struct GEOSGeom_t *’} [-Wincompatible-pointer-types]
     4623 |   __pyx_v_self->__pyx_base._geom = GEOSGeom_createPoint(__pyx_v_cs);
          |                                  ^
    src/_geoslib.c: In function ‘__pyx_f_8_geoslib__get_coords’:
    src/_geoslib.c:4886:32: warning: passing argument 1 of ‘GEOSGeomTypeId’ from incompatible pointer type [-Wincompatible-pointer-types]
     4886 |   __pyx_t_1 = ((GEOSGeomTypeId(__pyx_v_geom) == GEOS_POLYGON) != 0);
          |                                ^~~~~~~~~~~~
          |                                |
          |                                GEOSGeometry ** {aka struct GEOSGeom_t **}
    In file included from src/_geoslib.c:566:
    /home/rangke/tools/pkgs/geos/include/geos_c.h:3363:56: note: expected ‘const GEOSGeometry *’ {aka ‘const struct GEOSGeom_t *’} but argument is of type ‘GEOSGeometry **’ {aka ‘struct GEOSGeom_t **’}
     3363 | extern int GEOS_DLL GEOSGeomTypeId(const GEOSGeometry* g);
          |                                    ~~~~~~~~~~~~~~~~~~~~^
    src/_geoslib.c:4896:38: warning: passing argument 1 of ‘GEOSGetExteriorRing’ from incompatible pointer type [-Wincompatible-pointer-types]
     4896 |     __pyx_v_lr = GEOSGetExteriorRing(__pyx_v_geom);
          |                                      ^~~~~~~~~~~~
          |                                      |
          |                                      GEOSGeometry ** {aka struct GEOSGeom_t **}
    In file included from src/_geoslib.c:566:
    /home/rangke/tools/pkgs/geos/include/geos_c.h:3536:25: note: expected ‘const GEOSGeometry *’ {aka ‘const struct GEOSGeom_t *’} but argument is of type ‘GEOSGeometry **’ {aka ‘struct GEOSGeom_t **’}
     3536 |     const GEOSGeometry* g);
          |     ~~~~~~~~~~~~~~~~~~~~^
    src/_geoslib.c:4896:16: warning: assignment to ‘GEOSGeometry **’ {aka ‘struct GEOSGeom_t **’} from incompatible pointer type ‘const GEOSGeometry *’ {aka ‘const struct GEOSGeom_t *’} [-Wincompatible-pointer-types]
     4896 |     __pyx_v_lr = GEOSGetExteriorRing(__pyx_v_geom);
          |                ^
    src/_geoslib.c:4905:39: warning: passing argument 1 of ‘GEOSGeom_getCoordSeq’ from incompatible pointer type [-Wincompatible-pointer-types]
     4905 |     __pyx_v_cs = GEOSGeom_getCoordSeq(__pyx_v_lr);
          |                                       ^~~~~~~~~~
          |                                       |
          |                                       GEOSGeometry ** {aka struct GEOSGeom_t **}
    In file included from src/_geoslib.c:566:
    /home/rangke/tools/pkgs/geos/include/geos_c.h:3556:25: note: expected ‘const GEOSGeometry *’ {aka ‘const struct GEOSGeom_t *’} but argument is of type ‘GEOSGeometry **’ {aka ‘struct GEOSGeom_t **’}
     3556 |     const GEOSGeometry* g);
          |     ~~~~~~~~~~~~~~~~~~~~^
    src/_geoslib.c:4905:16: warning: assignment to ‘GEOSCoordSequence **’ {aka ‘struct GEOSCoordSeq_t **’} from incompatible pointer type ‘const GEOSCoordSequence *’ {aka ‘const struct GEOSCoordSeq_t *’} [-Wincompatible-pointer-types]
     4905 |     __pyx_v_cs = GEOSGeom_getCoordSeq(__pyx_v_lr);
          |                ^
    src/_geoslib.c:4925:39: warning: passing argument 1 of ‘GEOSGeom_getCoordSeq’ from incompatible pointer type [-Wincompatible-pointer-types]
     4925 |     __pyx_v_cs = GEOSGeom_getCoordSeq(__pyx_v_geom);
          |                                       ^~~~~~~~~~~~
          |                                       |
          |                                       GEOSGeometry ** {aka struct GEOSGeom_t **}
    In file included from src/_geoslib.c:566:
    /home/rangke/tools/pkgs/geos/include/geos_c.h:3556:25: note: expected ‘const GEOSGeometry *’ {aka ‘const struct GEOSGeom_t *’} but argument is of type ‘GEOSGeometry **’ {aka ‘struct GEOSGeom_t **’}
     3556 |     const GEOSGeometry* g);
          |     ~~~~~~~~~~~~~~~~~~~~^
    src/_geoslib.c:4925:16: warning: assignment to ‘GEOSCoordSequence **’ {aka ‘struct GEOSCoordSeq_t **’} from incompatible pointer type ‘const GEOSCoordSequence *’ {aka ‘const struct GEOSCoordSeq_t *’} [-Wincompatible-pointer-types]
     4925 |     __pyx_v_cs = GEOSGeom_getCoordSeq(__pyx_v_geom);
          |                ^
    src/_geoslib.c:4936:31: warning: passing argument 1 of ‘GEOSCoordSeq_getSize’ from incompatible pointer type [-Wincompatible-pointer-types]
     4936 |   (void)(GEOSCoordSeq_getSize(__pyx_v_cs, (&__pyx_v_M)));
          |                               ^~~~~~~~~~
          |                               |
          |                               GEOSCoordSequence ** {aka struct GEOSCoordSeq_t **}
    In file included from src/_geoslib.c:566:
    /home/rangke/tools/pkgs/geos/include/geos_c.h:1835:30: note: expected ‘const GEOSCoordSequence *’ {aka ‘const struct GEOSCoordSeq_t *’} but argument is of type ‘GEOSCoordSequence **’ {aka ‘struct GEOSCoordSeq_t **’}
     1835 |     const GEOSCoordSequence* s,
          |     ~~~~~~~~~~~~~~~~~~~~~~~~~^
    src/_geoslib.c:5044:30: warning: passing argument 1 of ‘GEOSCoordSeq_getX’ from incompatible pointer type [-Wincompatible-pointer-types]
     5044 |     (void)(GEOSCoordSeq_getX(__pyx_v_cs, __pyx_v_i, (&__pyx_v_dx)));
          |                              ^~~~~~~~~~
          |                              |
          |                              GEOSCoordSequence ** {aka struct GEOSCoordSeq_t **}
    In file included from src/_geoslib.c:566:
    /home/rangke/tools/pkgs/geos/include/geos_c.h:1775:64: note: expected ‘const GEOSCoordSequence *’ {aka ‘const struct GEOSCoordSeq_t *’} but argument is of type ‘GEOSCoordSequence **’ {aka ‘struct GEOSCoordSeq_t **’}
     1775 | extern int GEOS_DLL GEOSCoordSeq_getX(const GEOSCoordSequence* s,
          |                                       ~~~~~~~~~~~~~~~~~~~~~~~~~^
    src/_geoslib.c:5053:30: warning: passing argument 1 of ‘GEOSCoordSeq_getY’ from incompatible pointer type [-Wincompatible-pointer-types]
     5053 |     (void)(GEOSCoordSeq_getY(__pyx_v_cs, __pyx_v_i, (&__pyx_v_dy)));
          |                              ^~~~~~~~~~
          |                              |
          |                              GEOSCoordSequence ** {aka struct GEOSCoordSeq_t **}
    In file included from src/_geoslib.c:566:
    /home/rangke/tools/pkgs/geos/include/geos_c.h:1785:64: note: expected ‘const GEOSCoordSequence *’ {aka ‘const struct GEOSCoordSeq_t *’} but argument is of type ‘GEOSCoordSequence **’ {aka ‘struct GEOSCoordSeq_t **’}
     1785 | extern int GEOS_DLL GEOSCoordSeq_getY(const GEOSCoordSequence* s,
          |                                       ~~~~~~~~~~~~~~~~~~~~~~~~~^
    src/_geoslib.c: In function ‘__Pyx_modinit_type_init_code’:
    src/_geoslib.c:5678:36: error: ‘PyTypeObject’ {aka ‘struct _typeobject’} has no member named ‘tp_print’
     5678 |   __pyx_type_8_geoslib_BaseGeometry.tp_print = 0;
          |                                    ^
    src/_geoslib.c:5686:31: error: ‘PyTypeObject’ {aka ‘struct _typeobject’} has no member named ‘tp_print’
     5686 |   __pyx_type_8_geoslib_Polygon.tp_print = 0;
          |                               ^
    src/_geoslib.c:5694:34: error: ‘PyTypeObject’ {aka ‘struct _typeobject’} has no member named ‘tp_print’
     5694 |   __pyx_type_8_geoslib_LineString.tp_print = 0;
          |                                  ^
    src/_geoslib.c:5702:29: error: ‘PyTypeObject’ {aka ‘struct _typeobject’} has no member named ‘tp_print’
     5702 |   __pyx_type_8_geoslib_Point.tp_print = 0;
          |                             ^
    src/_geoslib.c: In function ‘PyInit__geoslib’:
    src/_geoslib.c:5982:12: warning: passing argument 1 of ‘initGEOS’ from incompatible pointer type [-Wincompatible-pointer-types]
     5982 |   initGEOS(__pyx_f_8_geoslib_notice_h, __pyx_f_8_geoslib_error_h);
          |            ^~~~~~~~~~~~~~~~~~~~~~~~~~
          |            |
          |            void (*)(char *, char *)
    In file included from src/_geoslib.c:566:
    /home/rangke/tools/pkgs/geos/include/geos_c.h:1671:24: note: expected ‘GEOSMessageHandler’ {aka ‘void (*)(const char *, ...)’} but argument is of type ‘void (*)(char *, char *)’
     1671 |     GEOSMessageHandler notice_function,
          |     ~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~
    src/_geoslib.c:5982:40: warning: passing argument 2 of ‘initGEOS’ from incompatible pointer type [-Wincompatible-pointer-types]
     5982 |   initGEOS(__pyx_f_8_geoslib_notice_h, __pyx_f_8_geoslib_error_h);
          |                                        ^~~~~~~~~~~~~~~~~~~~~~~~~
          |                                        |
          |                                        void (*)(char *, char *)
    In file included from src/_geoslib.c:566:
    /home/rangke/tools/pkgs/geos/include/geos_c.h:1672:24: note: expected ‘GEOSMessageHandler’ {aka ‘void (*)(const char *, ...)’} but argument is of type ‘void (*)(char *, char *)’
     1672 |     GEOSMessageHandler error_function);
          |     ~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~
    src/_geoslib.c: In function ‘__Pyx_ParseOptionalKeywords’:
    src/_geoslib.c:6732:21: warning: ‘_PyUnicode_get_wstr_length’ is deprecated [-Wdeprecated-declarations]
     6732 |                     (PyUnicode_GET_SIZE(**name) != PyUnicode_GET_SIZE(key)) ? 1 :
          |                     ^
    In file included from /usr/include/python3.9/unicodeobject.h:1026,
                     from /usr/include/python3.9/Python.h:106,
                     from src/_geoslib.c:4:
    /usr/include/python3.9/cpython/unicodeobject.h:446:26: note: declared here
      446 | static inline Py_ssize_t _PyUnicode_get_wstr_length(PyObject *op) {
          |                          ^~~~~~~~~~~~~~~~~~~~~~~~~~
    src/_geoslib.c:6732:21: warning: ‘PyUnicode_AsUnicode’ is deprecated [-Wdeprecated-declarations]
     6732 |                     (PyUnicode_GET_SIZE(**name) != PyUnicode_GET_SIZE(key)) ? 1 :
          |                     ^
    In file included from /usr/include/python3.9/unicodeobject.h:1026,
                     from /usr/include/python3.9/Python.h:106,
                     from src/_geoslib.c:4:
    /usr/include/python3.9/cpython/unicodeobject.h:580:45: note: declared here
      580 | Py_DEPRECATED(3.3) PyAPI_FUNC(Py_UNICODE *) PyUnicode_AsUnicode(
          |                                             ^~~~~~~~~~~~~~~~~~~
    src/_geoslib.c:6732:21: warning: ‘_PyUnicode_get_wstr_length’ is deprecated [-Wdeprecated-declarations]
     6732 |                     (PyUnicode_GET_SIZE(**name) != PyUnicode_GET_SIZE(key)) ? 1 :
          |                     ^
    In file included from /usr/include/python3.9/unicodeobject.h:1026,
                     from /usr/include/python3.9/Python.h:106,
                     from src/_geoslib.c:4:
    /usr/include/python3.9/cpython/unicodeobject.h:446:26: note: declared here
      446 | static inline Py_ssize_t _PyUnicode_get_wstr_length(PyObject *op) {
          |                          ^~~~~~~~~~~~~~~~~~~~~~~~~~
    src/_geoslib.c:6732:21: warning: ‘_PyUnicode_get_wstr_length’ is deprecated [-Wdeprecated-declarations]
     6732 |                     (PyUnicode_GET_SIZE(**name) != PyUnicode_GET_SIZE(key)) ? 1 :
          |                     ^
    In file included from /usr/include/python3.9/unicodeobject.h:1026,
                     from /usr/include/python3.9/Python.h:106,
                     from src/_geoslib.c:4:
    /usr/include/python3.9/cpython/unicodeobject.h:446:26: note: declared here
      446 | static inline Py_ssize_t _PyUnicode_get_wstr_length(PyObject *op) {
          |                          ^~~~~~~~~~~~~~~~~~~~~~~~~~
    src/_geoslib.c:6732:21: warning: ‘PyUnicode_AsUnicode’ is deprecated [-Wdeprecated-declarations]
     6732 |                     (PyUnicode_GET_SIZE(**name) != PyUnicode_GET_SIZE(key)) ? 1 :
          |                     ^
    In file included from /usr/include/python3.9/unicodeobject.h:1026,
                     from /usr/include/python3.9/Python.h:106,
                     from src/_geoslib.c:4:
    /usr/include/python3.9/cpython/unicodeobject.h:580:45: note: declared here
      580 | Py_DEPRECATED(3.3) PyAPI_FUNC(Py_UNICODE *) PyUnicode_AsUnicode(
          |                                             ^~~~~~~~~~~~~~~~~~~
    src/_geoslib.c:6732:21: warning: ‘_PyUnicode_get_wstr_length’ is deprecated [-Wdeprecated-declarations]
     6732 |                     (PyUnicode_GET_SIZE(**name) != PyUnicode_GET_SIZE(key)) ? 1 :
          |                     ^
    In file included from /usr/include/python3.9/unicodeobject.h:1026,
                     from /usr/include/python3.9/Python.h:106,
                     from src/_geoslib.c:4:
    /usr/include/python3.9/cpython/unicodeobject.h:446:26: note: declared here
      446 | static inline Py_ssize_t _PyUnicode_get_wstr_length(PyObject *op) {
          |                          ^~~~~~~~~~~~~~~~~~~~~~~~~~
    src/_geoslib.c:6748:25: warning: ‘_PyUnicode_get_wstr_length’ is deprecated [-Wdeprecated-declarations]
     6748 |                         (PyUnicode_GET_SIZE(**argname) != PyUnicode_GET_SIZE(key)) ? 1 :
          |                         ^
    In file included from /usr/include/python3.9/unicodeobject.h:1026,
                     from /usr/include/python3.9/Python.h:106,
                     from src/_geoslib.c:4:
    /usr/include/python3.9/cpython/unicodeobject.h:446:26: note: declared here
      446 | static inline Py_ssize_t _PyUnicode_get_wstr_length(PyObject *op) {
          |                          ^~~~~~~~~~~~~~~~~~~~~~~~~~
    src/_geoslib.c:6748:25: warning: ‘PyUnicode_AsUnicode’ is deprecated [-Wdeprecated-declarations]
     6748 |                         (PyUnicode_GET_SIZE(**argname) != PyUnicode_GET_SIZE(key)) ? 1 :
          |                         ^
    In file included from /usr/include/python3.9/unicodeobject.h:1026,
                     from /usr/include/python3.9/Python.h:106,
                     from src/_geoslib.c:4:
    /usr/include/python3.9/cpython/unicodeobject.h:580:45: note: declared here
      580 | Py_DEPRECATED(3.3) PyAPI_FUNC(Py_UNICODE *) PyUnicode_AsUnicode(
          |                                             ^~~~~~~~~~~~~~~~~~~
    src/_geoslib.c:6748:25: warning: ‘_PyUnicode_get_wstr_length’ is deprecated [-Wdeprecated-declarations]
     6748 |                         (PyUnicode_GET_SIZE(**argname) != PyUnicode_GET_SIZE(key)) ? 1 :
          |                         ^
    In file included from /usr/include/python3.9/unicodeobject.h:1026,
                     from /usr/include/python3.9/Python.h:106,
                     from src/_geoslib.c:4:
    /usr/include/python3.9/cpython/unicodeobject.h:446:26: note: declared here
      446 | static inline Py_ssize_t _PyUnicode_get_wstr_length(PyObject *op) {
          |                          ^~~~~~~~~~~~~~~~~~~~~~~~~~
    src/_geoslib.c:6748:25: warning: ‘_PyUnicode_get_wstr_length’ is deprecated [-Wdeprecated-declarations]
     6748 |                         (PyUnicode_GET_SIZE(**argname) != PyUnicode_GET_SIZE(key)) ? 1 :
          |                         ^
    In file included from /usr/include/python3.9/unicodeobject.h:1026,
                     from /usr/include/python3.9/Python.h:106,
                     from src/_geoslib.c:4:
    /usr/include/python3.9/cpython/unicodeobject.h:446:26: note: declared here
      446 | static inline Py_ssize_t _PyUnicode_get_wstr_length(PyObject *op) {
          |                          ^~~~~~~~~~~~~~~~~~~~~~~~~~
    src/_geoslib.c:6748:25: warning: ‘PyUnicode_AsUnicode’ is deprecated [-Wdeprecated-declarations]
     6748 |                         (PyUnicode_GET_SIZE(**argname) != PyUnicode_GET_SIZE(key)) ? 1 :
          |                         ^
    In file included from /usr/include/python3.9/unicodeobject.h:1026,
                     from /usr/include/python3.9/Python.h:106,
                     from src/_geoslib.c:4:
    /usr/include/python3.9/cpython/unicodeobject.h:580:45: note: declared here
      580 | Py_DEPRECATED(3.3) PyAPI_FUNC(Py_UNICODE *) PyUnicode_AsUnicode(
          |                                             ^~~~~~~~~~~~~~~~~~~
    src/_geoslib.c:6748:25: warning: ‘_PyUnicode_get_wstr_length’ is deprecated [-Wdeprecated-declarations]
     6748 |                         (PyUnicode_GET_SIZE(**argname) != PyUnicode_GET_SIZE(key)) ? 1 :
          |                         ^
    In file included from /usr/include/python3.9/unicodeobject.h:1026,
                     from /usr/include/python3.9/Python.h:106,
                     from src/_geoslib.c:4:
    /usr/include/python3.9/cpython/unicodeobject.h:446:26: note: declared here
      446 | static inline Py_ssize_t _PyUnicode_get_wstr_length(PyObject *op) {
          |                          ^~~~~~~~~~~~~~~~~~~~~~~~~~
    error: Command "gcc -pthread -Wno-unused-result -Wsign-compare -DNDEBUG -g -fwrapv -O3 -Wall -march=x86-64 -mtune=generic -O3 -pipe -fno-plt -fno-semantic-interposition -march=x86-64 -mtune=generic -O3 -pipe -fno-plt -march=x86-64 -mtune=generic -O3 -pipe -fno-plt -fPIC -I/home/rangke/tools/pkgs/geos/include -I/home/rangke/py_vrt/lib/python3.9/site-packages/numpy/core/include -I/home/rangke/py_vrt/lib/python3.9/site-packages/numpy/core/include -Ibuild/src.linux-x86_64-3.9/numpy/distutils/include -I/home/rangke/py_vrt/include -I/usr/include/python3.9 -c src/_geoslib.c -o build/temp.linux-x86_64-3.9/src/_geoslib.o -MMD -MF build/temp.linux-x86_64-3.9/src/_geoslib.o.d -msse -msse2 -msse3" failed with exit status 1
    
    ########### EXT COMPILER OPTIMIZATION ###########
    Platform      :
      Architecture: x64
      Compiler    : gcc
    
    CPU baseline  :
      Requested   : 'min'
      Enabled     : SSE SSE2 SSE3
      Flags       : -msse -msse2 -msse3
      Extra checks: none
    
    CPU dispatch  :
      Requested   : 'max -xop -fma4'
      Enabled     : SSSE3 SSE41 POPCNT SSE42 AVX F16C FMA3 AVX2 AVX512F AVX512CD AVX512_KNL AVX512_KNM AVX512_SKX AVX512_CLX AVX512_CNL AVX512_ICL
      Generated   : none
    CCompilerOpt._cache_write[796] : write cache to path -> /tmp/pip-req-build-q4etjjlp/build/temp.linux-x86_64-3.9/ccompiler_opt_cache_ext.py
    ----------------------------------------
ERROR: Command errored out with exit status 1: /home/rangke/py_vrt/bin/python -u -c 'import io, os, sys, setuptools, tokenize; sys.argv[0] = '"'"'/tmp/pip-req-build-q4etjjlp/setup.py'"'"'; __file__='"'"'/tmp/pip-req-build-q4etjjlp/setup.py'"'"';f = getattr(tokenize, '"'"'open'"'"', open)(__file__) if os.path.exists(__file__) else io.StringIO('"'"'from setuptools import setup; setup()'"'"');code = f.read().replace('"'"'\r\n'"'"', '"'"'\n'"'"');f.close();exec(compile(code, __file__, '"'"'exec'"'"'))' install --record /tmp/pip-record-db3v2pk6/install-record.txt --single-version-externally-managed --compile --install-headers /home/rangke/py_vrt/include/site/python3.9/basemap Check the logs for full command output.

Activity

  1. molinav commented on Oct 22, 2021

    @molinav
    Member

    This could be caused by the too-outdated _geoslib.c file in src. You could try to go to this line of the setup file and replace _geoslib.c with _geoslib.pyx. This way Python should generate the GEOS C file at build time.

  2. wreckdump commented on Oct 22, 2021

    @wreckdump
    Author

    Thank you for your reply. I did what you have suggested, and I got the following error message.

        ERROR: Command errored out with exit status 1:
         command: /home/rangke/py_vrt/bin/python -c 'import io, os, sys, setuptools, tokenize; sys.argv[0] = '"'"'/home/rangke/testsite/basemap/setup.py'"'"'; __file__='"'"'/home/rangke/testsite/basemap/setup.py'"'"';f = getattr(tokenize, '"'"'open'"'"', open)(__file__) if os.path.exists(__file__) else io.StringIO('"'"'from setuptools import setup; setup()'"'"');code = f.read().replace('"'"'\r\n'"'"', '"'"'\n'"'"');f.close();exec(compile(code, __file__, '"'"'exec'"'"'))' develop --no-deps
             cwd: /home/rangke/testsite/basemap/
        Complete output (49 lines):
        running develop
        running build_scripts
        running egg_info
        running build_src
        build_src
        building extension "_geoslib" sources
        Traceback (most recent call last):
          File "<string>", line 1, in <module>
          File "/home/rangke/testsite/basemap/setup.py", line 130, in <module>
            setup(
          File "/home/rangke/py_vrt/lib/python3.9/site-packages/numpy/distutils/core.py", line 169, in setup
            return old_setup(**new_attr)
          File "/home/rangke/py_vrt/lib/python3.9/site-packages/setuptools/__init__.py", line 153, in setup
            return distutils.core.setup(**attrs)
          File "/usr/lib/python3.9/distutils/core.py", line 148, in setup
            dist.run_commands()
          File "/usr/lib/python3.9/distutils/dist.py", line 966, in run_commands
            self.run_command(cmd)
          File "/usr/lib/python3.9/distutils/dist.py", line 985, in run_command
            cmd_obj.run()
          File "/home/rangke/py_vrt/lib/python3.9/site-packages/setuptools/command/develop.py", line 34, in run
            self.install_for_development()
          File "/home/rangke/py_vrt/lib/python3.9/site-packages/numpy/distutils/command/develop.py", line 15, in install_for_development
            old_develop.install_for_development(self)
          File "/home/rangke/py_vrt/lib/python3.9/site-packages/setuptools/command/develop.py", line 132, in install_for_development
            self.run_command('egg_info')
          File "/usr/lib/python3.9/distutils/cmd.py", line 313, in run_command
            self.distribution.run_command(command)
          File "/usr/lib/python3.9/distutils/dist.py", line 985, in run_command
            cmd_obj.run()
          File "/home/rangke/py_vrt/lib/python3.9/site-packages/numpy/distutils/command/egg_info.py", line 24, in run
            self.run_command("build_src")
          File "/usr/lib/python3.9/distutils/cmd.py", line 313, in run_command
            self.distribution.run_command(command)
          File "/usr/lib/python3.9/distutils/dist.py", line 985, in run_command
            cmd_obj.run()
          File "/home/rangke/py_vrt/lib/python3.9/site-packages/numpy/distutils/command/build_src.py", line 144, in run
            self.build_sources()
          File "/home/rangke/py_vrt/lib/python3.9/site-packages/numpy/distutils/command/build_src.py", line 161, in build_sources
            self.build_extension_sources(ext)
          File "/home/rangke/py_vrt/lib/python3.9/site-packages/numpy/distutils/command/build_src.py", line 324, in build_extension_sources
            sources, py_files = self.filter_py_files(sources)
          File "/home/rangke/py_vrt/lib/python3.9/site-packages/numpy/distutils/command/build_src.py", line 391, in filter_py_files
            return self.filter_files(sources, ['.py'])
          File "/home/rangke/py_vrt/lib/python3.9/site-packages/numpy/distutils/command/build_src.py", line 400, in filter_files
            (base, ext) = os.path.splitext(source)
          File "/usr/lib/python3.9/posixpath.py", line 118, in splitext
            p = os.fspath(p)
        TypeError: expected str, bytes or os.PathLike object, not list
        ----------------------------------------
    ERROR: Command errored out with exit status 1: /home/rangke/py_vrt/bin/python -c 'import io, os, sys, setuptools, tokenize; sys.argv[0] = '"'"'/home/rangke/testsite/basemap/setup.py'"'"'; __file__='"'"'/home/rangke/testsite/basemap/setup.py'"'"';f = getattr(tokenize, '"'"'open'"'"', open)(__file__) if os.path.exists(__file__) else io.StringIO('"'"'from setuptools import setup; setup()'"'"');code = f.read().replace('"'"'\r\n'"'"', '"'"'\n'"'"');f.close();exec(compile(code, __file__, '"'"'exec'"'"'))' develop --no-deps Check the logs for full command output.
    
    
  3. molinav commented on Oct 22, 2021

    @molinav
    Member

    Can you provide me the following information so that I can try to reproduce the problem?

    • Operating System.
    • Python version (I guess 3.9 from the logs).
    • NumPy version.
    • Cython version.
  4. wreckdump commented on Oct 22, 2021

    @wreckdump
    Author

    Can you provide me the following information so that I can try to reproduce the problem?

    * Operating System.
    
    * Python version (I guess 3.9 from the logs).
    
    * NumPy version.
    
    * Cython version.
    

    OS : Arch Linux (kernel 5.14.12)
    Python : 3.9.7
    Numpy : 1.12.3
    Cython 0.29.24

  5. molinav commented on Oct 22, 2021

    @molinav
    Member

    I do not find any NumPy 1.12.3 in PyPI, do you refer to 1.21.3 (the latest available at the moment)?

  6. wreckdump commented on Oct 22, 2021

    @wreckdump
    Author

    I do not find any NumPy 1.12.3 in PyPI, do you refer to 1.21.3 (the latest available at the moment)?

    Yeah, sorry that was a typo. Version 1.21.3 is correct.

  7. molinav commented on Oct 22, 2021

    @molinav
    Member

    Thanks for the confirmation. Now I could reach the same point as you in a Docker container, I am getting the same error. Give me some time to find out what is going wrong.

  8. molinav commented on Oct 22, 2021

    @molinav
    Member

    As fast workaround:

    1. Revert what I told you about the setup file, i.e. write back the _geoslib.c reference.
    2. Delete src/_geoslib.c (or move it e.g. to src/_geoslib.c.bak).
    3. Go to src and run cythonize _geoslib.pyx. This will create you the new _geoslib.c file.
    4. Go to the basemap top-level folder and now create the wheel (python setup.py bdist_wheel), which will be stored in dist. If the bdist_wheel command is not recognised, run first pip install wheel.
    5. Install the basemap wheel file with pip install dist/basemap-1.2.2+dev-cp39-cp39-linux_x86_64.whl.
  9. wreckdump commented on Oct 22, 2021

    @wreckdump
    Author

    It worked! Thank you! What was the problem? Was it the _geoslib.c being too outdated?

  10. molinav commented on Oct 23, 2021

    @molinav
    Member

    Yes, it was the same problem as in #518, the setup script really needs some improvement.

  11. wreckdump commented on Oct 23, 2021

    @wreckdump
    Author

    Ah.. thanks!

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