Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Build error: possible from cython #521

Closed
wreckdump opened this issue Oct 21, 2021 · 11 comments
Closed

Build error: possible from cython #521

wreckdump opened this issue Oct 21, 2021 · 11 comments

Comments

@wreckdump
Copy link

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.

@molinav
Copy link
Member

molinav commented Oct 22, 2021

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.

@wreckdump
Copy link
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.

@molinav
Copy link
Member

molinav commented Oct 22, 2021

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.

@wreckdump
Copy link
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

@molinav
Copy link
Member

molinav commented Oct 22, 2021

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

@wreckdump
Copy link
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.

@molinav
Copy link
Member

molinav commented Oct 22, 2021

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.

@molinav
Copy link
Member

molinav commented Oct 22, 2021

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.

@wreckdump
Copy link
Author

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

@molinav
Copy link
Member

molinav commented Oct 23, 2021

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

@wreckdump
Copy link
Author

Ah.. thanks!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants