OSGeo / gdal

GDAL is an open source MIT licensed translator library for raster and vector geospatial data formats.
https://gdal.org
Other
4.89k stars 2.55k forks source link

Gentoo: ImportError: cannot import name '_gdal_array' from 'osgeo' #8024

Closed latot closed 1 year ago

latot commented 1 year ago

Hi all, before ppl says "check related issue" here it is: https://github.com/OSGeo/gdal/issues/5844

Oks, first I was playing with gdal and rio, when I tried to write a raster band and I got that error, here a sample code:

A lot of the code comes from rio/numpy guides.

import rasterio
from rasterio.transform import Affine

import numpy as np
x = np.linspace(-90, 90, 100)
y = np.linspace(90, -90, 100)
X, Y = np.meshgrid(x, y)

import matplotlib.pyplot as plt

Z1 =  np.abs(((X - 10) ** 2 + (Y - 10) ** 2) / 1 ** 2)
Z2 =  np.abs(((X + 10) ** 2 + (Y + 10) ** 2) / 2.5 ** 2)
Z =  (Z1 - Z2)

xres = (x[-1] - x[0]) / len(x)
yres = (y[-1] - y[0]) / len(y)

transform = Affine.translation(x[0] - xres / 2, y[0] - yres / 2) * Affine.scale(xres, yres)

with rasterio.open(
        "temperature.tif",
        mode="w",
        driver="GTiff",
        height=Z.shape[0],
        width=Z.shape[1],
        count=1,
        dtype=Z.dtype,
        crs="+proj=latlong",
        transform=transform,
) as new_dataset:
        new_dataset.write(Z, 1)

from osgeo import gdal

file = "temperature.tif"
ds = gdal.Open(file)
ds.GetRasterBand(1).WriteArray(Z)
df = None

Here the output:

>>> ds = gdal.Open(file)
/home/user/pyenv/lib/python3.10/site-packages/osgeo/gdal.py:290: FutureWarning: Neither gdal.UseExceptions() nor gdal.DontUseExceptions() has been explicitly called. In GDAL 4.0, exceptions will be enabled by default.
  warnings.warn(
>>> ds.GetRasterBand(1).WriteArray(Z)
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "/home/user/pyenv/lib/python3.10/site-packages/osgeo/gdal.py", line 4775, in WriteArray
    from osgeo import gdal_array
  File "/home/user/pyenv/lib/python3.10/site-packages/osgeo/gdal_array.py", line 13, in <module>
    from . import _gdal_array
ImportError: cannot import name '_gdal_array' from 'osgeo' (/home/user/pyenv/lib/python3.10/site-packages/osgeo/__init__.py)

Some info about my system.

Linux 64 Gentoo

Python with GDAL 3.7.0 and numpy 1.25.0

Installed with wheel and following the method of the issue posted above.

GDAL 3.7.0 on system.

Thx!

dbaston commented 1 year ago

Is this thread relevant? https://lists.osgeo.org/pipermail/gdal-dev/2023-June/057360.html

latot commented 1 year ago

I don't know, the error seems to be familiar but there is two main differences.

  1. In the mailing list is using 3.6.4, I'm using 3.7.0
  2. In the mailing list read an array works, while in my case ReadAsArray throw the same error.

And other thing that is similar, both are working with numpy 1.25 and we have checked installation orders.

latot commented 1 year ago

Other point, I downgrade to 3.6.3 and 3.6.4, in both of them there is the error:

ERROR 1: temperature.tif, band 1: Write operation not permitted on dataset opened in read-only mode

While if I run parsing gdal.GA_Update in the open statement I get:

>>> ds = gdal.Open(file, gdal.GA_Update)
>>> ds.GetRasterBand(1).WriteArray(Z)
0

But...! this on the 3.7.0 still sends the same error.

langfingaz commented 1 year ago

The installation of GDAL[numpy] (version 3.7.0) with pip was not working for me (it also couldn't import '_gdal_array'). But the installation of GDAL[numpy]==3.6.4 with pip worked. Maybe you can give it a try to add numpy in square brackets?

(You gave no exact details on how you downgraded from 3.7.0 to 3.6.4, so sorry if you have already tried this.)

rouault commented 1 year ago

@latot Regarding,

Linux 64 Gentoo

Python with GDAL 3.7.0 and numpy 1.25.0

can you provide a step-by-step way of how you installed GDAL ? I'm a Ubuntu user and have zero knowledge of gentoo specificites.

I got the "gentoo/stage3" Docker image and when logged into it tried "emerge-webrsync" and then "emerge gdal", but I get the following messages:

 * IMPORTANT: 13 news items need reading for repository 'gentoo'.
 * Use eselect news read to view new items.

 * IMPORTANT: config file '/etc/portage/package.use/zz-autounmask' needs updating.
 * See the CONFIGURATION FILES and CONFIGURATION FILES UPDATE TOOLS
 * sections of the emerge man page to learn how to update config files.
Calculating dependencies... done!
Dependency resolution took 1.49 s.

[ebuild   R    ] sys-libs/zlib-1.2.13-r1  USE="minizip*" 
[ebuild  N     ] media-libs/tiff-4.5.0-r2  USE="cxx zlib -jbig -jpeg -lzma -static-libs -test -verify-sig -webp -zstd" ABI_X86="(64) -32 (-x32)" 
[ebuild  N     ] app-crypt/rhash-1.4.3  USE="nls ssl -debug -static-libs" ABI_X86="(64) -32 (-x32)" 
[ebuild  N     ] dev-libs/libuv-1.44.2-r1 
[ebuild  N     ] app-arch/libarchive-3.6.2-r1  USE="acl bzip2 e2fsprogs iconv lzma xattr -blake2 -expat -lz4 -lzo -nettle -static-libs -verify-sig -zstd" ABI_X86="(64) -32 (-x32)" 
[ebuild  N     ] dev-libs/jsoncpp-1.9.5  USE="-doc -test" 
[ebuild  N     ] dev-util/cmake-3.26.4-r1  USE="ncurses -doc -emacs -qt5 -test -verify-sig" 
[ebuild  N     ] sci-libs/proj-9.2.1  USE="tiff -curl -test" 
[ebuild  N     ] dev-libs/json-c-0.16-r1  USE="-doc -static-libs -threads" ABI_X86="(64) -32 (-x32)" CPU_FLAGS_X86="-rdrand" 
[ebuild  N     ] sci-libs/libgeotiff-1.7.1-r3  USE="tiff zlib -doc -jpeg" 
[ebuild  N     ] sci-libs/gdal-3.6.4  USE="curl -armadillo (-doc) -fits -geos -gif -gml -hdf5 -heif -java -jpeg -jpeg2k -lzma -mysql -netcdf -odbc -ogdi -opencl -oracle -pdf -png -postgres -python -spatialite -sqlite -test -webp -xls -zstd" CPU_FLAGS_X86="sse sse2 -avx -avx2 -sse4_1 -ssse3" PYTHON_SINGLE_TARGET="python3_11 -python3_10" 

The following USE changes are necessary to proceed:
 (see "package.use" in the portage(5) man page for more details)
# required by sci-libs/gdal-3.6.4::gentoo
# required by gdal (argument)
>=sys-libs/zlib-1.2.13-r1 minizip

Use --autounmask-write to write changes to config files (honoring
CONFIG_PROTECT). Carefully examine the list of proposed changes,
paying special attention to mask or keyword changes that may expose
experimental or unstable packages.

It also seems there's only GDAL 3.6.4, not 3.7.0

langfingaz commented 1 year ago

@rouault: @latot wrote in his other issue linked on top of the first message, that they installed GDAL in a venv, so not as system package.

rouault commented 1 year ago

@rouault: @latot wrote in his other issue linked on top of the first message, that they installed GDAL in a venv, so not as system package.

a venv is for the Python bindings, not the core library. First we'd need to know how libgdal 3.7.0 was installed, before going to the Python bindings themselves

latot commented 1 year ago

Hi!

GDAL is installed in the system, while the python module is on a pyenv.

:O testing gentoo, is a great distro to test things :3

As a basic of Gentoo, there you can choose the version of the libs that you want, and enable different compilation options.

Due to what I wrote above, there is a more complex depednency tree, for example, as you post, if you want to install GDAL, you need the zlib dep, but not only that, zlib must be compiled with the minizip compilation option.

Check this line:

sci-libs/gdal-3.6.4  USE="curl -armadillo (-doc) -fits -geos -gif -gml -hdf5 -heif -java -jpeg -jpeg2k -lzma -mysql -netcdf -odbc -ogdi -opencl -oracle -pdf -png -postgres -python -spatialite -sqlite -test -webp -xls -zstd" CPU_FLAGS_X86="sse sse2 -avx -avx2 -sse4_1 -ssse3" PYTHON_SINGLE_TARGET="python3_11 -python3_10"

All the "-" options means they are not used in compilation, while the ones that does not have it means will be used in the compilation.

the CPU optimization will be excluded now.

How can I unable an compilation option? usualled USE flags: In /etc/portage/package.use/GDAL (Choose the file name you want)

#Here you will use minizip from 1.2.13-r1 and in the future
>=sys-libs/zlib-1.2.13-r1 minizip
#Here you will only use it now
=sys-libs/zlib-1.2.13-r1 minizip
#Use always minizip
ys-libs/zlib minizip

How can I choose a different version of a package? (upgrade not downgrade, I'll skip downgrade now) In /etc/portage/package.accept_keywords/GDAL

#Enable 3.7.0
=sci-libs/gdal-3.7.0 ~amd64
#Always the latest one!
sci-libs/gdal ~amd64

As you notice, you need to says the arch, so lets get a little more info to use both.

First install gentoolkit, it has the tools to check it: emerge gentoolkit

If requests an USE or package, do the same what I did above.

then you have this options:

#this will list every possible option of gdal
equery u gdal
#this will list all the gdal versions by arch, there you can know what versions you can have and what arch you can enable
equery y gdal

While more options you choose usually more deps will be installed.

Be careful, Gentoo compiles from 0, in my case I choose to use almost all the GDAL options, so it takes a while to install.

Usually have a full gentoo env uses a lot of time, has its super benefits but is not something that all ppl would need, you can even install you package from github and what you want without break the system. In my case I'm testing apps a lot of the time, in ubuntu you can easily break the system, here is more flexible.

When you choose the GDAL options you want, add them to the system, then you can emerge it.

In order to avoid conflicts, check the actual python version, GDAL has bindings for 3.10 and 3.11, you need to choose one, choose the system one.

I recommend for now

sci-libs/gdal python_single_target_python3_11 python geos zstd

I have enabled almost all of GDAL, I don't use java so is disabled, HDF5 compilation is a little buggy now, so is disabled too, I also excluded the test use, I don't run them.

emerge-webrsync is good as a first run, is the same as apt-get update, then use emaint sync -A this will sync all.

If you have enough cores, you can compile in parallel, for now lets just put parallel on the compilation, can also be packages installed in parallel, you only need to add the usual -j and -l options of make on a variable like this:

/etc/portage/make.conf

MAKEOPTS="-j6 -l6"

Hope I was able to explain enough to compile GDAL, there is a lot of excluded things, compiler optimizations, system profiles (for what you will use the system), kernel options, user config, etc, etc. But lets keep it minimal.

Thx!

rouault commented 1 year ago

@latot I'm afraid I have to give up regarding trying on Gentoo despite your explanations. Much above my head! I can't afford spending hours/days learning Gentoo.

All I can say is that things work fine on Ubuntu 20.04 with a custom Python 3.10 build:

[ build and install GDAL 3.7.0 and set the appropriate values for PATH and LD_LIBRARY_PATH to point to it ]
$ export LD_LIBRARY_PATH=~/install-python-3.10.0/lib:$LD_LIBRARY_PATH
$ ~/install-python-3.10.0/bin/python3  -m venv venv_numpy_1_25
$ source venv_numpy_1_25/bin/activate

python3 -m pip install gdal[numpy]==3.7.0
Collecting gdal[numpy]==3.7.0
  Using cached GDAL-3.7.0.tar.gz (775 kB)
Collecting numpy>1.0.0
  Using cached numpy-1.25.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (17.6 MB)
Using legacy 'setup.py install' for gdal, since package 'wheel' is not installed.
Installing collected packages: numpy, gdal
    Running setup.py install for gdal ... done
Successfully installed gdal-3.7.0 numpy-1.25.0

$ python3 -c "from osgeo import gdal_array"
latot commented 1 year ago

mmm, we have a few options.

First, I can instead the explanations of gentoo, just step by step, in a blind way, then if there is any issues in the install you tell me.

Other one, can you test with wheel installed? you will need to uninstall numpy and gdal, then install first wheel and then all the others.

Last one, how can I check something of this on my env? what would be useful to know?

rouault commented 1 year ago

how can I check something of this on my env?

provide the detail log in verbose mode of the pip install

latot commented 1 year ago

Logs!:

Using pip 23.1.2 from /home/pipe/pyenv/lib/python3.11/site-packages/pip (python 3.11)
Non-user install because user site-packages disabled
Created temporary directory: /tmp/pip-build-tracker-mnm95cc3
Initialized build tracking at /tmp/pip-build-tracker-mnm95cc3
Created build tracker: /tmp/pip-build-tracker-mnm95cc3
Entered build tracker: /tmp/pip-build-tracker-mnm95cc3
Created temporary directory: /tmp/pip-install-zii97t5a
Created temporary directory: /tmp/pip-ephem-wheel-cache-nsgbda1y
1 location(s) to search for versions of gdal:
* https://pypi.org/simple/gdal/
Fetching project page and analyzing links: https://pypi.org/simple/gdal/
Getting page https://pypi.org/simple/gdal/
Found index url https://pypi.org/simple/
Looking up "https://pypi.org/simple/gdal/" in the cache
Request header has "max_age" as 0, cache bypassed
Starting new HTTPS connection (1): pypi.org:443
https://pypi.org:443 "GET /simple/gdal/ HTTP/1.1" 304 0
Fetched page https://pypi.org/simple/gdal/ as application/vnd.pypi.simple.v1+json
  Skipping link: unsupported archive format: .egg: https://files.pythonhosted.org/packages/60/d3/83870329662e38efd4d7c6b1b622d0c8de8cca3d8b1d2d35df9efd8ed0de/GDAL-1.5.0-py2.4-win32.egg (from https://pypi.org/simple/gdal/)
  Skipping link: unsupported archive format: .egg: https://files.pythonhosted.org/packages/3c/3e/7a2ece4b7ae808e16bfed42cfed189ea3355180b697a17ae7157145e742c/GDAL-1.5.0-py2.5-macosx-10.5-i386.egg (from https://pypi.org/simple/gdal/)
  Skipping link: unsupported archive format: .egg: https://files.pythonhosted.org/packages/9e/fa/6c71b1eaabe8ca81180acd14ad78ad6aa090318de44492b4c551c2302f49/GDAL-1.5.0-py2.5-win32.egg (from https://pypi.org/simple/gdal/)
  Found link https://files.pythonhosted.org/packages/ed/42/9de3bfa170f94a60e096ff4559fa96e51ad3330a3fe1f7a5dde5e455808b/GDAL-1.5.0.tar.gz (from https://pypi.org/simple/gdal/), version: 1.5.0
  Skipping link: unsupported archive format: .exe: https://files.pythonhosted.org/packages/99/13/1976784a34220ff7cb4d6df6028f17940094f5b7cb32e37818c36044d39c/GDAL-1.5.0.win32-py2.4.exe (from https://pypi.org/simple/gdal/)
  Skipping link: unsupported archive format: .exe: https://files.pythonhosted.org/packages/16/43/dac73405207378417422a9e2a9657d54ed312d8ad4d4557d370fc746118b/GDAL-1.5.0.win32-py2.5.exe (from https://pypi.org/simple/gdal/)
  Skipping link: unsupported archive format: .egg: https://files.pythonhosted.org/packages/cc/ab/2c42c4e3164fe7f32df3ae687b48ff6c1411eb9041e33d1b01f284c8d6dd/GDAL-1.5.2-py2.4-win32.egg (from https://pypi.org/simple/gdal/)
  Skipping link: unsupported archive format: .egg: https://files.pythonhosted.org/packages/c7/36/32cc146a7881807d7f5ba19f798cb423b7ebb8e453c06a2cd75bf6c22e23/GDAL-1.5.2-py2.5-macosx-10.5-i386.egg (from https://pypi.org/simple/gdal/)
  Skipping link: unsupported archive format: .egg: https://files.pythonhosted.org/packages/16/36/9a6bb42a2c484657c9324c1810d33e63e56039848fb4d072d3bb82b65a34/GDAL-1.5.2-py2.5-win32.egg (from https://pypi.org/simple/gdal/)
  Found link https://files.pythonhosted.org/packages/95/86/c60989985023f2ac560534fb2dc1f982e94a094433688981f8df95d8245f/GDAL-1.5.2.tar.gz (from https://pypi.org/simple/gdal/), version: 1.5.2
  Skipping link: unsupported archive format: .exe: https://files.pythonhosted.org/packages/fc/13/e2b27c4ec0a6d1221e9fe90984087aeb35df49a7223a5e761aefb9885086/GDAL-1.5.2.win32-py2.4.exe (from https://pypi.org/simple/gdal/)
  Skipping link: unsupported archive format: .exe: https://files.pythonhosted.org/packages/14/fd/cc5b8e4b1e32c852ef9fbb3c684c6b1d11a68155a7f12a57c48d5d88548f/GDAL-1.5.2.win32-py2.5.exe (from https://pypi.org/simple/gdal/)
  Skipping link: unsupported archive format: .egg: https://files.pythonhosted.org/packages/5e/44/a69ea99d81ef41753b904c864de3bff5419112c53c6701d5083340a8730f/GDAL-1.6.0-py2.4-win32.egg (from https://pypi.org/simple/gdal/)
  Skipping link: unsupported archive format: .egg: https://files.pythonhosted.org/packages/97/e2/037a293c10c7897c31b7c1043e22a2d36d7df850b6961989418e3d26a3f7/GDAL-1.6.0-py2.5-win32.egg (from https://pypi.org/simple/gdal/)
  Skipping link: unsupported archive format: .egg: https://files.pythonhosted.org/packages/b9/ed/fc3747277cacb92cc71ab490e73552e4ed66e5a48d02df7c43fd8f0b93ab/GDAL-1.6.0-py2.6-win32.egg (from https://pypi.org/simple/gdal/)
  Found link https://files.pythonhosted.org/packages/e3/5c/aa4f71d88d66de95dab434135b1904f64a54e108aca60d7e10aa3575fc78/GDAL-1.6.0.tar.gz (from https://pypi.org/simple/gdal/), version: 1.6.0
  Skipping link: unsupported archive format: .exe: https://files.pythonhosted.org/packages/37/5b/e1fc1d540a71fd4a4e2469b62c92db3c6327ea45761df3de7ca2c5c7087d/GDAL-1.6.0.win32-py2.4.exe (from https://pypi.org/simple/gdal/)
  Skipping link: unsupported archive format: .exe: https://files.pythonhosted.org/packages/6f/10/06dc4171cb26210c6d07920f497f5070134aa85fadbb17f311d2f6c1e33b/GDAL-1.6.0.win32-py2.5.exe (from https://pypi.org/simple/gdal/)
  Skipping link: unsupported archive format: .exe: https://files.pythonhosted.org/packages/5c/fa/949485fc3f62bd7002605347c7b0fa5997850340334a2634c3c06be29815/GDAL-1.6.0.win32-py2.6.exe (from https://pypi.org/simple/gdal/)
  Skipping link: unsupported archive format: .egg: https://files.pythonhosted.org/packages/50/65/c90fcf4b9cd0091745b5bbc500d3200282bd74ddd9aedddcf1f0d15c8239/GDAL-1.6.1-py2.4-win32.egg (from https://pypi.org/simple/gdal/)
  Skipping link: unsupported archive format: .egg: https://files.pythonhosted.org/packages/30/48/c239130bcf4eab3a858cf2347f477a54c9d669729a34091f68a756e40f66/GDAL-1.6.1-py2.5-win32.egg (from https://pypi.org/simple/gdal/)
  Skipping link: unsupported archive format: .egg: https://files.pythonhosted.org/packages/30/42/edc77457b4a2f2027a9b60e08cb3c0708280032d01941149e7e7d0d592c9/GDAL-1.6.1-py2.6-win32.egg (from https://pypi.org/simple/gdal/)
  Found link https://files.pythonhosted.org/packages/81/16/233ee7862013319c16dd282f0f443abf51593e6c3860187fb3d3cd8e3a18/GDAL-1.6.1.tar.gz (from https://pypi.org/simple/gdal/), version: 1.6.1
  Skipping link: unsupported archive format: .exe: https://files.pythonhosted.org/packages/9e/cf/7bae2b43381303037dd383daeda8db8b92183f164bed2a7d6b74f922f8f6/GDAL-1.6.1.win32-py2.4.exe (from https://pypi.org/simple/gdal/)
  Skipping link: unsupported archive format: .exe: https://files.pythonhosted.org/packages/cb/3a/056d4f86b8e402d1d3bbf92e8af29a3ad846a488fcf7ca89bb42c48fe5ed/GDAL-1.6.1.win32-py2.5.exe (from https://pypi.org/simple/gdal/)
  Skipping link: unsupported archive format: .exe: https://files.pythonhosted.org/packages/3e/64/9aea9ab17b29beea72d12cef586c709ed64d4873c06cfc5ac24c941d9707/GDAL-1.6.1.win32-py2.6.exe (from https://pypi.org/simple/gdal/)
  Found link https://files.pythonhosted.org/packages/91/e2/643bb499663924b60a634549e64451881c8c73e2d88d33c6aa79d38f0775/GDAL-1.7.0.tar.gz (from https://pypi.org/simple/gdal/), version: 1.7.0
  Found link https://files.pythonhosted.org/packages/2d/c7/e022017fea77611be7a68d2ca86ab17b82a67a35724f28b161c77b5224a5/GDAL-1.7.1.tar.gz (from https://pypi.org/simple/gdal/), version: 1.7.1
  Found link https://files.pythonhosted.org/packages/29/03/e9a666aeeebcfcfa0c07b56c440a4e9fc45161cbf41fc23099427458f11c/GDAL-1.8.1.tar.gz (from https://pypi.org/simple/gdal/), version: 1.8.1
  Found link https://files.pythonhosted.org/packages/4b/6e/88fdda4f2c14c2d2cb13145383d9908fb8611ff047409140845b3ba1bf3c/GDAL-1.9.0.tar.gz (from https://pypi.org/simple/gdal/), version: 1.9.0
  Found link https://files.pythonhosted.org/packages/76/41/8b41f24fb25fd0bfd69c98444b3cab79e519c88619c0ccef8891e096dbd9/GDAL-1.9.1.tar.gz (from https://pypi.org/simple/gdal/), version: 1.9.1
  Found link https://files.pythonhosted.org/packages/e6/b5/346cbd96837f5ed525d0460090d24e8cfb31ad805c6d5297ee4998eb81b6/GDAL-1.10.0.tar.gz (from https://pypi.org/simple/gdal/), version: 1.10.0
  Found link https://files.pythonhosted.org/packages/ba/9b/76aa2871642f774876461c8575f4bffc53a5dcc2eb1b9cff1a548372c806/GDAL-1.11.0.tar.gz (from https://pypi.org/simple/gdal/), version: 1.11.0
  Found link https://files.pythonhosted.org/packages/42/38/f2f0f57c2f3ebc5a9f0eb4ba9e130aa750e999a99de53cd5d96432fee258/GDAL-1.11.1.tar.gz (from https://pypi.org/simple/gdal/), version: 1.11.1
  Found link https://files.pythonhosted.org/packages/c7/02/91bdd33e763f0c97b58019fd6d328a9780fd4d153673fcfb6a835dbe8216/GDAL-1.11.2.tar.gz (from https://pypi.org/simple/gdal/), version: 1.11.2
  Found link https://files.pythonhosted.org/packages/85/90/817ece7cbd212ed0475bddc3249c96c561ae8bd7326f59b98df0f64a8c91/GDAL-2.0.0.tar.gz (from https://pypi.org/simple/gdal/), version: 2.0.0
  Found link https://files.pythonhosted.org/packages/a1/9a/80903f2db295ea9f817fddb45ed90d92a8c9bd9c59140760d4aee317e887/GDAL-2.0.1.tar.gz (from https://pypi.org/simple/gdal/), version: 2.0.1
  Found link https://files.pythonhosted.org/packages/d1/98/27fff31ad298f3ec50db19dc3adfd8387279e158b1c6331c531c5fc7d830/GDAL-2.1.0.tar.gz (from https://pypi.org/simple/gdal/), version: 2.1.0
  Found link https://files.pythonhosted.org/packages/36/d7/f89ac1347185db56939c156330efbfa2e3be560060b74e31f41e514ee627/GDAL-2.1.3.tar.gz (from https://pypi.org/simple/gdal/), version: 2.1.3
  Found link https://files.pythonhosted.org/packages/40/f9/8ad67763925b5c4f70a278ed725dc80dc774a4d30daf372a570a2faa9a8d/GDAL-2.2.0.tar.gz (from https://pypi.org/simple/gdal/), version: 2.2.0
  Found link https://files.pythonhosted.org/packages/f2/c3/1cadfcae9a4330c3a68c41e3bc96a5d228883eec6ea3e2fc6321165b863c/GDAL-2.2.1.tar.gz (from https://pypi.org/simple/gdal/), version: 2.2.1
  Found link https://files.pythonhosted.org/packages/11/cd/edef955a6ef6cb4f2113647d7465b34663e074451b66919e734466ba5197/GDAL-2.2.2.tar.gz (from https://pypi.org/simple/gdal/), version: 2.2.2
  Found link https://files.pythonhosted.org/packages/fb/62/e4c597c0b52bf0ddf7073c57e998c96cd98a8281a2cf40a8c036b34e4ec0/GDAL-2.2.3.tar.gz (from https://pypi.org/simple/gdal/), version: 2.2.3
  Found link https://files.pythonhosted.org/packages/4d/74/15958684bdec900d72c13fdc7e455d75d36437018e238f8c8fc7dd5aad37/GDAL-2.2.4.tar.gz (from https://pypi.org/simple/gdal/), version: 2.2.4
  Found link https://files.pythonhosted.org/packages/78/90/d1039b76c4f81b0f94fdcc29f755d8de031a2fa0d31f06e8ad304b6f0b3f/GDAL-2.3.0.tar.gz (from https://pypi.org/simple/gdal/), version: 2.3.0
  Found link https://files.pythonhosted.org/packages/99/31/2e05c1be3196126fa04028aed51489f40ceea77e8361a80bc8b00fc463db/GDAL-2.3.1.tar.gz (from https://pypi.org/simple/gdal/), version: 2.3.1
  Found link https://files.pythonhosted.org/packages/e5/57/7f0536cd46bebb30e709b8cd3bcebf9c3d4acc4ad5e9d7bfc73cd39c09a9/GDAL-2.3.2.tar.gz (from https://pypi.org/simple/gdal/), version: 2.3.2
  Found link https://files.pythonhosted.org/packages/e2/4d/eb85be7c7096ea3d55781a82e843bf0a98a15dba34f40bdd6d7a5c28186e/GDAL-2.3.3.tar.gz (from https://pypi.org/simple/gdal/), version: 2.3.3
  Found link https://files.pythonhosted.org/packages/7c/b0/a2ecb10a68a319910c4681f452c83843b99c4ef6231d33a8e55b0104a50c/GDAL-2.4.0.tar.gz (from https://pypi.org/simple/gdal/), version: 2.4.0
  Found link https://files.pythonhosted.org/packages/dc/d5/90339b48bdcabc76124eaa058a32d796963a05624eb418ed5ea5af7db9fa/GDAL-2.4.2.tar.gz (from https://pypi.org/simple/gdal/), version: 2.4.2
  Found link https://files.pythonhosted.org/packages/40/36/1a170d95275eb25316a0c12b24e2a2d6ebb1c8cdfa7e9eaf0a7c901822ad/GDAL-2.4.3.tar.gz (from https://pypi.org/simple/gdal/), version: 2.4.3
  Found link https://files.pythonhosted.org/packages/8f/6e/8621221458a9d711f3aecabd2f1efebf8e7a79b99a352d63a60d9b7cd830/GDAL-2.4.4.tar.gz (from https://pypi.org/simple/gdal/), version: 2.4.4
  Found link https://files.pythonhosted.org/packages/e7/12/c52764aa0e2e0aa9b2195956417844bbcd956f948b0823499778db958c8b/GDAL-3.0.0.tar.gz (from https://pypi.org/simple/gdal/), version: 3.0.0
  Found link https://files.pythonhosted.org/packages/26/c6/f8846ba726b37f9a1099acb5bff43c309fb913577674c1ba491f6fc60598/GDAL-3.0.1.tar.gz (from https://pypi.org/simple/gdal/), version: 3.0.1
  Found link https://files.pythonhosted.org/packages/35/94/2ab7ea8edd598d80f575ea85108df495ed21632fd073692bafab874d001b/GDAL-3.0.2.tar.gz (from https://pypi.org/simple/gdal/), version: 3.0.2
  Found link https://files.pythonhosted.org/packages/77/99/adf9183a8cd02a3a4b7b35d6d3c14be1fd133801d7a2f8cc6f296f7584df/GDAL-3.0.3.tar.gz (from https://pypi.org/simple/gdal/), version: 3.0.3
  Found link https://files.pythonhosted.org/packages/ae/09/cac5021db34f5c95c6a660b90e5d27062a520fe32a0493f68d07a7055d30/GDAL-3.0.4.tar.gz (from https://pypi.org/simple/gdal/), version: 3.0.4
  Found link https://files.pythonhosted.org/packages/e9/48/22c811d245aed06a93ac01d0cb8b3941088cb44a21dd5ee177c1c4efd47d/GDAL-3.1.0.tar.gz (from https://pypi.org/simple/gdal/), version: 3.1.0
  Found link https://files.pythonhosted.org/packages/9d/21/d90bb411ec46d2d768e663b4fb60b84acb358bbba28f87df20af9a2d33bd/GDAL-3.1.1.tar.gz (from https://pypi.org/simple/gdal/), version: 3.1.1
  Found link https://files.pythonhosted.org/packages/30/f9/ca554066837183727a645bd9f064213322c0e811fba1fb9c6fd38dafd8ca/GDAL-3.1.2.tar.gz (from https://pypi.org/simple/gdal/), version: 3.1.2
  Found link https://files.pythonhosted.org/packages/38/9b/bd2eca37fe096b49006343538178720142e8d9398072ea261fca3d5b3a62/GDAL-3.1.3.tar.gz (from https://pypi.org/simple/gdal/), version: 3.1.3
  Found link https://files.pythonhosted.org/packages/16/8c/de9e77a3d653e3f76c02bfdbbf30b430f87a68fef88bafd528f04caf62e4/GDAL-3.1.4.tar.gz (from https://pypi.org/simple/gdal/), version: 3.1.4
  Found link https://files.pythonhosted.org/packages/e2/bb/d9356549c9ac7adb2e136258a56f6239b9754110f6d77457ec7bcf78b41b/GDAL-3.2.0.tar.gz (from https://pypi.org/simple/gdal/), version: 3.2.0
  Found link https://files.pythonhosted.org/packages/86/01/03d442f8765eaf19ba24260c874df502309a61f4a58a6483b6107f749990/GDAL-3.2.1.tar.gz (from https://pypi.org/simple/gdal/), version: 3.2.1
  Found link https://files.pythonhosted.org/packages/41/06/40df091730955e0c6384d76ea71edc6ce37d6efa747ede4125ded93ffc80/GDAL-3.2.2.tar.gz (from https://pypi.org/simple/gdal/), version: 3.2.2
  Found link https://files.pythonhosted.org/packages/b7/02/4356dbdabf8f4fa898fe2378c8c096df3da254508ec8bc0663920cf4b92d/GDAL-3.2.2.1.tar.gz (from https://pypi.org/simple/gdal/), version: 3.2.2.1
  Found link https://files.pythonhosted.org/packages/29/05/77bbb518696c39a5c04ba653d229a992ca1364d6011ef29feba8c83f8e17/GDAL-3.2.3.tar.gz (from https://pypi.org/simple/gdal/), version: 3.2.3
  Found link https://files.pythonhosted.org/packages/3d/3d/21808700c6558fdec2d5774b2169af65830009a90a19ac9a4f862a84f7af/GDAL-3.3.0.tar.gz (from https://pypi.org/simple/gdal/) (requires-python:>=3.6.0), version: 3.3.0
  Found link https://files.pythonhosted.org/packages/03/94/01eb11e626ad5ad2d4caa0d2948aa122873e527b29611e685be9c2da2769/GDAL-3.3.1.tar.gz (from https://pypi.org/simple/gdal/) (requires-python:>=3.6.0), version: 3.3.1
  Found link https://files.pythonhosted.org/packages/4e/fb/e887581ff6a8243105c54c5f2877bf577fa2662167a31174174d550e0f3b/GDAL-3.3.2.tar.gz (from https://pypi.org/simple/gdal/) (requires-python:>=3.6.0), version: 3.3.2
  Found link https://files.pythonhosted.org/packages/15/71/76d0114b900279d698fa50d5716e240c2f9f7004adc126e61b9edbc380c5/GDAL-3.3.3.tar.gz (from https://pypi.org/simple/gdal/) (requires-python:>=3.6.0), version: 3.3.3
  Found link https://files.pythonhosted.org/packages/58/84/74008965211bf8cdae8a171757881521f9a1789fe8c1093a74a082ff1e51/GDAL-3.4.0.tar.gz (from https://pypi.org/simple/gdal/) (requires-python:>=3.6.0), version: 3.4.0
  Found link https://files.pythonhosted.org/packages/c5/f6/4fed0cacc8a6fb5d7659a05d300e01a1a13e2d9febf1911b05695057c662/GDAL-3.4.1.tar.gz (from https://pypi.org/simple/gdal/) (requires-python:>=3.6.0), version: 3.4.1
  Found link https://files.pythonhosted.org/packages/df/fb/2d683989369bd94ffb8c83f38874d913a2282536a4fe69a40b97b0a1f8c5/GDAL-3.4.2.tar.gz (from https://pypi.org/simple/gdal/) (requires-python:>=3.6.0), version: 3.4.2
  Found link https://files.pythonhosted.org/packages/12/82/ed7f65fe6ab931514807c79370096a816ad8cad6cef03a2fef90845503f6/GDAL-3.4.3.tar.gz (from https://pypi.org/simple/gdal/) (requires-python:>=3.6.0), version: 3.4.3
  Found link https://files.pythonhosted.org/packages/74/49/4344bcd3f9bc63ae4c718d5bfbabc9ce26b3f21d705e4cf03b8c244ea059/GDAL-3.5.0.tar.gz (from https://pypi.org/simple/gdal/) (requires-python:>=3.6.0), version: 3.5.0
  Found link https://files.pythonhosted.org/packages/fd/07/4e616332aece38fccc7bdef576a1d547073e8616f855742aad929dbf8679/GDAL-3.5.0.3.tar.gz (from https://pypi.org/simple/gdal/) (requires-python:>=3.6.0), version: 3.5.0.3
  Found link https://files.pythonhosted.org/packages/66/f3/533e3bf8ece073d31f5b44cb7ef1103d58770e104f69747cfb38ac6d2eb3/GDAL-3.5.1.tar.gz (from https://pypi.org/simple/gdal/) (requires-python:>=3.6.0), version: 3.5.1
  Found link https://files.pythonhosted.org/packages/19/8d/24be6fa5d475c67a26ffa293f2eaa1eabb22d37de8215cce425de80d3fd3/GDAL-3.5.2.tar.gz (from https://pypi.org/simple/gdal/) (requires-python:>=3.6.0), version: 3.5.2
  Found link https://files.pythonhosted.org/packages/8b/9f/c9fe38625e8d9ea814d4c3935773341cffb226b12ce2356bad80a9c0e4e8/GDAL-3.5.3.tar.gz (from https://pypi.org/simple/gdal/) (requires-python:>=3.6.0), version: 3.5.3
  Found link https://files.pythonhosted.org/packages/00/7d/c28b582936af9f953249a09faf2897f5cf63fc6d789447a0f05950b6b25f/GDAL-3.6.0.tar.gz (from https://pypi.org/simple/gdal/) (requires-python:>=3.6.0), version: 3.6.0
  Found link https://files.pythonhosted.org/packages/8b/68/681be664081602044d9c668d6f0f5987c3d762bab75b74e6a042395908a1/GDAL-3.6.0.1.tar.gz (from https://pypi.org/simple/gdal/) (requires-python:>=3.6.0), version: 3.6.0.1
  Found link https://files.pythonhosted.org/packages/e2/db/bc547582de5d5df1e07c983688b6fe97b4fe6a52cf92095422b75c1ad17a/GDAL-3.6.1.tar.gz (from https://pypi.org/simple/gdal/) (requires-python:>=3.6.0), version: 3.6.1
  Found link https://files.pythonhosted.org/packages/49/4f/174743caf64d1999c46ab2ee72b2cb0d77a47bd7ed04f954f863e35a25fd/GDAL-3.6.2.tar.gz (from https://pypi.org/simple/gdal/) (requires-python:>=3.6.0), version: 3.6.2
  Found link https://files.pythonhosted.org/packages/1e/82/71ce6786f464da7591f77bfc550002c85bd2df683d4a4929d69f2a3f1808/GDAL-3.6.3.tar.gz (from https://pypi.org/simple/gdal/) (requires-python:>=3.6.0), version: 3.6.3
  Found link https://files.pythonhosted.org/packages/d8/45/ce25a03268e6ccab9396acb92537b58eb5d0f4bdfa2144fd0f0e3bfdbacc/GDAL-3.6.4.tar.gz (from https://pypi.org/simple/gdal/) (requires-python:>=3.6.0), version: 3.6.4
  Found link https://files.pythonhosted.org/packages/22/b3/bb0c26730ad1fb1bfc8994bc9b6bea9d4cd0ded48a4e33ed66408d089466/GDAL-3.7.0.tar.gz (from https://pypi.org/simple/gdal/) (requires-python:>=3.6.0), version: 3.7.0
Skipping link: not a file: https://pypi.org/simple/gdal/
Given no hashes to check 65 links for project 'gdal': discarding no candidates
Using cached wheel link: file:///home/pipe/.cache/pip/wheels/d2/ab/03/99b4b1c8f7c8a000e2152ae9d1d7484770e75f3469710a1365/GDAL-3.7.0-cp311-cp311-linux_x86_64.whl
Collecting gdal
  Using cached GDAL-3.7.0-cp311-cp311-linux_x86_64.whl
  Added gdal from file:///home/pipe/.cache/pip/wheels/d2/ab/03/99b4b1c8f7c8a000e2152ae9d1d7484770e75f3469710a1365/GDAL-3.7.0-cp311-cp311-linux_x86_64.whl to build tracker '/tmp/pip-build-tracker-mnm95cc3'
  Removed gdal from file:///home/pipe/.cache/pip/wheels/d2/ab/03/99b4b1c8f7c8a000e2152ae9d1d7484770e75f3469710a1365/GDAL-3.7.0-cp311-cp311-linux_x86_64.whl from build tracker '/tmp/pip-build-tracker-mnm95cc3'
Created temporary directory: /tmp/pip-unpack-dmkcuhab
Installing collected packages: gdal

Successfully installed gdal-3.7.0
Remote version of pip: 23.1.2
Local version of pip:  23.1.2
Was pip installed by pip? True
Removed build tracker: '/tmp/pip-build-tracker-mnm95cc3'

I was checking.... where is _gdal_array module? I know works in ubuntu from osgeo import gdal_array and from osgeo import _gdal_array but I'm unable to find the last module.

Thx!

rouault commented 1 year ago

isn't there a way to get the actual build logs ? Maybe you need to clean /home/pipe/.cache/pip/wheels/ first

latot commented 1 year ago

Oks, now worked the logs:

Using pip 23.1.2 from /tmp/pyenv/lib/python3.11/site-packages/pip (python 3.11)
Non-user install because user site-packages disabled
Created temporary directory: /tmp/pip-build-tracker-scobh45b
Initialized build tracking at /tmp/pip-build-tracker-scobh45b
Created build tracker: /tmp/pip-build-tracker-scobh45b
Entered build tracker: /tmp/pip-build-tracker-scobh45b
Created temporary directory: /tmp/pip-install-swddov71
Created temporary directory: /tmp/pip-ephem-wheel-cache-8y9176ii
1 location(s) to search for versions of gdal:
* https://pypi.org/simple/gdal/
Fetching project page and analyzing links: https://pypi.org/simple/gdal/
Getting page https://pypi.org/simple/gdal/
Found index url https://pypi.org/simple/
Looking up "https://pypi.org/simple/gdal/" in the cache
Request header has "max_age" as 0, cache bypassed
Starting new HTTPS connection (1): pypi.org:443
https://pypi.org:443 "GET /simple/gdal/ HTTP/1.1" 304 0
Fetched page https://pypi.org/simple/gdal/ as application/vnd.pypi.simple.v1+json
  Skipping link: unsupported archive format: .egg: https://files.pythonhosted.org/packages/60/d3/83870329662e38efd4d7c6b1b622d0c8de8cca3d8b1d2d35df9efd8ed0de/GDAL-1.5.0-py2.4-win32.egg (from https://pypi.org/simple/gdal/)
  Skipping link: unsupported archive format: .egg: https://files.pythonhosted.org/packages/3c/3e/7a2ece4b7ae808e16bfed42cfed189ea3355180b697a17ae7157145e742c/GDAL-1.5.0-py2.5-macosx-10.5-i386.egg (from https://pypi.org/simple/gdal/)
  Skipping link: unsupported archive format: .egg: https://files.pythonhosted.org/packages/9e/fa/6c71b1eaabe8ca81180acd14ad78ad6aa090318de44492b4c551c2302f49/GDAL-1.5.0-py2.5-win32.egg (from https://pypi.org/simple/gdal/)
  Found link https://files.pythonhosted.org/packages/ed/42/9de3bfa170f94a60e096ff4559fa96e51ad3330a3fe1f7a5dde5e455808b/GDAL-1.5.0.tar.gz (from https://pypi.org/simple/gdal/), version: 1.5.0
  Skipping link: unsupported archive format: .exe: https://files.pythonhosted.org/packages/99/13/1976784a34220ff7cb4d6df6028f17940094f5b7cb32e37818c36044d39c/GDAL-1.5.0.win32-py2.4.exe (from https://pypi.org/simple/gdal/)
  Skipping link: unsupported archive format: .exe: https://files.pythonhosted.org/packages/16/43/dac73405207378417422a9e2a9657d54ed312d8ad4d4557d370fc746118b/GDAL-1.5.0.win32-py2.5.exe (from https://pypi.org/simple/gdal/)
  Skipping link: unsupported archive format: .egg: https://files.pythonhosted.org/packages/cc/ab/2c42c4e3164fe7f32df3ae687b48ff6c1411eb9041e33d1b01f284c8d6dd/GDAL-1.5.2-py2.4-win32.egg (from https://pypi.org/simple/gdal/)
  Skipping link: unsupported archive format: .egg: https://files.pythonhosted.org/packages/c7/36/32cc146a7881807d7f5ba19f798cb423b7ebb8e453c06a2cd75bf6c22e23/GDAL-1.5.2-py2.5-macosx-10.5-i386.egg (from https://pypi.org/simple/gdal/)
  Skipping link: unsupported archive format: .egg: https://files.pythonhosted.org/packages/16/36/9a6bb42a2c484657c9324c1810d33e63e56039848fb4d072d3bb82b65a34/GDAL-1.5.2-py2.5-win32.egg (from https://pypi.org/simple/gdal/)
  Found link https://files.pythonhosted.org/packages/95/86/c60989985023f2ac560534fb2dc1f982e94a094433688981f8df95d8245f/GDAL-1.5.2.tar.gz (from https://pypi.org/simple/gdal/), version: 1.5.2
  Skipping link: unsupported archive format: .exe: https://files.pythonhosted.org/packages/fc/13/e2b27c4ec0a6d1221e9fe90984087aeb35df49a7223a5e761aefb9885086/GDAL-1.5.2.win32-py2.4.exe (from https://pypi.org/simple/gdal/)
  Skipping link: unsupported archive format: .exe: https://files.pythonhosted.org/packages/14/fd/cc5b8e4b1e32c852ef9fbb3c684c6b1d11a68155a7f12a57c48d5d88548f/GDAL-1.5.2.win32-py2.5.exe (from https://pypi.org/simple/gdal/)
  Skipping link: unsupported archive format: .egg: https://files.pythonhosted.org/packages/5e/44/a69ea99d81ef41753b904c864de3bff5419112c53c6701d5083340a8730f/GDAL-1.6.0-py2.4-win32.egg (from https://pypi.org/simple/gdal/)
  Skipping link: unsupported archive format: .egg: https://files.pythonhosted.org/packages/97/e2/037a293c10c7897c31b7c1043e22a2d36d7df850b6961989418e3d26a3f7/GDAL-1.6.0-py2.5-win32.egg (from https://pypi.org/simple/gdal/)
  Skipping link: unsupported archive format: .egg: https://files.pythonhosted.org/packages/b9/ed/fc3747277cacb92cc71ab490e73552e4ed66e5a48d02df7c43fd8f0b93ab/GDAL-1.6.0-py2.6-win32.egg (from https://pypi.org/simple/gdal/)
  Found link https://files.pythonhosted.org/packages/e3/5c/aa4f71d88d66de95dab434135b1904f64a54e108aca60d7e10aa3575fc78/GDAL-1.6.0.tar.gz (from https://pypi.org/simple/gdal/), version: 1.6.0
  Skipping link: unsupported archive format: .exe: https://files.pythonhosted.org/packages/37/5b/e1fc1d540a71fd4a4e2469b62c92db3c6327ea45761df3de7ca2c5c7087d/GDAL-1.6.0.win32-py2.4.exe (from https://pypi.org/simple/gdal/)
  Skipping link: unsupported archive format: .exe: https://files.pythonhosted.org/packages/6f/10/06dc4171cb26210c6d07920f497f5070134aa85fadbb17f311d2f6c1e33b/GDAL-1.6.0.win32-py2.5.exe (from https://pypi.org/simple/gdal/)
  Skipping link: unsupported archive format: .exe: https://files.pythonhosted.org/packages/5c/fa/949485fc3f62bd7002605347c7b0fa5997850340334a2634c3c06be29815/GDAL-1.6.0.win32-py2.6.exe (from https://pypi.org/simple/gdal/)
  Skipping link: unsupported archive format: .egg: https://files.pythonhosted.org/packages/50/65/c90fcf4b9cd0091745b5bbc500d3200282bd74ddd9aedddcf1f0d15c8239/GDAL-1.6.1-py2.4-win32.egg (from https://pypi.org/simple/gdal/)
  Skipping link: unsupported archive format: .egg: https://files.pythonhosted.org/packages/30/48/c239130bcf4eab3a858cf2347f477a54c9d669729a34091f68a756e40f66/GDAL-1.6.1-py2.5-win32.egg (from https://pypi.org/simple/gdal/)
  Skipping link: unsupported archive format: .egg: https://files.pythonhosted.org/packages/30/42/edc77457b4a2f2027a9b60e08cb3c0708280032d01941149e7e7d0d592c9/GDAL-1.6.1-py2.6-win32.egg (from https://pypi.org/simple/gdal/)
  Found link https://files.pythonhosted.org/packages/81/16/233ee7862013319c16dd282f0f443abf51593e6c3860187fb3d3cd8e3a18/GDAL-1.6.1.tar.gz (from https://pypi.org/simple/gdal/), version: 1.6.1
  Skipping link: unsupported archive format: .exe: https://files.pythonhosted.org/packages/9e/cf/7bae2b43381303037dd383daeda8db8b92183f164bed2a7d6b74f922f8f6/GDAL-1.6.1.win32-py2.4.exe (from https://pypi.org/simple/gdal/)
  Skipping link: unsupported archive format: .exe: https://files.pythonhosted.org/packages/cb/3a/056d4f86b8e402d1d3bbf92e8af29a3ad846a488fcf7ca89bb42c48fe5ed/GDAL-1.6.1.win32-py2.5.exe (from https://pypi.org/simple/gdal/)
  Skipping link: unsupported archive format: .exe: https://files.pythonhosted.org/packages/3e/64/9aea9ab17b29beea72d12cef586c709ed64d4873c06cfc5ac24c941d9707/GDAL-1.6.1.win32-py2.6.exe (from https://pypi.org/simple/gdal/)
  Found link https://files.pythonhosted.org/packages/91/e2/643bb499663924b60a634549e64451881c8c73e2d88d33c6aa79d38f0775/GDAL-1.7.0.tar.gz (from https://pypi.org/simple/gdal/), version: 1.7.0
  Found link https://files.pythonhosted.org/packages/2d/c7/e022017fea77611be7a68d2ca86ab17b82a67a35724f28b161c77b5224a5/GDAL-1.7.1.tar.gz (from https://pypi.org/simple/gdal/), version: 1.7.1
  Found link https://files.pythonhosted.org/packages/29/03/e9a666aeeebcfcfa0c07b56c440a4e9fc45161cbf41fc23099427458f11c/GDAL-1.8.1.tar.gz (from https://pypi.org/simple/gdal/), version: 1.8.1
  Found link https://files.pythonhosted.org/packages/4b/6e/88fdda4f2c14c2d2cb13145383d9908fb8611ff047409140845b3ba1bf3c/GDAL-1.9.0.tar.gz (from https://pypi.org/simple/gdal/), version: 1.9.0
  Found link https://files.pythonhosted.org/packages/76/41/8b41f24fb25fd0bfd69c98444b3cab79e519c88619c0ccef8891e096dbd9/GDAL-1.9.1.tar.gz (from https://pypi.org/simple/gdal/), version: 1.9.1
  Found link https://files.pythonhosted.org/packages/e6/b5/346cbd96837f5ed525d0460090d24e8cfb31ad805c6d5297ee4998eb81b6/GDAL-1.10.0.tar.gz (from https://pypi.org/simple/gdal/), version: 1.10.0
  Found link https://files.pythonhosted.org/packages/ba/9b/76aa2871642f774876461c8575f4bffc53a5dcc2eb1b9cff1a548372c806/GDAL-1.11.0.tar.gz (from https://pypi.org/simple/gdal/), version: 1.11.0
  Found link https://files.pythonhosted.org/packages/42/38/f2f0f57c2f3ebc5a9f0eb4ba9e130aa750e999a99de53cd5d96432fee258/GDAL-1.11.1.tar.gz (from https://pypi.org/simple/gdal/), version: 1.11.1
  Found link https://files.pythonhosted.org/packages/c7/02/91bdd33e763f0c97b58019fd6d328a9780fd4d153673fcfb6a835dbe8216/GDAL-1.11.2.tar.gz (from https://pypi.org/simple/gdal/), version: 1.11.2
  Found link https://files.pythonhosted.org/packages/85/90/817ece7cbd212ed0475bddc3249c96c561ae8bd7326f59b98df0f64a8c91/GDAL-2.0.0.tar.gz (from https://pypi.org/simple/gdal/), version: 2.0.0
  Found link https://files.pythonhosted.org/packages/a1/9a/80903f2db295ea9f817fddb45ed90d92a8c9bd9c59140760d4aee317e887/GDAL-2.0.1.tar.gz (from https://pypi.org/simple/gdal/), version: 2.0.1
  Found link https://files.pythonhosted.org/packages/d1/98/27fff31ad298f3ec50db19dc3adfd8387279e158b1c6331c531c5fc7d830/GDAL-2.1.0.tar.gz (from https://pypi.org/simple/gdal/), version: 2.1.0
  Found link https://files.pythonhosted.org/packages/36/d7/f89ac1347185db56939c156330efbfa2e3be560060b74e31f41e514ee627/GDAL-2.1.3.tar.gz (from https://pypi.org/simple/gdal/), version: 2.1.3
  Found link https://files.pythonhosted.org/packages/40/f9/8ad67763925b5c4f70a278ed725dc80dc774a4d30daf372a570a2faa9a8d/GDAL-2.2.0.tar.gz (from https://pypi.org/simple/gdal/), version: 2.2.0
  Found link https://files.pythonhosted.org/packages/f2/c3/1cadfcae9a4330c3a68c41e3bc96a5d228883eec6ea3e2fc6321165b863c/GDAL-2.2.1.tar.gz (from https://pypi.org/simple/gdal/), version: 2.2.1
  Found link https://files.pythonhosted.org/packages/11/cd/edef955a6ef6cb4f2113647d7465b34663e074451b66919e734466ba5197/GDAL-2.2.2.tar.gz (from https://pypi.org/simple/gdal/), version: 2.2.2
  Found link https://files.pythonhosted.org/packages/fb/62/e4c597c0b52bf0ddf7073c57e998c96cd98a8281a2cf40a8c036b34e4ec0/GDAL-2.2.3.tar.gz (from https://pypi.org/simple/gdal/), version: 2.2.3
  Found link https://files.pythonhosted.org/packages/4d/74/15958684bdec900d72c13fdc7e455d75d36437018e238f8c8fc7dd5aad37/GDAL-2.2.4.tar.gz (from https://pypi.org/simple/gdal/), version: 2.2.4
  Found link https://files.pythonhosted.org/packages/78/90/d1039b76c4f81b0f94fdcc29f755d8de031a2fa0d31f06e8ad304b6f0b3f/GDAL-2.3.0.tar.gz (from https://pypi.org/simple/gdal/), version: 2.3.0
  Found link https://files.pythonhosted.org/packages/99/31/2e05c1be3196126fa04028aed51489f40ceea77e8361a80bc8b00fc463db/GDAL-2.3.1.tar.gz (from https://pypi.org/simple/gdal/), version: 2.3.1
  Found link https://files.pythonhosted.org/packages/e5/57/7f0536cd46bebb30e709b8cd3bcebf9c3d4acc4ad5e9d7bfc73cd39c09a9/GDAL-2.3.2.tar.gz (from https://pypi.org/simple/gdal/), version: 2.3.2
  Found link https://files.pythonhosted.org/packages/e2/4d/eb85be7c7096ea3d55781a82e843bf0a98a15dba34f40bdd6d7a5c28186e/GDAL-2.3.3.tar.gz (from https://pypi.org/simple/gdal/), version: 2.3.3
  Found link https://files.pythonhosted.org/packages/7c/b0/a2ecb10a68a319910c4681f452c83843b99c4ef6231d33a8e55b0104a50c/GDAL-2.4.0.tar.gz (from https://pypi.org/simple/gdal/), version: 2.4.0
  Found link https://files.pythonhosted.org/packages/dc/d5/90339b48bdcabc76124eaa058a32d796963a05624eb418ed5ea5af7db9fa/GDAL-2.4.2.tar.gz (from https://pypi.org/simple/gdal/), version: 2.4.2
  Found link https://files.pythonhosted.org/packages/40/36/1a170d95275eb25316a0c12b24e2a2d6ebb1c8cdfa7e9eaf0a7c901822ad/GDAL-2.4.3.tar.gz (from https://pypi.org/simple/gdal/), version: 2.4.3
  Found link https://files.pythonhosted.org/packages/8f/6e/8621221458a9d711f3aecabd2f1efebf8e7a79b99a352d63a60d9b7cd830/GDAL-2.4.4.tar.gz (from https://pypi.org/simple/gdal/), version: 2.4.4
  Found link https://files.pythonhosted.org/packages/e7/12/c52764aa0e2e0aa9b2195956417844bbcd956f948b0823499778db958c8b/GDAL-3.0.0.tar.gz (from https://pypi.org/simple/gdal/), version: 3.0.0
  Found link https://files.pythonhosted.org/packages/26/c6/f8846ba726b37f9a1099acb5bff43c309fb913577674c1ba491f6fc60598/GDAL-3.0.1.tar.gz (from https://pypi.org/simple/gdal/), version: 3.0.1
  Found link https://files.pythonhosted.org/packages/35/94/2ab7ea8edd598d80f575ea85108df495ed21632fd073692bafab874d001b/GDAL-3.0.2.tar.gz (from https://pypi.org/simple/gdal/), version: 3.0.2
  Found link https://files.pythonhosted.org/packages/77/99/adf9183a8cd02a3a4b7b35d6d3c14be1fd133801d7a2f8cc6f296f7584df/GDAL-3.0.3.tar.gz (from https://pypi.org/simple/gdal/), version: 3.0.3
  Found link https://files.pythonhosted.org/packages/ae/09/cac5021db34f5c95c6a660b90e5d27062a520fe32a0493f68d07a7055d30/GDAL-3.0.4.tar.gz (from https://pypi.org/simple/gdal/), version: 3.0.4
  Found link https://files.pythonhosted.org/packages/e9/48/22c811d245aed06a93ac01d0cb8b3941088cb44a21dd5ee177c1c4efd47d/GDAL-3.1.0.tar.gz (from https://pypi.org/simple/gdal/), version: 3.1.0
  Found link https://files.pythonhosted.org/packages/9d/21/d90bb411ec46d2d768e663b4fb60b84acb358bbba28f87df20af9a2d33bd/GDAL-3.1.1.tar.gz (from https://pypi.org/simple/gdal/), version: 3.1.1
  Found link https://files.pythonhosted.org/packages/30/f9/ca554066837183727a645bd9f064213322c0e811fba1fb9c6fd38dafd8ca/GDAL-3.1.2.tar.gz (from https://pypi.org/simple/gdal/), version: 3.1.2
  Found link https://files.pythonhosted.org/packages/38/9b/bd2eca37fe096b49006343538178720142e8d9398072ea261fca3d5b3a62/GDAL-3.1.3.tar.gz (from https://pypi.org/simple/gdal/), version: 3.1.3
  Found link https://files.pythonhosted.org/packages/16/8c/de9e77a3d653e3f76c02bfdbbf30b430f87a68fef88bafd528f04caf62e4/GDAL-3.1.4.tar.gz (from https://pypi.org/simple/gdal/), version: 3.1.4
  Found link https://files.pythonhosted.org/packages/e2/bb/d9356549c9ac7adb2e136258a56f6239b9754110f6d77457ec7bcf78b41b/GDAL-3.2.0.tar.gz (from https://pypi.org/simple/gdal/), version: 3.2.0
  Found link https://files.pythonhosted.org/packages/86/01/03d442f8765eaf19ba24260c874df502309a61f4a58a6483b6107f749990/GDAL-3.2.1.tar.gz (from https://pypi.org/simple/gdal/), version: 3.2.1
  Found link https://files.pythonhosted.org/packages/41/06/40df091730955e0c6384d76ea71edc6ce37d6efa747ede4125ded93ffc80/GDAL-3.2.2.tar.gz (from https://pypi.org/simple/gdal/), version: 3.2.2
  Found link https://files.pythonhosted.org/packages/b7/02/4356dbdabf8f4fa898fe2378c8c096df3da254508ec8bc0663920cf4b92d/GDAL-3.2.2.1.tar.gz (from https://pypi.org/simple/gdal/), version: 3.2.2.1
  Found link https://files.pythonhosted.org/packages/29/05/77bbb518696c39a5c04ba653d229a992ca1364d6011ef29feba8c83f8e17/GDAL-3.2.3.tar.gz (from https://pypi.org/simple/gdal/), version: 3.2.3
  Found link https://files.pythonhosted.org/packages/3d/3d/21808700c6558fdec2d5774b2169af65830009a90a19ac9a4f862a84f7af/GDAL-3.3.0.tar.gz (from https://pypi.org/simple/gdal/) (requires-python:>=3.6.0), version: 3.3.0
  Found link https://files.pythonhosted.org/packages/03/94/01eb11e626ad5ad2d4caa0d2948aa122873e527b29611e685be9c2da2769/GDAL-3.3.1.tar.gz (from https://pypi.org/simple/gdal/) (requires-python:>=3.6.0), version: 3.3.1
  Found link https://files.pythonhosted.org/packages/4e/fb/e887581ff6a8243105c54c5f2877bf577fa2662167a31174174d550e0f3b/GDAL-3.3.2.tar.gz (from https://pypi.org/simple/gdal/) (requires-python:>=3.6.0), version: 3.3.2
  Found link https://files.pythonhosted.org/packages/15/71/76d0114b900279d698fa50d5716e240c2f9f7004adc126e61b9edbc380c5/GDAL-3.3.3.tar.gz (from https://pypi.org/simple/gdal/) (requires-python:>=3.6.0), version: 3.3.3
  Found link https://files.pythonhosted.org/packages/58/84/74008965211bf8cdae8a171757881521f9a1789fe8c1093a74a082ff1e51/GDAL-3.4.0.tar.gz (from https://pypi.org/simple/gdal/) (requires-python:>=3.6.0), version: 3.4.0
  Found link https://files.pythonhosted.org/packages/c5/f6/4fed0cacc8a6fb5d7659a05d300e01a1a13e2d9febf1911b05695057c662/GDAL-3.4.1.tar.gz (from https://pypi.org/simple/gdal/) (requires-python:>=3.6.0), version: 3.4.1
  Found link https://files.pythonhosted.org/packages/df/fb/2d683989369bd94ffb8c83f38874d913a2282536a4fe69a40b97b0a1f8c5/GDAL-3.4.2.tar.gz (from https://pypi.org/simple/gdal/) (requires-python:>=3.6.0), version: 3.4.2
  Found link https://files.pythonhosted.org/packages/12/82/ed7f65fe6ab931514807c79370096a816ad8cad6cef03a2fef90845503f6/GDAL-3.4.3.tar.gz (from https://pypi.org/simple/gdal/) (requires-python:>=3.6.0), version: 3.4.3
  Found link https://files.pythonhosted.org/packages/74/49/4344bcd3f9bc63ae4c718d5bfbabc9ce26b3f21d705e4cf03b8c244ea059/GDAL-3.5.0.tar.gz (from https://pypi.org/simple/gdal/) (requires-python:>=3.6.0), version: 3.5.0
  Found link https://files.pythonhosted.org/packages/fd/07/4e616332aece38fccc7bdef576a1d547073e8616f855742aad929dbf8679/GDAL-3.5.0.3.tar.gz (from https://pypi.org/simple/gdal/) (requires-python:>=3.6.0), version: 3.5.0.3
  Found link https://files.pythonhosted.org/packages/66/f3/533e3bf8ece073d31f5b44cb7ef1103d58770e104f69747cfb38ac6d2eb3/GDAL-3.5.1.tar.gz (from https://pypi.org/simple/gdal/) (requires-python:>=3.6.0), version: 3.5.1
  Found link https://files.pythonhosted.org/packages/19/8d/24be6fa5d475c67a26ffa293f2eaa1eabb22d37de8215cce425de80d3fd3/GDAL-3.5.2.tar.gz (from https://pypi.org/simple/gdal/) (requires-python:>=3.6.0), version: 3.5.2
  Found link https://files.pythonhosted.org/packages/8b/9f/c9fe38625e8d9ea814d4c3935773341cffb226b12ce2356bad80a9c0e4e8/GDAL-3.5.3.tar.gz (from https://pypi.org/simple/gdal/) (requires-python:>=3.6.0), version: 3.5.3
  Found link https://files.pythonhosted.org/packages/00/7d/c28b582936af9f953249a09faf2897f5cf63fc6d789447a0f05950b6b25f/GDAL-3.6.0.tar.gz (from https://pypi.org/simple/gdal/) (requires-python:>=3.6.0), version: 3.6.0
  Found link https://files.pythonhosted.org/packages/8b/68/681be664081602044d9c668d6f0f5987c3d762bab75b74e6a042395908a1/GDAL-3.6.0.1.tar.gz (from https://pypi.org/simple/gdal/) (requires-python:>=3.6.0), version: 3.6.0.1
  Found link https://files.pythonhosted.org/packages/e2/db/bc547582de5d5df1e07c983688b6fe97b4fe6a52cf92095422b75c1ad17a/GDAL-3.6.1.tar.gz (from https://pypi.org/simple/gdal/) (requires-python:>=3.6.0), version: 3.6.1
  Found link https://files.pythonhosted.org/packages/49/4f/174743caf64d1999c46ab2ee72b2cb0d77a47bd7ed04f954f863e35a25fd/GDAL-3.6.2.tar.gz (from https://pypi.org/simple/gdal/) (requires-python:>=3.6.0), version: 3.6.2
  Found link https://files.pythonhosted.org/packages/1e/82/71ce6786f464da7591f77bfc550002c85bd2df683d4a4929d69f2a3f1808/GDAL-3.6.3.tar.gz (from https://pypi.org/simple/gdal/) (requires-python:>=3.6.0), version: 3.6.3
  Found link https://files.pythonhosted.org/packages/d8/45/ce25a03268e6ccab9396acb92537b58eb5d0f4bdfa2144fd0f0e3bfdbacc/GDAL-3.6.4.tar.gz (from https://pypi.org/simple/gdal/) (requires-python:>=3.6.0), version: 3.6.4
  Found link https://files.pythonhosted.org/packages/22/b3/bb0c26730ad1fb1bfc8994bc9b6bea9d4cd0ded48a4e33ed66408d089466/GDAL-3.7.0.tar.gz (from https://pypi.org/simple/gdal/) (requires-python:>=3.6.0), version: 3.7.0
Skipping link: not a file: https://pypi.org/simple/gdal/
Given no hashes to check 65 links for project 'gdal': discarding no candidates
Collecting gdal
  Created temporary directory: /tmp/pip-unpack-iw6u7y9z
  Looking up "https://files.pythonhosted.org/packages/22/b3/bb0c26730ad1fb1bfc8994bc9b6bea9d4cd0ded48a4e33ed66408d089466/GDAL-3.7.0.tar.gz" in the cache
  Current age based on date: 4140323
  Ignoring unknown cache-control directive: immutable
  Freshness lifetime from max-age: 365000000
  The response is "fresh", returning cached response
  365000000 > 4140323
  Using cached GDAL-3.7.0.tar.gz (775 kB)
  Added gdal from https://files.pythonhosted.org/packages/22/b3/bb0c26730ad1fb1bfc8994bc9b6bea9d4cd0ded48a4e33ed66408d089466/GDAL-3.7.0.tar.gz to build tracker '/tmp/pip-build-tracker-scobh45b'
  Running setup.py (path:/tmp/pip-install-swddov71/gdal_b642b9f6e11d43d68be8915d63ebc4fd/setup.py) egg_info for package gdal
  Created temporary directory: /tmp/pip-pip-egg-info-y4b0ln_q
  Running command python setup.py egg_info
  WARNING: numpy not available!  Array support will not be enabled
  running egg_info
  creating /tmp/pip-pip-egg-info-y4b0ln_q/GDAL.egg-info
  writing /tmp/pip-pip-egg-info-y4b0ln_q/GDAL.egg-info/PKG-INFO
  writing dependency_links to /tmp/pip-pip-egg-info-y4b0ln_q/GDAL.egg-info/dependency_links.txt
  writing requirements to /tmp/pip-pip-egg-info-y4b0ln_q/GDAL.egg-info/requires.txt
  writing top-level names to /tmp/pip-pip-egg-info-y4b0ln_q/GDAL.egg-info/top_level.txt
  writing manifest file '/tmp/pip-pip-egg-info-y4b0ln_q/GDAL.egg-info/SOURCES.txt'
  reading manifest file '/tmp/pip-pip-egg-info-y4b0ln_q/GDAL.egg-info/SOURCES.txt'
  writing manifest file '/tmp/pip-pip-egg-info-y4b0ln_q/GDAL.egg-info/SOURCES.txt'
  Preparing metadata (setup.py) ... done
  Source in /tmp/pip-install-swddov71/gdal_b642b9f6e11d43d68be8915d63ebc4fd has version 3.7.0, which satisfies requirement gdal from https://files.pythonhosted.org/packages/22/b3/bb0c26730ad1fb1bfc8994bc9b6bea9d4cd0ded48a4e33ed66408d089466/GDAL-3.7.0.tar.gz
  Removed gdal from https://files.pythonhosted.org/packages/22/b3/bb0c26730ad1fb1bfc8994bc9b6bea9d4cd0ded48a4e33ed66408d089466/GDAL-3.7.0.tar.gz from build tracker '/tmp/pip-build-tracker-scobh45b'
Created temporary directory: /tmp/pip-unpack-1javdgfk
Building wheels for collected packages: gdal
  Created temporary directory: /tmp/pip-wheel-l_d9myv_
  Building wheel for gdal (setup.py) ...   Destination directory: /tmp/pip-wheel-l_d9myv_
  Running command python setup.py bdist_wheel
  WARNING: numpy not available!  Array support will not be enabled
  running bdist_wheel
  running build
  running build_py
  creating build
  creating build/lib.linux-x86_64-cpython-311
  creating build/lib.linux-x86_64-cpython-311/osgeo
  copying osgeo/osr.py -> build/lib.linux-x86_64-cpython-311/osgeo
  copying osgeo/ogr.py -> build/lib.linux-x86_64-cpython-311/osgeo
  copying osgeo/gnm.py -> build/lib.linux-x86_64-cpython-311/osgeo
  copying osgeo/gdalnumeric.py -> build/lib.linux-x86_64-cpython-311/osgeo
  copying osgeo/gdalconst.py -> build/lib.linux-x86_64-cpython-311/osgeo
  copying osgeo/gdal_array.py -> build/lib.linux-x86_64-cpython-311/osgeo
  copying osgeo/gdal.py -> build/lib.linux-x86_64-cpython-311/osgeo
  copying osgeo/__init__.py -> build/lib.linux-x86_64-cpython-311/osgeo
  creating build/lib.linux-x86_64-cpython-311/osgeo_utils
  copying gdal-utils/osgeo_utils/rgb2pct.py -> build/lib.linux-x86_64-cpython-311/osgeo_utils
  copying gdal-utils/osgeo_utils/pct2rgb.py -> build/lib.linux-x86_64-cpython-311/osgeo_utils
  copying gdal-utils/osgeo_utils/ogrmerge.py -> build/lib.linux-x86_64-cpython-311/osgeo_utils
  copying gdal-utils/osgeo_utils/ogr_layer_algebra.py -> build/lib.linux-x86_64-cpython-311/osgeo_utils
  copying gdal-utils/osgeo_utils/gdalmove.py -> build/lib.linux-x86_64-cpython-311/osgeo_utils
  copying gdal-utils/osgeo_utils/gdalcompare.py -> build/lib.linux-x86_64-cpython-311/osgeo_utils
  copying gdal-utils/osgeo_utils/gdalattachpct.py -> build/lib.linux-x86_64-cpython-311/osgeo_utils
  copying gdal-utils/osgeo_utils/gdal_sieve.py -> build/lib.linux-x86_64-cpython-311/osgeo_utils
  copying gdal-utils/osgeo_utils/gdal_retile.py -> build/lib.linux-x86_64-cpython-311/osgeo_utils
  copying gdal-utils/osgeo_utils/gdal_proximity.py -> build/lib.linux-x86_64-cpython-311/osgeo_utils
  copying gdal-utils/osgeo_utils/gdal_polygonize.py -> build/lib.linux-x86_64-cpython-311/osgeo_utils
  copying gdal-utils/osgeo_utils/gdal_pansharpen.py -> build/lib.linux-x86_64-cpython-311/osgeo_utils
  copying gdal-utils/osgeo_utils/gdal_merge.py -> build/lib.linux-x86_64-cpython-311/osgeo_utils
  copying gdal-utils/osgeo_utils/gdal_fillnodata.py -> build/lib.linux-x86_64-cpython-311/osgeo_utils
  copying gdal-utils/osgeo_utils/gdal_edit.py -> build/lib.linux-x86_64-cpython-311/osgeo_utils
  copying gdal-utils/osgeo_utils/gdal_calc.py -> build/lib.linux-x86_64-cpython-311/osgeo_utils
  copying gdal-utils/osgeo_utils/gdal2xyz.py -> build/lib.linux-x86_64-cpython-311/osgeo_utils
  copying gdal-utils/osgeo_utils/gdal2tiles.py -> build/lib.linux-x86_64-cpython-311/osgeo_utils
  copying gdal-utils/osgeo_utils/__init__.py -> build/lib.linux-x86_64-cpython-311/osgeo_utils
  creating build/lib.linux-x86_64-cpython-311/osgeo_utils/samples
  copying gdal-utils/osgeo_utils/samples/wcs_virtds_params.py -> build/lib.linux-x86_64-cpython-311/osgeo_utils/samples
  copying gdal-utils/osgeo_utils/samples/vec_tr_spat.py -> build/lib.linux-x86_64-cpython-311/osgeo_utils/samples
  copying gdal-utils/osgeo_utils/samples/vec_tr.py -> build/lib.linux-x86_64-cpython-311/osgeo_utils/samples
  copying gdal-utils/osgeo_utils/samples/validate_jp2.py -> build/lib.linux-x86_64-cpython-311/osgeo_utils/samples
  copying gdal-utils/osgeo_utils/samples/validate_gpkg.py -> build/lib.linux-x86_64-cpython-311/osgeo_utils/samples
  copying gdal-utils/osgeo_utils/samples/validate_cloud_optimized_geotiff.py -> build/lib.linux-x86_64-cpython-311/osgeo_utils/samples
  copying gdal-utils/osgeo_utils/samples/val_repl.py -> build/lib.linux-x86_64-cpython-311/osgeo_utils/samples
  copying gdal-utils/osgeo_utils/samples/tolatlong.py -> build/lib.linux-x86_64-cpython-311/osgeo_utils/samples
  copying gdal-utils/osgeo_utils/samples/tile_extent_from_raster.py -> build/lib.linux-x86_64-cpython-311/osgeo_utils/samples
  copying gdal-utils/osgeo_utils/samples/tigerpoly.py -> build/lib.linux-x86_64-cpython-311/osgeo_utils/samples
  copying gdal-utils/osgeo_utils/samples/rel.py -> build/lib.linux-x86_64-cpython-311/osgeo_utils/samples
  copying gdal-utils/osgeo_utils/samples/ogrupdate.py -> build/lib.linux-x86_64-cpython-311/osgeo_utils/samples
  copying gdal-utils/osgeo_utils/samples/ogrinfo.py -> build/lib.linux-x86_64-cpython-311/osgeo_utils/samples
  copying gdal-utils/osgeo_utils/samples/ogr_dispatch.py -> build/lib.linux-x86_64-cpython-311/osgeo_utils/samples
  copying gdal-utils/osgeo_utils/samples/ogr_build_junction_table.py -> build/lib.linux-x86_64-cpython-311/osgeo_utils/samples
  copying gdal-utils/osgeo_utils/samples/ogr2vrt.py -> build/lib.linux-x86_64-cpython-311/osgeo_utils/samples
  copying gdal-utils/osgeo_utils/samples/ogr2ogr.py -> build/lib.linux-x86_64-cpython-311/osgeo_utils/samples
  copying gdal-utils/osgeo_utils/samples/mkgraticule.py -> build/lib.linux-x86_64-cpython-311/osgeo_utils/samples
  copying gdal-utils/osgeo_utils/samples/make_fuzzer_friendly_archive.py -> build/lib.linux-x86_64-cpython-311/osgeo_utils/samples
  copying gdal-utils/osgeo_utils/samples/magphase.py -> build/lib.linux-x86_64-cpython-311/osgeo_utils/samples
  copying gdal-utils/osgeo_utils/samples/loslas2ntv2.py -> build/lib.linux-x86_64-cpython-311/osgeo_utils/samples
  copying gdal-utils/osgeo_utils/samples/load2odbc.py -> build/lib.linux-x86_64-cpython-311/osgeo_utils/samples
  copying gdal-utils/osgeo_utils/samples/jpeg_in_tiff_extract.py -> build/lib.linux-x86_64-cpython-311/osgeo_utils/samples
  copying gdal-utils/osgeo_utils/samples/hsv_merge.py -> build/lib.linux-x86_64-cpython-311/osgeo_utils/samples
  copying gdal-utils/osgeo_utils/samples/histrep.py -> build/lib.linux-x86_64-cpython-311/osgeo_utils/samples
  copying gdal-utils/osgeo_utils/samples/get_soundg.py -> build/lib.linux-x86_64-cpython-311/osgeo_utils/samples
  copying gdal-utils/osgeo_utils/samples/gdallocationinfo.py -> build/lib.linux-x86_64-cpython-311/osgeo_utils/samples
  copying gdal-utils/osgeo_utils/samples/gdalinfo.py -> build/lib.linux-x86_64-cpython-311/osgeo_utils/samples
  copying gdal-utils/osgeo_utils/samples/gdalimport.py -> build/lib.linux-x86_64-cpython-311/osgeo_utils/samples
  copying gdal-utils/osgeo_utils/samples/gdalident.py -> build/lib.linux-x86_64-cpython-311/osgeo_utils/samples
  copying gdal-utils/osgeo_utils/samples/gdalfilter.py -> build/lib.linux-x86_64-cpython-311/osgeo_utils/samples
  copying gdal-utils/osgeo_utils/samples/gdalcopyproj.py -> build/lib.linux-x86_64-cpython-311/osgeo_utils/samples
  copying gdal-utils/osgeo_utils/samples/gdalchksum.py -> build/lib.linux-x86_64-cpython-311/osgeo_utils/samples
  copying gdal-utils/osgeo_utils/samples/gdal_zip.py -> build/lib.linux-x86_64-cpython-311/osgeo_utils/samples
  copying gdal-utils/osgeo_utils/samples/gdal_vrtmerge.py -> build/lib.linux-x86_64-cpython-311/osgeo_utils/samples
  copying gdal-utils/osgeo_utils/samples/gdal_rmdir.py -> build/lib.linux-x86_64-cpython-311/osgeo_utils/samples
  copying gdal-utils/osgeo_utils/samples/gdal_rm.py -> build/lib.linux-x86_64-cpython-311/osgeo_utils/samples
  copying gdal-utils/osgeo_utils/samples/gdal_remove_towgs84.py -> build/lib.linux-x86_64-cpython-311/osgeo_utils/samples
  copying gdal-utils/osgeo_utils/samples/gdal_mkdir.py -> build/lib.linux-x86_64-cpython-311/osgeo_utils/samples
  copying gdal-utils/osgeo_utils/samples/gdal_lut.py -> build/lib.linux-x86_64-cpython-311/osgeo_utils/samples
  copying gdal-utils/osgeo_utils/samples/gdal_ls.py -> build/lib.linux-x86_64-cpython-311/osgeo_utils/samples
  copying gdal-utils/osgeo_utils/samples/gdal_create_pdf.py -> build/lib.linux-x86_64-cpython-311/osgeo_utils/samples
  copying gdal-utils/osgeo_utils/samples/gdal_cp.py -> build/lib.linux-x86_64-cpython-311/osgeo_utils/samples
  copying gdal-utils/osgeo_utils/samples/gdal_auth.py -> build/lib.linux-x86_64-cpython-311/osgeo_utils/samples
  copying gdal-utils/osgeo_utils/samples/gdal2grd.py -> build/lib.linux-x86_64-cpython-311/osgeo_utils/samples
  copying gdal-utils/osgeo_utils/samples/gcps2wld.py -> build/lib.linux-x86_64-cpython-311/osgeo_utils/samples
  copying gdal-utils/osgeo_utils/samples/gcps2vec.py -> build/lib.linux-x86_64-cpython-311/osgeo_utils/samples
  copying gdal-utils/osgeo_utils/samples/gcps2ogr.py -> build/lib.linux-x86_64-cpython-311/osgeo_utils/samples
  copying gdal-utils/osgeo_utils/samples/fix_gpkg.py -> build/lib.linux-x86_64-cpython-311/osgeo_utils/samples
  copying gdal-utils/osgeo_utils/samples/fft.py -> build/lib.linux-x86_64-cpython-311/osgeo_utils/samples
  copying gdal-utils/osgeo_utils/samples/esri2wkt.py -> build/lib.linux-x86_64-cpython-311/osgeo_utils/samples
  copying gdal-utils/osgeo_utils/samples/epsg_tr.py -> build/lib.linux-x86_64-cpython-311/osgeo_utils/samples
  copying gdal-utils/osgeo_utils/samples/dump_jp2.py -> build/lib.linux-x86_64-cpython-311/osgeo_utils/samples
  copying gdal-utils/osgeo_utils/samples/densify.py -> build/lib.linux-x86_64-cpython-311/osgeo_utils/samples
  copying gdal-utils/osgeo_utils/samples/crs2crs2grid.py -> build/lib.linux-x86_64-cpython-311/osgeo_utils/samples
  copying gdal-utils/osgeo_utils/samples/classify.py -> build/lib.linux-x86_64-cpython-311/osgeo_utils/samples
  copying gdal-utils/osgeo_utils/samples/build_jp2_from_xml.py -> build/lib.linux-x86_64-cpython-311/osgeo_utils/samples
  copying gdal-utils/osgeo_utils/samples/assemblepoly.py -> build/lib.linux-x86_64-cpython-311/osgeo_utils/samples
  copying gdal-utils/osgeo_utils/samples/__init__.py -> build/lib.linux-x86_64-cpython-311/osgeo_utils/samples
  creating build/lib.linux-x86_64-cpython-311/osgeo_utils/auxiliary
  copying gdal-utils/osgeo_utils/auxiliary/util.py -> build/lib.linux-x86_64-cpython-311/osgeo_utils/auxiliary
  copying gdal-utils/osgeo_utils/auxiliary/rectangle.py -> build/lib.linux-x86_64-cpython-311/osgeo_utils/auxiliary
  copying gdal-utils/osgeo_utils/auxiliary/raster_creation.py -> build/lib.linux-x86_64-cpython-311/osgeo_utils/auxiliary
  copying gdal-utils/osgeo_utils/auxiliary/progress.py -> build/lib.linux-x86_64-cpython-311/osgeo_utils/auxiliary
  copying gdal-utils/osgeo_utils/auxiliary/osr_util.py -> build/lib.linux-x86_64-cpython-311/osgeo_utils/auxiliary
  copying gdal-utils/osgeo_utils/auxiliary/numpy_util.py -> build/lib.linux-x86_64-cpython-311/osgeo_utils/auxiliary
  copying gdal-utils/osgeo_utils/auxiliary/gdal_argparse.py -> build/lib.linux-x86_64-cpython-311/osgeo_utils/auxiliary
  copying gdal-utils/osgeo_utils/auxiliary/extent_util.py -> build/lib.linux-x86_64-cpython-311/osgeo_utils/auxiliary
  copying gdal-utils/osgeo_utils/auxiliary/color_table.py -> build/lib.linux-x86_64-cpython-311/osgeo_utils/auxiliary
  copying gdal-utils/osgeo_utils/auxiliary/color_palette.py -> build/lib.linux-x86_64-cpython-311/osgeo_utils/auxiliary
  copying gdal-utils/osgeo_utils/auxiliary/batch_creator.py -> build/lib.linux-x86_64-cpython-311/osgeo_utils/auxiliary
  copying gdal-utils/osgeo_utils/auxiliary/base.py -> build/lib.linux-x86_64-cpython-311/osgeo_utils/auxiliary
  copying gdal-utils/osgeo_utils/auxiliary/array_util.py -> build/lib.linux-x86_64-cpython-311/osgeo_utils/auxiliary
  copying gdal-utils/osgeo_utils/auxiliary/__init__.py -> build/lib.linux-x86_64-cpython-311/osgeo_utils/auxiliary
  running build_ext
  x86_64-pc-linux-gnu-gcc -Wsign-compare -DNDEBUG -fPIC -I/tmp/pyenv/include -I/usr/include/python3.11 -I/usr/include -c gdal_python_cxx11_test.cpp -o gdal_python_cxx11_test.o
  building 'osgeo._gdal' extension
  creating build/temp.linux-x86_64-cpython-311
  creating build/temp.linux-x86_64-cpython-311/extensions
  x86_64-pc-linux-gnu-gcc -Wsign-compare -DNDEBUG -fPIC -I/tmp/pyenv/include -I/usr/include/python3.11 -I/usr/include -c extensions/gdal_wrap.cpp -o build/temp.linux-x86_64-cpython-311/extensions/gdal_wrap.o -I/usr/include/gdal
  building 'osgeo._gdalconst' extension
  x86_64-pc-linux-gnu-gcc -Wsign-compare -DNDEBUG -fPIC -I/tmp/pyenv/include -I/usr/include/python3.11 -I/usr/include -c extensions/gdalconst_wrap.c -o build/temp.linux-x86_64-cpython-311/extensions/gdalconst_wrap.o -I/usr/include/gdal
  building 'osgeo._osr' extension
  x86_64-pc-linux-gnu-gcc -Wsign-compare -DNDEBUG -fPIC -I/tmp/pyenv/include -I/usr/include/python3.11 -I/usr/include -c extensions/osr_wrap.cpp -o build/temp.linux-x86_64-cpython-311/extensions/osr_wrap.o -I/usr/include/gdal
  building 'osgeo._ogr' extension
  x86_64-pc-linux-gnu-gcc -Wsign-compare -DNDEBUG -fPIC -I/tmp/pyenv/include -I/usr/include/python3.11 -I/usr/include -c extensions/ogr_wrap.cpp -o build/temp.linux-x86_64-cpython-311/extensions/ogr_wrap.o -I/usr/include/gdal
  building 'osgeo._gnm' extension
  x86_64-pc-linux-gnu-gcc -Wsign-compare -DNDEBUG -fPIC -I/tmp/pyenv/include -I/usr/include/python3.11 -I/usr/include -c extensions/gnm_wrap.cpp -o build/temp.linux-x86_64-cpython-311/extensions/gnm_wrap.o -I/usr/include/gdal
  extensions/gdalconst_wrap.c: En la función ‘PyInit__gdalconst’:
  extensions/gdalconst_wrap.c:3746:3: aviso: ‘PyEval_InitThreads’ es obsoleto [-Wdeprecated-declarations]
   3746 |   SWIG_PYTHON_INITIALIZE_THREADS;
        |   ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  En el fichero incluido desde /usr/include/python3.11/Python.h:95,
                   desde extensions/gdalconst_wrap.c:156:
  /usr/include/python3.11/ceval.h:132:37: nota: se declara aquí
    132 | Py_DEPRECATED(3.9) PyAPI_FUNC(void) PyEval_InitThreads(void);
        |                                     ^~~~~~~~~~~~~~~~~~
  x86_64-pc-linux-gnu-gcc -shared build/temp.linux-x86_64-cpython-311/extensions/gdalconst_wrap.o -L/usr/lib64 -L/usr/lib -lgdal -o build/lib.linux-x86_64-cpython-311/osgeo/_gdalconst.cpython-311-x86_64-linux-gnu.so
  extensions/gnm_wrap.cpp: En la función ‘PyObject* PyInit__gnm()’:
  extensions/gnm_wrap.cpp:982:64: aviso: ‘void PyEval_InitThreads()’ es obsoleto [-Wdeprecated-declarations]
    982 | #     define SWIG_PYTHON_INITIALIZE_THREADS  PyEval_InitThreads()
        |                                              ~~~~~~~~~~~~~~~~~~^~
  extensions/gnm_wrap.cpp:6770:3: nota: en expansión de macro ‘SWIG_PYTHON_INITIALIZE_THREADS’
   6770 |   SWIG_PYTHON_INITIALIZE_THREADS;
        |   ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  En el fichero incluido desde /usr/include/python3.11/Python.h:95,
                   desde extensions/gnm_wrap.cpp:180:
  /usr/include/python3.11/ceval.h:132:37: nota: se declara aquí
    132 | Py_DEPRECATED(3.9) PyAPI_FUNC(void) PyEval_InitThreads(void);
        |                                     ^~~~~~~~~~~~~~~~~~
  extensions/osr_wrap.cpp: En la función ‘PyObject* PyInit__osr()’:
  extensions/osr_wrap.cpp:982:64: aviso: ‘void PyEval_InitThreads()’ es obsoleto [-Wdeprecated-declarations]
    982 | #     define SWIG_PYTHON_INITIALIZE_THREADS  PyEval_InitThreads()
        |                                              ~~~~~~~~~~~~~~~~~~^~
  extensions/osr_wrap.cpp:20291:3: nota: en expansión de macro ‘SWIG_PYTHON_INITIALIZE_THREADS’
  20291 |   SWIG_PYTHON_INITIALIZE_THREADS;
        |   ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  En el fichero incluido desde /usr/include/python3.11/Python.h:95,
                   desde extensions/osr_wrap.cpp:180:
  /usr/include/python3.11/ceval.h:132:37: nota: se declara aquí
    132 | Py_DEPRECATED(3.9) PyAPI_FUNC(void) PyEval_InitThreads(void);
        |                                     ^~~~~~~~~~~~~~~~~~
  extensions/ogr_wrap.cpp: En la función ‘PyObject* PyInit__ogr()’:
  extensions/ogr_wrap.cpp:982:64: aviso: ‘void PyEval_InitThreads()’ es obsoleto [-Wdeprecated-declarations]
    982 | #     define SWIG_PYTHON_INITIALIZE_THREADS  PyEval_InitThreads()
        |                                              ~~~~~~~~~~~~~~~~~~^~
  extensions/ogr_wrap.cpp:39391:3: nota: en expansión de macro ‘SWIG_PYTHON_INITIALIZE_THREADS’
  39391 |   SWIG_PYTHON_INITIALIZE_THREADS;
        |   ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  En el fichero incluido desde /usr/include/python3.11/Python.h:95,
                   desde extensions/ogr_wrap.cpp:180:
  /usr/include/python3.11/ceval.h:132:37: nota: se declara aquí
    132 | Py_DEPRECATED(3.9) PyAPI_FUNC(void) PyEval_InitThreads(void);
        |                                     ^~~~~~~~~~~~~~~~~~
  x86_64-pc-linux-gnu-g++ -shared build/temp.linux-x86_64-cpython-311/extensions/gnm_wrap.o -L/usr/lib64 -L/usr/lib -lgdal -o build/lib.linux-x86_64-cpython-311/osgeo/_gnm.cpython-311-x86_64-linux-gnu.so
  extensions/gdal_wrap.cpp: En la función ‘PyObject* PyInit__gdal()’:
  extensions/gdal_wrap.cpp:982:64: aviso: ‘void PyEval_InitThreads()’ es obsoleto [-Wdeprecated-declarations]
    982 | #     define SWIG_PYTHON_INITIALIZE_THREADS  PyEval_InitThreads()
        |                                              ~~~~~~~~~~~~~~~~~~^~
  extensions/gdal_wrap.cpp:51178:3: nota: en expansión de macro ‘SWIG_PYTHON_INITIALIZE_THREADS’
  51178 |   SWIG_PYTHON_INITIALIZE_THREADS;
        |   ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  En el fichero incluido desde /usr/include/python3.11/Python.h:95,
                   desde extensions/gdal_wrap.cpp:180:
  /usr/include/python3.11/ceval.h:132:37: nota: se declara aquí
    132 | Py_DEPRECATED(3.9) PyAPI_FUNC(void) PyEval_InitThreads(void);
        |                                     ^~~~~~~~~~~~~~~~~~
  x86_64-pc-linux-gnu-g++ -shared build/temp.linux-x86_64-cpython-311/extensions/osr_wrap.o -L/usr/lib64 -L/usr/lib -lgdal -o build/lib.linux-x86_64-cpython-311/osgeo/_osr.cpython-311-x86_64-linux-gnu.so
  x86_64-pc-linux-gnu-g++ -shared build/temp.linux-x86_64-cpython-311/extensions/ogr_wrap.o -L/usr/lib64 -L/usr/lib -lgdal -o build/lib.linux-x86_64-cpython-311/osgeo/_ogr.cpython-311-x86_64-linux-gnu.so
  x86_64-pc-linux-gnu-g++ -shared build/temp.linux-x86_64-cpython-311/extensions/gdal_wrap.o -L/usr/lib64 -L/usr/lib -lgdal -o build/lib.linux-x86_64-cpython-311/osgeo/_gdal.cpython-311-x86_64-linux-gnu.so
  running build_scripts
  creating build/scripts-3.11
  copying and adjusting gdal-utils/scripts/rgb2pct.py -> build/scripts-3.11
  copying and adjusting gdal-utils/scripts/pct2rgb.py -> build/scripts-3.11
  copying and adjusting gdal-utils/scripts/ogrmerge.py -> build/scripts-3.11
  copying and adjusting gdal-utils/scripts/ogr_layer_algebra.py -> build/scripts-3.11
  copying and adjusting gdal-utils/scripts/gdalmove.py -> build/scripts-3.11
  copying and adjusting gdal-utils/scripts/gdalcompare.py -> build/scripts-3.11
  copying and adjusting gdal-utils/scripts/gdalattachpct.py -> build/scripts-3.11
  copying and adjusting gdal-utils/scripts/gdal_sieve.py -> build/scripts-3.11
  copying and adjusting gdal-utils/scripts/gdal_retile.py -> build/scripts-3.11
  copying and adjusting gdal-utils/scripts/gdal_proximity.py -> build/scripts-3.11
  copying and adjusting gdal-utils/scripts/gdal_polygonize.py -> build/scripts-3.11
  copying and adjusting gdal-utils/scripts/gdal_pansharpen.py -> build/scripts-3.11
  copying and adjusting gdal-utils/scripts/gdal_merge.py -> build/scripts-3.11
  copying and adjusting gdal-utils/scripts/gdal_fillnodata.py -> build/scripts-3.11
  copying and adjusting gdal-utils/scripts/gdal_edit.py -> build/scripts-3.11
  copying and adjusting gdal-utils/scripts/gdal_calc.py -> build/scripts-3.11
  copying and adjusting gdal-utils/scripts/gdal2xyz.py -> build/scripts-3.11
  copying and adjusting gdal-utils/scripts/gdal2tiles.py -> build/scripts-3.11
  changing mode of build/scripts-3.11/rgb2pct.py from 644 to 755
  changing mode of build/scripts-3.11/pct2rgb.py from 644 to 755
  changing mode of build/scripts-3.11/ogrmerge.py from 644 to 755
  changing mode of build/scripts-3.11/ogr_layer_algebra.py from 644 to 755
  changing mode of build/scripts-3.11/gdalmove.py from 644 to 755
  changing mode of build/scripts-3.11/gdalcompare.py from 644 to 755
  changing mode of build/scripts-3.11/gdalattachpct.py from 644 to 755
  changing mode of build/scripts-3.11/gdal_sieve.py from 644 to 755
  changing mode of build/scripts-3.11/gdal_retile.py from 644 to 755
  changing mode of build/scripts-3.11/gdal_proximity.py from 644 to 755
  changing mode of build/scripts-3.11/gdal_polygonize.py from 644 to 755
  changing mode of build/scripts-3.11/gdal_pansharpen.py from 644 to 755
  changing mode of build/scripts-3.11/gdal_merge.py from 644 to 755
  changing mode of build/scripts-3.11/gdal_fillnodata.py from 644 to 755
  changing mode of build/scripts-3.11/gdal_edit.py from 644 to 755
  changing mode of build/scripts-3.11/gdal_calc.py from 644 to 755
  changing mode of build/scripts-3.11/gdal2xyz.py from 644 to 755
  changing mode of build/scripts-3.11/gdal2tiles.py from 644 to 755
  /tmp/pyenv/lib/python3.11/site-packages/setuptools/_distutils/cmd.py:66: SetuptoolsDeprecationWarning: setup.py install is deprecated.
  !!

          ********************************************************************************
          Please avoid running ``setup.py`` directly.
          Instead, use pypa/build, pypa/installer, pypa/build or
          other standards-based tools.

          See https://blog.ganssle.io/articles/2021/10/setup-py-deprecated.html for details.
          ********************************************************************************

  !!
    self.initialize_options()
  installing to build/bdist.linux-x86_64/wheel
  running install
  running install_lib
  creating build/bdist.linux-x86_64
  creating build/bdist.linux-x86_64/wheel
  creating build/bdist.linux-x86_64/wheel/osgeo_utils
  creating build/bdist.linux-x86_64/wheel/osgeo_utils/auxiliary
  copying build/lib.linux-x86_64-cpython-311/osgeo_utils/auxiliary/__init__.py -> build/bdist.linux-x86_64/wheel/osgeo_utils/auxiliary
  copying build/lib.linux-x86_64-cpython-311/osgeo_utils/auxiliary/array_util.py -> build/bdist.linux-x86_64/wheel/osgeo_utils/auxiliary
  copying build/lib.linux-x86_64-cpython-311/osgeo_utils/auxiliary/base.py -> build/bdist.linux-x86_64/wheel/osgeo_utils/auxiliary
  copying build/lib.linux-x86_64-cpython-311/osgeo_utils/auxiliary/batch_creator.py -> build/bdist.linux-x86_64/wheel/osgeo_utils/auxiliary
  copying build/lib.linux-x86_64-cpython-311/osgeo_utils/auxiliary/color_palette.py -> build/bdist.linux-x86_64/wheel/osgeo_utils/auxiliary
  copying build/lib.linux-x86_64-cpython-311/osgeo_utils/auxiliary/color_table.py -> build/bdist.linux-x86_64/wheel/osgeo_utils/auxiliary
  copying build/lib.linux-x86_64-cpython-311/osgeo_utils/auxiliary/extent_util.py -> build/bdist.linux-x86_64/wheel/osgeo_utils/auxiliary
  copying build/lib.linux-x86_64-cpython-311/osgeo_utils/auxiliary/gdal_argparse.py -> build/bdist.linux-x86_64/wheel/osgeo_utils/auxiliary
  copying build/lib.linux-x86_64-cpython-311/osgeo_utils/auxiliary/numpy_util.py -> build/bdist.linux-x86_64/wheel/osgeo_utils/auxiliary
  copying build/lib.linux-x86_64-cpython-311/osgeo_utils/auxiliary/osr_util.py -> build/bdist.linux-x86_64/wheel/osgeo_utils/auxiliary
  copying build/lib.linux-x86_64-cpython-311/osgeo_utils/auxiliary/progress.py -> build/bdist.linux-x86_64/wheel/osgeo_utils/auxiliary
  copying build/lib.linux-x86_64-cpython-311/osgeo_utils/auxiliary/raster_creation.py -> build/bdist.linux-x86_64/wheel/osgeo_utils/auxiliary
  copying build/lib.linux-x86_64-cpython-311/osgeo_utils/auxiliary/rectangle.py -> build/bdist.linux-x86_64/wheel/osgeo_utils/auxiliary
  copying build/lib.linux-x86_64-cpython-311/osgeo_utils/auxiliary/util.py -> build/bdist.linux-x86_64/wheel/osgeo_utils/auxiliary
  creating build/bdist.linux-x86_64/wheel/osgeo_utils/samples
  copying build/lib.linux-x86_64-cpython-311/osgeo_utils/samples/__init__.py -> build/bdist.linux-x86_64/wheel/osgeo_utils/samples
  copying build/lib.linux-x86_64-cpython-311/osgeo_utils/samples/assemblepoly.py -> build/bdist.linux-x86_64/wheel/osgeo_utils/samples
  copying build/lib.linux-x86_64-cpython-311/osgeo_utils/samples/build_jp2_from_xml.py -> build/bdist.linux-x86_64/wheel/osgeo_utils/samples
  copying build/lib.linux-x86_64-cpython-311/osgeo_utils/samples/classify.py -> build/bdist.linux-x86_64/wheel/osgeo_utils/samples
  copying build/lib.linux-x86_64-cpython-311/osgeo_utils/samples/crs2crs2grid.py -> build/bdist.linux-x86_64/wheel/osgeo_utils/samples
  copying build/lib.linux-x86_64-cpython-311/osgeo_utils/samples/densify.py -> build/bdist.linux-x86_64/wheel/osgeo_utils/samples
  copying build/lib.linux-x86_64-cpython-311/osgeo_utils/samples/dump_jp2.py -> build/bdist.linux-x86_64/wheel/osgeo_utils/samples
  copying build/lib.linux-x86_64-cpython-311/osgeo_utils/samples/epsg_tr.py -> build/bdist.linux-x86_64/wheel/osgeo_utils/samples
  copying build/lib.linux-x86_64-cpython-311/osgeo_utils/samples/esri2wkt.py -> build/bdist.linux-x86_64/wheel/osgeo_utils/samples
  copying build/lib.linux-x86_64-cpython-311/osgeo_utils/samples/fft.py -> build/bdist.linux-x86_64/wheel/osgeo_utils/samples
  copying build/lib.linux-x86_64-cpython-311/osgeo_utils/samples/fix_gpkg.py -> build/bdist.linux-x86_64/wheel/osgeo_utils/samples
  copying build/lib.linux-x86_64-cpython-311/osgeo_utils/samples/gcps2ogr.py -> build/bdist.linux-x86_64/wheel/osgeo_utils/samples
  copying build/lib.linux-x86_64-cpython-311/osgeo_utils/samples/gcps2vec.py -> build/bdist.linux-x86_64/wheel/osgeo_utils/samples
  copying build/lib.linux-x86_64-cpython-311/osgeo_utils/samples/gcps2wld.py -> build/bdist.linux-x86_64/wheel/osgeo_utils/samples
  copying build/lib.linux-x86_64-cpython-311/osgeo_utils/samples/gdal2grd.py -> build/bdist.linux-x86_64/wheel/osgeo_utils/samples
  copying build/lib.linux-x86_64-cpython-311/osgeo_utils/samples/gdal_auth.py -> build/bdist.linux-x86_64/wheel/osgeo_utils/samples
  copying build/lib.linux-x86_64-cpython-311/osgeo_utils/samples/gdal_cp.py -> build/bdist.linux-x86_64/wheel/osgeo_utils/samples
  copying build/lib.linux-x86_64-cpython-311/osgeo_utils/samples/gdal_create_pdf.py -> build/bdist.linux-x86_64/wheel/osgeo_utils/samples
  copying build/lib.linux-x86_64-cpython-311/osgeo_utils/samples/gdal_ls.py -> build/bdist.linux-x86_64/wheel/osgeo_utils/samples
  copying build/lib.linux-x86_64-cpython-311/osgeo_utils/samples/gdal_lut.py -> build/bdist.linux-x86_64/wheel/osgeo_utils/samples
  copying build/lib.linux-x86_64-cpython-311/osgeo_utils/samples/gdal_mkdir.py -> build/bdist.linux-x86_64/wheel/osgeo_utils/samples
  copying build/lib.linux-x86_64-cpython-311/osgeo_utils/samples/gdal_remove_towgs84.py -> build/bdist.linux-x86_64/wheel/osgeo_utils/samples
  copying build/lib.linux-x86_64-cpython-311/osgeo_utils/samples/gdal_rm.py -> build/bdist.linux-x86_64/wheel/osgeo_utils/samples
  copying build/lib.linux-x86_64-cpython-311/osgeo_utils/samples/gdal_rmdir.py -> build/bdist.linux-x86_64/wheel/osgeo_utils/samples
  copying build/lib.linux-x86_64-cpython-311/osgeo_utils/samples/gdal_vrtmerge.py -> build/bdist.linux-x86_64/wheel/osgeo_utils/samples
  copying build/lib.linux-x86_64-cpython-311/osgeo_utils/samples/gdal_zip.py -> build/bdist.linux-x86_64/wheel/osgeo_utils/samples
  copying build/lib.linux-x86_64-cpython-311/osgeo_utils/samples/gdalchksum.py -> build/bdist.linux-x86_64/wheel/osgeo_utils/samples
  copying build/lib.linux-x86_64-cpython-311/osgeo_utils/samples/gdalcopyproj.py -> build/bdist.linux-x86_64/wheel/osgeo_utils/samples
  copying build/lib.linux-x86_64-cpython-311/osgeo_utils/samples/gdalfilter.py -> build/bdist.linux-x86_64/wheel/osgeo_utils/samples
  copying build/lib.linux-x86_64-cpython-311/osgeo_utils/samples/gdalident.py -> build/bdist.linux-x86_64/wheel/osgeo_utils/samples
  copying build/lib.linux-x86_64-cpython-311/osgeo_utils/samples/gdalimport.py -> build/bdist.linux-x86_64/wheel/osgeo_utils/samples
  copying build/lib.linux-x86_64-cpython-311/osgeo_utils/samples/gdalinfo.py -> build/bdist.linux-x86_64/wheel/osgeo_utils/samples
  copying build/lib.linux-x86_64-cpython-311/osgeo_utils/samples/gdallocationinfo.py -> build/bdist.linux-x86_64/wheel/osgeo_utils/samples
  copying build/lib.linux-x86_64-cpython-311/osgeo_utils/samples/get_soundg.py -> build/bdist.linux-x86_64/wheel/osgeo_utils/samples
  copying build/lib.linux-x86_64-cpython-311/osgeo_utils/samples/histrep.py -> build/bdist.linux-x86_64/wheel/osgeo_utils/samples
  copying build/lib.linux-x86_64-cpython-311/osgeo_utils/samples/hsv_merge.py -> build/bdist.linux-x86_64/wheel/osgeo_utils/samples
  copying build/lib.linux-x86_64-cpython-311/osgeo_utils/samples/jpeg_in_tiff_extract.py -> build/bdist.linux-x86_64/wheel/osgeo_utils/samples
  copying build/lib.linux-x86_64-cpython-311/osgeo_utils/samples/load2odbc.py -> build/bdist.linux-x86_64/wheel/osgeo_utils/samples
  copying build/lib.linux-x86_64-cpython-311/osgeo_utils/samples/loslas2ntv2.py -> build/bdist.linux-x86_64/wheel/osgeo_utils/samples
  copying build/lib.linux-x86_64-cpython-311/osgeo_utils/samples/magphase.py -> build/bdist.linux-x86_64/wheel/osgeo_utils/samples
  copying build/lib.linux-x86_64-cpython-311/osgeo_utils/samples/make_fuzzer_friendly_archive.py -> build/bdist.linux-x86_64/wheel/osgeo_utils/samples
  copying build/lib.linux-x86_64-cpython-311/osgeo_utils/samples/mkgraticule.py -> build/bdist.linux-x86_64/wheel/osgeo_utils/samples
  copying build/lib.linux-x86_64-cpython-311/osgeo_utils/samples/ogr2ogr.py -> build/bdist.linux-x86_64/wheel/osgeo_utils/samples
  copying build/lib.linux-x86_64-cpython-311/osgeo_utils/samples/ogr2vrt.py -> build/bdist.linux-x86_64/wheel/osgeo_utils/samples
  copying build/lib.linux-x86_64-cpython-311/osgeo_utils/samples/ogr_build_junction_table.py -> build/bdist.linux-x86_64/wheel/osgeo_utils/samples
  copying build/lib.linux-x86_64-cpython-311/osgeo_utils/samples/ogr_dispatch.py -> build/bdist.linux-x86_64/wheel/osgeo_utils/samples
  copying build/lib.linux-x86_64-cpython-311/osgeo_utils/samples/ogrinfo.py -> build/bdist.linux-x86_64/wheel/osgeo_utils/samples
  copying build/lib.linux-x86_64-cpython-311/osgeo_utils/samples/ogrupdate.py -> build/bdist.linux-x86_64/wheel/osgeo_utils/samples
  copying build/lib.linux-x86_64-cpython-311/osgeo_utils/samples/rel.py -> build/bdist.linux-x86_64/wheel/osgeo_utils/samples
  copying build/lib.linux-x86_64-cpython-311/osgeo_utils/samples/tigerpoly.py -> build/bdist.linux-x86_64/wheel/osgeo_utils/samples
  copying build/lib.linux-x86_64-cpython-311/osgeo_utils/samples/tile_extent_from_raster.py -> build/bdist.linux-x86_64/wheel/osgeo_utils/samples
  copying build/lib.linux-x86_64-cpython-311/osgeo_utils/samples/tolatlong.py -> build/bdist.linux-x86_64/wheel/osgeo_utils/samples
  copying build/lib.linux-x86_64-cpython-311/osgeo_utils/samples/val_repl.py -> build/bdist.linux-x86_64/wheel/osgeo_utils/samples
  copying build/lib.linux-x86_64-cpython-311/osgeo_utils/samples/validate_cloud_optimized_geotiff.py -> build/bdist.linux-x86_64/wheel/osgeo_utils/samples
  copying build/lib.linux-x86_64-cpython-311/osgeo_utils/samples/validate_gpkg.py -> build/bdist.linux-x86_64/wheel/osgeo_utils/samples
  copying build/lib.linux-x86_64-cpython-311/osgeo_utils/samples/validate_jp2.py -> build/bdist.linux-x86_64/wheel/osgeo_utils/samples
  copying build/lib.linux-x86_64-cpython-311/osgeo_utils/samples/vec_tr.py -> build/bdist.linux-x86_64/wheel/osgeo_utils/samples
  copying build/lib.linux-x86_64-cpython-311/osgeo_utils/samples/vec_tr_spat.py -> build/bdist.linux-x86_64/wheel/osgeo_utils/samples
  copying build/lib.linux-x86_64-cpython-311/osgeo_utils/samples/wcs_virtds_params.py -> build/bdist.linux-x86_64/wheel/osgeo_utils/samples
  copying build/lib.linux-x86_64-cpython-311/osgeo_utils/__init__.py -> build/bdist.linux-x86_64/wheel/osgeo_utils
  copying build/lib.linux-x86_64-cpython-311/osgeo_utils/gdal2tiles.py -> build/bdist.linux-x86_64/wheel/osgeo_utils
  copying build/lib.linux-x86_64-cpython-311/osgeo_utils/gdal2xyz.py -> build/bdist.linux-x86_64/wheel/osgeo_utils
  copying build/lib.linux-x86_64-cpython-311/osgeo_utils/gdal_calc.py -> build/bdist.linux-x86_64/wheel/osgeo_utils
  copying build/lib.linux-x86_64-cpython-311/osgeo_utils/gdal_edit.py -> build/bdist.linux-x86_64/wheel/osgeo_utils
  copying build/lib.linux-x86_64-cpython-311/osgeo_utils/gdal_fillnodata.py -> build/bdist.linux-x86_64/wheel/osgeo_utils
  copying build/lib.linux-x86_64-cpython-311/osgeo_utils/gdal_merge.py -> build/bdist.linux-x86_64/wheel/osgeo_utils
  copying build/lib.linux-x86_64-cpython-311/osgeo_utils/gdal_pansharpen.py -> build/bdist.linux-x86_64/wheel/osgeo_utils
  copying build/lib.linux-x86_64-cpython-311/osgeo_utils/gdal_polygonize.py -> build/bdist.linux-x86_64/wheel/osgeo_utils
  copying build/lib.linux-x86_64-cpython-311/osgeo_utils/gdal_proximity.py -> build/bdist.linux-x86_64/wheel/osgeo_utils
  copying build/lib.linux-x86_64-cpython-311/osgeo_utils/gdal_retile.py -> build/bdist.linux-x86_64/wheel/osgeo_utils
  copying build/lib.linux-x86_64-cpython-311/osgeo_utils/gdal_sieve.py -> build/bdist.linux-x86_64/wheel/osgeo_utils
  copying build/lib.linux-x86_64-cpython-311/osgeo_utils/gdalattachpct.py -> build/bdist.linux-x86_64/wheel/osgeo_utils
  copying build/lib.linux-x86_64-cpython-311/osgeo_utils/gdalcompare.py -> build/bdist.linux-x86_64/wheel/osgeo_utils
  copying build/lib.linux-x86_64-cpython-311/osgeo_utils/gdalmove.py -> build/bdist.linux-x86_64/wheel/osgeo_utils
  copying build/lib.linux-x86_64-cpython-311/osgeo_utils/ogr_layer_algebra.py -> build/bdist.linux-x86_64/wheel/osgeo_utils
  copying build/lib.linux-x86_64-cpython-311/osgeo_utils/ogrmerge.py -> build/bdist.linux-x86_64/wheel/osgeo_utils
  copying build/lib.linux-x86_64-cpython-311/osgeo_utils/pct2rgb.py -> build/bdist.linux-x86_64/wheel/osgeo_utils
  copying build/lib.linux-x86_64-cpython-311/osgeo_utils/rgb2pct.py -> build/bdist.linux-x86_64/wheel/osgeo_utils
  creating build/bdist.linux-x86_64/wheel/osgeo
  copying build/lib.linux-x86_64-cpython-311/osgeo/_gdal.cpython-311-x86_64-linux-gnu.so -> build/bdist.linux-x86_64/wheel/osgeo
  copying build/lib.linux-x86_64-cpython-311/osgeo/_ogr.cpython-311-x86_64-linux-gnu.so -> build/bdist.linux-x86_64/wheel/osgeo
  copying build/lib.linux-x86_64-cpython-311/osgeo/_osr.cpython-311-x86_64-linux-gnu.so -> build/bdist.linux-x86_64/wheel/osgeo
  copying build/lib.linux-x86_64-cpython-311/osgeo/_gnm.cpython-311-x86_64-linux-gnu.so -> build/bdist.linux-x86_64/wheel/osgeo
  copying build/lib.linux-x86_64-cpython-311/osgeo/_gdalconst.cpython-311-x86_64-linux-gnu.so -> build/bdist.linux-x86_64/wheel/osgeo
  copying build/lib.linux-x86_64-cpython-311/osgeo/__init__.py -> build/bdist.linux-x86_64/wheel/osgeo
  copying build/lib.linux-x86_64-cpython-311/osgeo/gdal.py -> build/bdist.linux-x86_64/wheel/osgeo
  copying build/lib.linux-x86_64-cpython-311/osgeo/gdal_array.py -> build/bdist.linux-x86_64/wheel/osgeo
  copying build/lib.linux-x86_64-cpython-311/osgeo/gdalconst.py -> build/bdist.linux-x86_64/wheel/osgeo
  copying build/lib.linux-x86_64-cpython-311/osgeo/gdalnumeric.py -> build/bdist.linux-x86_64/wheel/osgeo
  copying build/lib.linux-x86_64-cpython-311/osgeo/gnm.py -> build/bdist.linux-x86_64/wheel/osgeo
  copying build/lib.linux-x86_64-cpython-311/osgeo/ogr.py -> build/bdist.linux-x86_64/wheel/osgeo
  copying build/lib.linux-x86_64-cpython-311/osgeo/osr.py -> build/bdist.linux-x86_64/wheel/osgeo
  running install_egg_info
  running egg_info
  writing gdal-utils/GDAL.egg-info/PKG-INFO
  writing dependency_links to gdal-utils/GDAL.egg-info/dependency_links.txt
  writing requirements to gdal-utils/GDAL.egg-info/requires.txt
  writing top-level names to gdal-utils/GDAL.egg-info/top_level.txt
  reading manifest file 'gdal-utils/GDAL.egg-info/SOURCES.txt'
  writing manifest file 'gdal-utils/GDAL.egg-info/SOURCES.txt'
  Copying gdal-utils/GDAL.egg-info to build/bdist.linux-x86_64/wheel/GDAL-3.7.0-py3.11.egg-info
  running install_scripts
  creating build/bdist.linux-x86_64/wheel/GDAL-3.7.0.data
  creating build/bdist.linux-x86_64/wheel/GDAL-3.7.0.data/scripts
  copying build/scripts-3.11/gdal2tiles.py -> build/bdist.linux-x86_64/wheel/GDAL-3.7.0.data/scripts
  copying build/scripts-3.11/gdal2xyz.py -> build/bdist.linux-x86_64/wheel/GDAL-3.7.0.data/scripts
  copying build/scripts-3.11/gdal_calc.py -> build/bdist.linux-x86_64/wheel/GDAL-3.7.0.data/scripts
  copying build/scripts-3.11/gdal_edit.py -> build/bdist.linux-x86_64/wheel/GDAL-3.7.0.data/scripts
  copying build/scripts-3.11/gdal_fillnodata.py -> build/bdist.linux-x86_64/wheel/GDAL-3.7.0.data/scripts
  copying build/scripts-3.11/gdal_merge.py -> build/bdist.linux-x86_64/wheel/GDAL-3.7.0.data/scripts
  copying build/scripts-3.11/gdal_pansharpen.py -> build/bdist.linux-x86_64/wheel/GDAL-3.7.0.data/scripts
  copying build/scripts-3.11/gdal_polygonize.py -> build/bdist.linux-x86_64/wheel/GDAL-3.7.0.data/scripts
  copying build/scripts-3.11/gdal_proximity.py -> build/bdist.linux-x86_64/wheel/GDAL-3.7.0.data/scripts
  copying build/scripts-3.11/gdal_retile.py -> build/bdist.linux-x86_64/wheel/GDAL-3.7.0.data/scripts
  copying build/scripts-3.11/gdal_sieve.py -> build/bdist.linux-x86_64/wheel/GDAL-3.7.0.data/scripts
  copying build/scripts-3.11/gdalattachpct.py -> build/bdist.linux-x86_64/wheel/GDAL-3.7.0.data/scripts
  copying build/scripts-3.11/gdalcompare.py -> build/bdist.linux-x86_64/wheel/GDAL-3.7.0.data/scripts
  copying build/scripts-3.11/gdalmove.py -> build/bdist.linux-x86_64/wheel/GDAL-3.7.0.data/scripts
  copying build/scripts-3.11/ogr_layer_algebra.py -> build/bdist.linux-x86_64/wheel/GDAL-3.7.0.data/scripts
  copying build/scripts-3.11/ogrmerge.py -> build/bdist.linux-x86_64/wheel/GDAL-3.7.0.data/scripts
  copying build/scripts-3.11/pct2rgb.py -> build/bdist.linux-x86_64/wheel/GDAL-3.7.0.data/scripts
  copying build/scripts-3.11/rgb2pct.py -> build/bdist.linux-x86_64/wheel/GDAL-3.7.0.data/scripts
  changing mode of build/bdist.linux-x86_64/wheel/GDAL-3.7.0.data/scripts/gdal2tiles.py to 755
  changing mode of build/bdist.linux-x86_64/wheel/GDAL-3.7.0.data/scripts/gdal2xyz.py to 755
  changing mode of build/bdist.linux-x86_64/wheel/GDAL-3.7.0.data/scripts/gdal_calc.py to 755
  changing mode of build/bdist.linux-x86_64/wheel/GDAL-3.7.0.data/scripts/gdal_edit.py to 755
  changing mode of build/bdist.linux-x86_64/wheel/GDAL-3.7.0.data/scripts/gdal_fillnodata.py to 755
  changing mode of build/bdist.linux-x86_64/wheel/GDAL-3.7.0.data/scripts/gdal_merge.py to 755
  changing mode of build/bdist.linux-x86_64/wheel/GDAL-3.7.0.data/scripts/gdal_pansharpen.py to 755
  changing mode of build/bdist.linux-x86_64/wheel/GDAL-3.7.0.data/scripts/gdal_polygonize.py to 755
  changing mode of build/bdist.linux-x86_64/wheel/GDAL-3.7.0.data/scripts/gdal_proximity.py to 755
  changing mode of build/bdist.linux-x86_64/wheel/GDAL-3.7.0.data/scripts/gdal_retile.py to 755
  changing mode of build/bdist.linux-x86_64/wheel/GDAL-3.7.0.data/scripts/gdal_sieve.py to 755
  changing mode of build/bdist.linux-x86_64/wheel/GDAL-3.7.0.data/scripts/gdalattachpct.py to 755
  changing mode of build/bdist.linux-x86_64/wheel/GDAL-3.7.0.data/scripts/gdalcompare.py to 755
  changing mode of build/bdist.linux-x86_64/wheel/GDAL-3.7.0.data/scripts/gdalmove.py to 755
  changing mode of build/bdist.linux-x86_64/wheel/GDAL-3.7.0.data/scripts/ogr_layer_algebra.py to 755
  changing mode of build/bdist.linux-x86_64/wheel/GDAL-3.7.0.data/scripts/ogrmerge.py to 755
  changing mode of build/bdist.linux-x86_64/wheel/GDAL-3.7.0.data/scripts/pct2rgb.py to 755
  changing mode of build/bdist.linux-x86_64/wheel/GDAL-3.7.0.data/scripts/rgb2pct.py to 755
  creating build/bdist.linux-x86_64/wheel/GDAL-3.7.0.dist-info/WHEEL
  creating '/tmp/pip-wheel-l_d9myv_/GDAL-3.7.0-cp311-cp311-linux_x86_64.whl' and adding 'build/bdist.linux-x86_64/wheel' to it
  adding 'GDAL-3.7.0.data/scripts/gdal2tiles.py'
  adding 'GDAL-3.7.0.data/scripts/gdal2xyz.py'
  adding 'GDAL-3.7.0.data/scripts/gdal_calc.py'
  adding 'GDAL-3.7.0.data/scripts/gdal_edit.py'
  adding 'GDAL-3.7.0.data/scripts/gdal_fillnodata.py'
  adding 'GDAL-3.7.0.data/scripts/gdal_merge.py'
  adding 'GDAL-3.7.0.data/scripts/gdal_pansharpen.py'
  adding 'GDAL-3.7.0.data/scripts/gdal_polygonize.py'
  adding 'GDAL-3.7.0.data/scripts/gdal_proximity.py'
  adding 'GDAL-3.7.0.data/scripts/gdal_retile.py'
  adding 'GDAL-3.7.0.data/scripts/gdal_sieve.py'
  adding 'GDAL-3.7.0.data/scripts/gdalattachpct.py'
  adding 'GDAL-3.7.0.data/scripts/gdalcompare.py'
  adding 'GDAL-3.7.0.data/scripts/gdalmove.py'
  adding 'GDAL-3.7.0.data/scripts/ogr_layer_algebra.py'
  adding 'GDAL-3.7.0.data/scripts/ogrmerge.py'
  adding 'GDAL-3.7.0.data/scripts/pct2rgb.py'
  adding 'GDAL-3.7.0.data/scripts/rgb2pct.py'
  adding 'osgeo/__init__.py'
  adding 'osgeo/_gdal.cpython-311-x86_64-linux-gnu.so'
  adding 'osgeo/_gdalconst.cpython-311-x86_64-linux-gnu.so'
  adding 'osgeo/_gnm.cpython-311-x86_64-linux-gnu.so'
  adding 'osgeo/_ogr.cpython-311-x86_64-linux-gnu.so'
  adding 'osgeo/_osr.cpython-311-x86_64-linux-gnu.so'
  adding 'osgeo/gdal.py'
  adding 'osgeo/gdal_array.py'
  adding 'osgeo/gdalconst.py'
  adding 'osgeo/gdalnumeric.py'
  adding 'osgeo/gnm.py'
  adding 'osgeo/ogr.py'
  adding 'osgeo/osr.py'
  adding 'osgeo_utils/__init__.py'
  adding 'osgeo_utils/gdal2tiles.py'
  adding 'osgeo_utils/gdal2xyz.py'
  adding 'osgeo_utils/gdal_calc.py'
  adding 'osgeo_utils/gdal_edit.py'
  adding 'osgeo_utils/gdal_fillnodata.py'
  adding 'osgeo_utils/gdal_merge.py'
  adding 'osgeo_utils/gdal_pansharpen.py'
  adding 'osgeo_utils/gdal_polygonize.py'
  adding 'osgeo_utils/gdal_proximity.py'
  adding 'osgeo_utils/gdal_retile.py'
  adding 'osgeo_utils/gdal_sieve.py'
  adding 'osgeo_utils/gdalattachpct.py'
  adding 'osgeo_utils/gdalcompare.py'
  adding 'osgeo_utils/gdalmove.py'
  adding 'osgeo_utils/ogr_layer_algebra.py'
  adding 'osgeo_utils/ogrmerge.py'
  adding 'osgeo_utils/pct2rgb.py'
  adding 'osgeo_utils/rgb2pct.py'
  adding 'osgeo_utils/auxiliary/__init__.py'
  adding 'osgeo_utils/auxiliary/array_util.py'
  adding 'osgeo_utils/auxiliary/base.py'
  adding 'osgeo_utils/auxiliary/batch_creator.py'
  adding 'osgeo_utils/auxiliary/color_palette.py'
  adding 'osgeo_utils/auxiliary/color_table.py'
  adding 'osgeo_utils/auxiliary/extent_util.py'
  adding 'osgeo_utils/auxiliary/gdal_argparse.py'
  adding 'osgeo_utils/auxiliary/numpy_util.py'
  adding 'osgeo_utils/auxiliary/osr_util.py'
  adding 'osgeo_utils/auxiliary/progress.py'
  adding 'osgeo_utils/auxiliary/raster_creation.py'
  adding 'osgeo_utils/auxiliary/rectangle.py'
  adding 'osgeo_utils/auxiliary/util.py'
  adding 'osgeo_utils/samples/__init__.py'
  adding 'osgeo_utils/samples/assemblepoly.py'
  adding 'osgeo_utils/samples/build_jp2_from_xml.py'
  adding 'osgeo_utils/samples/classify.py'
  adding 'osgeo_utils/samples/crs2crs2grid.py'
  adding 'osgeo_utils/samples/densify.py'
  adding 'osgeo_utils/samples/dump_jp2.py'
  adding 'osgeo_utils/samples/epsg_tr.py'
  adding 'osgeo_utils/samples/esri2wkt.py'
  adding 'osgeo_utils/samples/fft.py'
  adding 'osgeo_utils/samples/fix_gpkg.py'
  adding 'osgeo_utils/samples/gcps2ogr.py'
  adding 'osgeo_utils/samples/gcps2vec.py'
  adding 'osgeo_utils/samples/gcps2wld.py'
  adding 'osgeo_utils/samples/gdal2grd.py'
  adding 'osgeo_utils/samples/gdal_auth.py'
  adding 'osgeo_utils/samples/gdal_cp.py'
  adding 'osgeo_utils/samples/gdal_create_pdf.py'
  adding 'osgeo_utils/samples/gdal_ls.py'
  adding 'osgeo_utils/samples/gdal_lut.py'
  adding 'osgeo_utils/samples/gdal_mkdir.py'
  adding 'osgeo_utils/samples/gdal_remove_towgs84.py'
  adding 'osgeo_utils/samples/gdal_rm.py'
  adding 'osgeo_utils/samples/gdal_rmdir.py'
  adding 'osgeo_utils/samples/gdal_vrtmerge.py'
  adding 'osgeo_utils/samples/gdal_zip.py'
  adding 'osgeo_utils/samples/gdalchksum.py'
  adding 'osgeo_utils/samples/gdalcopyproj.py'
  adding 'osgeo_utils/samples/gdalfilter.py'
  adding 'osgeo_utils/samples/gdalident.py'
  adding 'osgeo_utils/samples/gdalimport.py'
  adding 'osgeo_utils/samples/gdalinfo.py'
  adding 'osgeo_utils/samples/gdallocationinfo.py'
  adding 'osgeo_utils/samples/get_soundg.py'
  adding 'osgeo_utils/samples/histrep.py'
  adding 'osgeo_utils/samples/hsv_merge.py'
  adding 'osgeo_utils/samples/jpeg_in_tiff_extract.py'
  adding 'osgeo_utils/samples/load2odbc.py'
  adding 'osgeo_utils/samples/loslas2ntv2.py'
  adding 'osgeo_utils/samples/magphase.py'
  adding 'osgeo_utils/samples/make_fuzzer_friendly_archive.py'
  adding 'osgeo_utils/samples/mkgraticule.py'
  adding 'osgeo_utils/samples/ogr2ogr.py'
  adding 'osgeo_utils/samples/ogr2vrt.py'
  adding 'osgeo_utils/samples/ogr_build_junction_table.py'
  adding 'osgeo_utils/samples/ogr_dispatch.py'
  adding 'osgeo_utils/samples/ogrinfo.py'
  adding 'osgeo_utils/samples/ogrupdate.py'
  adding 'osgeo_utils/samples/rel.py'
  adding 'osgeo_utils/samples/tigerpoly.py'
  adding 'osgeo_utils/samples/tile_extent_from_raster.py'
  adding 'osgeo_utils/samples/tolatlong.py'
  adding 'osgeo_utils/samples/val_repl.py'
  adding 'osgeo_utils/samples/validate_cloud_optimized_geotiff.py'
  adding 'osgeo_utils/samples/validate_gpkg.py'
  adding 'osgeo_utils/samples/validate_jp2.py'
  adding 'osgeo_utils/samples/vec_tr.py'
  adding 'osgeo_utils/samples/vec_tr_spat.py'
  adding 'osgeo_utils/samples/wcs_virtds_params.py'
  adding 'GDAL-3.7.0.dist-info/METADATA'
  adding 'GDAL-3.7.0.dist-info/WHEEL'
  adding 'GDAL-3.7.0.dist-info/top_level.txt'
  adding 'GDAL-3.7.0.dist-info/RECORD'
  removing build/bdist.linux-x86_64/wheel
done
  Created wheel for gdal: filename=GDAL-3.7.0-cp311-cp311-linux_x86_64.whl size=1098513 sha256=4acc120d3fb183bac6be4100463aaf46096a686c84d852f42113647bfe5e3e9b
  Stored in directory: /home/pipe/.cache/pip/wheels/d2/ab/03/99b4b1c8f7c8a000e2152ae9d1d7484770e75f3469710a1365
Successfully built gdal
Installing collected packages: gdal

Successfully installed gdal-3.7.0
Remote version of pip: 23.1.2
Local version of pip:  23.1.2
Was pip installed by pip? True
Removed build tracker: '/tmp/pip-build-tracker-scobh45b'

thx!

rouault commented 1 year ago

"WARNING: numpy not available! Array support will not be enabled" is definitely an issue. Did you include numpy in your pip invokation, ie "pip install numpy gdal" or "pip install gdal[numpy]" ? (you may need to reclean the cache)

latot commented 1 year ago

weird.... I executed all again, with pip install -vvv gdal[numpy] only to get the exact same error, numpy not found.

Then checking the installed packages:

pip freeze | grep numpy
numpy==1.25.0

....., seems GDAL is not detecting numpy for some reason.

latot commented 1 year ago

@rouault I was able to found where the problem can be, I create a simple code that helps to test it, but is not a GDAL problem.

https://github.com/pypa/pip/issues/12130

For some reasons, some times we are unable to import modules from setup.py due to that GDAL is unable to test if numpy is installed.

There seems to be a similar issue, no idea if there is a workaround for GDAL here.

And thx helping so much!

latot commented 1 year ago

@rouault there seems to be a problem in the order in setup.py https://github.com/pypa/pip/issues/12130#issuecomment-1622232743

rouault commented 1 year ago

@latot Experimenting a bit, I can reproduce your issue in a venv that does NOT have numpy installed before doing "pip install gdal[numpy]" and DOES have wheel installed This seems related to https://stackoverflow.com/questions/71274119/how-to-see-with-python-setuptools-what-extras-have-been-selected and https://stackoverflow.com/questions/55737009/how-to-get-extras-from-pip-install-in-custom-cmdclass-command#comment98152860_55737009: basically it seems there's no way that GDAL's setup.py can dynamically detect numpy as pip installs numpy after GDAL, when using wheel (with legacy 'setup.py install', numpy is installed first and things work fine). It seems to me to be a bit a bug of wheel, but I may miss something.

So basically it seems you have no other choice in doing in 2 steps:

pip install numpy
pip install gdal[numpy]
latot commented 1 year ago

actually, that fails too, I was able to find the problem, is related to setuptools.

But I'll open a new issue with that, I'll explain it.

rouault commented 1 year ago

closing that ticket, due to #8069 being more explicit

ibaris commented 1 year ago

At least this suggested solution solved my problem. But this can´t be the solution of this issue.

latot commented 1 year ago

At least this suggested solution solved my problem. But this can´t be the solution of this issue.

I was able to finally fully depure this issue, check this here https://github.com/OSGeo/gdal/issues/8069

Jonasmpi commented 7 months ago

I dont want to open this feature but going back to gdal 3.6.2 with python3.11 and this answer solved the issue for me. I tried every suggestion here and also everthing i could find on the internet. So maybe this will help someone in the future.

https://gis.stackexchange.com/a/465888

My adapation for my Dockerfile

#To make sure its not installed by any means
RUN pip uninstall -y gdal || true

RUN pip install numpy

RUN pip install -U setuptools wheel

RUN pip install --no-build-isolation --no-cache-dir --force-reinstall gdal==3.6.2