Bug#1014452: pyresample: Test failures with rasterio 1.3.0

2022-07-08 Thread Sebastiaan Couwenberg

Control: tags -1 - ftbfs

On 7/8/22 09:03, Antonio Valentino wrote:

I'm not able to reproduce the issue in sid.


I cannot reproduce the FTBFS anymore either, tagging accordingly.


Both the package build and autopkgtest seem to work with rasterionv1.3.0


I can reproduce it in bookworm chroot with python3-rasterio from 
unstable like the debci environment.


Start with an uptodate bookworm chroot and login to it:

 sudo cowbuilder --update \
 --basepath /var/cache/pbuilder/base-bookworm.cow/
 sudo cowbuilder --login \
 --basepath /var/cache/pbuilder/base-bookworm.cow/

Get the source package and install dependencies:

 cd /tmp/buildd
 sed -i 's/^#deb/deb/g' /etc/apt/sources.list
 apt update && apt source pyresample
 cd pyresample-1.23.0/
 apt build-dep pyresample
 apt install python3-pyresample python-pyresample-test python3-all

Install autopkgtest packages:

 apt install autopkgtest newpid

Run autopkgtest with only testing versions of packages:

 newpid autopkgtest --no-built-binaries \
--output-dir ../autopkgtest.out \
--summary ../autopkgtest.summary \
-- autopkgtest-virt-null

This autopkgtest run succeeds.

Now add python3-rasterio from unstable:

 echo "deb http://ftp.nl.debian.org/debian/ unstable main" \
 >> /etc/apt/sources.list
 apt update && apt install python3-rasterio

Run autopkgtest again:

 rm -rfv ../autopkgtest.*
 newpid autopkgtest --no-built-binaries \
--output-dir ../autopkgtest.out \
--summary ../autopkgtest.summary \
-- autopkgtest-virt-null

This run fails like the one on debci.

Just importing rasterio fails:

 python3
 >>> import rasterio
 Traceback (most recent call last):
   File "", line 1, in 
   File "/usr/lib/python3/dist-packages/rasterio/__init__.py", line 14, 
in 

 from rasterio.crs import CRS
   File "rasterio/crs.pyx", line 1, in init rasterio.crs
   File "rasterio/_base.pyx", line 22, in init rasterio._base
   File "/usr/lib/python3/dist-packages/rasterio/dtypes.py", line 10, 
in 

 from rasterio.env import GDALVersion
   File "/usr/lib/python3/dist-packages/rasterio/env.py", line 16, in 


 from rasterio._env import (
   File "rasterio/_env.pyx", line 1, in init rasterio._env
 ImportError: 
/usr/lib/python3/dist-packages/rasterio/_filepath.cpython-310-x86_64-linux-gnu.so: 
undefined symbol: VSIAllocFilesystemPluginCallbacksStruct


But it succeeds once libgdal31 from unstable is also used:

 apt install libgdal31
 python3
 >>> import rasterio
 >>> rasterio._show_versions.show_versions()
 rasterio info:
   rasterio: 1.3.0
   GDAL: 3.5.1
   PROJ: 9.0.1
   GEOS: 3.11.0
  PROJ DATA: /root/.local/share/proj:/usr/share/proj
  GDAL DATA: None

 System:
 python: 3.10.5 (main, Jun  8 2022, 09:26:22) [GCC 11.3.0]
 executable: /usr/bin/python3
machine: Linux-5.10.0-15-amd64-x86_64-with-glibc2.33

 Python deps:
 affine: 2.3.1
  attrs: None
certifi: 2020.06.20
  click: 8.0.3
  cligj: 0.7.2
 cython: 0.29.30
  numpy: 1.21.5
 snuggs: 1.4.7
 click-plugins: None
 setuptools: 59.6.0

 >  E   ImportError: 
/usr/lib/python3/dist-packages/rasterio/_filepath.cpython-39-x86_64-linux-gnu.so: 
undefined symbol: VSIAllocFilesystemPluginCallbacksStruct


could it be a problem related to a mismatch with the GDAL version?


That's possible, the undefined symbols issue has been reported upstream:

 https://github.com/rasterio/rasterio/issues/2507


Any idea on how to proceed?


Rebuilding rasterio with GDAL 3.5.1 seems to fix the symbol issue, let's 
start there.


Kind Regards,

Bas

--
 GPG Key ID: 4096R/6750F10AE88D4AF1
Fingerprint: 8182 DE41 7056 408D 6146  50D1 6750 F10A E88D 4AF1



Bug#1014452: pyresample: Test failures with rasterio 1.3.0

2022-07-08 Thread Antonio Valentino

Dear Bas,

On Wed, 06 Jul 2022 13:04:41 +0200 Bas Couwenberg  
wrote:

Source: pyresample
Version: 1.23.0-1
Severity: serious
Tags: ftbfs upstream

Dear Maintainer,

Your package FTBFS with rasterio 1.3.0 due to test failures which also affect 
the autopkgtests:

  TestMisc.test_get_area_def_from_raster 

 
 self = 
 
 def test_get_area_def_from_raster(self):

 from affine import Affine
 >   from rasterio.crs import CRS as RCRS
 
 /usr/lib/python3/dist-packages/pyresample/test/test_utils.py:441: 
 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
 /usr/lib/python3/dist-packages/rasterio/__init__.py:14: in 

 from rasterio.crs import CRS
 rasterio/crs.pyx:1: in init rasterio.crs
 ???
 rasterio/_base.pyx:22: in init rasterio._base
 ???
 /usr/lib/python3/dist-packages/rasterio/dtypes.py:10: in 
 from rasterio.env import GDALVersion
 /usr/lib/python3/dist-packages/rasterio/env.py:16: in 
 from rasterio._env import (
 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
 
 >   ???

 E   ImportError: 
/usr/lib/python3/dist-packages/rasterio/_filepath.cpython-39-x86_64-linux-gnu.so:
 undefined symbol: VSIAllocFilesystemPluginCallbacksStruct
 
 rasterio/_env.pyx:1: ImportError

 ___ TestMisc.test_get_area_def_from_raster_extracts_proj_id 

 
 self = 
 
 def test_get_area_def_from_raster_extracts_proj_id(self):

 >   from rasterio.crs import CRS as RCRS
 
 /usr/lib/python3/dist-packages/pyresample/test/test_utils.py:465: 
 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
 
 """Rasterio"""
 
 from collections import namedtuple

 from contextlib import ExitStack
 import logging
 from logging import NullHandler
 import os
 import warnings
 
 import rasterio._loading

 >   with rasterio._loading.add_gdal_dll_directories():
 E   AttributeError: partially initialized module 'rasterio' has no attribute 
'_loading' (most likely due to a circular import)

 /usr/lib/python3/dist-packages/rasterio/__init__.py:11: AttributeError


I'm not able to reproduce the issue in sid.
Both the package build and autopkgtest seem to work with rasterionv1.3.0

Also rasterio seems to properly load the '_loading' module:

$ python3

Python 3.10.5 (main, Jun  8 2022, 09:26:22) [GCC 11.3.0] on linux

Type "help", "copyright", "credits" or "license" for more information.

>>> import rasterio

>>> rasterio.__version__

'1.3.0'

>>> rasterio._loading

'/usr/lib/python3/dist-packages/rasterio/_loading.py'>




I see

>  E   ImportError: 
/usr/lib/python3/dist-packages/rasterio/_filepath.cpython-39-x86_64-linux-gnu.so: 
undefined symbol: VSIAllocFilesystemPluginCallbacksStruct


could it be a problem related to a mismatch with the GDAL version?

Any idea on how to proceed?


kind regards
--
Antonio Valentino



Bug#1014452: pyresample: Test failures with rasterio 1.3.0

2022-07-06 Thread Bas Couwenberg
Source: pyresample
Version: 1.23.0-1
Severity: serious
Tags: ftbfs upstream

Dear Maintainer,

Your package FTBFS with rasterio 1.3.0 due to test failures which also affect 
the autopkgtests:

  TestMisc.test_get_area_def_from_raster 

 
 self = 
 
 def test_get_area_def_from_raster(self):
 from affine import Affine
 >   from rasterio.crs import CRS as RCRS
 
 /usr/lib/python3/dist-packages/pyresample/test/test_utils.py:441: 
 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
_ 
 /usr/lib/python3/dist-packages/rasterio/__init__.py:14: in 
 from rasterio.crs import CRS
 rasterio/crs.pyx:1: in init rasterio.crs
 ???
 rasterio/_base.pyx:22: in init rasterio._base
 ???
 /usr/lib/python3/dist-packages/rasterio/dtypes.py:10: in 
 from rasterio.env import GDALVersion
 /usr/lib/python3/dist-packages/rasterio/env.py:16: in 
 from rasterio._env import (
 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
_ 
 
 >   ???
 E   ImportError: 
/usr/lib/python3/dist-packages/rasterio/_filepath.cpython-39-x86_64-linux-gnu.so:
 undefined symbol: VSIAllocFilesystemPluginCallbacksStruct
 
 rasterio/_env.pyx:1: ImportError
 ___ TestMisc.test_get_area_def_from_raster_extracts_proj_id 

 
 self = 
 
 def test_get_area_def_from_raster_extracts_proj_id(self):
 >   from rasterio.crs import CRS as RCRS
 
 /usr/lib/python3/dist-packages/pyresample/test/test_utils.py:465: 
 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
_ 
 
 """Rasterio"""
 
 from collections import namedtuple
 from contextlib import ExitStack
 import logging
 from logging import NullHandler
 import os
 import warnings
 
 import rasterio._loading
 >   with rasterio._loading.add_gdal_dll_directories():
 E   AttributeError: partially initialized module 'rasterio' has no attribute 
'_loading' (most likely due to a circular import)

 /usr/lib/python3/dist-packages/rasterio/__init__.py:11: AttributeError

Other tests raise the same AttributeError, see:

 
https://ci.debian.net/data/autopkgtest/testing/amd64/p/pyresample/23427351/log.gz

Kind Regards,

Bas