Your message dated Wed, 10 Sep 2025 08:50:38 +0000
with message-id <[email protected]>
and subject line Bug#1114710: fixed in pylibtiff 0.6.1-3
has caused the Debian Bug report #1114710,
regarding pylibtiff: FTBFS with NumPy 2.3
to be marked as done.

This means that you claim that the problem has been dealt with.
If this is not the case it is now your responsibility to reopen the
Bug report if necessary, and/or fix the problem forthwith.

(NB: If you are a system administrator and have no idea what this
message is talking about, this may indicate a serious mail system
misconfiguration somewhere. Please contact [email protected]
immediately.)


-- 
1114710: https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=1114710
Debian Bug Tracking System
Contact [email protected] with problems
--- Begin Message ---
Source: pylibtiff
Version: 0.6.1-2
Severity: important
User: [email protected]
Usertags: numpy2.3
Tags: ftbfs, forky, sid

Dear maintainer,

During a test rebuild for NumPy 2.3, pylibtiff failed to rebuild.

Log Summary:
-------------------------------------------------------------------------------
[...]
creating build/bdist.linux-x86_64/wheel/libtiff/scripts
copying build/lib.linux-x86_64-cpython-313/libtiff/scripts/__init__.py -> 
build/bdist.linux-x86_64/wheel/./libtiff/scripts
copying build/lib.linux-x86_64-cpython-313/libtiff/scripts/info.py -> 
build/bdist.linux-x86_64/wheel/./libtiff/scripts
copying build/lib.linux-x86_64-cpython-313/libtiff/scripts/convert.py -> 
build/bdist.linux-x86_64/wheel/./libtiff/scripts
running install_egg_info
Copying pylibtiff.egg-info to 
build/bdist.linux-x86_64/wheel/./pylibtiff-0.6.1.egg-info
running install_scripts
creating build/bdist.linux-x86_64/wheel/pylibtiff-0.6.1.dist-info/WHEEL
creating 
'/build/reproducible-path/pylibtiff-0.6.1/.pybuild/cpython3_3.13/.tmp-8573s1bv/pylibtiff-0.6.1-cp313-cp313-linux_x86_64.whl'
 and adding 'build/bdist.linux-x86_64/wheel' to it
adding 'libtiff/__init__.py'
adding 'libtiff/bittools.cpython-313-x86_64-linux-gnu.so'
adding 'libtiff/libtiff_ctypes.py'
adding 'libtiff/lsm.py'
adding 'libtiff/lzw.py'
adding 'libtiff/script_options.py'
adding 'libtiff/test_bittools.py'
adding 'libtiff/tif_lzw.cpython-313-x86_64-linux-gnu.so'
adding 'libtiff/tiff.py'
adding 'libtiff/tiff_array.py'
adding 'libtiff/tiff_base.py'
adding 'libtiff/tiff_channels_and_files.py'
adding 'libtiff/tiff_data.py'
adding 'libtiff/tiff_file.py'
adding 'libtiff/tiff_files.py'
adding 'libtiff/tiff_h_3_8_2.py'
adding 'libtiff/tiff_h_3_9_2.py'
adding 'libtiff/tiff_h_3_9_4.py'
adding 'libtiff/tiff_h_3_9_5.py'
adding 'libtiff/tiff_h_4_0_1.py'
adding 'libtiff/tiff_h_4_0_10.py'
adding 'libtiff/tiff_h_4_0_2.py'
adding 'libtiff/tiff_h_4_0_3.py'
adding 'libtiff/tiff_h_4_0_6.py'
adding 'libtiff/tiff_h_4_0_7.py'
adding 'libtiff/tiff_h_4_0_8.py'
adding 'libtiff/tiff_h_4_0_9.py'
adding 'libtiff/tiff_h_4_1_0.py'
adding 'libtiff/tiff_h_4_2_0.py'
adding 'libtiff/tiff_h_4_3_0.py'
adding 'libtiff/tiff_h_4_4_0.py'
adding 'libtiff/tiff_h_4_5_0.py'
adding 'libtiff/tiff_h_4_6_0.py'
adding 'libtiff/tiff_image.py'
adding 'libtiff/tiff_sample_plane.py'
adding 'libtiff/utils.py'
adding 'libtiff/version.py'
adding 'libtiff/scripts/__init__.py'
adding 'libtiff/scripts/convert.py'
adding 'libtiff/scripts/info.py'
adding 'libtiff/src/bittools.c'
adding 'libtiff/src/tif_lzw.c'
adding 'libtiff/tests/test_libtiff_ctypes.py'
adding 'libtiff/tests/test_lzw.py'
adding 'libtiff/tests/test_simple.py'
adding 'libtiff/tests/test_tiff_array.py'
adding 'libtiff/tests/test_tiff_file.py'
adding 'libtiff/tests/test_tiff_image.py'
adding 'pylibtiff-0.6.1.dist-info/licenses/LICENSE'
adding 'pylibtiff-0.6.1.dist-info/METADATA'
adding 'pylibtiff-0.6.1.dist-info/WHEEL'
adding 'pylibtiff-0.6.1.dist-info/entry_points.txt'
adding 'pylibtiff-0.6.1.dist-info/top_level.txt'
adding 'pylibtiff-0.6.1.dist-info/RECORD'
removing build/bdist.linux-x86_64/wheel
Successfully built pylibtiff-0.6.1-cp313-cp313-linux_x86_64.whl
I: pybuild plugin_pyproject:144: Unpacking wheel built for python3.13 with 
"installer" module
   dh_auto_test -O--buildsystem=pybuild
I: pybuild base:311: cd 
/build/reproducible-path/pylibtiff-0.6.1/.pybuild/cpython3_3.13/build; 
python3.13 -m pytest -k "not test_issue19" 
/build/reproducible-path/pylibtiff-0.6.1/libtiff/tests
============================= test session starts ==============================
platform linux -- Python 3.13.7, pytest-8.4.2, pluggy-1.6.0
rootdir: /build/reproducible-path/pylibtiff-0.6.1
configfile: pyproject.toml
plugins: typeguard-4.4.4
collected 44 items / 1 deselected / 43 selected

../../../libtiff/tests/test_libtiff_ctypes.py .                          [  2%]
../../../libtiff/tests/test_lzw.py .                                     [  4%]
../../../libtiff/tests/test_simple.py ..                                 [  9%]
../../../libtiff/tests/test_tiff_array.py F                              [ 11%]
../../../libtiff/tests/test_tiff_file.py .                               [ 13%]
../../../libtiff/tests/test_tiff_image.py .............................. [ 83%]
.......                                                                  [100%]

=================================== FAILURES ===================================
_____________________________ test_simple_slicing ______________________________

    @pytest.mark.skipif(sys.platform == "darwin", reason="OSX can't resize 
mmap")
    def test_simple_slicing():
        for planar_config in [1, 2]:
            for compression in [None, 'lzw']:
                for itype in [uint8, uint16, uint32, uint64,
                              int8, int16, int32, int64,
                              float32, float64,
                              complex64, complex128]:
                    image = random.randint(0, 100, size=(10, 6, 
7)).astype(itype)
                    fn = mktemp('.tif')
    
                    if 0:
                        if planar_config == 2:
                            continue
                        tif = TIFF.open(fn, 'w')
                        tif.write_image(image, compression=compression)
                        tif.close()
                    else:
                        tif = TIFFimage(image)
                        tif.write_file(fn,
                                       compression=compression,
                                       planar_config=planar_config)
                        del tif
    
                    tif = TIFFfile(fn)
>                   arr = tif.get_tiff_array()
                          ^^^^^^^^^^^^^^^^^^^^

../../../libtiff/tests/test_tiff_array.py:39: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
libtiff/tiff_file.py:404: in get_tiff_array
    plane = TiffSamplePlane(ifd, sample_index=sample_index)
            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
libtiff/tiff_sample_plane.py:104: in __init__
    descr = str(ifd.get_value('ImageDescription', human=True))
                ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = <libtiff.tiff_file.IFD object at 0x7f9942edc1a0>
tag_name = 'ImageDescription', default = None, human = True

    def get_value(self, tag_name, default=None, human=False):
        """ Return the value of IFD entry with given tag name.
    
        When the entry does not exist, return default.
        """
        entry = self.get(tag_name)
        if entry is not None:
            value = entry.value
        else:
            if default is None:
                if tag_name in default_tag_values:
                    value = default_tag_values[tag_name]
                else:
                    value = None
                    sys.stdout.write(
                        '%s.get_value: no default value definedtiff_data.'
                        'default_tag_values dict for %r IFD tag\n' % (
                            self.__class__.__name__, tag_name))
            else:
                value = default
        if tag_name in ['StripOffsets', 'StripByteCounts']:
            if not isinstance(value, numpy.ndarray):
                value = numpy.array([value])
        if tag_name in ['BitsPerSample', 'SampleFormat']:
            samples_per_pixel = self.get_value('SamplesPerPixel')
            if not isinstance(value, numpy.ndarray):
                value = numpy.array([value] * samples_per_pixel)
            if tag_name in ['BitsPerSample']:
                value = value[:samples_per_pixel]
        if tag_name in ['ImageDescription', 'Software', 'Copyright',
                        'DocumentName', 'Model', 'Make', 'PageName',
                        'DateTime', 'Artist', 'HostComputer']:
            if value is not None:
>               return value.view('|S{!s}'.format(str(value.nbytes // 
> value.size))).tostring()
                       
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
E               AttributeError: 'numpy.ndarray' object has no attribute 
'tostring'

libtiff/tiff_file.py:795: AttributeError
=========================== short test summary info ============================
FAILED ../../../libtiff/tests/test_tiff_array.py::test_simple_slicing - Attri...
================== 1 failed, 42 passed, 1 deselected in 0.30s ==================
E: pybuild pybuild:389: test: plugin pyproject failed with: exit code=1: cd 
/build/reproducible-path/pylibtiff-0.6.1/.pybuild/cpython3_3.13/build; 
python3.13 -m pytest -k "not test_issue19" 
/build/reproducible-path/pylibtiff-0.6.1/libtiff/tests
dh_auto_test: error: pybuild --test --test-pytest -i python{version} -p 3.13 
returned exit code 13
make: *** [debian/rules:19: binary] Error 25
dpkg-buildpackage: error: debian/rules binary subprocess returned exit status 2
--------------------------------------------------------------------------------
Build finished at 2025-09-08T05:59:27Z

-------------------------------------------------------------------------------

The above is just how the build ends and not necessarily the most relevant part.
If required, the full build log is available here (for the next 30 days):
https://debusine.debian.net/debian/developers-roehling.numpy/artifact/2453866/

About the archive rebuild: The build was made on debusine.debian.net,
using sbuild.

You can find the build task here:
https://debusine.debian.net/debian/developers-roehling.numpy/work-request/163697/

If this is really a bug in one of the build-depends, please use
reassign and affects, so that this is still visible in the BTS web
page for this package.

Cheers
Timo

--- End Message ---
--- Begin Message ---
Source: pylibtiff
Source-Version: 0.6.1-3
Done: Antonio Valentino <[email protected]>

We believe that the bug you reported is fixed in the latest version of
pylibtiff, which is due to be installed in the Debian FTP archive.

A summary of the changes between this version and the previous one is
attached.

Thank you for reporting the bug, which will now be closed.  If you
have further comments please address them to [email protected],
and the maintainer will reopen the bug report if appropriate.

Debian distribution maintenance software
pp.
Antonio Valentino <[email protected]> (supplier of updated pylibtiff 
package)

(This message was generated automatically at their request; if you
believe that there is a problem with it please contact the archive
administrators by mailing [email protected])


-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA512

Format: 1.8
Date: Wed, 10 Sep 2025 06:37:57 +0000
Source: pylibtiff
Architecture: source
Version: 0.6.1-3
Distribution: unstable
Urgency: medium
Maintainer: Debian GIS Project <[email protected]>
Changed-By: Antonio Valentino <[email protected]>
Closes: 1114710
Changes:
 pylibtiff (0.6.1-3) unstable; urgency=medium
 .
   [ Bas Couwenberg ]
   * Bump Standards-Version to 4.7.2, no changes.
 .
   [ Antonio Valentino ]
   * debian/patches:
     - New 0004-numpy-2.3-compat.patch (Closes: #1114710).
   * debian/control:
     - Add missing build dependency on python3-numpy-dev for
       command dh_numpy3.
Checksums-Sha1:
 52da280be0c16aa7060322bdd2a28ff4edc86fc5 3568 pylibtiff_0.6.1-3.dsc
 eb77c0ff4fc2ea8f30801d31fec0f896e03a9073 10064 pylibtiff_0.6.1-3.debian.tar.xz
 7a01460e39a03066e96903a0ade12580f0e949c7 8695 pylibtiff_0.6.1-3_amd64.buildinfo
Checksums-Sha256:
 6ee7c920bd594e0b1e14a0bc64424dd70703c88f7dcbe3cc6eddfe86f0cb0827 3568 
pylibtiff_0.6.1-3.dsc
 db5f67761d74d4d2a2f99c24e33fa187d128b07e6ded564eefe9f403876af8ce 10064 
pylibtiff_0.6.1-3.debian.tar.xz
 d7e9f565b9fb0be43ed3c083d01a90510da0f8f35b1e36ce17c6f8d7e09f57e8 8695 
pylibtiff_0.6.1-3_amd64.buildinfo
Files:
 ea95f6f1eeb4d0123530cf292acf8087 3568 python optional pylibtiff_0.6.1-3.dsc
 bf424552751375523f9140e823ce5231 10064 python optional 
pylibtiff_0.6.1-3.debian.tar.xz
 81b8b5bed57109f89d6c324151b3c071 8695 python optional 
pylibtiff_0.6.1-3_amd64.buildinfo

-----BEGIN PGP SIGNATURE-----

iQJRBAEBCgA7FiEEO3DyCaX/1okDxHLF6/SKslePmBIFAmjBH8MdHGFudG9uaW8u
dmFsZW50aW5vQHRpc2NhbGkuaXQACgkQ6/SKslePmBLwaBAAmkAGl7dWUHgFmkcb
7CEdbMDmhGcIj/2NXrJwg08b+x9DHKggBY+zjgfvFQrLe3L2PGMsrN76J8K2Bz2F
IcVfW79/QDLSSFqZuz356YmOLMroQdwedDnQek5neuARvcR5QIt61OZySqqxgwyX
IOUXX7iqVn0wz4VHA93aqAh4L38QHze6eYaSYf20pbRXtkm6X8uei8yoq1vrCr5X
oonbteMd8+PrEtaEc9Ky6LGZbAZYCpnWszOKinR8yJPSjAO2IAwAVeBX1zSLd6Du
+zpEuDMUOTPOjNd0LqWnStkx5990+iSlwTLRatpE35Rt/6/JIHii6bwjmbYKwteh
91f4SKKtci566hjAzo64Y1HPpa5cuPKNjmypO2JQqb9V1PSh1vaZ2Vnb7buiN19W
3zAQKqoFm2xgTw7Pmh49ToKdfeP8JlC5NdJCWgnw9YcE2e8xwBg7ZKBptR1z+p6o
A964JxiF3qm/U/lrkvPB2lazuce8eJUlYr5jFevYvmmeAUHs6uFFDHCV8pVRi2yI
X2nBBWplHagzrDzgq3xgpZwl5tN8KJ88hQCcTyNkEiQQxl1oG0Y4+PjsTD/7x2Zm
+fsciwUFtyGsEiSXktDmy1YaePa4+i+8L/PPAIkBtX7meCLWLz6UR5Z0UnJMrC62
9fL9OPcXULWFu3F7s4r41u6BB7I=
=Nx8h
-----END PGP SIGNATURE-----

Attachment: pgpuUDaPOJGLN.pgp
Description: PGP signature


--- End Message ---

Reply via email to