I: pbuilder: network access will be disabled during build I: Current time: Mon Jan 27 07:08:18 -12 2025 I: pbuilder-time-stamp: 1738004898 I: Building the build Environment I: extracting base tarball [/var/cache/pbuilder/unstable-reproducible-base.tgz] I: copying local configuration W: --override-config is not set; not updating apt.conf Read the manpage for details. I: mounting /proc filesystem I: mounting /sys filesystem I: creating /{dev,run}/shm I: mounting /dev/pts filesystem I: redirecting /dev/ptmx to /dev/pts/ptmx I: policy-rc.d already exists I: Copying source file I: copying [segyio_1.8.3-1.2.dsc] I: copying [./segyio_1.8.3.orig.tar.gz] I: copying [./segyio_1.8.3-1.2.debian.tar.xz] I: Extracting source dpkg-source: warning: cannot verify inline signature for ./segyio_1.8.3-1.2.dsc: unsupported subcommand dpkg-source: info: extracting segyio in segyio-1.8.3 dpkg-source: info: unpacking segyio_1.8.3.orig.tar.gz dpkg-source: info: unpacking segyio_1.8.3-1.2.debian.tar.xz dpkg-source: info: using patch list from debian/patches/series dpkg-source: info: applying python-3.10-collections.abc.patch dpkg-source: info: applying python-3.10-py_ssize_t.patch dpkg-source: info: applying 0001-catch2-v2.2.3-v2.13.9.patch dpkg-source: info: applying 0001-Replace-numpy.int-with-int-in-test-case.patch I: using fakeroot in build. I: Installing the build-deps I: user script /srv/workspace/pbuilder/18559/tmp/hooks/D02_print_environment starting I: set BUILDDIR='/build/reproducible-path' BUILDUSERGECOS='first user,first room,first work-phone,first home-phone,first other' BUILDUSERNAME='pbuilder1' BUILD_ARCH='armhf' DEBIAN_FRONTEND='noninteractive' DEB_BUILD_OPTIONS='buildinfo=+all reproducible=+all parallel=3 ' DISTRIBUTION='unstable' HOME='/root' HOST_ARCH='armhf' IFS=' ' INVOCATION_ID='db3b395c1ec74d3c9dff3a82e03d7da3' LANG='C' LANGUAGE='en_US:en' LC_ALL='C' MAIL='/var/mail/root' OPTIND='1' PATH='/usr/sbin:/usr/bin:/sbin:/bin:/usr/games' PBCURRENTCOMMANDLINEOPERATION='build' PBUILDER_OPERATION='build' PBUILDER_PKGDATADIR='/usr/share/pbuilder' PBUILDER_PKGLIBDIR='/usr/lib/pbuilder' PBUILDER_SYSCONFDIR='/etc' PPID='18559' PS1='# ' PS2='> ' PS4='+ ' PWD='/' SHELL='/bin/bash' SHLVL='2' SUDO_COMMAND='/usr/bin/timeout -k 18.1h 18h /usr/bin/ionice -c 3 /usr/bin/nice /usr/sbin/pbuilder --build --configfile /srv/reproducible-results/rbuild-debian/r-b-build.HQpYRpt7/pbuilderrc_DKu4 --distribution unstable --hookdir /etc/pbuilder/first-build-hooks --debbuildopts -b --basetgz /var/cache/pbuilder/unstable-reproducible-base.tgz --buildresult /srv/reproducible-results/rbuild-debian/r-b-build.HQpYRpt7/b1 --logfile b1/build.log segyio_1.8.3-1.2.dsc' SUDO_GID='113' SUDO_UID='107' SUDO_USER='jenkins' TERM='unknown' TZ='/usr/share/zoneinfo/Etc/GMT+12' USER='root' _='/usr/bin/systemd-run' http_proxy='http://10.0.0.15:3142/' I: uname -a Linux wbq0 6.1.0-30-armmp #1 SMP Debian 6.1.124-1 (2025-01-12) armv7l GNU/Linux I: ls -l /bin lrwxrwxrwx 1 root root 7 Nov 22 14:40 /bin -> usr/bin I: user script /srv/workspace/pbuilder/18559/tmp/hooks/D02_print_environment finished -> Attempting to satisfy build-dependencies -> Creating pbuilder-satisfydepends-dummy package Package: pbuilder-satisfydepends-dummy Version: 0.invalid.0 Architecture: armhf Maintainer: Debian Pbuilder Team Description: Dummy package to satisfy dependencies with aptitude - created by pbuilder This package was created automatically by pbuilder to satisfy the build-dependencies of the package being currently built. Depends: debhelper (>= 10), cmake, dh-python, python3 (>= 3.4), python3-all-dev, python3-numpy, python3-pytest, python3-pytest-runner, python3-setuptools, python3-setuptools-scm dpkg-deb: building package 'pbuilder-satisfydepends-dummy' in '/tmp/satisfydepends-aptitude/pbuilder-satisfydepends-dummy.deb'. Selecting previously unselected package pbuilder-satisfydepends-dummy. (Reading database ... 19568 files and directories currently installed.) Preparing to unpack .../pbuilder-satisfydepends-dummy.deb ... Unpacking pbuilder-satisfydepends-dummy (0.invalid.0) ... dpkg: pbuilder-satisfydepends-dummy: dependency problems, but configuring anyway as you requested: pbuilder-satisfydepends-dummy depends on debhelper (>= 10); however: Package debhelper is not installed. pbuilder-satisfydepends-dummy depends on cmake; however: Package cmake is not installed. pbuilder-satisfydepends-dummy depends on dh-python; however: Package dh-python is not installed. pbuilder-satisfydepends-dummy depends on python3 (>= 3.4); however: Package python3 is not installed. pbuilder-satisfydepends-dummy depends on python3-all-dev; however: Package python3-all-dev is not installed. pbuilder-satisfydepends-dummy depends on python3-numpy; however: Package python3-numpy is not installed. pbuilder-satisfydepends-dummy depends on python3-pytest; however: Package python3-pytest is not installed. pbuilder-satisfydepends-dummy depends on python3-pytest-runner; however: Package python3-pytest-runner is not installed. pbuilder-satisfydepends-dummy depends on python3-setuptools; however: Package python3-setuptools is not installed. pbuilder-satisfydepends-dummy depends on python3-setuptools-scm; however: Package python3-setuptools-scm is not installed. Setting up pbuilder-satisfydepends-dummy (0.invalid.0) ... Reading package lists... Building dependency tree... Reading state information... Initializing package states... Writing extended state information... Building tag database... pbuilder-satisfydepends-dummy is already installed at the requested version (0.invalid.0) pbuilder-satisfydepends-dummy is already installed at the requested version (0.invalid.0) The following NEW packages will be installed: autoconf{a} automake{a} autopoint{a} autotools-dev{a} bsdextrautils{a} cmake{a} cmake-data{a} debhelper{a} dh-autoreconf{a} dh-python{a} dh-strip-nondeterminism{a} dwz{a} file{a} gettext{a} gettext-base{a} groff-base{a} intltool-debian{a} libarchive-zip-perl{a} libarchive13t64{a} libblas3{a} libbrotli1{a} libcom-err2{a} libcurl4t64{a} libdebhelper-perl{a} libelf1t64{a} libexpat1{a} libexpat1-dev{a} libffi8{a} libfile-stripnondeterminism-perl{a} libgfortran5{a} libgnutls30t64{a} libgssapi-krb5-2{a} libicu72{a} libidn2-0{a} libjs-jquery{a} libjs-sphinxdoc{a} libjs-underscore{a} libjsoncpp26{a} libk5crypto3{a} libkeyutils1{a} libkrb5-3{a} libkrb5support0{a} liblapack3{a} libldap2{a} libmagic-mgc{a} libmagic1t64{a} libnghttp2-14{a} libnsl2{a} libp11-kit0{a} libpipeline1{a} libproc2-0{a} libpsl5t64{a} libpython3-all-dev{a} libpython3-dev{a} libpython3-stdlib{a} libpython3.12-dev{a} libpython3.12-minimal{a} libpython3.12-stdlib{a} libpython3.12t64{a} libpython3.13{a} libpython3.13-dev{a} libpython3.13-minimal{a} libpython3.13-stdlib{a} libreadline8t64{a} librhash1{a} librtmp1{a} libsasl2-2{a} libsasl2-modules-db{a} libssh2-1t64{a} libtasn1-6{a} libtirpc-common{a} libtirpc3t64{a} libtool{a} libuchardet0{a} libunistring5{a} libuv1t64{a} libxml2{a} m4{a} man-db{a} media-types{a} netbase{a} po-debconf{a} procps{a} python3{a} python3-all{a} python3-all-dev{a} python3-autocommand{a} python3-dev{a} python3-inflect{a} python3-iniconfig{a} python3-jaraco.context{a} python3-jaraco.functools{a} python3-jaraco.text{a} python3-minimal{a} python3-more-itertools{a} python3-numpy{a} python3-numpy-dev{a} python3-packaging{a} python3-pkg-resources{a} python3-pluggy{a} python3-pytest{a} python3-pytest-runner{a} python3-setuptools{a} python3-setuptools-scm{a} python3-typeguard{a} python3-typing-extensions{a} python3-zipp{a} python3.12{a} python3.12-dev{a} python3.12-minimal{a} python3.13{a} python3.13-dev{a} python3.13-minimal{a} readline-common{a} sensible-utils{a} tzdata{a} zlib1g-dev{a} The following packages are RECOMMENDED but will NOT be installed: ca-certificates curl javascript-common krb5-locales libarchive-cpio-perl libldap-common libltdl-dev libmail-sendmail-perl libsasl2-modules linux-sysctl-defaults lynx psmisc publicsuffix python3-pygments wget 0 packages upgraded, 117 newly installed, 0 to remove and 0 not upgraded. Need to get 66.3 MB of archives. After unpacking 259 MB will be used. Writing extended state information... Get: 1 http://deb.debian.org/debian unstable/main armhf libpython3.13-minimal armhf 3.13.1-3 [844 kB] Get: 2 http://deb.debian.org/debian unstable/main armhf libexpat1 armhf 2.6.4-1 [83.5 kB] Get: 3 http://deb.debian.org/debian unstable/main armhf python3.13-minimal armhf 3.13.1-3 [1840 kB] Get: 4 http://deb.debian.org/debian unstable/main armhf python3-minimal armhf 3.13.1-2 [27.0 kB] Get: 5 http://deb.debian.org/debian unstable/main armhf media-types all 10.1.0 [26.9 kB] Get: 6 http://deb.debian.org/debian unstable/main armhf netbase all 6.4 [12.8 kB] Get: 7 http://deb.debian.org/debian unstable/main armhf tzdata all 2025a-1 [259 kB] Get: 8 http://deb.debian.org/debian unstable/main armhf libffi8 armhf 3.4.6-1 [20.0 kB] Get: 9 http://deb.debian.org/debian unstable/main armhf readline-common all 8.2-6 [69.4 kB] Get: 10 http://deb.debian.org/debian unstable/main armhf libreadline8t64 armhf 8.2-6 [146 kB] Get: 11 http://deb.debian.org/debian unstable/main armhf libpython3.13-stdlib armhf 3.13.1-3 [1850 kB] Get: 12 http://deb.debian.org/debian unstable/main armhf python3.13 armhf 3.13.1-3 [740 kB] Get: 13 http://deb.debian.org/debian unstable/main armhf libpython3-stdlib armhf 3.13.1-2 [9952 B] Get: 14 http://deb.debian.org/debian unstable/main armhf python3 armhf 3.13.1-2 [28.0 kB] Get: 15 http://deb.debian.org/debian unstable/main armhf libpython3.12-minimal armhf 3.12.8-5 [803 kB] Get: 16 http://deb.debian.org/debian unstable/main armhf python3.12-minimal armhf 3.12.8-5 [1812 kB] Get: 17 http://deb.debian.org/debian unstable/main armhf libproc2-0 armhf 2:4.0.4-7 [56.3 kB] Get: 18 http://deb.debian.org/debian unstable/main armhf procps armhf 2:4.0.4-7 [866 kB] Get: 19 http://deb.debian.org/debian unstable/main armhf sensible-utils all 0.0.24 [24.8 kB] Get: 20 http://deb.debian.org/debian unstable/main armhf libmagic-mgc armhf 1:5.45-3+b1 [314 kB] Get: 21 http://deb.debian.org/debian unstable/main armhf libmagic1t64 armhf 1:5.45-3+b1 [98.5 kB] Get: 22 http://deb.debian.org/debian unstable/main armhf file armhf 1:5.45-3+b1 [42.3 kB] Get: 23 http://deb.debian.org/debian unstable/main armhf gettext-base armhf 0.23.1-1 [238 kB] Get: 24 http://deb.debian.org/debian unstable/main armhf libuchardet0 armhf 0.0.8-1+b2 [65.6 kB] Get: 25 http://deb.debian.org/debian unstable/main armhf groff-base armhf 1.23.0-7 [1095 kB] Get: 26 http://deb.debian.org/debian unstable/main armhf bsdextrautils armhf 2.40.4-1 [84.6 kB] Get: 27 http://deb.debian.org/debian unstable/main armhf libpipeline1 armhf 1.5.8-1 [35.0 kB] Get: 28 http://deb.debian.org/debian unstable/main armhf man-db armhf 2.13.0-1 [1382 kB] Get: 29 http://deb.debian.org/debian unstable/main armhf m4 armhf 1.4.19-5 [272 kB] Get: 30 http://deb.debian.org/debian unstable/main armhf autoconf all 2.72-3 [493 kB] Get: 31 http://deb.debian.org/debian unstable/main armhf autotools-dev all 20220109.1 [51.6 kB] Get: 32 http://deb.debian.org/debian unstable/main armhf automake all 1:1.17-1 [861 kB] Get: 33 http://deb.debian.org/debian unstable/main armhf autopoint all 0.23.1-1 [770 kB] Get: 34 http://deb.debian.org/debian unstable/main armhf cmake-data all 3.31.4-2 [2267 kB] Get: 35 http://deb.debian.org/debian unstable/main armhf libicu72 armhf 72.1-6 [9086 kB] Get: 36 http://deb.debian.org/debian unstable/main armhf libxml2 armhf 2.12.7+dfsg+really2.9.14-0.2+b1 [605 kB] Get: 37 http://deb.debian.org/debian unstable/main armhf libarchive13t64 armhf 3.7.4-1.1 [306 kB] Get: 38 http://deb.debian.org/debian unstable/main armhf libbrotli1 armhf 1.1.0-2+b6 [282 kB] Get: 39 http://deb.debian.org/debian unstable/main armhf libkrb5support0 armhf 1.21.3-4 [30.3 kB] Get: 40 http://deb.debian.org/debian unstable/main armhf libcom-err2 armhf 1.47.2-1 [23.3 kB] Get: 41 http://deb.debian.org/debian unstable/main armhf libk5crypto3 armhf 1.21.3-4 [75.8 kB] Get: 42 http://deb.debian.org/debian unstable/main armhf libkeyutils1 armhf 1.6.3-4 [8096 B] Get: 43 http://deb.debian.org/debian unstable/main armhf libkrb5-3 armhf 1.21.3-4 [285 kB] Get: 44 http://deb.debian.org/debian unstable/main armhf libgssapi-krb5-2 armhf 1.21.3-4 [116 kB] Get: 45 http://deb.debian.org/debian unstable/main armhf libunistring5 armhf 1.3-1 [444 kB] Get: 46 http://deb.debian.org/debian unstable/main armhf libidn2-0 armhf 2.3.7-2+b1 [125 kB] Get: 47 http://deb.debian.org/debian unstable/main armhf libsasl2-modules-db armhf 2.1.28+dfsg1-8+b1 [18.6 kB] Get: 48 http://deb.debian.org/debian unstable/main armhf libsasl2-2 armhf 2.1.28+dfsg1-8+b1 [50.6 kB] Get: 49 http://deb.debian.org/debian unstable/main armhf libldap2 armhf 2.6.9+dfsg-1 [167 kB] Get: 50 http://deb.debian.org/debian unstable/main armhf libnghttp2-14 armhf 1.64.0-1 [62.9 kB] Get: 51 http://deb.debian.org/debian unstable/main armhf libpsl5t64 armhf 0.21.2-1.1+b1 [55.8 kB] Get: 52 http://deb.debian.org/debian unstable/main armhf libp11-kit0 armhf 0.25.5-3 [385 kB] Get: 53 http://deb.debian.org/debian unstable/main armhf libtasn1-6 armhf 4.19.0-3+b3 [43.9 kB] Get: 54 http://deb.debian.org/debian unstable/main armhf libgnutls30t64 armhf 3.8.8-2 [1370 kB] Get: 55 http://deb.debian.org/debian unstable/main armhf librtmp1 armhf 2.4+20151223.gitfa8646d.1-2+b5 [53.2 kB] Get: 56 http://deb.debian.org/debian unstable/main armhf libssh2-1t64 armhf 1.11.1-1 [227 kB] Get: 57 http://deb.debian.org/debian unstable/main armhf libcurl4t64 armhf 8.11.1-1+b1 [304 kB] Get: 58 http://deb.debian.org/debian unstable/main armhf libjsoncpp26 armhf 1.9.6-3 [69.9 kB] Get: 59 http://deb.debian.org/debian unstable/main armhf librhash1 armhf 1.4.5-1 [143 kB] Get: 60 http://deb.debian.org/debian unstable/main armhf libuv1t64 armhf 1.48.0-7 [134 kB] Get: 61 http://deb.debian.org/debian unstable/main armhf cmake armhf 3.31.4-2 [5912 kB] Get: 62 http://deb.debian.org/debian unstable/main armhf libdebhelper-perl all 13.24.1 [90.9 kB] Get: 63 http://deb.debian.org/debian unstable/main armhf libtool all 2.5.4-2 [539 kB] Get: 64 http://deb.debian.org/debian unstable/main armhf dh-autoreconf all 20 [17.1 kB] Get: 65 http://deb.debian.org/debian unstable/main armhf libarchive-zip-perl all 1.68-1 [104 kB] Get: 66 http://deb.debian.org/debian unstable/main armhf libfile-stripnondeterminism-perl all 1.14.1-1 [19.6 kB] Get: 67 http://deb.debian.org/debian unstable/main armhf dh-strip-nondeterminism all 1.14.1-1 [8584 B] Get: 68 http://deb.debian.org/debian unstable/main armhf libelf1t64 armhf 0.192-4 [184 kB] Get: 69 http://deb.debian.org/debian unstable/main armhf dwz armhf 0.15-1+b2 [106 kB] Get: 70 http://deb.debian.org/debian unstable/main armhf gettext armhf 0.23.1-1 [1560 kB] Get: 71 http://deb.debian.org/debian unstable/main armhf intltool-debian all 0.35.0+20060710.6 [22.9 kB] Get: 72 http://deb.debian.org/debian unstable/main armhf po-debconf all 1.0.21+nmu1 [248 kB] Get: 73 http://deb.debian.org/debian unstable/main armhf debhelper all 13.24.1 [920 kB] Get: 74 http://deb.debian.org/debian unstable/main armhf python3-autocommand all 2.2.2-3 [13.6 kB] Get: 75 http://deb.debian.org/debian unstable/main armhf python3-more-itertools all 10.6.0-1 [65.3 kB] Get: 76 http://deb.debian.org/debian unstable/main armhf python3-typing-extensions all 4.12.2-2 [73.0 kB] Get: 77 http://deb.debian.org/debian unstable/main armhf python3-typeguard all 4.4.1-1 [37.0 kB] Get: 78 http://deb.debian.org/debian unstable/main armhf python3-inflect all 7.3.1-2 [32.4 kB] Get: 79 http://deb.debian.org/debian unstable/main armhf python3-jaraco.context all 6.0.0-1 [7984 B] Get: 80 http://deb.debian.org/debian unstable/main armhf python3-jaraco.functools all 4.1.0-1 [12.0 kB] Get: 81 http://deb.debian.org/debian unstable/main armhf python3-pkg-resources all 75.6.0-1 [222 kB] Get: 82 http://deb.debian.org/debian unstable/main armhf python3-jaraco.text all 4.0.0-1 [11.4 kB] Get: 83 http://deb.debian.org/debian unstable/main armhf python3-zipp all 3.21.0-1 [10.6 kB] Get: 84 http://deb.debian.org/debian unstable/main armhf python3-setuptools all 75.6.0-1 [720 kB] Get: 85 http://deb.debian.org/debian unstable/main armhf dh-python all 6.20250108 [113 kB] Get: 86 http://deb.debian.org/debian unstable/main armhf libblas3 armhf 3.12.0-4 [111 kB] Get: 87 http://deb.debian.org/debian unstable/main armhf libexpat1-dev armhf 2.6.4-1 [140 kB] Get: 88 http://deb.debian.org/debian unstable/main armhf libgfortran5 armhf 14.2.0-14 [263 kB] Get: 89 http://deb.debian.org/debian unstable/main armhf libjs-jquery all 3.6.1+dfsg+~3.5.14-1 [326 kB] Get: 90 http://deb.debian.org/debian unstable/main armhf libjs-underscore all 1.13.4~dfsg+~1.11.4-3 [116 kB] Get: 91 http://deb.debian.org/debian unstable/main armhf libjs-sphinxdoc all 8.1.3-4 [30.4 kB] Get: 92 http://deb.debian.org/debian unstable/main armhf liblapack3 armhf 3.12.0-4 [1828 kB] Get: 93 http://deb.debian.org/debian unstable/main armhf libtirpc-common all 1.3.4+ds-1.3 [10.9 kB] Get: 94 http://deb.debian.org/debian unstable/main armhf libtirpc3t64 armhf 1.3.4+ds-1.3+b1 [71.3 kB] Get: 95 http://deb.debian.org/debian unstable/main armhf libnsl2 armhf 1.3.0-3+b3 [35.0 kB] Get: 96 http://deb.debian.org/debian unstable/main armhf libpython3.13 armhf 3.13.1-3 [1869 kB] Get: 97 http://deb.debian.org/debian unstable/main armhf zlib1g-dev armhf 1:1.3.dfsg+really1.3.1-1+b1 [905 kB] Get: 98 http://deb.debian.org/debian unstable/main armhf libpython3.13-dev armhf 3.13.1-3 [3802 kB] Get: 99 http://deb.debian.org/debian unstable/main armhf libpython3-dev armhf 3.13.1-2 [10.2 kB] Get: 100 http://deb.debian.org/debian unstable/main armhf libpython3.12-stdlib armhf 3.12.8-5 [1832 kB] Get: 101 http://deb.debian.org/debian unstable/main armhf libpython3.12t64 armhf 3.12.8-5 [1849 kB] Get: 102 http://deb.debian.org/debian unstable/main armhf libpython3.12-dev armhf 3.12.8-5 [3827 kB] Get: 103 http://deb.debian.org/debian unstable/main armhf libpython3-all-dev armhf 3.13.1-2 [1072 B] Get: 104 http://deb.debian.org/debian unstable/main armhf python3.12 armhf 3.12.8-5 [677 kB] Get: 105 http://deb.debian.org/debian unstable/main armhf python3-all armhf 3.13.1-2 [1056 B] Get: 106 http://deb.debian.org/debian unstable/main armhf python3.13-dev armhf 3.13.1-3 [504 kB] Get: 107 http://deb.debian.org/debian unstable/main armhf python3-dev armhf 3.13.1-2 [26.1 kB] Get: 108 http://deb.debian.org/debian unstable/main armhf python3.12-dev armhf 3.12.8-5 [505 kB] Get: 109 http://deb.debian.org/debian unstable/main armhf python3-all-dev armhf 3.13.1-2 [1076 B] Get: 110 http://deb.debian.org/debian unstable/main armhf python3-iniconfig all 1.1.1-2 [6396 B] Get: 111 http://deb.debian.org/debian unstable/main armhf python3-numpy-dev armhf 1:2.2.2+ds-2 [132 kB] Get: 112 http://deb.debian.org/debian unstable/main armhf python3-numpy armhf 1:2.2.2+ds-2 [3882 kB] Get: 113 http://deb.debian.org/debian unstable/main armhf python3-packaging all 24.2-1 [55.3 kB] Get: 114 http://deb.debian.org/debian unstable/main armhf python3-pluggy all 1.5.0-1 [26.9 kB] Get: 115 http://deb.debian.org/debian unstable/main armhf python3-pytest all 8.3.4-1 [250 kB] Get: 116 http://deb.debian.org/debian unstable/main armhf python3-pytest-runner all 2.11.1-4 [8432 B] Get: 117 http://deb.debian.org/debian unstable/main armhf python3-setuptools-scm all 8.1.0-1 [40.5 kB] Fetched 66.3 MB in 7s (9983 kB/s) Preconfiguring packages ... Selecting previously unselected package libpython3.13-minimal:armhf. (Reading database ... (Reading database ... 5% (Reading database ... 10% (Reading database ... 15% (Reading database ... 20% (Reading database ... 25% (Reading database ... 30% (Reading database ... 35% (Reading database ... 40% (Reading database ... 45% (Reading database ... 50% (Reading database ... 55% (Reading database ... 60% (Reading database ... 65% (Reading database ... 70% (Reading database ... 75% (Reading database ... 80% (Reading database ... 85% (Reading database ... 90% (Reading database ... 95% (Reading database ... 100% (Reading database ... 19568 files and directories currently installed.) Preparing to unpack .../libpython3.13-minimal_3.13.1-3_armhf.deb ... Unpacking libpython3.13-minimal:armhf (3.13.1-3) ... Selecting previously unselected package libexpat1:armhf. Preparing to unpack .../libexpat1_2.6.4-1_armhf.deb ... Unpacking libexpat1:armhf (2.6.4-1) ... Selecting previously unselected package python3.13-minimal. Preparing to unpack .../python3.13-minimal_3.13.1-3_armhf.deb ... Unpacking python3.13-minimal (3.13.1-3) ... Setting up libpython3.13-minimal:armhf (3.13.1-3) ... Setting up libexpat1:armhf (2.6.4-1) ... Setting up python3.13-minimal (3.13.1-3) ... Selecting previously unselected package python3-minimal. (Reading database ... (Reading database ... 5% (Reading database ... 10% (Reading database ... 15% (Reading database ... 20% (Reading database ... 25% (Reading database ... 30% (Reading database ... 35% (Reading database ... 40% (Reading database ... 45% (Reading database ... 50% (Reading database ... 55% (Reading database ... 60% (Reading database ... 65% (Reading database ... 70% (Reading database ... 75% (Reading database ... 80% (Reading database ... 85% (Reading database ... 90% (Reading database ... 95% (Reading database ... 100% (Reading database ... 19902 files and directories currently installed.) Preparing to unpack .../0-python3-minimal_3.13.1-2_armhf.deb ... Unpacking python3-minimal (3.13.1-2) ... Selecting previously unselected package media-types. Preparing to unpack .../1-media-types_10.1.0_all.deb ... Unpacking media-types (10.1.0) ... Selecting previously unselected package netbase. Preparing to unpack .../2-netbase_6.4_all.deb ... Unpacking netbase (6.4) ... Selecting previously unselected package tzdata. Preparing to unpack .../3-tzdata_2025a-1_all.deb ... Unpacking tzdata (2025a-1) ... Selecting previously unselected package libffi8:armhf. Preparing to unpack .../4-libffi8_3.4.6-1_armhf.deb ... Unpacking libffi8:armhf (3.4.6-1) ... Selecting previously unselected package readline-common. Preparing to unpack .../5-readline-common_8.2-6_all.deb ... Unpacking readline-common (8.2-6) ... Selecting previously unselected package libreadline8t64:armhf. Preparing to unpack .../6-libreadline8t64_8.2-6_armhf.deb ... Adding 'diversion of /lib/arm-linux-gnueabihf/libhistory.so.8 to /lib/arm-linux-gnueabihf/libhistory.so.8.usr-is-merged by libreadline8t64' Adding 'diversion of /lib/arm-linux-gnueabihf/libhistory.so.8.2 to /lib/arm-linux-gnueabihf/libhistory.so.8.2.usr-is-merged by libreadline8t64' Adding 'diversion of /lib/arm-linux-gnueabihf/libreadline.so.8 to /lib/arm-linux-gnueabihf/libreadline.so.8.usr-is-merged by libreadline8t64' Adding 'diversion of /lib/arm-linux-gnueabihf/libreadline.so.8.2 to /lib/arm-linux-gnueabihf/libreadline.so.8.2.usr-is-merged by libreadline8t64' Unpacking libreadline8t64:armhf (8.2-6) ... Selecting previously unselected package libpython3.13-stdlib:armhf. Preparing to unpack .../7-libpython3.13-stdlib_3.13.1-3_armhf.deb ... Unpacking libpython3.13-stdlib:armhf (3.13.1-3) ... Selecting previously unselected package python3.13. Preparing to unpack .../8-python3.13_3.13.1-3_armhf.deb ... Unpacking python3.13 (3.13.1-3) ... Selecting previously unselected package libpython3-stdlib:armhf. Preparing to unpack .../9-libpython3-stdlib_3.13.1-2_armhf.deb ... Unpacking libpython3-stdlib:armhf (3.13.1-2) ... Setting up python3-minimal (3.13.1-2) ... Selecting previously unselected package python3. (Reading database ... (Reading database ... 5% (Reading database ... 10% (Reading database ... 15% (Reading database ... 20% (Reading database ... 25% (Reading database ... 30% (Reading database ... 35% (Reading database ... 40% (Reading database ... 45% (Reading database ... 50% (Reading database ... 55% (Reading database ... 60% (Reading database ... 65% (Reading database ... 70% (Reading database ... 75% (Reading database ... 80% (Reading database ... 85% (Reading database ... 90% (Reading database ... 95% (Reading database ... 100% (Reading database ... 20912 files and directories currently installed.) Preparing to unpack .../000-python3_3.13.1-2_armhf.deb ... Unpacking python3 (3.13.1-2) ... Selecting previously unselected package libpython3.12-minimal:armhf. Preparing to unpack .../001-libpython3.12-minimal_3.12.8-5_armhf.deb ... Unpacking libpython3.12-minimal:armhf (3.12.8-5) ... Selecting previously unselected package python3.12-minimal. Preparing to unpack .../002-python3.12-minimal_3.12.8-5_armhf.deb ... Unpacking python3.12-minimal (3.12.8-5) ... Selecting previously unselected package libproc2-0:armhf. Preparing to unpack .../003-libproc2-0_2%3a4.0.4-7_armhf.deb ... Unpacking libproc2-0:armhf (2:4.0.4-7) ... Selecting previously unselected package procps. Preparing to unpack .../004-procps_2%3a4.0.4-7_armhf.deb ... Unpacking procps (2:4.0.4-7) ... Selecting previously unselected package sensible-utils. Preparing to unpack .../005-sensible-utils_0.0.24_all.deb ... Unpacking sensible-utils (0.0.24) ... Selecting previously unselected package libmagic-mgc. Preparing to unpack .../006-libmagic-mgc_1%3a5.45-3+b1_armhf.deb ... Unpacking libmagic-mgc (1:5.45-3+b1) ... Selecting previously unselected package libmagic1t64:armhf. Preparing to unpack .../007-libmagic1t64_1%3a5.45-3+b1_armhf.deb ... Unpacking libmagic1t64:armhf (1:5.45-3+b1) ... Selecting previously unselected package file. Preparing to unpack .../008-file_1%3a5.45-3+b1_armhf.deb ... Unpacking file (1:5.45-3+b1) ... Selecting previously unselected package gettext-base. Preparing to unpack .../009-gettext-base_0.23.1-1_armhf.deb ... Unpacking gettext-base (0.23.1-1) ... Selecting previously unselected package libuchardet0:armhf. Preparing to unpack .../010-libuchardet0_0.0.8-1+b2_armhf.deb ... Unpacking libuchardet0:armhf (0.0.8-1+b2) ... Selecting previously unselected package groff-base. Preparing to unpack .../011-groff-base_1.23.0-7_armhf.deb ... Unpacking groff-base (1.23.0-7) ... Selecting previously unselected package bsdextrautils. Preparing to unpack .../012-bsdextrautils_2.40.4-1_armhf.deb ... Unpacking bsdextrautils (2.40.4-1) ... Selecting previously unselected package libpipeline1:armhf. Preparing to unpack .../013-libpipeline1_1.5.8-1_armhf.deb ... Unpacking libpipeline1:armhf (1.5.8-1) ... Selecting previously unselected package man-db. Preparing to unpack .../014-man-db_2.13.0-1_armhf.deb ... Unpacking man-db (2.13.0-1) ... Selecting previously unselected package m4. Preparing to unpack .../015-m4_1.4.19-5_armhf.deb ... Unpacking m4 (1.4.19-5) ... Selecting previously unselected package autoconf. Preparing to unpack .../016-autoconf_2.72-3_all.deb ... Unpacking autoconf (2.72-3) ... Selecting previously unselected package autotools-dev. Preparing to unpack .../017-autotools-dev_20220109.1_all.deb ... Unpacking autotools-dev (20220109.1) ... Selecting previously unselected package automake. Preparing to unpack .../018-automake_1%3a1.17-1_all.deb ... Unpacking automake (1:1.17-1) ... Selecting previously unselected package autopoint. Preparing to unpack .../019-autopoint_0.23.1-1_all.deb ... Unpacking autopoint (0.23.1-1) ... Selecting previously unselected package cmake-data. Preparing to unpack .../020-cmake-data_3.31.4-2_all.deb ... Unpacking cmake-data (3.31.4-2) ... Selecting previously unselected package libicu72:armhf. Preparing to unpack .../021-libicu72_72.1-6_armhf.deb ... Unpacking libicu72:armhf (72.1-6) ... Selecting previously unselected package libxml2:armhf. Preparing to unpack .../022-libxml2_2.12.7+dfsg+really2.9.14-0.2+b1_armhf.deb ... Unpacking libxml2:armhf (2.12.7+dfsg+really2.9.14-0.2+b1) ... Selecting previously unselected package libarchive13t64:armhf. Preparing to unpack .../023-libarchive13t64_3.7.4-1.1_armhf.deb ... Unpacking libarchive13t64:armhf (3.7.4-1.1) ... Selecting previously unselected package libbrotli1:armhf. Preparing to unpack .../024-libbrotli1_1.1.0-2+b6_armhf.deb ... Unpacking libbrotli1:armhf (1.1.0-2+b6) ... Selecting previously unselected package libkrb5support0:armhf. Preparing to unpack .../025-libkrb5support0_1.21.3-4_armhf.deb ... Unpacking libkrb5support0:armhf (1.21.3-4) ... Selecting previously unselected package libcom-err2:armhf. Preparing to unpack .../026-libcom-err2_1.47.2-1_armhf.deb ... Unpacking libcom-err2:armhf (1.47.2-1) ... Selecting previously unselected package libk5crypto3:armhf. Preparing to unpack .../027-libk5crypto3_1.21.3-4_armhf.deb ... Unpacking libk5crypto3:armhf (1.21.3-4) ... Selecting previously unselected package libkeyutils1:armhf. Preparing to unpack .../028-libkeyutils1_1.6.3-4_armhf.deb ... Unpacking libkeyutils1:armhf (1.6.3-4) ... Selecting previously unselected package libkrb5-3:armhf. Preparing to unpack .../029-libkrb5-3_1.21.3-4_armhf.deb ... Unpacking libkrb5-3:armhf (1.21.3-4) ... Selecting previously unselected package libgssapi-krb5-2:armhf. Preparing to unpack .../030-libgssapi-krb5-2_1.21.3-4_armhf.deb ... Unpacking libgssapi-krb5-2:armhf (1.21.3-4) ... Selecting previously unselected package libunistring5:armhf. Preparing to unpack .../031-libunistring5_1.3-1_armhf.deb ... Unpacking libunistring5:armhf (1.3-1) ... Selecting previously unselected package libidn2-0:armhf. Preparing to unpack .../032-libidn2-0_2.3.7-2+b1_armhf.deb ... Unpacking libidn2-0:armhf (2.3.7-2+b1) ... Selecting previously unselected package libsasl2-modules-db:armhf. Preparing to unpack .../033-libsasl2-modules-db_2.1.28+dfsg1-8+b1_armhf.deb ... Unpacking libsasl2-modules-db:armhf (2.1.28+dfsg1-8+b1) ... Selecting previously unselected package libsasl2-2:armhf. Preparing to unpack .../034-libsasl2-2_2.1.28+dfsg1-8+b1_armhf.deb ... Unpacking libsasl2-2:armhf (2.1.28+dfsg1-8+b1) ... Selecting previously unselected package libldap2:armhf. Preparing to unpack .../035-libldap2_2.6.9+dfsg-1_armhf.deb ... Unpacking libldap2:armhf (2.6.9+dfsg-1) ... Selecting previously unselected package libnghttp2-14:armhf. Preparing to unpack .../036-libnghttp2-14_1.64.0-1_armhf.deb ... Unpacking libnghttp2-14:armhf (1.64.0-1) ... Selecting previously unselected package libpsl5t64:armhf. Preparing to unpack .../037-libpsl5t64_0.21.2-1.1+b1_armhf.deb ... Unpacking libpsl5t64:armhf (0.21.2-1.1+b1) ... Selecting previously unselected package libp11-kit0:armhf. Preparing to unpack .../038-libp11-kit0_0.25.5-3_armhf.deb ... Unpacking libp11-kit0:armhf (0.25.5-3) ... Selecting previously unselected package libtasn1-6:armhf. Preparing to unpack .../039-libtasn1-6_4.19.0-3+b3_armhf.deb ... Unpacking libtasn1-6:armhf (4.19.0-3+b3) ... Selecting previously unselected package libgnutls30t64:armhf. Preparing to unpack .../040-libgnutls30t64_3.8.8-2_armhf.deb ... Unpacking libgnutls30t64:armhf (3.8.8-2) ... Selecting previously unselected package librtmp1:armhf. Preparing to unpack .../041-librtmp1_2.4+20151223.gitfa8646d.1-2+b5_armhf.deb ... Unpacking librtmp1:armhf (2.4+20151223.gitfa8646d.1-2+b5) ... Selecting previously unselected package libssh2-1t64:armhf. Preparing to unpack .../042-libssh2-1t64_1.11.1-1_armhf.deb ... Unpacking libssh2-1t64:armhf (1.11.1-1) ... Selecting previously unselected package libcurl4t64:armhf. Preparing to unpack .../043-libcurl4t64_8.11.1-1+b1_armhf.deb ... Unpacking libcurl4t64:armhf (8.11.1-1+b1) ... Selecting previously unselected package libjsoncpp26:armhf. Preparing to unpack .../044-libjsoncpp26_1.9.6-3_armhf.deb ... Unpacking libjsoncpp26:armhf (1.9.6-3) ... Selecting previously unselected package librhash1:armhf. Preparing to unpack .../045-librhash1_1.4.5-1_armhf.deb ... Unpacking librhash1:armhf (1.4.5-1) ... Selecting previously unselected package libuv1t64:armhf. Preparing to unpack .../046-libuv1t64_1.48.0-7_armhf.deb ... Unpacking libuv1t64:armhf (1.48.0-7) ... Selecting previously unselected package cmake. Preparing to unpack .../047-cmake_3.31.4-2_armhf.deb ... Unpacking cmake (3.31.4-2) ... Selecting previously unselected package libdebhelper-perl. Preparing to unpack .../048-libdebhelper-perl_13.24.1_all.deb ... Unpacking libdebhelper-perl (13.24.1) ... Selecting previously unselected package libtool. Preparing to unpack .../049-libtool_2.5.4-2_all.deb ... Unpacking libtool (2.5.4-2) ... Selecting previously unselected package dh-autoreconf. Preparing to unpack .../050-dh-autoreconf_20_all.deb ... Unpacking dh-autoreconf (20) ... Selecting previously unselected package libarchive-zip-perl. Preparing to unpack .../051-libarchive-zip-perl_1.68-1_all.deb ... Unpacking libarchive-zip-perl (1.68-1) ... Selecting previously unselected package libfile-stripnondeterminism-perl. Preparing to unpack .../052-libfile-stripnondeterminism-perl_1.14.1-1_all.deb ... Unpacking libfile-stripnondeterminism-perl (1.14.1-1) ... Selecting previously unselected package dh-strip-nondeterminism. Preparing to unpack .../053-dh-strip-nondeterminism_1.14.1-1_all.deb ... Unpacking dh-strip-nondeterminism (1.14.1-1) ... Selecting previously unselected package libelf1t64:armhf. Preparing to unpack .../054-libelf1t64_0.192-4_armhf.deb ... Unpacking libelf1t64:armhf (0.192-4) ... Selecting previously unselected package dwz. Preparing to unpack .../055-dwz_0.15-1+b2_armhf.deb ... Unpacking dwz (0.15-1+b2) ... Selecting previously unselected package gettext. Preparing to unpack .../056-gettext_0.23.1-1_armhf.deb ... Unpacking gettext (0.23.1-1) ... Selecting previously unselected package intltool-debian. Preparing to unpack .../057-intltool-debian_0.35.0+20060710.6_all.deb ... Unpacking intltool-debian (0.35.0+20060710.6) ... Selecting previously unselected package po-debconf. Preparing to unpack .../058-po-debconf_1.0.21+nmu1_all.deb ... Unpacking po-debconf (1.0.21+nmu1) ... Selecting previously unselected package debhelper. Preparing to unpack .../059-debhelper_13.24.1_all.deb ... Unpacking debhelper (13.24.1) ... Selecting previously unselected package python3-autocommand. Preparing to unpack .../060-python3-autocommand_2.2.2-3_all.deb ... Unpacking python3-autocommand (2.2.2-3) ... Selecting previously unselected package python3-more-itertools. Preparing to unpack .../061-python3-more-itertools_10.6.0-1_all.deb ... Unpacking python3-more-itertools (10.6.0-1) ... Selecting previously unselected package python3-typing-extensions. Preparing to unpack .../062-python3-typing-extensions_4.12.2-2_all.deb ... Unpacking python3-typing-extensions (4.12.2-2) ... Selecting previously unselected package python3-typeguard. Preparing to unpack .../063-python3-typeguard_4.4.1-1_all.deb ... Unpacking python3-typeguard (4.4.1-1) ... Selecting previously unselected package python3-inflect. Preparing to unpack .../064-python3-inflect_7.3.1-2_all.deb ... Unpacking python3-inflect (7.3.1-2) ... Selecting previously unselected package python3-jaraco.context. Preparing to unpack .../065-python3-jaraco.context_6.0.0-1_all.deb ... Unpacking python3-jaraco.context (6.0.0-1) ... Selecting previously unselected package python3-jaraco.functools. Preparing to unpack .../066-python3-jaraco.functools_4.1.0-1_all.deb ... Unpacking python3-jaraco.functools (4.1.0-1) ... Selecting previously unselected package python3-pkg-resources. Preparing to unpack .../067-python3-pkg-resources_75.6.0-1_all.deb ... Unpacking python3-pkg-resources (75.6.0-1) ... Selecting previously unselected package python3-jaraco.text. Preparing to unpack .../068-python3-jaraco.text_4.0.0-1_all.deb ... Unpacking python3-jaraco.text (4.0.0-1) ... Selecting previously unselected package python3-zipp. Preparing to unpack .../069-python3-zipp_3.21.0-1_all.deb ... Unpacking python3-zipp (3.21.0-1) ... Selecting previously unselected package python3-setuptools. Preparing to unpack .../070-python3-setuptools_75.6.0-1_all.deb ... Unpacking python3-setuptools (75.6.0-1) ... Selecting previously unselected package dh-python. Preparing to unpack .../071-dh-python_6.20250108_all.deb ... Unpacking dh-python (6.20250108) ... Selecting previously unselected package libblas3:armhf. Preparing to unpack .../072-libblas3_3.12.0-4_armhf.deb ... Unpacking libblas3:armhf (3.12.0-4) ... Selecting previously unselected package libexpat1-dev:armhf. Preparing to unpack .../073-libexpat1-dev_2.6.4-1_armhf.deb ... Unpacking libexpat1-dev:armhf (2.6.4-1) ... Selecting previously unselected package libgfortran5:armhf. Preparing to unpack .../074-libgfortran5_14.2.0-14_armhf.deb ... Unpacking libgfortran5:armhf (14.2.0-14) ... Selecting previously unselected package libjs-jquery. Preparing to unpack .../075-libjs-jquery_3.6.1+dfsg+~3.5.14-1_all.deb ... Unpacking libjs-jquery (3.6.1+dfsg+~3.5.14-1) ... Selecting previously unselected package libjs-underscore. Preparing to unpack .../076-libjs-underscore_1.13.4~dfsg+~1.11.4-3_all.deb ... Unpacking libjs-underscore (1.13.4~dfsg+~1.11.4-3) ... Selecting previously unselected package libjs-sphinxdoc. Preparing to unpack .../077-libjs-sphinxdoc_8.1.3-4_all.deb ... Unpacking libjs-sphinxdoc (8.1.3-4) ... Selecting previously unselected package liblapack3:armhf. Preparing to unpack .../078-liblapack3_3.12.0-4_armhf.deb ... Unpacking liblapack3:armhf (3.12.0-4) ... Selecting previously unselected package libtirpc-common. Preparing to unpack .../079-libtirpc-common_1.3.4+ds-1.3_all.deb ... Unpacking libtirpc-common (1.3.4+ds-1.3) ... Selecting previously unselected package libtirpc3t64:armhf. Preparing to unpack .../080-libtirpc3t64_1.3.4+ds-1.3+b1_armhf.deb ... Adding 'diversion of /lib/arm-linux-gnueabihf/libtirpc.so.3 to /lib/arm-linux-gnueabihf/libtirpc.so.3.usr-is-merged by libtirpc3t64' Adding 'diversion of /lib/arm-linux-gnueabihf/libtirpc.so.3.0.0 to /lib/arm-linux-gnueabihf/libtirpc.so.3.0.0.usr-is-merged by libtirpc3t64' Unpacking libtirpc3t64:armhf (1.3.4+ds-1.3+b1) ... Selecting previously unselected package libnsl2:armhf. Preparing to unpack .../081-libnsl2_1.3.0-3+b3_armhf.deb ... Unpacking libnsl2:armhf (1.3.0-3+b3) ... Selecting previously unselected package libpython3.13:armhf. Preparing to unpack .../082-libpython3.13_3.13.1-3_armhf.deb ... Unpacking libpython3.13:armhf (3.13.1-3) ... Selecting previously unselected package zlib1g-dev:armhf. Preparing to unpack .../083-zlib1g-dev_1%3a1.3.dfsg+really1.3.1-1+b1_armhf.deb ... Unpacking zlib1g-dev:armhf (1:1.3.dfsg+really1.3.1-1+b1) ... Selecting previously unselected package libpython3.13-dev:armhf. Preparing to unpack .../084-libpython3.13-dev_3.13.1-3_armhf.deb ... Unpacking libpython3.13-dev:armhf (3.13.1-3) ... Selecting previously unselected package libpython3-dev:armhf. Preparing to unpack .../085-libpython3-dev_3.13.1-2_armhf.deb ... Unpacking libpython3-dev:armhf (3.13.1-2) ... Selecting previously unselected package libpython3.12-stdlib:armhf. Preparing to unpack .../086-libpython3.12-stdlib_3.12.8-5_armhf.deb ... Unpacking libpython3.12-stdlib:armhf (3.12.8-5) ... Selecting previously unselected package libpython3.12t64:armhf. Preparing to unpack .../087-libpython3.12t64_3.12.8-5_armhf.deb ... Unpacking libpython3.12t64:armhf (3.12.8-5) ... Selecting previously unselected package libpython3.12-dev:armhf. Preparing to unpack .../088-libpython3.12-dev_3.12.8-5_armhf.deb ... Unpacking libpython3.12-dev:armhf (3.12.8-5) ... Selecting previously unselected package libpython3-all-dev:armhf. Preparing to unpack .../089-libpython3-all-dev_3.13.1-2_armhf.deb ... Unpacking libpython3-all-dev:armhf (3.13.1-2) ... Selecting previously unselected package python3.12. Preparing to unpack .../090-python3.12_3.12.8-5_armhf.deb ... Unpacking python3.12 (3.12.8-5) ... Selecting previously unselected package python3-all. Preparing to unpack .../091-python3-all_3.13.1-2_armhf.deb ... Unpacking python3-all (3.13.1-2) ... Selecting previously unselected package python3.13-dev. Preparing to unpack .../092-python3.13-dev_3.13.1-3_armhf.deb ... Unpacking python3.13-dev (3.13.1-3) ... Selecting previously unselected package python3-dev. Preparing to unpack .../093-python3-dev_3.13.1-2_armhf.deb ... Unpacking python3-dev (3.13.1-2) ... Selecting previously unselected package python3.12-dev. Preparing to unpack .../094-python3.12-dev_3.12.8-5_armhf.deb ... Unpacking python3.12-dev (3.12.8-5) ... Selecting previously unselected package python3-all-dev. Preparing to unpack .../095-python3-all-dev_3.13.1-2_armhf.deb ... Unpacking python3-all-dev (3.13.1-2) ... Selecting previously unselected package python3-iniconfig. Preparing to unpack .../096-python3-iniconfig_1.1.1-2_all.deb ... Unpacking python3-iniconfig (1.1.1-2) ... Selecting previously unselected package python3-numpy-dev:armhf. Preparing to unpack .../097-python3-numpy-dev_1%3a2.2.2+ds-2_armhf.deb ... Unpacking python3-numpy-dev:armhf (1:2.2.2+ds-2) ... Selecting previously unselected package python3-numpy. Preparing to unpack .../098-python3-numpy_1%3a2.2.2+ds-2_armhf.deb ... Unpacking python3-numpy (1:2.2.2+ds-2) ... Selecting previously unselected package python3-packaging. Preparing to unpack .../099-python3-packaging_24.2-1_all.deb ... Unpacking python3-packaging (24.2-1) ... Selecting previously unselected package python3-pluggy. Preparing to unpack .../100-python3-pluggy_1.5.0-1_all.deb ... Unpacking python3-pluggy (1.5.0-1) ... Selecting previously unselected package python3-pytest. Preparing to unpack .../101-python3-pytest_8.3.4-1_all.deb ... Unpacking python3-pytest (8.3.4-1) ... Selecting previously unselected package python3-pytest-runner. Preparing to unpack .../102-python3-pytest-runner_2.11.1-4_all.deb ... Unpacking python3-pytest-runner (2.11.1-4) ... Selecting previously unselected package python3-setuptools-scm. Preparing to unpack .../103-python3-setuptools-scm_8.1.0-1_all.deb ... Unpacking python3-setuptools-scm (8.1.0-1) ... Setting up media-types (10.1.0) ... Setting up libpipeline1:armhf (1.5.8-1) ... Setting up libkeyutils1:armhf (1.6.3-4) ... Setting up libicu72:armhf (72.1-6) ... Setting up bsdextrautils (2.40.4-1) ... Setting up libmagic-mgc (1:5.45-3+b1) ... Setting up libarchive-zip-perl (1.68-1) ... Setting up libtirpc-common (1.3.4+ds-1.3) ... Setting up libdebhelper-perl (13.24.1) ... Setting up libbrotli1:armhf (1.1.0-2+b6) ... Setting up libuv1t64:armhf (1.48.0-7) ... Setting up libmagic1t64:armhf (1:5.45-3+b1) ... Setting up libpython3.12-minimal:armhf (3.12.8-5) ... Setting up libnghttp2-14:armhf (1.64.0-1) ... Setting up gettext-base (0.23.1-1) ... Setting up m4 (1.4.19-5) ... Setting up libcom-err2:armhf (1.47.2-1) ... Setting up file (1:5.45-3+b1) ... Setting up libelf1t64:armhf (0.192-4) ... Setting up libkrb5support0:armhf (1.21.3-4) ... Setting up libsasl2-modules-db:armhf (2.1.28+dfsg1-8+b1) ... Setting up tzdata (2025a-1) ... Current default time zone: 'Etc/UTC' Local time is now: Mon Jan 27 19:11:05 UTC 2025. Universal Time is now: Mon Jan 27 19:11:05 UTC 2025. Run 'dpkg-reconfigure tzdata' if you wish to change it. Setting up autotools-dev (20220109.1) ... Setting up libblas3:armhf (3.12.0-4) ... update-alternatives: using /usr/lib/arm-linux-gnueabihf/blas/libblas.so.3 to provide /usr/lib/arm-linux-gnueabihf/libblas.so.3 (libblas.so.3-arm-linux-gnueabihf) in auto mode Setting up libexpat1-dev:armhf (2.6.4-1) ... Setting up libjsoncpp26:armhf (1.9.6-3) ... Setting up libproc2-0:armhf (2:4.0.4-7) ... Setting up libunistring5:armhf (1.3-1) ... Setting up python3-numpy-dev:armhf (1:2.2.2+ds-2) ... Setting up autopoint (0.23.1-1) ... Setting up libk5crypto3:armhf (1.21.3-4) ... Setting up libsasl2-2:armhf (2.1.28+dfsg1-8+b1) ... Setting up libgfortran5:armhf (14.2.0-14) ... Setting up autoconf (2.72-3) ... Setting up zlib1g-dev:armhf (1:1.3.dfsg+really1.3.1-1+b1) ... Setting up libffi8:armhf (3.4.6-1) ... Setting up dwz (0.15-1+b2) ... Setting up sensible-utils (0.0.24) ... Setting up libuchardet0:armhf (0.0.8-1+b2) ... Setting up procps (2:4.0.4-7) ... Setting up libtasn1-6:armhf (4.19.0-3+b3) ... Setting up netbase (6.4) ... Setting up cmake-data (3.31.4-2) ... Setting up librhash1:armhf (1.4.5-1) ... Setting up libkrb5-3:armhf (1.21.3-4) ... Setting up libssh2-1t64:armhf (1.11.1-1) ... Setting up libjs-jquery (3.6.1+dfsg+~3.5.14-1) ... Setting up readline-common (8.2-6) ... Setting up libxml2:armhf (2.12.7+dfsg+really2.9.14-0.2+b1) ... Setting up libldap2:armhf (2.6.9+dfsg-1) ... Setting up libjs-underscore (1.13.4~dfsg+~1.11.4-3) ... Setting up automake (1:1.17-1) ... update-alternatives: using /usr/bin/automake-1.17 to provide /usr/bin/automake (automake) in auto mode Setting up libfile-stripnondeterminism-perl (1.14.1-1) ... Setting up python3.12-minimal (3.12.8-5) ... Setting up liblapack3:armhf (3.12.0-4) ... update-alternatives: using /usr/lib/arm-linux-gnueabihf/lapack/liblapack.so.3 to provide /usr/lib/arm-linux-gnueabihf/liblapack.so.3 (liblapack.so.3-arm-linux-gnueabihf) in auto mode Setting up gettext (0.23.1-1) ... Setting up libtool (2.5.4-2) ... Setting up libidn2-0:armhf (2.3.7-2+b1) ... Setting up intltool-debian (0.35.0+20060710.6) ... Setting up dh-autoreconf (20) ... Setting up libp11-kit0:armhf (0.25.5-3) ... Setting up libgssapi-krb5-2:armhf (1.21.3-4) ... Setting up libjs-sphinxdoc (8.1.3-4) ... Setting up libreadline8t64:armhf (8.2-6) ... Setting up dh-strip-nondeterminism (1.14.1-1) ... Setting up groff-base (1.23.0-7) ... Setting up libarchive13t64:armhf (3.7.4-1.1) ... Setting up libpython3.13-stdlib:armhf (3.13.1-3) ... Setting up libpython3-stdlib:armhf (3.13.1-2) ... Setting up libpython3.13:armhf (3.13.1-3) ... Setting up libgnutls30t64:armhf (3.8.8-2) ... Setting up libtirpc3t64:armhf (1.3.4+ds-1.3+b1) ... Setting up python3.13 (3.13.1-3) ... Setting up po-debconf (1.0.21+nmu1) ... Setting up libpsl5t64:armhf (0.21.2-1.1+b1) ... Setting up python3 (3.13.1-2) ... Setting up python3-zipp (3.21.0-1) ... Setting up python3-autocommand (2.2.2-3) ... Setting up man-db (2.13.0-1) ... Not building database; man-db/auto-update is not 'true'. Setting up python3-packaging (24.2-1) ... Setting up librtmp1:armhf (2.4+20151223.gitfa8646d.1-2+b5) ... Setting up libpython3.13-dev:armhf (3.13.1-3) ... Setting up python3-typing-extensions (4.12.2-2) ... Setting up python3-numpy (1:2.2.2+ds-2) ... Setting up python3-pluggy (1.5.0-1) ... Setting up libnsl2:armhf (1.3.0-3+b3) ... Setting up python3-more-itertools (10.6.0-1) ... Setting up python3-iniconfig (1.1.1-2) ... Setting up libpython3-dev:armhf (3.13.1-2) ... Setting up python3-jaraco.functools (4.1.0-1) ... Setting up libpython3.12-stdlib:armhf (3.12.8-5) ... Setting up python3-jaraco.context (6.0.0-1) ... Setting up libcurl4t64:armhf (8.11.1-1+b1) ... Setting up python3.13-dev (3.13.1-3) ... Setting up python3-pytest (8.3.4-1) ... Setting up python3.12 (3.12.8-5) ... Setting up python3-typeguard (4.4.1-1) ... Setting up python3-all (3.13.1-2) ... Setting up debhelper (13.24.1) ... Setting up libpython3.12t64:armhf (3.12.8-5) ... Setting up python3-inflect (7.3.1-2) ... Setting up python3-jaraco.text (4.0.0-1) ... Setting up python3-dev (3.13.1-2) ... Setting up cmake (3.31.4-2) ... Setting up python3-pkg-resources (75.6.0-1) ... Setting up python3-setuptools (75.6.0-1) ... Setting up libpython3.12-dev:armhf (3.12.8-5) ... Setting up python3-setuptools-scm (8.1.0-1) ... Setting up libpython3-all-dev:armhf (3.13.1-2) ... Setting up python3.12-dev (3.12.8-5) ... Setting up python3-pytest-runner (2.11.1-4) ... Setting up dh-python (6.20250108) ... Setting up python3-all-dev (3.13.1-2) ... Processing triggers for libc-bin (2.40-6) ... Reading package lists... Building dependency tree... Reading state information... Reading extended state information... Initializing package states... Writing extended state information... Building tag database... -> Finished parsing the build-deps Reading package lists... Building dependency tree... Reading state information... fakeroot is already the newest version (1.37-1). 0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded. I: Building the package I: Running cd /build/reproducible-path/segyio-1.8.3/ && env PATH="/usr/sbin:/usr/bin:/sbin:/bin:/usr/games" HOME="/nonexistent/first-build" dpkg-buildpackage -us -uc -b && env PATH="/usr/sbin:/usr/bin:/sbin:/bin:/usr/games" HOME="/nonexistent/first-build" dpkg-genchanges -S > ../segyio_1.8.3-1.2_source.changes dpkg-buildpackage: info: source package segyio dpkg-buildpackage: info: source version 1.8.3-1.2 dpkg-buildpackage: info: source distribution unstable dpkg-buildpackage: info: source changed by Adrian Bunk dpkg-source --before-build . dpkg-buildpackage: info: host architecture armhf debian/rules clean dh clean --with python3 --buildsystem=cmake debian/rules override_dh_auto_clean make[1]: Entering directory '/build/reproducible-path/segyio-1.8.3' dh_auto_clean dh_auto_clean --builddirectory=static-arm-linux-gnueabihf dh_auto_clean --buildsystem=pybuild I: pybuild base:311: python3.12 setup.py clean /build/reproducible-path/segyio-1.8.3/setup.py:90: DeprecationWarning: Attribute s is deprecated and will be removed in Python 3.14; use value instead pkgversion['version'] = node.value.s /usr/lib/python3/dist-packages/setuptools/__init__.py:94: _DeprecatedInstaller: setuptools.installer and fetch_build_eggs are deprecated. !! ******************************************************************************** Requirements should be satisfied by a PEP 517 installer. If you are using pip, you can try `pip install --use-pep517`. ******************************************************************************** !! dist.fetch_build_eggs(dist.setup_requires) /usr/lib/python3/dist-packages/setuptools/_distutils/dist.py:261: UserWarning: Unknown distribution option: 'tests_require' warnings.warn(msg) running clean removing '/build/reproducible-path/segyio-1.8.3/.pybuild/cpython3_3.12_segyio/build' (and everything under it) 'build/bdist.linux-armv7l' does not exist -- can't clean it 'build/scripts-3.12' does not exist -- can't clean it I: pybuild base:311: python3.13 setup.py clean /build/reproducible-path/segyio-1.8.3/setup.py:90: DeprecationWarning: Attribute s is deprecated and will be removed in Python 3.14; use value instead pkgversion['version'] = node.value.s /usr/lib/python3/dist-packages/setuptools/__init__.py:94: _DeprecatedInstaller: setuptools.installer and fetch_build_eggs are deprecated. !! ******************************************************************************** Requirements should be satisfied by a PEP 517 installer. If you are using pip, you can try `pip install --use-pep517`. ******************************************************************************** !! dist.fetch_build_eggs(dist.setup_requires) /usr/lib/python3/dist-packages/setuptools/_distutils/dist.py:261: UserWarning: Unknown distribution option: 'tests_require' warnings.warn(msg) running clean removing '/build/reproducible-path/segyio-1.8.3/.pybuild/cpython3_3.13_segyio/build' (and everything under it) 'build/bdist.linux-armv7l' does not exist -- can't clean it 'build/scripts-3.13' does not exist -- can't clean it make[1]: Leaving directory '/build/reproducible-path/segyio-1.8.3' dh_autoreconf_clean -O--buildsystem=cmake dh_clean -O--buildsystem=cmake debian/rules binary dh binary --with python3 --buildsystem=cmake dh_update_autotools_config -O--buildsystem=cmake dh_autoreconf -O--buildsystem=cmake debian/rules override_dh_auto_configure make[1]: Entering directory '/build/reproducible-path/segyio-1.8.3' dh_auto_configure \ -- -DBUILD_SHARED_LIBS=ON -DBUILD_PYTHON=OFF cd obj-arm-linux-gnueabihf && DEB_PYTHON_INSTALL_LAYOUT=deb PKG_CONFIG=/usr/bin/pkg-config cmake -DCMAKE_INSTALL_PREFIX=/usr -DCMAKE_BUILD_TYPE=None -DCMAKE_INSTALL_SYSCONFDIR=/etc -DCMAKE_INSTALL_LOCALSTATEDIR=/var -DCMAKE_EXPORT_NO_PACKAGE_REGISTRY=ON -DCMAKE_FIND_USE_PACKAGE_REGISTRY=OFF -DCMAKE_FIND_PACKAGE_NO_PACKAGE_REGISTRY=ON -DFETCHCONTENT_FULLY_DISCONNECTED=ON "-GUnix Makefiles" -DCMAKE_VERBOSE_MAKEFILE=ON -DCMAKE_INSTALL_LIBDIR=lib/arm-linux-gnueabihf -DBUILD_SHARED_LIBS=ON -DBUILD_PYTHON=OFF .. CMake Deprecation Warning at CMakeLists.txt:1 (cmake_minimum_required): Compatibility with CMake < 3.10 will be removed from a future version of CMake. Update the VERSION argument value. Or, use the ... syntax to tell CMake that the project requires at least but has been updated to work with policies introduced by or earlier. -- The C compiler identification is GNU 14.2.0 -- The CXX compiler identification is GNU 14.2.0 -- Detecting C compiler ABI info -- Detecting C compiler ABI info - done -- Check for working C compiler: /usr/bin/cc - skipped -- Detecting C compile features -- Detecting C compile features - done -- Detecting CXX compiler ABI info -- Detecting CXX compiler ABI info - done -- Check for working CXX compiler: /usr/bin/c++ - skipped -- Detecting CXX compile features -- Detecting CXX compile features - done -- Found version 1.8.3 from segyio/version.py -- segyio version 1.8.3 -- Looking for getopt.h -- Looking for getopt.h - found -- Looking for sys/mman.h -- Looking for sys/mman.h - found -- Looking for sys/stat.h -- Looking for sys/stat.h - found -- Looking for getopt_long -- Looking for getopt_long - found -- Looking for _fstati64 -- Looking for _fstati64 - not found -- Looking for _ftelli64 -- Looking for _ftelli64 - not found -- Looking for ftello -- Looking for ftello - found CMake Deprecation Warning at external/catch2/CMakeLists.txt:1 (cmake_minimum_required): Compatibility with CMake < 3.10 will be removed from a future version of CMake. Update the VERSION argument value. Or, use the ... syntax to tell CMake that the project requires at least but has been updated to work with policies introduced by or earlier. -- Configuring done (13.0s) -- Generating done (0.4s) CMake Warning: Manually-specified variables were not used by the project: CMAKE_EXPORT_NO_PACKAGE_REGISTRY CMAKE_FIND_PACKAGE_NO_PACKAGE_REGISTRY CMAKE_FIND_USE_PACKAGE_REGISTRY FETCHCONTENT_FULLY_DISCONNECTED -- Build files have been written to: /build/reproducible-path/segyio-1.8.3/obj-arm-linux-gnueabihf dh_auto_configure --builddirectory=static-arm-linux-gnueabihf \ -- -DBUILD_SHARED_LIBS=OFF -DBUILD_PYTHON=OFF -DBUILD_TESTING=OFF cd static-arm-linux-gnueabihf && DEB_PYTHON_INSTALL_LAYOUT=deb PKG_CONFIG=/usr/bin/pkg-config cmake -DCMAKE_INSTALL_PREFIX=/usr -DCMAKE_BUILD_TYPE=None -DCMAKE_INSTALL_SYSCONFDIR=/etc -DCMAKE_INSTALL_LOCALSTATEDIR=/var -DCMAKE_EXPORT_NO_PACKAGE_REGISTRY=ON -DCMAKE_FIND_USE_PACKAGE_REGISTRY=OFF -DCMAKE_FIND_PACKAGE_NO_PACKAGE_REGISTRY=ON -DFETCHCONTENT_FULLY_DISCONNECTED=ON "-GUnix Makefiles" -DCMAKE_VERBOSE_MAKEFILE=ON -DCMAKE_INSTALL_LIBDIR=lib/arm-linux-gnueabihf -DBUILD_SHARED_LIBS=OFF -DBUILD_PYTHON=OFF -DBUILD_TESTING=OFF .. CMake Deprecation Warning at CMakeLists.txt:1 (cmake_minimum_required): Compatibility with CMake < 3.10 will be removed from a future version of CMake. Update the VERSION argument value. Or, use the ... syntax to tell CMake that the project requires at least but has been updated to work with policies introduced by or earlier. -- The C compiler identification is GNU 14.2.0 -- The CXX compiler identification is GNU 14.2.0 -- Detecting C compiler ABI info -- Detecting C compiler ABI info - done -- Check for working C compiler: /usr/bin/cc - skipped -- Detecting C compile features -- Detecting C compile features - done -- Detecting CXX compiler ABI info -- Detecting CXX compiler ABI info - done -- Check for working CXX compiler: /usr/bin/c++ - skipped -- Detecting CXX compile features -- Detecting CXX compile features - done -- Found version 1.8.3 from segyio/version.py -- segyio version 1.8.3 -- Looking for getopt.h -- Looking for getopt.h - found -- Looking for sys/mman.h -- Looking for sys/mman.h - found -- Looking for sys/stat.h -- Looking for sys/stat.h - found -- Looking for getopt_long -- Looking for getopt_long - found -- Looking for _fstati64 -- Looking for _fstati64 - not found -- Looking for _ftelli64 -- Looking for _ftelli64 - not found -- Looking for ftello -- Looking for ftello - found CMake Deprecation Warning at external/catch2/CMakeLists.txt:1 (cmake_minimum_required): Compatibility with CMake < 3.10 will be removed from a future version of CMake. Update the VERSION argument value. Or, use the ... syntax to tell CMake that the project requires at least but has been updated to work with policies introduced by or earlier. -- Configuring done (11.6s) -- Generating done (0.2s) CMake Warning: Manually-specified variables were not used by the project: CMAKE_EXPORT_NO_PACKAGE_REGISTRY CMAKE_FIND_PACKAGE_NO_PACKAGE_REGISTRY CMAKE_FIND_USE_PACKAGE_REGISTRY FETCHCONTENT_FULLY_DISCONNECTED -- Build files have been written to: /build/reproducible-path/segyio-1.8.3/static-arm-linux-gnueabihf make[1]: Leaving directory '/build/reproducible-path/segyio-1.8.3' debian/rules override_dh_auto_build make[1]: Entering directory '/build/reproducible-path/segyio-1.8.3' dh_auto_build cd obj-arm-linux-gnueabihf && make -j3 VERBOSE=1 make[2]: Entering directory '/build/reproducible-path/segyio-1.8.3/obj-arm-linux-gnueabihf' /usr/bin/cmake -S/build/reproducible-path/segyio-1.8.3 -B/build/reproducible-path/segyio-1.8.3/obj-arm-linux-gnueabihf --check-build-system CMakeFiles/Makefile.cmake 0 /usr/bin/cmake -E cmake_progress_start /build/reproducible-path/segyio-1.8.3/obj-arm-linux-gnueabihf/CMakeFiles /build/reproducible-path/segyio-1.8.3/obj-arm-linux-gnueabihf//CMakeFiles/progress.marks make -f CMakeFiles/Makefile2 all make[3]: Entering directory '/build/reproducible-path/segyio-1.8.3/obj-arm-linux-gnueabihf' make -f CMakeFiles/doc.dir/build.make CMakeFiles/doc.dir/depend make -f external/catch2/CMakeFiles/catch2.dir/build.make external/catch2/CMakeFiles/catch2.dir/depend make -f lib/CMakeFiles/segyio.dir/build.make lib/CMakeFiles/segyio.dir/depend make[4]: Entering directory '/build/reproducible-path/segyio-1.8.3/obj-arm-linux-gnueabihf' cd /build/reproducible-path/segyio-1.8.3/obj-arm-linux-gnueabihf && /usr/bin/cmake -E cmake_depends "Unix Makefiles" /build/reproducible-path/segyio-1.8.3 /build/reproducible-path/segyio-1.8.3 /build/reproducible-path/segyio-1.8.3/obj-arm-linux-gnueabihf /build/reproducible-path/segyio-1.8.3/obj-arm-linux-gnueabihf /build/reproducible-path/segyio-1.8.3/obj-arm-linux-gnueabihf/CMakeFiles/doc.dir/DependInfo.cmake "--color=" make[4]: Entering directory '/build/reproducible-path/segyio-1.8.3/obj-arm-linux-gnueabihf' cd /build/reproducible-path/segyio-1.8.3/obj-arm-linux-gnueabihf && /usr/bin/cmake -E cmake_depends "Unix Makefiles" /build/reproducible-path/segyio-1.8.3 /build/reproducible-path/segyio-1.8.3/external/catch2 /build/reproducible-path/segyio-1.8.3/obj-arm-linux-gnueabihf /build/reproducible-path/segyio-1.8.3/obj-arm-linux-gnueabihf/external/catch2 /build/reproducible-path/segyio-1.8.3/obj-arm-linux-gnueabihf/external/catch2/CMakeFiles/catch2.dir/DependInfo.cmake "--color=" make[4]: Entering directory '/build/reproducible-path/segyio-1.8.3/obj-arm-linux-gnueabihf' cd /build/reproducible-path/segyio-1.8.3/obj-arm-linux-gnueabihf && /usr/bin/cmake -E cmake_depends "Unix Makefiles" /build/reproducible-path/segyio-1.8.3 /build/reproducible-path/segyio-1.8.3/lib /build/reproducible-path/segyio-1.8.3/obj-arm-linux-gnueabihf /build/reproducible-path/segyio-1.8.3/obj-arm-linux-gnueabihf/lib /build/reproducible-path/segyio-1.8.3/obj-arm-linux-gnueabihf/lib/CMakeFiles/segyio.dir/DependInfo.cmake "--color=" make[4]: Leaving directory '/build/reproducible-path/segyio-1.8.3/obj-arm-linux-gnueabihf' make[4]: Leaving directory '/build/reproducible-path/segyio-1.8.3/obj-arm-linux-gnueabihf' make[4]: Leaving directory '/build/reproducible-path/segyio-1.8.3/obj-arm-linux-gnueabihf' make -f CMakeFiles/doc.dir/build.make CMakeFiles/doc.dir/build make -f external/catch2/CMakeFiles/catch2.dir/build.make external/catch2/CMakeFiles/catch2.dir/build make -f lib/CMakeFiles/segyio.dir/build.make lib/CMakeFiles/segyio.dir/build make[4]: Entering directory '/build/reproducible-path/segyio-1.8.3/obj-arm-linux-gnueabihf' make[4]: Nothing to be done for 'CMakeFiles/doc.dir/build'. make[4]: Leaving directory '/build/reproducible-path/segyio-1.8.3/obj-arm-linux-gnueabihf' make[4]: Entering directory '/build/reproducible-path/segyio-1.8.3/obj-arm-linux-gnueabihf' make[4]: Entering directory '/build/reproducible-path/segyio-1.8.3/obj-arm-linux-gnueabihf' [ 7%] Built target doc [ 7%] Building C object lib/CMakeFiles/segyio.dir/src/segy.c.o [ 7%] Building CXX object external/catch2/CMakeFiles/catch2.dir/dummy.cpp.o cd /build/reproducible-path/segyio-1.8.3/obj-arm-linux-gnueabihf/lib && /usr/bin/cc -DHAVE_FTELLO -DHAVE_MMAP -DHAVE_SYS_STAT_H -Dsegyio_EXPORTS -I/build/reproducible-path/segyio-1.8.3/lib/include -I/build/reproducible-path/segyio-1.8.3/lib/src -g -O2 -Werror=implicit-function-declaration -ffile-prefix-map=/build/reproducible-path/segyio-1.8.3=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -D_TIME_BITS=64 -Wdate-time -D_FORTIFY_SOURCE=2 -fPIC -std=c99 -MD -MT lib/CMakeFiles/segyio.dir/src/segy.c.o -MF CMakeFiles/segyio.dir/src/segy.c.o.d -o CMakeFiles/segyio.dir/src/segy.c.o -c /build/reproducible-path/segyio-1.8.3/lib/src/segy.c cd /build/reproducible-path/segyio-1.8.3/obj-arm-linux-gnueabihf/external/catch2 && /usr/bin/c++ -isystem /build/reproducible-path/segyio-1.8.3/external/catch2 -g -O2 -ffile-prefix-map=/build/reproducible-path/segyio-1.8.3=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -D_TIME_BITS=64 -Wdate-time -D_FORTIFY_SOURCE=2 -MD -MT external/catch2/CMakeFiles/catch2.dir/dummy.cpp.o -MF CMakeFiles/catch2.dir/dummy.cpp.o.d -o CMakeFiles/catch2.dir/dummy.cpp.o -c /build/reproducible-path/segyio-1.8.3/external/catch2/dummy.cpp [ 11%] Linking CXX static library libcatch2.a cd /build/reproducible-path/segyio-1.8.3/obj-arm-linux-gnueabihf/external/catch2 && /usr/bin/cmake -P CMakeFiles/catch2.dir/cmake_clean_target.cmake cd /build/reproducible-path/segyio-1.8.3/obj-arm-linux-gnueabihf/external/catch2 && /usr/bin/cmake -E cmake_link_script CMakeFiles/catch2.dir/link.txt --verbose=1 /usr/bin/ar qc libcatch2.a CMakeFiles/catch2.dir/dummy.cpp.o /usr/bin/ranlib libcatch2.a make[4]: Leaving directory '/build/reproducible-path/segyio-1.8.3/obj-arm-linux-gnueabihf' [ 11%] Built target catch2 [ 15%] Linking C shared library libsegyio.so cd /build/reproducible-path/segyio-1.8.3/obj-arm-linux-gnueabihf/lib && /usr/bin/cmake -E cmake_link_script CMakeFiles/segyio.dir/link.txt --verbose=1 /usr/bin/cc -fPIC -g -O2 -Werror=implicit-function-declaration -ffile-prefix-map=/build/reproducible-path/segyio-1.8.3=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -D_TIME_BITS=64 -Wdate-time -D_FORTIFY_SOURCE=2 -Wl,--dependency-file=CMakeFiles/segyio.dir/link.d -Wl,-z,relro -Wl,--as-needed -shared -Wl,-soname,libsegyio.so.1 -o libsegyio.so.1 CMakeFiles/segyio.dir/src/segy.c.o -lm cd /build/reproducible-path/segyio-1.8.3/obj-arm-linux-gnueabihf/lib && /usr/bin/cmake -E cmake_symlink_library libsegyio.so.1 libsegyio.so.1 libsegyio.so make[4]: Leaving directory '/build/reproducible-path/segyio-1.8.3/obj-arm-linux-gnueabihf' [ 15%] Built target segyio make -f lib/CMakeFiles/c.segy.dir/build.make lib/CMakeFiles/c.segy.dir/depend make -f applications/CMakeFiles/apputils.dir/build.make applications/CMakeFiles/apputils.dir/depend make -f applications/CMakeFiles/segyinfo.dir/build.make applications/CMakeFiles/segyinfo.dir/depend make[4]: Entering directory '/build/reproducible-path/segyio-1.8.3/obj-arm-linux-gnueabihf' cd /build/reproducible-path/segyio-1.8.3/obj-arm-linux-gnueabihf && /usr/bin/cmake -E cmake_depends "Unix Makefiles" /build/reproducible-path/segyio-1.8.3 /build/reproducible-path/segyio-1.8.3/lib /build/reproducible-path/segyio-1.8.3/obj-arm-linux-gnueabihf /build/reproducible-path/segyio-1.8.3/obj-arm-linux-gnueabihf/lib /build/reproducible-path/segyio-1.8.3/obj-arm-linux-gnueabihf/lib/CMakeFiles/c.segy.dir/DependInfo.cmake "--color=" make[4]: Entering directory '/build/reproducible-path/segyio-1.8.3/obj-arm-linux-gnueabihf' cd /build/reproducible-path/segyio-1.8.3/obj-arm-linux-gnueabihf && /usr/bin/cmake -E cmake_depends "Unix Makefiles" /build/reproducible-path/segyio-1.8.3 /build/reproducible-path/segyio-1.8.3/applications /build/reproducible-path/segyio-1.8.3/obj-arm-linux-gnueabihf /build/reproducible-path/segyio-1.8.3/obj-arm-linux-gnueabihf/applications /build/reproducible-path/segyio-1.8.3/obj-arm-linux-gnueabihf/applications/CMakeFiles/apputils.dir/DependInfo.cmake "--color=" make[4]: Entering directory '/build/reproducible-path/segyio-1.8.3/obj-arm-linux-gnueabihf' cd /build/reproducible-path/segyio-1.8.3/obj-arm-linux-gnueabihf && /usr/bin/cmake -E cmake_depends "Unix Makefiles" /build/reproducible-path/segyio-1.8.3 /build/reproducible-path/segyio-1.8.3/applications /build/reproducible-path/segyio-1.8.3/obj-arm-linux-gnueabihf /build/reproducible-path/segyio-1.8.3/obj-arm-linux-gnueabihf/applications /build/reproducible-path/segyio-1.8.3/obj-arm-linux-gnueabihf/applications/CMakeFiles/segyinfo.dir/DependInfo.cmake "--color=" make[4]: Leaving directory '/build/reproducible-path/segyio-1.8.3/obj-arm-linux-gnueabihf' make[4]: Leaving directory '/build/reproducible-path/segyio-1.8.3/obj-arm-linux-gnueabihf' make -f lib/CMakeFiles/c.segy.dir/build.make lib/CMakeFiles/c.segy.dir/build make[4]: Leaving directory '/build/reproducible-path/segyio-1.8.3/obj-arm-linux-gnueabihf' make -f applications/CMakeFiles/apputils.dir/build.make applications/CMakeFiles/apputils.dir/build make -f applications/CMakeFiles/segyinfo.dir/build.make applications/CMakeFiles/segyinfo.dir/build make[4]: Entering directory '/build/reproducible-path/segyio-1.8.3/obj-arm-linux-gnueabihf' make[4]: Entering directory '/build/reproducible-path/segyio-1.8.3/obj-arm-linux-gnueabihf' make[4]: Entering directory '/build/reproducible-path/segyio-1.8.3/obj-arm-linux-gnueabihf' [ 26%] Building CXX object lib/CMakeFiles/c.segy.dir/test/testsuite.cpp.o [ 26%] Building C object applications/CMakeFiles/segyinfo.dir/segyinfo.c.o [ 26%] Building C object applications/CMakeFiles/apputils.dir/apputils.c.o cd /build/reproducible-path/segyio-1.8.3/obj-arm-linux-gnueabihf/applications && /usr/bin/cc -I/build/reproducible-path/segyio-1.8.3/lib/include -g -O2 -Werror=implicit-function-declaration -ffile-prefix-map=/build/reproducible-path/segyio-1.8.3=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -D_TIME_BITS=64 -Wdate-time -D_FORTIFY_SOURCE=2 -std=c99 -MD -MT applications/CMakeFiles/segyinfo.dir/segyinfo.c.o -MF CMakeFiles/segyinfo.dir/segyinfo.c.o.d -o CMakeFiles/segyinfo.dir/segyinfo.c.o -c /build/reproducible-path/segyio-1.8.3/applications/segyinfo.c cd /build/reproducible-path/segyio-1.8.3/obj-arm-linux-gnueabihf/lib && /usr/bin/c++ -DHAVE_MMAP -I/build/reproducible-path/segyio-1.8.3/lib/src -I/build/reproducible-path/segyio-1.8.3/lib/experimental -I/build/reproducible-path/segyio-1.8.3/lib/include -isystem /build/reproducible-path/segyio-1.8.3/external/catch2 -g -O2 -ffile-prefix-map=/build/reproducible-path/segyio-1.8.3=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -D_TIME_BITS=64 -Wdate-time -D_FORTIFY_SOURCE=2 -std=c++11 -DHAVE_MMAP -MD -MT lib/CMakeFiles/c.segy.dir/test/testsuite.cpp.o -MF CMakeFiles/c.segy.dir/test/testsuite.cpp.o.d -o CMakeFiles/c.segy.dir/test/testsuite.cpp.o -c /build/reproducible-path/segyio-1.8.3/lib/test/testsuite.cpp cd /build/reproducible-path/segyio-1.8.3/obj-arm-linux-gnueabihf/applications && /usr/bin/cc -Dsegyio_MAJOR=1 -Dsegyio_MINOR=8 -I/build/reproducible-path/segyio-1.8.3/lib/include -g -O2 -Werror=implicit-function-declaration -ffile-prefix-map=/build/reproducible-path/segyio-1.8.3=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -D_TIME_BITS=64 -Wdate-time -D_FORTIFY_SOURCE=2 -std=c99 -MD -MT applications/CMakeFiles/apputils.dir/apputils.c.o -MF CMakeFiles/apputils.dir/apputils.c.o.d -o CMakeFiles/apputils.dir/apputils.c.o -c /build/reproducible-path/segyio-1.8.3/applications/apputils.c [ 30%] Linking C static library libapputils.a cd /build/reproducible-path/segyio-1.8.3/obj-arm-linux-gnueabihf/applications && /usr/bin/cmake -P CMakeFiles/apputils.dir/cmake_clean_target.cmake cd /build/reproducible-path/segyio-1.8.3/obj-arm-linux-gnueabihf/applications && /usr/bin/cmake -E cmake_link_script CMakeFiles/apputils.dir/link.txt --verbose=1 /usr/bin/ar qc libapputils.a CMakeFiles/apputils.dir/apputils.c.o /usr/bin/ranlib libapputils.a make[4]: Leaving directory '/build/reproducible-path/segyio-1.8.3/obj-arm-linux-gnueabihf' [ 30%] Built target apputils make -f applications/CMakeFiles/segyinspect.dir/build.make applications/CMakeFiles/segyinspect.dir/depend make[4]: Entering directory '/build/reproducible-path/segyio-1.8.3/obj-arm-linux-gnueabihf' cd /build/reproducible-path/segyio-1.8.3/obj-arm-linux-gnueabihf && /usr/bin/cmake -E cmake_depends "Unix Makefiles" /build/reproducible-path/segyio-1.8.3 /build/reproducible-path/segyio-1.8.3/applications /build/reproducible-path/segyio-1.8.3/obj-arm-linux-gnueabihf /build/reproducible-path/segyio-1.8.3/obj-arm-linux-gnueabihf/applications /build/reproducible-path/segyio-1.8.3/obj-arm-linux-gnueabihf/applications/CMakeFiles/segyinspect.dir/DependInfo.cmake "--color=" [ 34%] Linking C executable segyinfo cd /build/reproducible-path/segyio-1.8.3/obj-arm-linux-gnueabihf/applications && /usr/bin/cmake -E cmake_link_script CMakeFiles/segyinfo.dir/link.txt --verbose=1 make[4]: Leaving directory '/build/reproducible-path/segyio-1.8.3/obj-arm-linux-gnueabihf' make -f applications/CMakeFiles/segyinspect.dir/build.make applications/CMakeFiles/segyinspect.dir/build make[4]: Entering directory '/build/reproducible-path/segyio-1.8.3/obj-arm-linux-gnueabihf' [ 38%] Building C object applications/CMakeFiles/segyinspect.dir/segyinspect.c.o cd /build/reproducible-path/segyio-1.8.3/obj-arm-linux-gnueabihf/applications && /usr/bin/cc -I/build/reproducible-path/segyio-1.8.3/lib/include -g -O2 -Werror=implicit-function-declaration -ffile-prefix-map=/build/reproducible-path/segyio-1.8.3=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -D_TIME_BITS=64 -Wdate-time -D_FORTIFY_SOURCE=2 -std=c99 -MD -MT applications/CMakeFiles/segyinspect.dir/segyinspect.c.o -MF CMakeFiles/segyinspect.dir/segyinspect.c.o.d -o CMakeFiles/segyinspect.dir/segyinspect.c.o -c /build/reproducible-path/segyio-1.8.3/applications/segyinspect.c /usr/bin/cc -g -O2 -Werror=implicit-function-declaration -ffile-prefix-map=/build/reproducible-path/segyio-1.8.3=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -D_TIME_BITS=64 -Wdate-time -D_FORTIFY_SOURCE=2 -Wl,-z,relro -Wl,--as-needed -rdynamic -Wl,--dependency-file=CMakeFiles/segyinfo.dir/link.d CMakeFiles/segyinfo.dir/segyinfo.c.o -o segyinfo -Wl,-rpath,/build/reproducible-path/segyio-1.8.3/obj-arm-linux-gnueabihf/lib ../lib/libsegyio.so.1 -lm make[4]: Leaving directory '/build/reproducible-path/segyio-1.8.3/obj-arm-linux-gnueabihf' [ 38%] Built target segyinfo make -f applications/CMakeFiles/segyio-cath.dir/build.make applications/CMakeFiles/segyio-cath.dir/depend make[4]: Entering directory '/build/reproducible-path/segyio-1.8.3/obj-arm-linux-gnueabihf' cd /build/reproducible-path/segyio-1.8.3/obj-arm-linux-gnueabihf && /usr/bin/cmake -E cmake_depends "Unix Makefiles" /build/reproducible-path/segyio-1.8.3 /build/reproducible-path/segyio-1.8.3/applications /build/reproducible-path/segyio-1.8.3/obj-arm-linux-gnueabihf /build/reproducible-path/segyio-1.8.3/obj-arm-linux-gnueabihf/applications /build/reproducible-path/segyio-1.8.3/obj-arm-linux-gnueabihf/applications/CMakeFiles/segyio-cath.dir/DependInfo.cmake "--color=" make[4]: Leaving directory '/build/reproducible-path/segyio-1.8.3/obj-arm-linux-gnueabihf' make -f applications/CMakeFiles/segyio-cath.dir/build.make applications/CMakeFiles/segyio-cath.dir/build make[4]: Entering directory '/build/reproducible-path/segyio-1.8.3/obj-arm-linux-gnueabihf' [ 42%] Building C object applications/CMakeFiles/segyio-cath.dir/segyio-cath.c.o cd /build/reproducible-path/segyio-1.8.3/obj-arm-linux-gnueabihf/applications && /usr/bin/cc -Dsegyio_MAJOR=1 -Dsegyio_MINOR=8 -I/build/reproducible-path/segyio-1.8.3/lib/include -g -O2 -Werror=implicit-function-declaration -ffile-prefix-map=/build/reproducible-path/segyio-1.8.3=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -D_TIME_BITS=64 -Wdate-time -D_FORTIFY_SOURCE=2 -std=c99 -MD -MT applications/CMakeFiles/segyio-cath.dir/segyio-cath.c.o -MF CMakeFiles/segyio-cath.dir/segyio-cath.c.o.d -o CMakeFiles/segyio-cath.dir/segyio-cath.c.o -c /build/reproducible-path/segyio-1.8.3/applications/segyio-cath.c [ 46%] Linking C executable segyinspect cd /build/reproducible-path/segyio-1.8.3/obj-arm-linux-gnueabihf/applications && /usr/bin/cmake -E cmake_link_script CMakeFiles/segyinspect.dir/link.txt --verbose=1 /usr/bin/cc -g -O2 -Werror=implicit-function-declaration -ffile-prefix-map=/build/reproducible-path/segyio-1.8.3=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -D_TIME_BITS=64 -Wdate-time -D_FORTIFY_SOURCE=2 -Wl,-z,relro -Wl,--as-needed -rdynamic -Wl,--dependency-file=CMakeFiles/segyinspect.dir/link.d CMakeFiles/segyinspect.dir/segyinspect.c.o -o segyinspect -Wl,-rpath,/build/reproducible-path/segyio-1.8.3/obj-arm-linux-gnueabihf/lib ../lib/libsegyio.so.1 -lm make[4]: Leaving directory '/build/reproducible-path/segyio-1.8.3/obj-arm-linux-gnueabihf' [ 46%] Built target segyinspect make -f applications/CMakeFiles/segyio-catb.dir/build.make applications/CMakeFiles/segyio-catb.dir/depend make[4]: Entering directory '/build/reproducible-path/segyio-1.8.3/obj-arm-linux-gnueabihf' cd /build/reproducible-path/segyio-1.8.3/obj-arm-linux-gnueabihf && /usr/bin/cmake -E cmake_depends "Unix Makefiles" /build/reproducible-path/segyio-1.8.3 /build/reproducible-path/segyio-1.8.3/applications /build/reproducible-path/segyio-1.8.3/obj-arm-linux-gnueabihf /build/reproducible-path/segyio-1.8.3/obj-arm-linux-gnueabihf/applications /build/reproducible-path/segyio-1.8.3/obj-arm-linux-gnueabihf/applications/CMakeFiles/segyio-catb.dir/DependInfo.cmake "--color=" make[4]: Leaving directory '/build/reproducible-path/segyio-1.8.3/obj-arm-linux-gnueabihf' make -f applications/CMakeFiles/segyio-catb.dir/build.make applications/CMakeFiles/segyio-catb.dir/build make[4]: Entering directory '/build/reproducible-path/segyio-1.8.3/obj-arm-linux-gnueabihf' [ 50%] Building C object applications/CMakeFiles/segyio-catb.dir/segyio-catb.c.o cd /build/reproducible-path/segyio-1.8.3/obj-arm-linux-gnueabihf/applications && /usr/bin/cc -Dsegyio_MAJOR=1 -Dsegyio_MINOR=8 -I/build/reproducible-path/segyio-1.8.3/lib/include -g -O2 -Werror=implicit-function-declaration -ffile-prefix-map=/build/reproducible-path/segyio-1.8.3=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -D_TIME_BITS=64 -Wdate-time -D_FORTIFY_SOURCE=2 -std=c99 -MD -MT applications/CMakeFiles/segyio-catb.dir/segyio-catb.c.o -MF CMakeFiles/segyio-catb.dir/segyio-catb.c.o.d -o CMakeFiles/segyio-catb.dir/segyio-catb.c.o -c /build/reproducible-path/segyio-1.8.3/applications/segyio-catb.c [ 53%] Linking C executable segyio-cath cd /build/reproducible-path/segyio-1.8.3/obj-arm-linux-gnueabihf/applications && /usr/bin/cmake -E cmake_link_script CMakeFiles/segyio-cath.dir/link.txt --verbose=1 /usr/bin/cc -g -O2 -Werror=implicit-function-declaration -ffile-prefix-map=/build/reproducible-path/segyio-1.8.3=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -D_TIME_BITS=64 -Wdate-time -D_FORTIFY_SOURCE=2 -Wl,-z,relro -Wl,--as-needed -rdynamic -Wl,--dependency-file=CMakeFiles/segyio-cath.dir/link.d "CMakeFiles/segyio-cath.dir/segyio-cath.c.o" -o segyio-cath -Wl,-rpath,/build/reproducible-path/segyio-1.8.3/obj-arm-linux-gnueabihf/lib: libapputils.a ../lib/libsegyio.so.1 -lm make[4]: Leaving directory '/build/reproducible-path/segyio-1.8.3/obj-arm-linux-gnueabihf' [ 53%] Built target segyio-cath make -f applications/CMakeFiles/segyio-catr.dir/build.make applications/CMakeFiles/segyio-catr.dir/depend make[4]: Entering directory '/build/reproducible-path/segyio-1.8.3/obj-arm-linux-gnueabihf' cd /build/reproducible-path/segyio-1.8.3/obj-arm-linux-gnueabihf && /usr/bin/cmake -E cmake_depends "Unix Makefiles" /build/reproducible-path/segyio-1.8.3 /build/reproducible-path/segyio-1.8.3/applications /build/reproducible-path/segyio-1.8.3/obj-arm-linux-gnueabihf /build/reproducible-path/segyio-1.8.3/obj-arm-linux-gnueabihf/applications /build/reproducible-path/segyio-1.8.3/obj-arm-linux-gnueabihf/applications/CMakeFiles/segyio-catr.dir/DependInfo.cmake "--color=" make[4]: Leaving directory '/build/reproducible-path/segyio-1.8.3/obj-arm-linux-gnueabihf' make -f applications/CMakeFiles/segyio-catr.dir/build.make applications/CMakeFiles/segyio-catr.dir/build make[4]: Entering directory '/build/reproducible-path/segyio-1.8.3/obj-arm-linux-gnueabihf' [ 57%] Linking C executable segyio-catb cd /build/reproducible-path/segyio-1.8.3/obj-arm-linux-gnueabihf/applications && /usr/bin/cmake -E cmake_link_script CMakeFiles/segyio-catb.dir/link.txt --verbose=1 [ 61%] Building C object applications/CMakeFiles/segyio-catr.dir/segyio-catr.c.o cd /build/reproducible-path/segyio-1.8.3/obj-arm-linux-gnueabihf/applications && /usr/bin/cc -Dsegyio_MAJOR=1 -Dsegyio_MINOR=8 -I/build/reproducible-path/segyio-1.8.3/lib/include -g -O2 -Werror=implicit-function-declaration -ffile-prefix-map=/build/reproducible-path/segyio-1.8.3=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -D_TIME_BITS=64 -Wdate-time -D_FORTIFY_SOURCE=2 -std=c99 -MD -MT applications/CMakeFiles/segyio-catr.dir/segyio-catr.c.o -MF CMakeFiles/segyio-catr.dir/segyio-catr.c.o.d -o CMakeFiles/segyio-catr.dir/segyio-catr.c.o -c /build/reproducible-path/segyio-1.8.3/applications/segyio-catr.c /usr/bin/cc -g -O2 -Werror=implicit-function-declaration -ffile-prefix-map=/build/reproducible-path/segyio-1.8.3=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -D_TIME_BITS=64 -Wdate-time -D_FORTIFY_SOURCE=2 -Wl,-z,relro -Wl,--as-needed -rdynamic -Wl,--dependency-file=CMakeFiles/segyio-catb.dir/link.d "CMakeFiles/segyio-catb.dir/segyio-catb.c.o" -o segyio-catb -Wl,-rpath,/build/reproducible-path/segyio-1.8.3/obj-arm-linux-gnueabihf/lib: libapputils.a ../lib/libsegyio.so.1 -lm make[4]: Leaving directory '/build/reproducible-path/segyio-1.8.3/obj-arm-linux-gnueabihf' [ 61%] Built target segyio-catb make -f applications/CMakeFiles/segyio-crop.dir/build.make applications/CMakeFiles/segyio-crop.dir/depend make[4]: Entering directory '/build/reproducible-path/segyio-1.8.3/obj-arm-linux-gnueabihf' cd /build/reproducible-path/segyio-1.8.3/obj-arm-linux-gnueabihf && /usr/bin/cmake -E cmake_depends "Unix Makefiles" /build/reproducible-path/segyio-1.8.3 /build/reproducible-path/segyio-1.8.3/applications /build/reproducible-path/segyio-1.8.3/obj-arm-linux-gnueabihf /build/reproducible-path/segyio-1.8.3/obj-arm-linux-gnueabihf/applications /build/reproducible-path/segyio-1.8.3/obj-arm-linux-gnueabihf/applications/CMakeFiles/segyio-crop.dir/DependInfo.cmake "--color=" make[4]: Leaving directory '/build/reproducible-path/segyio-1.8.3/obj-arm-linux-gnueabihf' make -f applications/CMakeFiles/segyio-crop.dir/build.make applications/CMakeFiles/segyio-crop.dir/build make[4]: Entering directory '/build/reproducible-path/segyio-1.8.3/obj-arm-linux-gnueabihf' [ 65%] Building C object applications/CMakeFiles/segyio-crop.dir/segyio-crop.c.o cd /build/reproducible-path/segyio-1.8.3/obj-arm-linux-gnueabihf/applications && /usr/bin/cc -Dsegyio_MAJOR=1 -Dsegyio_MINOR=8 -I/build/reproducible-path/segyio-1.8.3/lib/include -g -O2 -Werror=implicit-function-declaration -ffile-prefix-map=/build/reproducible-path/segyio-1.8.3=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -D_TIME_BITS=64 -Wdate-time -D_FORTIFY_SOURCE=2 -std=c99 -MD -MT applications/CMakeFiles/segyio-crop.dir/segyio-crop.c.o -MF CMakeFiles/segyio-crop.dir/segyio-crop.c.o.d -o CMakeFiles/segyio-crop.dir/segyio-crop.c.o -c /build/reproducible-path/segyio-1.8.3/applications/segyio-crop.c [ 69%] Linking C executable segyio-catr cd /build/reproducible-path/segyio-1.8.3/obj-arm-linux-gnueabihf/applications && /usr/bin/cmake -E cmake_link_script CMakeFiles/segyio-catr.dir/link.txt --verbose=1 /usr/bin/cc -g -O2 -Werror=implicit-function-declaration -ffile-prefix-map=/build/reproducible-path/segyio-1.8.3=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -D_TIME_BITS=64 -Wdate-time -D_FORTIFY_SOURCE=2 -Wl,-z,relro -Wl,--as-needed -rdynamic -Wl,--dependency-file=CMakeFiles/segyio-catr.dir/link.d "CMakeFiles/segyio-catr.dir/segyio-catr.c.o" -o segyio-catr -Wl,-rpath,/build/reproducible-path/segyio-1.8.3/obj-arm-linux-gnueabihf/lib: libapputils.a ../lib/libsegyio.so.1 -lm make[4]: Leaving directory '/build/reproducible-path/segyio-1.8.3/obj-arm-linux-gnueabihf' [ 69%] Built target segyio-catr make -f applications/CMakeFiles/flip-endianness.dir/build.make applications/CMakeFiles/flip-endianness.dir/depend make[4]: Entering directory '/build/reproducible-path/segyio-1.8.3/obj-arm-linux-gnueabihf' cd /build/reproducible-path/segyio-1.8.3/obj-arm-linux-gnueabihf && /usr/bin/cmake -E cmake_depends "Unix Makefiles" /build/reproducible-path/segyio-1.8.3 /build/reproducible-path/segyio-1.8.3/applications /build/reproducible-path/segyio-1.8.3/obj-arm-linux-gnueabihf /build/reproducible-path/segyio-1.8.3/obj-arm-linux-gnueabihf/applications /build/reproducible-path/segyio-1.8.3/obj-arm-linux-gnueabihf/applications/CMakeFiles/flip-endianness.dir/DependInfo.cmake "--color=" make[4]: Leaving directory '/build/reproducible-path/segyio-1.8.3/obj-arm-linux-gnueabihf' make -f applications/CMakeFiles/flip-endianness.dir/build.make applications/CMakeFiles/flip-endianness.dir/build make[4]: Entering directory '/build/reproducible-path/segyio-1.8.3/obj-arm-linux-gnueabihf' [ 73%] Building CXX object applications/CMakeFiles/flip-endianness.dir/flip-endianness.cpp.o cd /build/reproducible-path/segyio-1.8.3/obj-arm-linux-gnueabihf/applications && /usr/bin/c++ -I/build/reproducible-path/segyio-1.8.3/lib/include -g -O2 -ffile-prefix-map=/build/reproducible-path/segyio-1.8.3=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -D_TIME_BITS=64 -Wdate-time -D_FORTIFY_SOURCE=2 -std=c++11 -MD -MT applications/CMakeFiles/flip-endianness.dir/flip-endianness.cpp.o -MF CMakeFiles/flip-endianness.dir/flip-endianness.cpp.o.d -o CMakeFiles/flip-endianness.dir/flip-endianness.cpp.o -c /build/reproducible-path/segyio-1.8.3/applications/flip-endianness.cpp [ 76%] Linking C executable segyio-crop cd /build/reproducible-path/segyio-1.8.3/obj-arm-linux-gnueabihf/applications && /usr/bin/cmake -E cmake_link_script CMakeFiles/segyio-crop.dir/link.txt --verbose=1 /usr/bin/cc -g -O2 -Werror=implicit-function-declaration -ffile-prefix-map=/build/reproducible-path/segyio-1.8.3=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -D_TIME_BITS=64 -Wdate-time -D_FORTIFY_SOURCE=2 -Wl,-z,relro -Wl,--as-needed -rdynamic -Wl,--dependency-file=CMakeFiles/segyio-crop.dir/link.d "CMakeFiles/segyio-crop.dir/segyio-crop.c.o" -o segyio-crop -Wl,-rpath,/build/reproducible-path/segyio-1.8.3/obj-arm-linux-gnueabihf/lib: libapputils.a ../lib/libsegyio.so.1 -lm make[4]: Leaving directory '/build/reproducible-path/segyio-1.8.3/obj-arm-linux-gnueabihf' [ 76%] Built target segyio-crop make -f applications/CMakeFiles/test-app-output.dir/build.make applications/CMakeFiles/test-app-output.dir/depend make[4]: Entering directory '/build/reproducible-path/segyio-1.8.3/obj-arm-linux-gnueabihf' cd /build/reproducible-path/segyio-1.8.3/obj-arm-linux-gnueabihf && /usr/bin/cmake -E cmake_depends "Unix Makefiles" /build/reproducible-path/segyio-1.8.3 /build/reproducible-path/segyio-1.8.3/applications /build/reproducible-path/segyio-1.8.3/obj-arm-linux-gnueabihf /build/reproducible-path/segyio-1.8.3/obj-arm-linux-gnueabihf/applications /build/reproducible-path/segyio-1.8.3/obj-arm-linux-gnueabihf/applications/CMakeFiles/test-app-output.dir/DependInfo.cmake "--color=" make[4]: Leaving directory '/build/reproducible-path/segyio-1.8.3/obj-arm-linux-gnueabihf' make -f applications/CMakeFiles/test-app-output.dir/build.make applications/CMakeFiles/test-app-output.dir/build make[4]: Entering directory '/build/reproducible-path/segyio-1.8.3/obj-arm-linux-gnueabihf' [ 80%] running applications for output comparison cd /build/reproducible-path/segyio-1.8.3/obj-arm-linux-gnueabihf/applications && ./segyio-catb /build/reproducible-path/segyio-1.8.3/test-data/small.sgy > catb.out cd /build/reproducible-path/segyio-1.8.3/obj-arm-linux-gnueabihf/applications && ./segyio-catb /build/reproducible-path/segyio-1.8.3/test-data/small.sgy -n -d > catbnd.out cd /build/reproducible-path/segyio-1.8.3/obj-arm-linux-gnueabihf/applications && ./segyio-cath /build/reproducible-path/segyio-1.8.3/test-data/small.sgy > cath.out cd /build/reproducible-path/segyio-1.8.3/obj-arm-linux-gnueabihf/applications && ./segyio-catr -r 4 9 -t 12 /build/reproducible-path/segyio-1.8.3/test-data/small.sgy > catr.out cd /build/reproducible-path/segyio-1.8.3/obj-arm-linux-gnueabihf/applications && ./segyio-catr -t 1 /build/reproducible-path/segyio-1.8.3/test-data/small.sgy -n -d > catrnd.out [ 84%] running applications for crop testing cd /build/reproducible-path/segyio-1.8.3/obj-arm-linux-gnueabihf/applications && ./segyio-crop -S 25 /build/reproducible-path/segyio-1.8.3/test-data/small.sgy crop-ns.sgy cd /build/reproducible-path/segyio-1.8.3/obj-arm-linux-gnueabihf/applications && ./segyio-catr crop-ns.sgy > crop-ns.out make[4]: Leaving directory '/build/reproducible-path/segyio-1.8.3/obj-arm-linux-gnueabihf' [ 84%] Built target test-app-output [ 88%] Building CXX object lib/CMakeFiles/c.segy.dir/test/segy.cpp.o cd /build/reproducible-path/segyio-1.8.3/obj-arm-linux-gnueabihf/lib && /usr/bin/c++ -DHAVE_MMAP -I/build/reproducible-path/segyio-1.8.3/lib/src -I/build/reproducible-path/segyio-1.8.3/lib/experimental -I/build/reproducible-path/segyio-1.8.3/lib/include -isystem /build/reproducible-path/segyio-1.8.3/external/catch2 -g -O2 -ffile-prefix-map=/build/reproducible-path/segyio-1.8.3=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -D_TIME_BITS=64 -Wdate-time -D_FORTIFY_SOURCE=2 -std=c++11 -DHAVE_MMAP -MD -MT lib/CMakeFiles/c.segy.dir/test/segy.cpp.o -MF CMakeFiles/c.segy.dir/test/segy.cpp.o.d -o CMakeFiles/c.segy.dir/test/segy.cpp.o -c /build/reproducible-path/segyio-1.8.3/lib/test/segy.cpp [ 92%] Linking CXX executable flip-endianness cd /build/reproducible-path/segyio-1.8.3/obj-arm-linux-gnueabihf/applications && /usr/bin/cmake -E cmake_link_script CMakeFiles/flip-endianness.dir/link.txt --verbose=1 /usr/bin/c++ -g -O2 -ffile-prefix-map=/build/reproducible-path/segyio-1.8.3=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -D_TIME_BITS=64 -Wdate-time -D_FORTIFY_SOURCE=2 -Wl,-z,relro -Wl,--as-needed -rdynamic -Wl,--dependency-file=CMakeFiles/flip-endianness.dir/link.d "CMakeFiles/flip-endianness.dir/flip-endianness.cpp.o" -o flip-endianness -Wl,-rpath,/build/reproducible-path/segyio-1.8.3/obj-arm-linux-gnueabihf/lib ../lib/libsegyio.so.1 -lm make[4]: Leaving directory '/build/reproducible-path/segyio-1.8.3/obj-arm-linux-gnueabihf' [ 92%] Built target flip-endianness [ 96%] Building CXX object lib/CMakeFiles/c.segy.dir/test/segyio-cpp.cpp.o cd /build/reproducible-path/segyio-1.8.3/obj-arm-linux-gnueabihf/lib && /usr/bin/c++ -DHAVE_MMAP -I/build/reproducible-path/segyio-1.8.3/lib/src -I/build/reproducible-path/segyio-1.8.3/lib/experimental -I/build/reproducible-path/segyio-1.8.3/lib/include -isystem /build/reproducible-path/segyio-1.8.3/external/catch2 -g -O2 -ffile-prefix-map=/build/reproducible-path/segyio-1.8.3=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -D_TIME_BITS=64 -Wdate-time -D_FORTIFY_SOURCE=2 -std=c++11 -DHAVE_MMAP -MD -MT lib/CMakeFiles/c.segy.dir/test/segyio-cpp.cpp.o -MF CMakeFiles/c.segy.dir/test/segyio-cpp.cpp.o.d -o CMakeFiles/c.segy.dir/test/segyio-cpp.cpp.o -c /build/reproducible-path/segyio-1.8.3/lib/test/segyio-cpp.cpp In file included from /build/reproducible-path/segyio-1.8.3/lib/test/segyio-cpp.cpp:4: /build/reproducible-path/segyio-1.8.3/lib/experimental/segyio/segyio.hpp: In constructor ‘segyio::simple_handle< >::simple_handle(const segyio::path&, const segyio::mode&)’: /build/reproducible-path/segyio-1.8.3/lib/experimental/segyio/segyio.hpp:1014:58: warning: ignoring attributes on template argument ‘int (*)(FILE*)’ [-Wignored-attributes] 1014 | std::unique_ptr< std::FILE, decltype( &std::fclose ) > | ^ [100%] Linking CXX executable c.segy cd /build/reproducible-path/segyio-1.8.3/obj-arm-linux-gnueabihf/lib && /usr/bin/cmake -E cmake_link_script CMakeFiles/c.segy.dir/link.txt --verbose=1 /usr/bin/c++ -g -O2 -ffile-prefix-map=/build/reproducible-path/segyio-1.8.3=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -D_TIME_BITS=64 -Wdate-time -D_FORTIFY_SOURCE=2 -Wl,-z,relro -Wl,--as-needed -rdynamic -Wl,--dependency-file=CMakeFiles/c.segy.dir/link.d CMakeFiles/c.segy.dir/test/testsuite.cpp.o CMakeFiles/c.segy.dir/test/segy.cpp.o "CMakeFiles/c.segy.dir/test/segyio-cpp.cpp.o" -o c.segy -Wl,-rpath,/build/reproducible-path/segyio-1.8.3/obj-arm-linux-gnueabihf/lib ../external/catch2/libcatch2.a libsegyio.so.1 -lm make[4]: Leaving directory '/build/reproducible-path/segyio-1.8.3/obj-arm-linux-gnueabihf' [100%] Built target c.segy make[3]: Leaving directory '/build/reproducible-path/segyio-1.8.3/obj-arm-linux-gnueabihf' /usr/bin/cmake -E cmake_progress_start /build/reproducible-path/segyio-1.8.3/obj-arm-linux-gnueabihf/CMakeFiles 0 make[2]: Leaving directory '/build/reproducible-path/segyio-1.8.3/obj-arm-linux-gnueabihf' dh_auto_build --builddirectory=static-arm-linux-gnueabihf cd static-arm-linux-gnueabihf && make -j3 VERBOSE=1 make[2]: Entering directory '/build/reproducible-path/segyio-1.8.3/static-arm-linux-gnueabihf' /usr/bin/cmake -S/build/reproducible-path/segyio-1.8.3 -B/build/reproducible-path/segyio-1.8.3/static-arm-linux-gnueabihf --check-build-system CMakeFiles/Makefile.cmake 0 /usr/bin/cmake -E cmake_progress_start /build/reproducible-path/segyio-1.8.3/static-arm-linux-gnueabihf/CMakeFiles /build/reproducible-path/segyio-1.8.3/static-arm-linux-gnueabihf//CMakeFiles/progress.marks make -f CMakeFiles/Makefile2 all make[3]: Entering directory '/build/reproducible-path/segyio-1.8.3/static-arm-linux-gnueabihf' make -f CMakeFiles/doc.dir/build.make CMakeFiles/doc.dir/depend make -f external/catch2/CMakeFiles/catch2.dir/build.make external/catch2/CMakeFiles/catch2.dir/depend make -f lib/CMakeFiles/segyio.dir/build.make lib/CMakeFiles/segyio.dir/depend make[4]: Entering directory '/build/reproducible-path/segyio-1.8.3/static-arm-linux-gnueabihf' cd /build/reproducible-path/segyio-1.8.3/static-arm-linux-gnueabihf && /usr/bin/cmake -E cmake_depends "Unix Makefiles" /build/reproducible-path/segyio-1.8.3 /build/reproducible-path/segyio-1.8.3 /build/reproducible-path/segyio-1.8.3/static-arm-linux-gnueabihf /build/reproducible-path/segyio-1.8.3/static-arm-linux-gnueabihf /build/reproducible-path/segyio-1.8.3/static-arm-linux-gnueabihf/CMakeFiles/doc.dir/DependInfo.cmake "--color=" make[4]: Entering directory '/build/reproducible-path/segyio-1.8.3/static-arm-linux-gnueabihf' cd /build/reproducible-path/segyio-1.8.3/static-arm-linux-gnueabihf && /usr/bin/cmake -E cmake_depends "Unix Makefiles" /build/reproducible-path/segyio-1.8.3 /build/reproducible-path/segyio-1.8.3/external/catch2 /build/reproducible-path/segyio-1.8.3/static-arm-linux-gnueabihf /build/reproducible-path/segyio-1.8.3/static-arm-linux-gnueabihf/external/catch2 /build/reproducible-path/segyio-1.8.3/static-arm-linux-gnueabihf/external/catch2/CMakeFiles/catch2.dir/DependInfo.cmake "--color=" make[4]: Entering directory '/build/reproducible-path/segyio-1.8.3/static-arm-linux-gnueabihf' cd /build/reproducible-path/segyio-1.8.3/static-arm-linux-gnueabihf && /usr/bin/cmake -E cmake_depends "Unix Makefiles" /build/reproducible-path/segyio-1.8.3 /build/reproducible-path/segyio-1.8.3/lib /build/reproducible-path/segyio-1.8.3/static-arm-linux-gnueabihf /build/reproducible-path/segyio-1.8.3/static-arm-linux-gnueabihf/lib /build/reproducible-path/segyio-1.8.3/static-arm-linux-gnueabihf/lib/CMakeFiles/segyio.dir/DependInfo.cmake "--color=" make[4]: Leaving directory '/build/reproducible-path/segyio-1.8.3/static-arm-linux-gnueabihf' make[4]: Leaving directory '/build/reproducible-path/segyio-1.8.3/static-arm-linux-gnueabihf' make[4]: Leaving directory '/build/reproducible-path/segyio-1.8.3/static-arm-linux-gnueabihf' make -f CMakeFiles/doc.dir/build.make CMakeFiles/doc.dir/build make -f external/catch2/CMakeFiles/catch2.dir/build.make external/catch2/CMakeFiles/catch2.dir/build make -f lib/CMakeFiles/segyio.dir/build.make lib/CMakeFiles/segyio.dir/build make[4]: Entering directory '/build/reproducible-path/segyio-1.8.3/static-arm-linux-gnueabihf' make[4]: Nothing to be done for 'CMakeFiles/doc.dir/build'. make[4]: Leaving directory '/build/reproducible-path/segyio-1.8.3/static-arm-linux-gnueabihf' make[4]: Entering directory '/build/reproducible-path/segyio-1.8.3/static-arm-linux-gnueabihf' make[4]: Entering directory '/build/reproducible-path/segyio-1.8.3/static-arm-linux-gnueabihf' [ 10%] Building CXX object external/catch2/CMakeFiles/catch2.dir/dummy.cpp.o [ 10%] Building C object lib/CMakeFiles/segyio.dir/src/segy.c.o [ 10%] Built target doc cd /build/reproducible-path/segyio-1.8.3/static-arm-linux-gnueabihf/external/catch2 && /usr/bin/c++ -isystem /build/reproducible-path/segyio-1.8.3/external/catch2 -g -O2 -ffile-prefix-map=/build/reproducible-path/segyio-1.8.3=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -D_TIME_BITS=64 -Wdate-time -D_FORTIFY_SOURCE=2 -MD -MT external/catch2/CMakeFiles/catch2.dir/dummy.cpp.o -MF CMakeFiles/catch2.dir/dummy.cpp.o.d -o CMakeFiles/catch2.dir/dummy.cpp.o -c /build/reproducible-path/segyio-1.8.3/external/catch2/dummy.cpp cd /build/reproducible-path/segyio-1.8.3/static-arm-linux-gnueabihf/lib && /usr/bin/cc -DHAVE_FTELLO -DHAVE_MMAP -DHAVE_SYS_STAT_H -I/build/reproducible-path/segyio-1.8.3/lib/include -I/build/reproducible-path/segyio-1.8.3/lib/src -g -O2 -Werror=implicit-function-declaration -ffile-prefix-map=/build/reproducible-path/segyio-1.8.3=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -D_TIME_BITS=64 -Wdate-time -D_FORTIFY_SOURCE=2 -std=c99 -MD -MT lib/CMakeFiles/segyio.dir/src/segy.c.o -MF CMakeFiles/segyio.dir/src/segy.c.o.d -o CMakeFiles/segyio.dir/src/segy.c.o -c /build/reproducible-path/segyio-1.8.3/lib/src/segy.c [ 15%] Linking CXX static library libcatch2.a cd /build/reproducible-path/segyio-1.8.3/static-arm-linux-gnueabihf/external/catch2 && /usr/bin/cmake -P CMakeFiles/catch2.dir/cmake_clean_target.cmake cd /build/reproducible-path/segyio-1.8.3/static-arm-linux-gnueabihf/external/catch2 && /usr/bin/cmake -E cmake_link_script CMakeFiles/catch2.dir/link.txt --verbose=1 /usr/bin/ar qc libcatch2.a CMakeFiles/catch2.dir/dummy.cpp.o /usr/bin/ranlib libcatch2.a make[4]: Leaving directory '/build/reproducible-path/segyio-1.8.3/static-arm-linux-gnueabihf' [ 15%] Built target catch2 [ 20%] Linking C static library libsegyio.a cd /build/reproducible-path/segyio-1.8.3/static-arm-linux-gnueabihf/lib && /usr/bin/cmake -P CMakeFiles/segyio.dir/cmake_clean_target.cmake cd /build/reproducible-path/segyio-1.8.3/static-arm-linux-gnueabihf/lib && /usr/bin/cmake -E cmake_link_script CMakeFiles/segyio.dir/link.txt --verbose=1 /usr/bin/ar qc libsegyio.a CMakeFiles/segyio.dir/src/segy.c.o /usr/bin/ranlib libsegyio.a make[4]: Leaving directory '/build/reproducible-path/segyio-1.8.3/static-arm-linux-gnueabihf' [ 20%] Built target segyio make -f applications/CMakeFiles/apputils.dir/build.make applications/CMakeFiles/apputils.dir/depend make -f applications/CMakeFiles/segyinfo.dir/build.make applications/CMakeFiles/segyinfo.dir/depend make -f applications/CMakeFiles/segyinspect.dir/build.make applications/CMakeFiles/segyinspect.dir/depend make[4]: Entering directory '/build/reproducible-path/segyio-1.8.3/static-arm-linux-gnueabihf' cd /build/reproducible-path/segyio-1.8.3/static-arm-linux-gnueabihf && /usr/bin/cmake -E cmake_depends "Unix Makefiles" /build/reproducible-path/segyio-1.8.3 /build/reproducible-path/segyio-1.8.3/applications /build/reproducible-path/segyio-1.8.3/static-arm-linux-gnueabihf /build/reproducible-path/segyio-1.8.3/static-arm-linux-gnueabihf/applications /build/reproducible-path/segyio-1.8.3/static-arm-linux-gnueabihf/applications/CMakeFiles/apputils.dir/DependInfo.cmake "--color=" make[4]: Entering directory '/build/reproducible-path/segyio-1.8.3/static-arm-linux-gnueabihf' cd /build/reproducible-path/segyio-1.8.3/static-arm-linux-gnueabihf && /usr/bin/cmake -E cmake_depends "Unix Makefiles" /build/reproducible-path/segyio-1.8.3 /build/reproducible-path/segyio-1.8.3/applications /build/reproducible-path/segyio-1.8.3/static-arm-linux-gnueabihf /build/reproducible-path/segyio-1.8.3/static-arm-linux-gnueabihf/applications /build/reproducible-path/segyio-1.8.3/static-arm-linux-gnueabihf/applications/CMakeFiles/segyinfo.dir/DependInfo.cmake "--color=" make[4]: Entering directory '/build/reproducible-path/segyio-1.8.3/static-arm-linux-gnueabihf' cd /build/reproducible-path/segyio-1.8.3/static-arm-linux-gnueabihf && /usr/bin/cmake -E cmake_depends "Unix Makefiles" /build/reproducible-path/segyio-1.8.3 /build/reproducible-path/segyio-1.8.3/applications /build/reproducible-path/segyio-1.8.3/static-arm-linux-gnueabihf /build/reproducible-path/segyio-1.8.3/static-arm-linux-gnueabihf/applications /build/reproducible-path/segyio-1.8.3/static-arm-linux-gnueabihf/applications/CMakeFiles/segyinspect.dir/DependInfo.cmake "--color=" make[4]: Leaving directory '/build/reproducible-path/segyio-1.8.3/static-arm-linux-gnueabihf' make[4]: Leaving directory '/build/reproducible-path/segyio-1.8.3/static-arm-linux-gnueabihf' make[4]: Leaving directory '/build/reproducible-path/segyio-1.8.3/static-arm-linux-gnueabihf' make -f applications/CMakeFiles/segyinfo.dir/build.make applications/CMakeFiles/segyinfo.dir/build make -f applications/CMakeFiles/apputils.dir/build.make applications/CMakeFiles/apputils.dir/build make -f applications/CMakeFiles/segyinspect.dir/build.make applications/CMakeFiles/segyinspect.dir/build make[4]: Entering directory '/build/reproducible-path/segyio-1.8.3/static-arm-linux-gnueabihf' make[4]: Entering directory '/build/reproducible-path/segyio-1.8.3/static-arm-linux-gnueabihf' make[4]: Entering directory '/build/reproducible-path/segyio-1.8.3/static-arm-linux-gnueabihf' [ 35%] Building C object applications/CMakeFiles/segyinfo.dir/segyinfo.c.o [ 35%] Building C object applications/CMakeFiles/apputils.dir/apputils.c.o [ 35%] Building C object applications/CMakeFiles/segyinspect.dir/segyinspect.c.o cd /build/reproducible-path/segyio-1.8.3/static-arm-linux-gnueabihf/applications && /usr/bin/cc -I/build/reproducible-path/segyio-1.8.3/lib/include -g -O2 -Werror=implicit-function-declaration -ffile-prefix-map=/build/reproducible-path/segyio-1.8.3=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -D_TIME_BITS=64 -Wdate-time -D_FORTIFY_SOURCE=2 -std=c99 -MD -MT applications/CMakeFiles/segyinfo.dir/segyinfo.c.o -MF CMakeFiles/segyinfo.dir/segyinfo.c.o.d -o CMakeFiles/segyinfo.dir/segyinfo.c.o -c /build/reproducible-path/segyio-1.8.3/applications/segyinfo.c cd /build/reproducible-path/segyio-1.8.3/static-arm-linux-gnueabihf/applications && /usr/bin/cc -I/build/reproducible-path/segyio-1.8.3/lib/include -g -O2 -Werror=implicit-function-declaration -ffile-prefix-map=/build/reproducible-path/segyio-1.8.3=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -D_TIME_BITS=64 -Wdate-time -D_FORTIFY_SOURCE=2 -std=c99 -MD -MT applications/CMakeFiles/segyinspect.dir/segyinspect.c.o -MF CMakeFiles/segyinspect.dir/segyinspect.c.o.d -o CMakeFiles/segyinspect.dir/segyinspect.c.o -c /build/reproducible-path/segyio-1.8.3/applications/segyinspect.c cd /build/reproducible-path/segyio-1.8.3/static-arm-linux-gnueabihf/applications && /usr/bin/cc -Dsegyio_MAJOR=1 -Dsegyio_MINOR=8 -I/build/reproducible-path/segyio-1.8.3/lib/include -g -O2 -Werror=implicit-function-declaration -ffile-prefix-map=/build/reproducible-path/segyio-1.8.3=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -D_TIME_BITS=64 -Wdate-time -D_FORTIFY_SOURCE=2 -std=c99 -MD -MT applications/CMakeFiles/apputils.dir/apputils.c.o -MF CMakeFiles/apputils.dir/apputils.c.o.d -o CMakeFiles/apputils.dir/apputils.c.o -c /build/reproducible-path/segyio-1.8.3/applications/apputils.c [ 40%] Linking C static library libapputils.a cd /build/reproducible-path/segyio-1.8.3/static-arm-linux-gnueabihf/applications && /usr/bin/cmake -P CMakeFiles/apputils.dir/cmake_clean_target.cmake cd /build/reproducible-path/segyio-1.8.3/static-arm-linux-gnueabihf/applications && /usr/bin/cmake -E cmake_link_script CMakeFiles/apputils.dir/link.txt --verbose=1 /usr/bin/ar qc libapputils.a CMakeFiles/apputils.dir/apputils.c.o /usr/bin/ranlib libapputils.a make[4]: Leaving directory '/build/reproducible-path/segyio-1.8.3/static-arm-linux-gnueabihf' [ 40%] Built target apputils [ 45%] Linking C executable segyinfo make -f applications/CMakeFiles/flip-endianness.dir/build.make applications/CMakeFiles/flip-endianness.dir/depend cd /build/reproducible-path/segyio-1.8.3/static-arm-linux-gnueabihf/applications && /usr/bin/cmake -E cmake_link_script CMakeFiles/segyinfo.dir/link.txt --verbose=1 make[4]: Entering directory '/build/reproducible-path/segyio-1.8.3/static-arm-linux-gnueabihf' cd /build/reproducible-path/segyio-1.8.3/static-arm-linux-gnueabihf && /usr/bin/cmake -E cmake_depends "Unix Makefiles" /build/reproducible-path/segyio-1.8.3 /build/reproducible-path/segyio-1.8.3/applications /build/reproducible-path/segyio-1.8.3/static-arm-linux-gnueabihf /build/reproducible-path/segyio-1.8.3/static-arm-linux-gnueabihf/applications /build/reproducible-path/segyio-1.8.3/static-arm-linux-gnueabihf/applications/CMakeFiles/flip-endianness.dir/DependInfo.cmake "--color=" [ 50%] Linking C executable segyinspect cd /build/reproducible-path/segyio-1.8.3/static-arm-linux-gnueabihf/applications && /usr/bin/cmake -E cmake_link_script CMakeFiles/segyinspect.dir/link.txt --verbose=1 make[4]: Leaving directory '/build/reproducible-path/segyio-1.8.3/static-arm-linux-gnueabihf' make -f applications/CMakeFiles/flip-endianness.dir/build.make applications/CMakeFiles/flip-endianness.dir/build make[4]: Entering directory '/build/reproducible-path/segyio-1.8.3/static-arm-linux-gnueabihf' [ 55%] Building CXX object applications/CMakeFiles/flip-endianness.dir/flip-endianness.cpp.o cd /build/reproducible-path/segyio-1.8.3/static-arm-linux-gnueabihf/applications && /usr/bin/c++ -I/build/reproducible-path/segyio-1.8.3/lib/include -g -O2 -ffile-prefix-map=/build/reproducible-path/segyio-1.8.3=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -D_TIME_BITS=64 -Wdate-time -D_FORTIFY_SOURCE=2 -std=c++11 -MD -MT applications/CMakeFiles/flip-endianness.dir/flip-endianness.cpp.o -MF CMakeFiles/flip-endianness.dir/flip-endianness.cpp.o.d -o CMakeFiles/flip-endianness.dir/flip-endianness.cpp.o -c /build/reproducible-path/segyio-1.8.3/applications/flip-endianness.cpp /usr/bin/cc -g -O2 -Werror=implicit-function-declaration -ffile-prefix-map=/build/reproducible-path/segyio-1.8.3=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -D_TIME_BITS=64 -Wdate-time -D_FORTIFY_SOURCE=2 -Wl,-z,relro -Wl,--as-needed -rdynamic -Wl,--dependency-file=CMakeFiles/segyinfo.dir/link.d CMakeFiles/segyinfo.dir/segyinfo.c.o -o segyinfo ../lib/libsegyio.a -lm make[4]: Leaving directory '/build/reproducible-path/segyio-1.8.3/static-arm-linux-gnueabihf' /usr/bin/cc -g -O2 -Werror=implicit-function-declaration -ffile-prefix-map=/build/reproducible-path/segyio-1.8.3=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -D_TIME_BITS=64 -Wdate-time -D_FORTIFY_SOURCE=2 -Wl,-z,relro -Wl,--as-needed -rdynamic -Wl,--dependency-file=CMakeFiles/segyinspect.dir/link.d CMakeFiles/segyinspect.dir/segyinspect.c.o -o segyinspect ../lib/libsegyio.a -lm make[4]: Leaving directory '/build/reproducible-path/segyio-1.8.3/static-arm-linux-gnueabihf' [ 55%] Built target segyinfo make -f applications/CMakeFiles/segyio-cath.dir/build.make applications/CMakeFiles/segyio-cath.dir/depend make[4]: Entering directory '/build/reproducible-path/segyio-1.8.3/static-arm-linux-gnueabihf' cd /build/reproducible-path/segyio-1.8.3/static-arm-linux-gnueabihf && /usr/bin/cmake -E cmake_depends "Unix Makefiles" /build/reproducible-path/segyio-1.8.3 /build/reproducible-path/segyio-1.8.3/applications /build/reproducible-path/segyio-1.8.3/static-arm-linux-gnueabihf /build/reproducible-path/segyio-1.8.3/static-arm-linux-gnueabihf/applications /build/reproducible-path/segyio-1.8.3/static-arm-linux-gnueabihf/applications/CMakeFiles/segyio-cath.dir/DependInfo.cmake "--color=" [ 55%] Built target segyinspect make -f applications/CMakeFiles/segyio-catb.dir/build.make applications/CMakeFiles/segyio-catb.dir/depend make[4]: Entering directory '/build/reproducible-path/segyio-1.8.3/static-arm-linux-gnueabihf' cd /build/reproducible-path/segyio-1.8.3/static-arm-linux-gnueabihf && /usr/bin/cmake -E cmake_depends "Unix Makefiles" /build/reproducible-path/segyio-1.8.3 /build/reproducible-path/segyio-1.8.3/applications /build/reproducible-path/segyio-1.8.3/static-arm-linux-gnueabihf /build/reproducible-path/segyio-1.8.3/static-arm-linux-gnueabihf/applications /build/reproducible-path/segyio-1.8.3/static-arm-linux-gnueabihf/applications/CMakeFiles/segyio-catb.dir/DependInfo.cmake "--color=" make[4]: Leaving directory '/build/reproducible-path/segyio-1.8.3/static-arm-linux-gnueabihf' make -f applications/CMakeFiles/segyio-cath.dir/build.make applications/CMakeFiles/segyio-cath.dir/build make[4]: Entering directory '/build/reproducible-path/segyio-1.8.3/static-arm-linux-gnueabihf' make[4]: Leaving directory '/build/reproducible-path/segyio-1.8.3/static-arm-linux-gnueabihf' make -f applications/CMakeFiles/segyio-catb.dir/build.make applications/CMakeFiles/segyio-catb.dir/build make[4]: Entering directory '/build/reproducible-path/segyio-1.8.3/static-arm-linux-gnueabihf' [ 60%] Building C object applications/CMakeFiles/segyio-cath.dir/segyio-cath.c.o cd /build/reproducible-path/segyio-1.8.3/static-arm-linux-gnueabihf/applications && /usr/bin/cc -Dsegyio_MAJOR=1 -Dsegyio_MINOR=8 -I/build/reproducible-path/segyio-1.8.3/lib/include -g -O2 -Werror=implicit-function-declaration -ffile-prefix-map=/build/reproducible-path/segyio-1.8.3=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -D_TIME_BITS=64 -Wdate-time -D_FORTIFY_SOURCE=2 -std=c99 -MD -MT applications/CMakeFiles/segyio-cath.dir/segyio-cath.c.o -MF CMakeFiles/segyio-cath.dir/segyio-cath.c.o.d -o CMakeFiles/segyio-cath.dir/segyio-cath.c.o -c /build/reproducible-path/segyio-1.8.3/applications/segyio-cath.c [ 65%] Building C object applications/CMakeFiles/segyio-catb.dir/segyio-catb.c.o cd /build/reproducible-path/segyio-1.8.3/static-arm-linux-gnueabihf/applications && /usr/bin/cc -Dsegyio_MAJOR=1 -Dsegyio_MINOR=8 -I/build/reproducible-path/segyio-1.8.3/lib/include -g -O2 -Werror=implicit-function-declaration -ffile-prefix-map=/build/reproducible-path/segyio-1.8.3=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -D_TIME_BITS=64 -Wdate-time -D_FORTIFY_SOURCE=2 -std=c99 -MD -MT applications/CMakeFiles/segyio-catb.dir/segyio-catb.c.o -MF CMakeFiles/segyio-catb.dir/segyio-catb.c.o.d -o CMakeFiles/segyio-catb.dir/segyio-catb.c.o -c /build/reproducible-path/segyio-1.8.3/applications/segyio-catb.c [ 70%] Linking C executable segyio-catb cd /build/reproducible-path/segyio-1.8.3/static-arm-linux-gnueabihf/applications && /usr/bin/cmake -E cmake_link_script CMakeFiles/segyio-catb.dir/link.txt --verbose=1 /usr/bin/cc -g -O2 -Werror=implicit-function-declaration -ffile-prefix-map=/build/reproducible-path/segyio-1.8.3=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -D_TIME_BITS=64 -Wdate-time -D_FORTIFY_SOURCE=2 -Wl,-z,relro -Wl,--as-needed -rdynamic -Wl,--dependency-file=CMakeFiles/segyio-catb.dir/link.d "CMakeFiles/segyio-catb.dir/segyio-catb.c.o" -o segyio-catb ../lib/libsegyio.a libapputils.a ../lib/libsegyio.a -lm make[4]: Leaving directory '/build/reproducible-path/segyio-1.8.3/static-arm-linux-gnueabihf' [ 75%] Linking C executable segyio-cath cd /build/reproducible-path/segyio-1.8.3/static-arm-linux-gnueabihf/applications && /usr/bin/cmake -E cmake_link_script CMakeFiles/segyio-cath.dir/link.txt --verbose=1 [ 75%] Built target segyio-catb make -f applications/CMakeFiles/segyio-catr.dir/build.make applications/CMakeFiles/segyio-catr.dir/depend make[4]: Entering directory '/build/reproducible-path/segyio-1.8.3/static-arm-linux-gnueabihf' cd /build/reproducible-path/segyio-1.8.3/static-arm-linux-gnueabihf && /usr/bin/cmake -E cmake_depends "Unix Makefiles" /build/reproducible-path/segyio-1.8.3 /build/reproducible-path/segyio-1.8.3/applications /build/reproducible-path/segyio-1.8.3/static-arm-linux-gnueabihf /build/reproducible-path/segyio-1.8.3/static-arm-linux-gnueabihf/applications /build/reproducible-path/segyio-1.8.3/static-arm-linux-gnueabihf/applications/CMakeFiles/segyio-catr.dir/DependInfo.cmake "--color=" make[4]: Leaving directory '/build/reproducible-path/segyio-1.8.3/static-arm-linux-gnueabihf' make -f applications/CMakeFiles/segyio-catr.dir/build.make applications/CMakeFiles/segyio-catr.dir/build make[4]: Entering directory '/build/reproducible-path/segyio-1.8.3/static-arm-linux-gnueabihf' [ 80%] Building C object applications/CMakeFiles/segyio-catr.dir/segyio-catr.c.o cd /build/reproducible-path/segyio-1.8.3/static-arm-linux-gnueabihf/applications && /usr/bin/cc -Dsegyio_MAJOR=1 -Dsegyio_MINOR=8 -I/build/reproducible-path/segyio-1.8.3/lib/include -g -O2 -Werror=implicit-function-declaration -ffile-prefix-map=/build/reproducible-path/segyio-1.8.3=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -D_TIME_BITS=64 -Wdate-time -D_FORTIFY_SOURCE=2 -std=c99 -MD -MT applications/CMakeFiles/segyio-catr.dir/segyio-catr.c.o -MF CMakeFiles/segyio-catr.dir/segyio-catr.c.o.d -o CMakeFiles/segyio-catr.dir/segyio-catr.c.o -c /build/reproducible-path/segyio-1.8.3/applications/segyio-catr.c /usr/bin/cc -g -O2 -Werror=implicit-function-declaration -ffile-prefix-map=/build/reproducible-path/segyio-1.8.3=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -D_TIME_BITS=64 -Wdate-time -D_FORTIFY_SOURCE=2 -Wl,-z,relro -Wl,--as-needed -rdynamic -Wl,--dependency-file=CMakeFiles/segyio-cath.dir/link.d "CMakeFiles/segyio-cath.dir/segyio-cath.c.o" -o segyio-cath ../lib/libsegyio.a libapputils.a ../lib/libsegyio.a -lm make[4]: Leaving directory '/build/reproducible-path/segyio-1.8.3/static-arm-linux-gnueabihf' [ 80%] Built target segyio-cath make -f applications/CMakeFiles/segyio-crop.dir/build.make applications/CMakeFiles/segyio-crop.dir/depend make[4]: Entering directory '/build/reproducible-path/segyio-1.8.3/static-arm-linux-gnueabihf' cd /build/reproducible-path/segyio-1.8.3/static-arm-linux-gnueabihf && /usr/bin/cmake -E cmake_depends "Unix Makefiles" /build/reproducible-path/segyio-1.8.3 /build/reproducible-path/segyio-1.8.3/applications /build/reproducible-path/segyio-1.8.3/static-arm-linux-gnueabihf /build/reproducible-path/segyio-1.8.3/static-arm-linux-gnueabihf/applications /build/reproducible-path/segyio-1.8.3/static-arm-linux-gnueabihf/applications/CMakeFiles/segyio-crop.dir/DependInfo.cmake "--color=" make[4]: Leaving directory '/build/reproducible-path/segyio-1.8.3/static-arm-linux-gnueabihf' make -f applications/CMakeFiles/segyio-crop.dir/build.make applications/CMakeFiles/segyio-crop.dir/build make[4]: Entering directory '/build/reproducible-path/segyio-1.8.3/static-arm-linux-gnueabihf' [ 85%] Building C object applications/CMakeFiles/segyio-crop.dir/segyio-crop.c.o cd /build/reproducible-path/segyio-1.8.3/static-arm-linux-gnueabihf/applications && /usr/bin/cc -Dsegyio_MAJOR=1 -Dsegyio_MINOR=8 -I/build/reproducible-path/segyio-1.8.3/lib/include -g -O2 -Werror=implicit-function-declaration -ffile-prefix-map=/build/reproducible-path/segyio-1.8.3=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -D_TIME_BITS=64 -Wdate-time -D_FORTIFY_SOURCE=2 -std=c99 -MD -MT applications/CMakeFiles/segyio-crop.dir/segyio-crop.c.o -MF CMakeFiles/segyio-crop.dir/segyio-crop.c.o.d -o CMakeFiles/segyio-crop.dir/segyio-crop.c.o -c /build/reproducible-path/segyio-1.8.3/applications/segyio-crop.c [ 90%] Linking C executable segyio-catr cd /build/reproducible-path/segyio-1.8.3/static-arm-linux-gnueabihf/applications && /usr/bin/cmake -E cmake_link_script CMakeFiles/segyio-catr.dir/link.txt --verbose=1 /usr/bin/cc -g -O2 -Werror=implicit-function-declaration -ffile-prefix-map=/build/reproducible-path/segyio-1.8.3=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -D_TIME_BITS=64 -Wdate-time -D_FORTIFY_SOURCE=2 -Wl,-z,relro -Wl,--as-needed -rdynamic -Wl,--dependency-file=CMakeFiles/segyio-catr.dir/link.d "CMakeFiles/segyio-catr.dir/segyio-catr.c.o" -o segyio-catr ../lib/libsegyio.a libapputils.a ../lib/libsegyio.a -lm make[4]: Leaving directory '/build/reproducible-path/segyio-1.8.3/static-arm-linux-gnueabihf' [ 90%] Built target segyio-catr [ 95%] Linking C executable segyio-crop cd /build/reproducible-path/segyio-1.8.3/static-arm-linux-gnueabihf/applications && /usr/bin/cmake -E cmake_link_script CMakeFiles/segyio-crop.dir/link.txt --verbose=1 /usr/bin/cc -g -O2 -Werror=implicit-function-declaration -ffile-prefix-map=/build/reproducible-path/segyio-1.8.3=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -D_TIME_BITS=64 -Wdate-time -D_FORTIFY_SOURCE=2 -Wl,-z,relro -Wl,--as-needed -rdynamic -Wl,--dependency-file=CMakeFiles/segyio-crop.dir/link.d "CMakeFiles/segyio-crop.dir/segyio-crop.c.o" -o segyio-crop ../lib/libsegyio.a libapputils.a ../lib/libsegyio.a -lm make[4]: Leaving directory '/build/reproducible-path/segyio-1.8.3/static-arm-linux-gnueabihf' [ 95%] Built target segyio-crop [100%] Linking CXX executable flip-endianness cd /build/reproducible-path/segyio-1.8.3/static-arm-linux-gnueabihf/applications && /usr/bin/cmake -E cmake_link_script CMakeFiles/flip-endianness.dir/link.txt --verbose=1 /usr/bin/c++ -g -O2 -ffile-prefix-map=/build/reproducible-path/segyio-1.8.3=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -D_TIME_BITS=64 -Wdate-time -D_FORTIFY_SOURCE=2 -Wl,-z,relro -Wl,--as-needed -rdynamic -Wl,--dependency-file=CMakeFiles/flip-endianness.dir/link.d "CMakeFiles/flip-endianness.dir/flip-endianness.cpp.o" -o flip-endianness ../lib/libsegyio.a -lm make[4]: Leaving directory '/build/reproducible-path/segyio-1.8.3/static-arm-linux-gnueabihf' [100%] Built target flip-endianness make[3]: Leaving directory '/build/reproducible-path/segyio-1.8.3/static-arm-linux-gnueabihf' /usr/bin/cmake -E cmake_progress_start /build/reproducible-path/segyio-1.8.3/static-arm-linux-gnueabihf/CMakeFiles 0 make[2]: Leaving directory '/build/reproducible-path/segyio-1.8.3/static-arm-linux-gnueabihf' make[1]: Leaving directory '/build/reproducible-path/segyio-1.8.3' dh_auto_test -O--buildsystem=cmake cd obj-arm-linux-gnueabihf && make -j3 test ARGS\+=--verbose ARGS\+=-j3 make[1]: Entering directory '/build/reproducible-path/segyio-1.8.3/obj-arm-linux-gnueabihf' Running tests... /usr/bin/ctest --force-new-ctest-process --verbose -j3 UpdateCTestConfiguration from :/build/reproducible-path/segyio-1.8.3/obj-arm-linux-gnueabihf/DartConfiguration.tcl Parse Config file:/build/reproducible-path/segyio-1.8.3/obj-arm-linux-gnueabihf/DartConfiguration.tcl UpdateCTestConfiguration from :/build/reproducible-path/segyio-1.8.3/obj-arm-linux-gnueabihf/DartConfiguration.tcl Parse Config file:/build/reproducible-path/segyio-1.8.3/obj-arm-linux-gnueabihf/DartConfiguration.tcl Test project /build/reproducible-path/segyio-1.8.3/obj-arm-linux-gnueabihf Constructing a list of tests Done constructing a list of tests Updating test list for fixtures Added 0 tests to meet fixture requirements Checking test dependency graph... Checking test dependency graph end Connected to MAKE jobserver test 1 Start 1: c.segy 1: Test command: /build/reproducible-path/segyio-1.8.3/obj-arm-linux-gnueabihf/lib/c.segy 1: Working Directory: /build/reproducible-path/segyio-1.8.3/obj-arm-linux-gnueabihf/lib 1: Test timeout computed to be: 1500 test 2 Start 2: c.segy.mmap 2: Test command: /build/reproducible-path/segyio-1.8.3/obj-arm-linux-gnueabihf/lib/c.segy "--test-mmap" 2: Working Directory: /build/reproducible-path/segyio-1.8.3/obj-arm-linux-gnueabihf/lib 2: Test timeout computed to be: 1500 test 3 Start 3: c.segy.lsb 3: Test command: /build/reproducible-path/segyio-1.8.3/obj-arm-linux-gnueabihf/lib/c.segy "--test-lsb" 3: Working Directory: /build/reproducible-path/segyio-1.8.3/obj-arm-linux-gnueabihf/lib 3: Test timeout computed to be: 1500 2: =============================================================================== 2: All tests passed (424 assertions in 80 test cases) 2: 1: =============================================================================== 1: All tests passed (355 assertions in 80 test cases) 1: 1/27 Test #1: c.segy ........................... Passed 0.08 sec 2/27 Test #2: c.segy.mmap ...................... Passed 0.07 sec 3: =============================================================================== 3: All tests passed (420 assertions in 80 test cases) 3: test 4 Start 4: c.segy.mmap.lsb 4: Test command: /build/reproducible-path/segyio-1.8.3/obj-arm-linux-gnueabihf/lib/c.segy "--test-mmap" "--test-lsb" 4: Working Directory: /build/reproducible-path/segyio-1.8.3/obj-arm-linux-gnueabihf/lib 4: Test timeout computed to be: 1500 test 5 Start 5: cpp.segy 5: Test command: /build/reproducible-path/segyio-1.8.3/obj-arm-linux-gnueabihf/lib/c.segy "[c++]" 5: Working Directory: /build/reproducible-path/segyio-1.8.3/obj-arm-linux-gnueabihf/lib 5: Test timeout computed to be: 1500 3/27 Test #3: c.segy.lsb ....................... Passed 0.09 sec test 6 Start 6: catr.arg.t1 6: Test command: /build/reproducible-path/segyio-1.8.3/obj-arm-linux-gnueabihf/applications/segyio-catr "-t" "0" "/build/reproducible-path/segyio-1.8.3/test-data/small.sgy" 6: Working Directory: /build/reproducible-path/segyio-1.8.3/obj-arm-linux-gnueabihf/applications 6: Test timeout computed to be: 1500 6: out of range 4/27 Test #6: catr.arg.t1 ...................... Passed 0.01 sec 5: Filters: [c++] 5: =============================================================================== 5: All tests passed (49 assertions in 20 test cases) 5: test 7 Start 7: catr.arg.t2 7: Test command: /build/reproducible-path/segyio-1.8.3/obj-arm-linux-gnueabihf/applications/segyio-catr "-t" "5" "/build/reproducible-path/segyio-1.8.3/test-data/small.sgy" 7: Working Directory: /build/reproducible-path/segyio-1.8.3/obj-arm-linux-gnueabihf/applications 7: Test timeout computed to be: 1500 5/27 Test #5: cpp.segy ......................... Passed 0.04 sec test 8 Start 8: catr.arg.r1 8: Test command: /build/reproducible-path/segyio-1.8.3/obj-arm-linux-gnueabihf/applications/segyio-catr "-r" "5" "/build/reproducible-path/segyio-1.8.3/test-data/small.sgy" 8: Working Directory: /build/reproducible-path/segyio-1.8.3/obj-arm-linux-gnueabihf/applications 8: Test timeout computed to be: 1500 7: tracl 0 7: tracr 0 7: fldr 0 7: tracf 0 7: ep 0 7: cdp 0 7: cdpt 0 7: trid 0 7: nvs 0 7: nhs 0 7: duse 0 7: offset 1 7: gelev 0 7: selev 0 7: sdepth 0 7: gdel 0 7: sdel 0 7: swdep 0 7: gwdep 0 7: scalel 0 7: scalco 0 7: sx 0 7: sy 0 7: gx 0 7: gy 0 7: counit 0 7: wevel 0 7: swevel 0 7: sut 0 7: gut 0 7: sstat 0 7: gstat 0 7: tstat 0 7: laga 0 7: lagb 0 7: delrt 0 7: muts 0 7: mute 0 7: ns 0 7: dt 0 7: gain 0 7: igc 0 7: igi 0 7: corr 0 7: sfs 0 7: sfe 0 7: slen 0 7: styp 0 7: stat 0 7: stae 0 7: tatyp 0 7: afilf 0 7: afils 0 7: nofilf 0 7: nofils 0 7: lcf 0 7: hcf 0 7: lcs 0 7: hcs 0 7: year 0 7: day 0 7: hour 0 7: minute 0 7: sec 0 7: timbas 0 7: trwf 0 7: grnors 0 7: grnofr 0 7: grnlof 0 7: gaps 0 7: otrav 0 7: cdpx 0 7: cdpy 0 7: iline 1 7: xline 24 7: sp 0 7: scalsp 0 7: trunit 0 7: tdcm 0 7: tdcp 0 7: tdunit 0 7: triden 0 7: sctrh 0 7: stype 0 7: sedm 0 7: sede 0 7: smm 0 7: sme 0 7: smunit 0 7: uint1 0 7: uint2 0 4: =============================================================================== 4: All tests passed (489 assertions in 80 test cases) 4: 8: tracl 0 8: tracr 0 8: fldr 0 8: tracf 0 8: ep 0 8: cdp 0 8: cdpt 0 8: trid 0 8: nvs 0 8: nhs 0 8: duse 0 8: offset 1 8: gelev 0 8: selev 0 8: sdepth 0 8: gdel 0 8: sdel 0 8: swdep 0 8: gwdep 0 8: scalel 0 8: scalco 0 8: sx 0 8: sy 0 8: gx 0 8: gy 0 8: counit 0 8: wevel 0 8: swevel 0 8: sut 0 8: gut 0 8: sstat 0 8: gstat 0 8: tstat 0 8: laga 0 8: lagb 0 8: delrt 0 8: muts 0 8: mute 0 8: ns 0 8: dt 0 8: gain 0 8: igc 0 8: igi 0 8: corr 0 8: sfs 0 8: sfe 0 8: slen 0 8: styp 0 8: stat 0 8: stae 0 8: tatyp 0 8: afilf 0 8: afils 0 8: nofilf 0 8: nofils 0 8: lcf 0 8: hcf 0 8: lcs 0 8: hcs 0 8: year 0 8: day 0 8: hour 0 8: minute 0 8: sec 0 8: timbas 0 8: trwf 0 8: grnors 0 8: grnofr 0 8: grnlof 0 8: gaps 0 8: otrav 0 8: cdpx 0 8: cdpy 0 8: iline 1 8: xline 24 8: sp 0 8: scalsp 0 8: trunit 0 8: tdcm 0 8: tdcp 0 8: tdunit 0 8: triden 0 8: sctrh 0 8: stype 0 8: sedm 0 8: sede 0 8: smm 0 8: sme 0 8: smunit 0 8: uint1 0 8: uint2 0 6/27 Test #4: c.segy.mmap.lsb .................. Passed 0.09 sec 7/27 Test #7: catr.arg.t2 ...................... Passed 0.04 sec 8/27 Test #8: catr.arg.r1 ...................... Passed 0.03 sec test 9 Start 9: catr.arg.r2 9: Test command: /build/reproducible-path/segyio-1.8.3/obj-arm-linux-gnueabihf/applications/segyio-catr "-r" "1" "2" "/build/reproducible-path/segyio-1.8.3/test-data/small.sgy" 9: Working Directory: /build/reproducible-path/segyio-1.8.3/obj-arm-linux-gnueabihf/applications 9: Test timeout computed to be: 1500 test 10 Start 10: catr.arg.r3 10: Test command: /build/reproducible-path/segyio-1.8.3/obj-arm-linux-gnueabihf/applications/segyio-catr "-r" "1" "2" "3" "/build/reproducible-path/segyio-1.8.3/test-data/small.sgy" "-r" "5" "6" 10: Working Directory: /build/reproducible-path/segyio-1.8.3/obj-arm-linux-gnueabihf/applications 10: Test timeout computed to be: 1500 test 11 Start 11: catr.arg.multiple 11: Test command: /build/reproducible-path/segyio-1.8.3/obj-arm-linux-gnueabihf/applications/segyio-catr "-r 1" "5" "2" "/build/reproducible-path/segyio-1.8.3/test-data/small.sgy" "-r" "1" "6" 11: Working Directory: /build/reproducible-path/segyio-1.8.3/obj-arm-linux-gnueabihf/applications 11: Test timeout computed to be: 1500 9: tracl 0 9: tracr 0 9: fldr 0 9: tracf 0 9: ep 0 9: cdp 0 9: cdpt 0 9: trid 0 9: nvs 0 9: nhs 0 9: duse 0 9: offset 1 9: gelev 0 9: selev 0 9: sdepth 0 9: gdel 0 9: sdel 0 9: swdep 0 9: gwdep 0 9: scalel 0 9: scalco 0 9: sx 0 9: sy 0 9: gx 0 9: gy 0 9: counit 0 9: wevel 0 9: swevel 0 9: sut 0 9: gut 0 9: sstat 0 9: gstat 0 9: tstat 0 9: laga 0 9: lagb 0 9: delrt 0 9: muts 0 9: mute 0 9: ns 0 9: dt 0 9: gain 0 9: igc 0 9: igi 0 9: corr 0 9: sfs 0 9: sfe 0 9: slen 0 9: styp 0 9: stat 0 9: stae 0 9: tatyp 0 9: afilf 0 9: afils 0 9: nofilf 0 9: nofils 0 9: lcf 0 9: hcf 0 9: lcs 0 9: hcs 0 9: year 0 9: day 0 9: hour 0 9: minute 0 9: sec 0 9: timbas 0 9: trwf 0 9: grnors 0 9: grnofr 0 9: grnlof 0 9: gaps 0 9: otrav 0 9: cdpx 0 9: cdpy 0 9: iline 1 9: xline 20 9: sp 0 9: scalsp 0 9: trunit 0 9: tdcm 0 9: tdcp 0 9: tdunit 0 9: triden 0 9: sctrh 0 9: stype 0 9: sedm 0 9: sede 0 9: smm 0 9: sme 0 9: smunit 0 9: uint1 0 9: uint2 0 9: tracl 0 9: tracr 0 9: fldr 0 9: tracf 0 9: ep 0 9: cdp 0 9: cdpt 0 9: trid 0 9: nvs 0 9: nhs 0 9: duse 0 9: offset 1 9: gelev 0 9: selev 0 9: sdepth 0 9: gdel 0 9: sdel 0 9: swdep 0 9: gwdep 0 9: scalel 0 9: scalco 0 9: sx 0 9: sy 0 9: gx 0 9: gy 0 9: counit 0 9: wevel 0 9: swevel 0 9: sut 0 9: gut 0 9: sstat 0 9: gstat 0 9: tstat 0 9: laga 0 9: lagb 0 9: delrt 0 9: muts 0 9: mute 0 9: ns 0 9: dt 0 9: gain 0 9: igc 0 9: igi 0 9: corr 0 9: sfs 0 9: sfe 0 9: slen 0 9: styp 0 9: stat 0 9: stae 0 9: tatyp 0 9: afilf 0 9: afils 0 9: nofilf 0 9: nofils 0 9: lcf 0 9: hcf 0 9: lcs 0 9: hcs 0 9: year 0 9: day 0 9: hour 0 9: minute 0 9: sec 0 9: timbas 0 9: trwf 0 9: grnors 0 9: grnofr 0 9: grnlof 0 9: gaps 0 9: otrav 0 9: cdpx 0 9: cdpy 0 9: iline 1 9: xline 21 9: sp 0 9: scalsp 0 9: trunit 0 9: tdcm 0 9: tdcp 0 9: tdunit 0 9: triden 0 9: sctrh 0 9: stype 0 9: sedm 0 9: sede 0 9: smm 0 9: sme 0 9: smunit 0 9: uint1 0 9: uint2 0 10: tracl 0 10: tracr 0 10: fldr 0 10: tracf 0 10: ep 0 10: cdp 0 10: cdpt 0 10: trid 0 10: nvs 0 10: nhs 0 10: duse 0 10: offset 1 10: gelev 0 10: selev 0 10: sdepth 0 10: gdel 0 10: sdel 0 10: swdep 0 10: gwdep 0 10: scalel 0 10: scalco 0 10: sx 0 10: sy 0 10: gx 0 10: gy 0 10: counit 0 10: wevel 0 10: swevel 0 10: sut 0 10: gut 0 10: sstat 0 10: gstat 0 10: tstat 0 10: laga 0 10: lagb 0 10: delrt 0 10: muts 0 10: mute 0 10: ns 0 10: dt 0 10: gain 0 10: igc 0 10: igi 0 10: corr 0 10: sfs 0 10: sfe 0 10: slen 0 10: styp 0 10: stat 0 10: stae 0 10: tatyp 0 10: afilf 0 10: afils 0 10: nofilf 0 10: nofils 0 10: lcf 0 10: hcf 0 10: lcs 0 10: hcs 0 10: year 0 10: day 0 10: hour 0 10: minute 0 10: sec 0 10: timbas 0 10: trwf 0 10: grnors 0 10: grnofr 0 10: grnlof 0 10: gaps 0 10: otrav 0 10: cdpx 0 10: cdpy 0 10: iline 1 10: xline 20 10: sp 0 10: scalsp 0 10: trunit 0 10: tdcm 0 10: tdcp 0 10: tdunit 0 10: triden 0 10: sctrh 0 10: stype 0 10: sedm 0 10: sede 0 10: smm 0 10: sme 0 10: smunit 0 10: uint1 0 10: uint2 0 10: tracl 0 10: tracr 0 10: fldr 0 10: tracf 0 10: ep 0 10: cdp 0 10: cdpt 0 10: trid 0 10: nvs 0 10: nhs 0 10: duse 0 10: offset 1 10: gelev 0 10: selev 0 10: sdepth 0 10: gdel 0 10: sdel 0 10: swdep 0 10: gwdep 0 10: scalel 0 10: scalco 0 10: sx 0 10: sy 0 10: gx 0 10: gy 0 10: counit 0 10: wevel 0 10: swevel 0 10: sut 0 10: gut 0 10: sstat 0 10: gstat 0 10: tstat 0 10: laga 0 10: lagb 0 10: delrt 0 10: muts 0 10: mute 0 10: ns 0 10: dt 0 10: gain 0 10: igc 0 10: igi 0 10: corr 0 10: sfs 0 10: sfe 0 10: slen 0 10: styp 0 10: stat 0 10: stae 0 10: tatyp 0 10: afilf 0 10: afils 0 10: nofilf 0 10: nofils 0 10: lcf 0 10: hcf 0 10: lcs 0 10: hcs 0 10: year 0 10: day 0 10: hour 0 10: minute 0 10: sec 0 10: timbas 0 10: trwf 0 10: grnors 0 10: grnofr 0 10: grnlof 0 10: gaps 0 10: otrav 0 10: cdpx 0 10: cdpy 0 10: iline 1 10: xline 24 10: sp 0 10: scalsp 0 10: trunit 0 10: tdcm 0 10: tdcp 0 10: tdunit 0 10: triden 0 10: sctrh 0 10: stype 0 10: sedm 0 10: sede 0 10: smm 0 10: sme 0 10: smunit 0 10: uint1 0 10: uint2 0 10: tracl 0 10: tracr 0 10: fldr 0 10: tracf 0 10: ep 0 10: cdp 0 10: cdpt 0 10: trid 0 10: nvs 0 10: nhs 0 10: duse 0 10: offset 1 10: gelev 0 10: selev 0 10: sdepth 0 10: gdel 0 10: sdel 0 10: swdep 0 10: gwdep 0 10: scalel 0 10: scalco 0 10: sx 0 10: sy 0 10: gx 0 10: gy 0 10: counit 0 10: wevel 0 10: swevel 0 10: sut 0 10: gut 0 10: sstat 0 10: gstat 0 10: tstat 0 10: laga 0 10: lagb 0 10: delrt 0 10: muts 0 10: mute 0 10: ns 0 10: dt 0 10: gain 0 10: igc 0 10: igi 0 10: corr 0 10: sfs 0 10: sfe 0 10: slen 0 10: styp 0 10: stat 0 10: stae 0 10: tatyp 0 10: afilf 0 10: afils 0 10: nofilf 0 10: nofils 0 10: lcf 0 10: hcf 0 10: lcs 0 10: hcs 0 10: year 0 10: day 0 10: hour 0 10: minute 0 10: sec 0 10: timbas 0 10: trwf 0 10: grnors 0 10: grnofr 0 10: grnlof 0 10: gaps 0 10: otrav 0 10: cdpx 0 10: cdpy 0 10: iline 2 10: xline 20 10: sp 0 10: scalsp 0 10: trunit 0 10: tdcm 0 10: tdcp 0 10: tdunit 0 10: triden 0 10: sctrh 0 10: stype 0 10: sedm 0 10: sede 0 10: smm 0 10: sme 0 10: smunit 0 10: uint1 0 10: uint2 0 9/27 Test #9: catr.arg.r2 ...................... Passed 0.06 sec 10/27 Test #10: catr.arg.r3 ...................... Passed 0.05 sec 11: tracl 0 11: tracr 0 11: fldr 0 11: tracf 0 11: ep 0 11: cdp 0 11: cdpt 0 11: trid 0 11: nvs 0 11: nhs 0 11: duse 0 11: offset 1 11: gelev 0 11: selev 0 11: sdepth 0 11: gdel 0 11: sdel 0 11: swdep 0 11: gwdep 0 11: scalel 0 11: scalco 0 11: sx 0 11: sy 0 11: gx 0 11: gy 0 11: counit 0 11: wevel 0 11: swevel 0 11: sut 0 11: gut 0 11: sstat 0 11: gstat 0 11: tstat 0 11: laga 0 11: lagb 0 11: delrt 0 11: muts 0 11: mute 0 11: ns 0 11: dt 0 11: gain 0 11: igc 0 11: igi 0 11: corr 0 11: sfs 0 11: sfe 0 11: slen 0 11: styp 0 11: stat 0 11: stae 0 11: tatyp 0 11: afilf 0 11: afils 0 11: nofilf 0 11: nofils 0 11: lcf 0 11: hcf 0 11: lcs 0 11: hcs 0 11: year 0 11: day 0 11: hour 0 11: minute 0 11: sec 0 11: timbas 0 11: trwf 0 11: grnors 0 11: grnofr 0 11: grnlof 0 11: gaps 0 11: otrav 0 11: cdpx 0 11: cdpy 0 11: iline 1 11: xline 20 11: sp 0 11: scalsp 0 11: trunit 0 11: tdcm 0 11: tdcp 0 11: tdunit 0 11: triden 0 11: sctrh 0 11: stype 0 11: sedm 0 11: sede 0 11: smm 0 11: sme 0 11: smunit 0 11: uint1 0 11: uint2 0 11: tracl 0 11: tracr 0 11: fldr 0 11: tracf 0 11: ep 0 11: cdp 0 11: cdpt 0 11: trid 0 11: nvs 0 11: nhs 0 11: duse 0 11: offset 1 11: gelev 0 11: selev 0 11: sdepth 0 11: gdel 0 11: sdel 0 11: swdep 0 11: gwdep 0 11: scalel 0 11: scalco 0 11: sx 0 11: sy 0 11: gx 0 11: gy 0 11: counit 0 11: wevel 0 11: swevel 0 11: sut 0 11: gut 0 11: sstat 0 11: gstat 0 11: tstat 0 11: laga 0 11: lagb 0 11: delrt 0 11: muts 0 11: mute 0 11: ns 0 11: dt 0 11: gain 0 11: igc 0 11: igi 0 11: corr 0 11: sfs 0 11: sfe 0 11: slen 0 11: styp 0 11: stat 0 11: stae 0 11: tatyp 0 11: afilf 0 11: afils 0 11: nofilf 0 11: nofils 0 11: lcf 0 11: hcf 0 11: lcs 0 11: hcs 0 11: year 0 11: day 0 11: hour 0 11: minute 0 11: sec 0 11: timbas 0 11: trwf 0 11: grnors 0 11: grnofr 0 11: grnlof 0 11: gaps 0 11: otrav 0 11: cdpx 0 11: cdpy 0 11: iline 1 11: xline 22 11: sp 0 11: scalsp 0 11: trunit 0 11: tdcm 0 11: tdcp 0 11: tdunit 0 11: triden 0 11: sctrh 0 11: stype 0 11: sedm 0 11: sede 0 11: smm 0 11: sme 0 11: smunit 0 11: uint1 0 11: uint2 0 11: tracl 0 11: tracr 0 11: fldr 0 11: tracf 0 11: ep 0 11: cdp 0 11: cdpt 0 11: trid 0 11: nvs 0 11: nhs 0 11: duse 0 11: offset 1 11: gelev 0 11: selev 0 11: sdepth 0 11: gdel 0 11: sdel 0 11: swdep 0 11: gwdep 0 11: scalel 0 11: scalco 0 11: sx 0 11: sy 0 11: gx 0 11: gy 0 11: counit 0 11: wevel 0 11: swevel 0 11: sut 0 11: gut 0 11: sstat 0 11: gstat 0 11: tstat 0 11: laga 0 11: lagb 0 11: delrt 0 11: muts 0 11: mute 0 11: ns 0 11: dt 0 11: gain 0 11: igc 0 11: igi 0 11: corr 0 11: sfs 0 11: sfe 0 11: slen 0 11: styp 0 11: stat 0 11: stae 0 11: tatyp 0 11: afilf 0 11: afils 0 11: nofilf 0 11: nofils 0 11: lcf 0 11: hcf 0 11: lcs 0 11: hcs 0 11: year 0 11: day 0 11: hour 0 11: minute 0 11: sec 0 11: timbas 0 11: trwf 0 11: grnors 0 11: grnofr 0 11: grnlof 0 11: gaps 0 11: otrav 0 11: cdpx 0 11: cdpy 0 11: iline 1 11: xline 24 11: sp 0 11: scalsp 0 11: trunit 0 11: tdcm 0 11: tdcp 0 11: tdunit 0 11: triden 0 11: sctrh 0 11: stype 0 11: sedm 0 11: sede 0 11: smm 0 11: sme 0 11: smunit 0 11: uint1 0 11: uint2 0 11: tracl 0 11: tracr 0 11: fldr 0 11: tracf 0 11: ep 0 11: cdp 0 11: cdpt 0 11: trid 0 11: nvs 0 11: nhs 0 11: duse 0 11: offset 1 11: gelev 0 11: selev 0 11: sdepth 0 11: gdel 0 11: sdel 0 11: swdep 0 11: gwdep 0 11: scalel 0 11: scalco 0 11: sx 0 11: sy 0 11: gx 0 11: gy 0 11: counit 0 11: wevel 0 11: swevel 0 11: sut 0 11: gut 0 11: sstat 0 11: gstat 0 11: tstat 0 11: laga 0 11: lagb 0 11: delrt 0 11: muts 0 11: mute 0 11: ns 0 11: dt 0 11: gain 0 11: igc 0 11: igi 0 11: corr 0 11: sfs 0 11: sfe 0 11: slen 0 11: styp 0 11: stat 0 11: stae 0 11: tatyp 0 11: afilf 0 11: afils 0 11: nofilf 0 11: nofils 0 11: lcf 0 11: hcf 0 11: lcs 0 11: hcs 0 11: year 0 11: day 0 11: hour 0 11: minute 0 11: sec 0 11: timbas 0 11: trwf 0 11: grnors 0 11: grnofr 0 11: grnlof 0 11: gaps 0 11: otrav 0 11: cdpx 0 11: cdpy 0 11: iline 1 11: xline 20 11: sp 0 11: scalsp 0 11: trunit 0 11: tdcm 0 11: tdcp 0 11: tdunit 0 11: triden 0 11: sctrh 0 11: stype 0 11: sedm 0 11: sede 0 11: smm 0 11: sme 0 11: smunit 0 11: uint1 0 11: uint2 0 11: tracl 0 11: tracr 0 11: fldr 0 11: tracf 0 11: ep 0 11: cdp 0 11: cdpt 0 11: trid 0 11: nvs 0 11: nhs 0 11: duse 0 11: offset 1 11: gelev 0 11: selev 0 11: sdepth 0 11: gdel 0 11: sdel 0 11: swdep 0 11: gwdep 0 11: scalel 0 11: scalco 0 11: sx 0 11: sy 0 11: gx 0 11: gy 0 11: counit 0 11: wevel 0 11: swevel 0 11: sut 0 11: gut 0 11: sstat 0 11: gstat 0 11: tstat 0 11: laga 0 11: lagb 0 11: delrt 0 11: muts 0 11: mute 0 11: ns 0 11: dt 0 11: gain 0 11: igc 0 11: igi 0 11: corr 0 11: sfs 0 11: sfe 0 11: slen 0 11: styp 0 11: stat 0 11: stae 0 11: tatyp 0 11: afilf 0 11: afils 0 11: nofilf 0 11: nofils 0 11: lcf 0 11: hcf 0 11: lcs 0 11: hcs 0 11: year 0 11: day 0 11: hour 0 11: minute 0 11: sec 0 11: timbas 0 11: trwf 0 11: grnors 0 11: grnofr 0 11: grnlof 0 11: gaps 0 11: otrav 0 11: cdpx 0 11: cdpy 0 11: iline 1 11: xline 21 11: sp 0 11: scalsp 0 11: trunit 0 11: tdcm 0 11: tdcp 0 11: tdunit 0 11: triden 0 11: sctrh 0 11: stype 0 11: sedm 0 11: sede 0 11: smm 0 11: sme 0 11: smunit 0 11: uint1 0 11: uint2 0 11: tracl 0 11: tracr 0 11: fldr 0 11: tracf 0 11: ep 0 11: cdp 0 11: cdpt 0 11: trid 0 11: nvs 0 11: nhs 0 11: duse 0 11: offset 1 11: gelev 0 11: selev 0 11: sdepth 0 11: gdel 0 11: sdel 0 11: swdep 0 11: gwdep 0 11: scalel 0 11: scalco 0 11: sx 0 11: sy 0 11: gx 0 11: gy 0 11: counit 0 11: wevel 0 11: swevel 0 11: sut 0 11: gut 0 11: sstat 0 11: gstat 0 11: tstat 0 11: laga 0 11: lagb 0 11: delrt 0 11: muts 0 11: mute 0 11: ns 0 11: dt 0 11: gain 0 11: igc 0 11: igi 0 11: corr 0 11: sfs 0 11: sfe 0 11: slen 0 11: styp 0 11: stat 0 11: stae 0 11: tatyp 0 11: afilf 0 11: afils 0 11: nofilf 0 11: nofils 0 11: lcf 0 11: hcf 0 11: lcs 0 11: hcs 0 11: year 0 11: day 0 11: hour 0 11: minute 0 11: sec 0 11: timbas 0 11: trwf 0 11: grnors 0 11: grnofr 0 11: grnlof 0 11: gaps 0 11: otrav 0 11: cdpx 0 11: cdpy 0 11: iline 1 11: xline 22 11: sp 0 11: scalsp 0 11: trunit 0 11: tdcm 0 11: tdcp 0 11: tdunit 0 11: triden 0 11: sctrh 0 11: stype 0 11: sedm 0 11: sede 0 11: smm 0 11: sme 0 11: smunit 0 11: uint1 0 11: uint2 0 11: tracl 0 11: tracr 0 11: fldr 0 11: tracf 0 11: ep 0 11: cdp 0 11: cdpt 0 11: trid 0 11: nvs 0 11: nhs 0 11: duse 0 11: offset 1 11: gelev 0 11: selev 0 11: sdepth 0 11: gdel 0 11: sdel 0 11: swdep 0 11: gwdep 0 11: scalel 0 11: scalco 0 11: sx 0 11: sy 0 11: gx 0 11: gy 0 11: counit 0 11: wevel 0 11: swevel 0 11: sut 0 11: gut 0 11: sstat 0 11: gstat 0 11: tstat 0 11: laga 0 11: lagb 0 11: delrt 0 11: muts 0 11: mute 0 11: ns 0 11: dt 0 11: gain 0 11: igc 0 11: igi 0 11: corr 0 11: sfs 0 11: sfe 0 11: slen 0 11: styp 0 11: stat 0 11: stae 0 11: tatyp 0 11: afilf 0 11: afils 0 11: nofilf 0 11: nofils 0 11: lcf 0 11: hcf 0 11: lcs 0 11: hcs 0 11: year 0 11: day 0 11: hour 0 11: minute 0 11: sec 0 11: timbas 0 11: trwf 0 11: grnors 0 11: grnofr 0 11: grnlof 0 11: gaps 0 11: otrav 0 11: cdpx 0 11: cdpy 0 11: iline 1 11: xline 23 11: sp 0 11: scalsp 0 11: trunit 0 11: tdcm 0 11: tdcp 0 11: tdunit 0 11: triden 0 11: sctrh 0 11: stype 0 11: sedm 0 11: sede 0 11: smm 0 11: sme 0 11: smunit 0 11: uint1 0 11: uint2 0 11: tracl 0 11: tracr 0 11: fldr 0 11: tracf 0 11: ep 0 11: cdp 0 11: cdpt 0 11: trid 0 11: nvs 0 11: nhs 0 11: duse 0 11: offset 1 11: gelev 0 11: selev 0 11: sdepth 0 11: gdel 0 11: sdel 0 11: swdep 0 11: gwdep 0 11: scalel 0 11: scalco 0 11: sx 0 11: sy 0 11: gx 0 11: gy 0 11: counit 0 11: wevel 0 11: swevel 0 11: sut 0 11: gut 0 11: sstat 0 11: gstat 0 11: tstat 0 11: laga 0 11: lagb 0 11: delrt 0 11: muts 0 11: mute 0 11: ns 0 11: dt 0 11: gain 0 11: igc 0 11: igi 0 11: corr 0 11: sfs 0 11: sfe 0 11: slen 0 11: styp 0 11: stat 0 11: stae 0 11: tatyp 0 11: afilf 0 11: afils 0 11: nofilf 0 11: nofils 0 11: lcf 0 11: hcf 0 11: lcs 0 11: hcs 0 11: year 0 11: day 0 11: hour 0 11: minute 0 11: sec 0 11: timbas 0 11: trwf 0 11: grnors 0 11: grnofr 0 11: grnlof 0 11: gaps 0 11: otrav 0 11: cdpx 0 11: cdpy 0 11: iline 1 11: xline 24 11: sp 0 11: scalsp 0 11: trunit 0 11: tdcm 0 11: tdcp 0 11: tdunit 0 11: triden 0 11: sctrh 0 11: stype 0 11: sedm 0 11: sede 0 11: smm 0 11: sme 0 11: smunit 0 11: uint1 0 11: uint2 0 11: tracl 0 11: tracr 0 11: fldr 0 11: tracf 0 11: ep 0 11: cdp 0 11: cdpt 0 11: trid 0 11: nvs 0 11: nhs 0 11: duse 0 11: offset 1 11: gelev 0 11: selev 0 11: sdepth 0 11: gdel 0 11: sdel 0 11: swdep 0 11: gwdep 0 11: scalel 0 11: scalco 0 11: sx 0 11: sy 0 11: gx 0 11: gy 0 11: counit 0 11: wevel 0 11: swevel 0 11: sut 0 11: gut 0 11: sstat 0 11: gstat 0 11: tstat 0 11: laga 0 11: lagb 0 11: delrt 0 11: muts 0 11: mute 0 11: ns 0 11: dt 0 11: gain 0 11: igc 0 11: igi 0 11: corr 0 11: sfs 0 11: sfe 0 11: slen 0 11: styp 0 11: stat 0 11: stae 0 11: tatyp 0 11: afilf 0 11: afils 0 11: nofilf 0 11: nofils 0 11: lcf 0 11: hcf 0 11: lcs 0 11: hcs 0 11: year 0 11: day 0 11: hour 0 11: minute 0 11: sec 0 11: timbas 0 11: trwf 0 11: grnors 0 11: grnofr 0 11: grnlof 0 11: gaps 0 11: otrav 0 11: cdpx 0 11: cdpy 0 11: iline 2 11: xline 20 11: sp 0 11: scalsp 0 11: trunit 0 11: tdcm 0 11: tdcp 0 11: tdunit 0 11: triden 0 11: sctrh 0 11: stype 0 11: sedm 0 11: sede 0 11: smm 0 11: sme 0 11: smunit 0 11: uint1 0 11: uint2 0 11/27 Test #11: catr.arg.multiple ................ Passed 0.04 sec test 12 Start 12: catr.arg.rt 12: Test command: /build/reproducible-path/segyio-1.8.3/obj-arm-linux-gnueabihf/applications/segyio-catr "-r" "1" "2" "/build/reproducible-path/segyio-1.8.3/test-data/small.sgy" "-t" "5" 12: Working Directory: /build/reproducible-path/segyio-1.8.3/obj-arm-linux-gnueabihf/applications 12: Test timeout computed to be: 1500 test 13 Start 13: catr.arg.fmt 13: Test command: /build/reproducible-path/segyio-1.8.3/obj-arm-linux-gnueabihf/applications/segyio-catr "-f" "ieee" "/build/reproducible-path/segyio-1.8.3/test-data/small.sgy" 13: Working Directory: /build/reproducible-path/segyio-1.8.3/obj-arm-linux-gnueabihf/applications 13: Test timeout computed to be: 1500 test 14 Start 14: catb.arg.help 14: Test command: /build/reproducible-path/segyio-1.8.3/obj-arm-linux-gnueabihf/applications/segyio-catb "--help" 14: Working Directory: /build/reproducible-path/segyio-1.8.3/obj-arm-linux-gnueabihf/applications 14: Test timeout computed to be: 1500 12: tracl 0 12: tracr 0 12: fldr 0 12: tracf 0 12: ep 0 12: cdp 0 12: cdpt 0 12: trid 0 12: nvs 0 12: nhs 0 12: duse 0 12: offset 1 12: gelev 0 12: selev 0 12: sdepth 0 12: gdel 0 12: sdel 0 12: swdep 0 12: gwdep 0 12: scalel 0 12: scalco 0 12: sx 0 12: sy 0 12: gx 0 12: gy 0 12: counit 0 12: wevel 0 12: swevel 0 12: sut 0 12: gut 0 12: sstat 0 12: gstat 0 12: tstat 0 12: laga 0 12: lagb 0 12: delrt 0 12: muts 0 12: mute 0 12: ns 0 12: dt 0 12: gain 0 12: igc 0 12: igi 0 12: corr 0 12: sfs 0 12: sfe 0 12: slen 0 12: styp 0 12: stat 0 12: stae 0 12: tatyp 0 12: afilf 0 12: afils 0 12: nofilf 0 12: nofils 0 12: lcf 0 12: hcf 0 12: lcs 0 12: hcs 0 12: year 0 12: day 0 12: hour 0 12: minute 0 12: sec 0 12: timbas 0 12: trwf 0 12: grnors 0 12: grnofr 0 12: grnlof 0 12: gaps 0 12: otrav 0 12: cdpx 0 12: cdpy 0 12: iline 1 12: xline 20 12: sp 0 12: scalsp 0 12: trunit 0 12: tdcm 0 12: tdcp 0 12: tdunit 0 12: triden 0 12: sctrh 0 12: stype 0 12: sedm 0 12: sede 0 12: smm 0 12: sme 0 12: smunit 0 12: uint1 0 12: uint2 0 12: tracl 0 12: tracr 0 12: fldr 0 12: tracf 0 12: ep 0 12: cdp 0 12: cdpt 0 12: trid 0 12: nvs 0 12: nhs 0 12: duse 0 12: offset 1 12: gelev 0 12: selev 0 12: sdepth 0 12: gdel 0 12: sdel 0 12: swdep 0 12: gwdep 0 12: scalel 0 12: scalco 0 12: sx 0 12: sy 0 12: gx 0 12: gy 0 12: counit 0 12: wevel 0 12: swevel 0 12: sut 0 12: gut 0 12: sstat 0 12: gstat 0 12: tstat 0 12: laga 0 12: lagb 0 12: delrt 0 12: muts 0 12: mute 0 12: ns 0 12: dt 0 12: gain 0 12: igc 0 12: igi 0 12: corr 0 12: sfs 0 12: sfe 0 12: slen 0 12: styp 0 12: stat 0 12: stae 0 12: tatyp 0 12: afilf 0 12: afils 0 12: nofilf 0 12: nofils 0 12: lcf 0 12: hcf 0 12: lcs 0 12: hcs 0 12: year 0 12: day 0 12: hour 0 12: minute 0 12: sec 0 12: timbas 0 12: trwf 0 12: grnors 0 12: grnofr 0 12: grnlof 0 12: gaps 0 12: otrav 0 12: cdpx 0 12: cdpy 0 12: iline 1 12: xline 21 12: sp 0 12: scalsp 0 12: trunit 0 12: tdcm 0 12: tdcp 0 12: tdunit 0 12: triden 0 12: sctrh 0 12: stype 0 12: sedm 0 12: sede 0 12: smm 0 12: sme 0 12: smunit 0 12: uint1 0 12: uint2 0 12: tracl 0 12: tracr 0 12: fldr 0 12: tracf 0 12: ep 0 12: cdp 0 12: cdpt 0 12: trid 0 12: nvs 0 12: nhs 0 12: duse 0 12: offset 1 12: gelev 0 12: selev 0 12: sdepth 0 12: gdel 0 12: sdel 0 12: swdep 0 12: gwdep 0 12: scalel 0 12: scalco 0 12: sx 0 12: sy 0 12: gx 0 12: gy 0 12: counit 0 12: wevel 0 12: swevel 0 12: sut 0 12: gut 0 12: sstat 0 12: gstat 0 12: tstat 0 12: laga 0 12: lagb 0 12: delrt 0 12: muts 0 12: mute 0 12: ns 0 12: dt 0 12: gain 0 12: igc 0 12: igi 0 12: corr 0 12: sfs 0 12: sfe 0 12: slen 0 12: styp 0 12: stat 0 12: stae 0 12: tatyp 0 12: afilf 0 12: afils 0 12: nofilf 0 12: nofils 0 12: lcf 0 12: hcf 0 12: lcs 0 12: hcs 0 12: year 0 12: day 0 12: hour 0 12: minute 0 12: sec 0 12: timbas 0 12: trwf 0 12: grnors 0 12: grnofr 0 12: grnlof 0 12: gaps 0 12: otrav 0 12: cdpx 0 12: cdpy 0 12: iline 1 12: xline 24 12: sp 0 12: scalsp 0 12: trunit 0 12: tdcm 0 12: tdcp 0 12: tdunit 0 12: triden 0 12: sctrh 0 12: stype 0 12: sedm 0 12: sede 0 12: smm 0 12: sme 0 12: smunit 0 12: uint1 0 12: uint2 0 12/27 Test #12: catr.arg.rt ...................... Passed 0.04 sec test 15 Start 15: catb.fail.nosegy 15: Test command: /build/reproducible-path/segyio-1.8.3/obj-arm-linux-gnueabihf/applications/segyio-catb "/build/reproducible-path/segyio-1.8.3/applications/test/catb.output" 15: Working Directory: /build/reproducible-path/segyio-1.8.3/obj-arm-linux-gnueabihf/applications 15: Test timeout computed to be: 1500 13: tracl 0 13: tracr 0 13: fldr 0 13: tracf 0 13: ep 0 13: cdp 0 13: cdpt 0 13: trid 0 13: nvs 0 13: nhs 0 13: duse 0 13: offset 1 13: gelev 0 13: selev 0 13: sdepth 0 13: gdel 0 13: sdel 0 13: swdep 0 13: gwdep 0 13: scalel 0 13: scalco 0 13: sx 0 13: sy 0 13: gx 0 13: gy 0 13: counit 0 13: wevel 0 13: swevel 0 13: sut 0 13: gut 0 13: sstat 0 13: gstat 0 13: tstat 0 13: laga 0 13: lagb 0 13: delrt 0 13: muts 0 13: mute 0 13: ns 0 13: dt 0 13: gain 0 13: igc 0 13: igi 0 13: corr 0 13: sfs 0 13: sfe 0 13: slen 0 13: styp 0 13: stat 0 13: stae 0 13: tatyp 0 13: afilf 0 13: afils 0 13: nofilf 0 13: nofils 0 13: lcf 0 13: hcf 0 13: lcs 0 13: hcs 0 13: year 0 13: day 0 13: hour 0 13: minute 0 13: sec 0 13: timbas 0 13: trwf 0 13: grnors 0 13: grnofr 0 13: grnlof 0 13: gaps 0 13: otrav 0 13: cdpx 0 13: cdpy 0 13: iline 1 13: xline 20 13: sp 0 13: scalsp 0 13: trunit 0 13: tdcm 0 13: tdcp 0 13: tdunit 0 13: triden 0 13: sctrh 0 13: stype 0 13: sedm 0 13: sede 0 13: smm 0 13: sme 0 13: smunit 0 13: uint1 0 13: uint2 0 13/27 Test #13: catr.arg.fmt ..................... Passed 0.04 sec 14: Usage: segyio-catb [OPTION]... [FILE]... 14: Concatenate the binary header from FILE(s) to seismic unix output. 14: 14: -n, --nonzero only print fields with non-zero values 14: -d, --description print with byte offset and field description 14: --version output version information and exit 14: --help display this help and exit 14: 14: 14/27 Test #14: catb.arg.help .................... Passed 0.03 sec test 16 Start 16: catb.fail.nofile 16: Test command: /build/reproducible-path/segyio-1.8.3/obj-arm-linux-gnueabihf/applications/segyio-catb "not-exist" 16: Working Directory: /build/reproducible-path/segyio-1.8.3/obj-arm-linux-gnueabihf/applications 16: Test timeout computed to be: 1500 test 17 Start 17: catb.fail.noarg 17: Test command: /build/reproducible-path/segyio-1.8.3/obj-arm-linux-gnueabihf/applications/segyio-catb 17: Working Directory: /build/reproducible-path/segyio-1.8.3/obj-arm-linux-gnueabihf/applications 17: Test timeout computed to be: 1500 15: Unable to read binary header 15/27 Test #15: catb.fail.nosegy ................. Passed 0.04 sec test 18 Start 18: cath.arg.help 18: Test command: /build/reproducible-path/segyio-1.8.3/obj-arm-linux-gnueabihf/applications/segyio-cath "--help" 18: Working Directory: /build/reproducible-path/segyio-1.8.3/obj-arm-linux-gnueabihf/applications 18: Test timeout computed to be: 1500 16: No such file or directory 16/27 Test #16: catb.fail.nofile ................. Passed 0.03 sec 17: Missing argument 17: 17: Usage: segyio-catb [OPTION]... [FILE]... 17: Concatenate the binary header from FILE(s) to seismic unix output. 17: 17: -n, --nonzero only print fields with non-zero values 17: -d, --description print with byte offset and field description 17: --version output version information and exit 17: --help display this help and exit 17: 17: test 19 Start 19: cath.fail.nosegy 19: Test command: /build/reproducible-path/segyio-1.8.3/obj-arm-linux-gnueabihf/applications/segyio-cath "/build/reproducible-path/segyio-1.8.3/applications/test/cath.output" 19: Working Directory: /build/reproducible-path/segyio-1.8.3/obj-arm-linux-gnueabihf/applications 19: Test timeout computed to be: 1500 18: Usage: segyio-cath [OPTION]... [FILE]... 18: Concatenate the textual header(s) from FILE(s) to standard output. 18: 18: -n, --num the textual header to show, starts at 0 18: -a, --all all textual headers 18: -s, --strict abort if a header or file is not found 18: primarily meant for shell scripts 18: -S, --nonstrict ignore missing headers 18: this is the default behaviour 18: --version output version information and exit 18: --help display this help and exit 18: 18: By default, only the non-extended header is printed, which is 18: equivalent to --num 0 18: 17/27 Test #17: catb.fail.noarg .................. Passed 0.04 sec 18/27 Test #18: cath.arg.help .................... Passed 0.03 sec test 20 Start 20: cath.fail.nofile 20: Test command: /build/reproducible-path/segyio-1.8.3/obj-arm-linux-gnueabihf/applications/segyio-cath "--strict" "not-exist" 20: Working Directory: /build/reproducible-path/segyio-1.8.3/obj-arm-linux-gnueabihf/applications 20: Test timeout computed to be: 1500 test 21 Start 21: cath.fail.noarg 21: Test command: /build/reproducible-path/segyio-1.8.3/obj-arm-linux-gnueabihf/applications/segyio-cath 21: Working Directory: /build/reproducible-path/segyio-1.8.3/obj-arm-linux-gnueabihf/applications 21: Test timeout computed to be: 1500 19: Unable to read binary header 19/27 Test #19: cath.fail.nosegy ................. Passed 0.04 sec test 22 Start 22: catb.output 22: Test command: /usr/bin/cmake "-E" "compare_files" "/build/reproducible-path/segyio-1.8.3/applications/test/catb.output" "catb.out" 22: Working Directory: /build/reproducible-path/segyio-1.8.3/obj-arm-linux-gnueabihf/applications 22: Test timeout computed to be: 1500 20: segyio-cath: not-exist: No such file or directory 20/27 Test #20: cath.fail.nofile ................. Passed 0.03 sec 21: missing file operand 21: Try 'segyio-cath --help' for more information. test 23 Start 23: catb.output.nd 23: Test command: /usr/bin/cmake "-E" "compare_files" "/build/reproducible-path/segyio-1.8.3/applications/test/catbnd.output" "catbnd.out" 23: Working Directory: /build/reproducible-path/segyio-1.8.3/obj-arm-linux-gnueabihf/applications 23: Test timeout computed to be: 1500 21/27 Test #21: cath.fail.noarg .................. Passed 0.04 sec test 24 Start 24: cath.output 24: Test command: /usr/bin/cmake "-E" "compare_files" "/build/reproducible-path/segyio-1.8.3/applications/test/cath.output" "cath.out" 24: Working Directory: /build/reproducible-path/segyio-1.8.3/obj-arm-linux-gnueabihf/applications 24: Test timeout computed to be: 1500 22/27 Test #22: catb.output ...................... Passed 0.11 sec test 25 Start 25: catr.output 25: Test command: /usr/bin/cmake "-E" "compare_files" "/build/reproducible-path/segyio-1.8.3/applications/test/catr.output" "catr.out" 25: Working Directory: /build/reproducible-path/segyio-1.8.3/obj-arm-linux-gnueabihf/applications 25: Test timeout computed to be: 1500 23/27 Test #23: catb.output.nd ................... Passed 0.11 sec test 26 Start 26: catr.output.nd 26: Test command: /usr/bin/cmake "-E" "compare_files" "/build/reproducible-path/segyio-1.8.3/applications/test/catrnd.output" "catrnd.out" 26: Working Directory: /build/reproducible-path/segyio-1.8.3/obj-arm-linux-gnueabihf/applications 26: Test timeout computed to be: 1500 24/27 Test #24: cath.output ...................... Passed 0.11 sec test 27 Start 27: crop.samplecount 27: Test command: /usr/bin/cmake "-E" "compare_files" "/build/reproducible-path/segyio-1.8.3/applications/test/crop-ns.output" "crop-ns.out" 27: Working Directory: /build/reproducible-path/segyio-1.8.3/obj-arm-linux-gnueabihf/applications 27: Test timeout computed to be: 1500 25/27 Test #25: catr.output ...................... Passed 0.11 sec 26/27 Test #26: catr.output.nd ................... Passed 0.11 sec 27/27 Test #27: crop.samplecount ................. Passed 0.11 sec 100% tests passed, 0 tests failed out of 27 Total Test time (real) = 0.67 sec make[1]: Leaving directory '/build/reproducible-path/segyio-1.8.3/obj-arm-linux-gnueabihf' create-stamp debian/debhelper-build-stamp dh_testroot -O--buildsystem=cmake dh_prep -O--buildsystem=cmake debian/rules override_dh_auto_install make[1]: Entering directory '/build/reproducible-path/segyio-1.8.3' dh_auto_install --builddirectory=static-arm-linux-gnueabihf cd static-arm-linux-gnueabihf && make -j3 install DESTDIR=/build/reproducible-path/segyio-1.8.3/debian/tmp AM_UPDATE_INFO_DIR=no make[2]: Entering directory '/build/reproducible-path/segyio-1.8.3/static-arm-linux-gnueabihf' /usr/bin/cmake -S/build/reproducible-path/segyio-1.8.3 -B/build/reproducible-path/segyio-1.8.3/static-arm-linux-gnueabihf --check-build-system CMakeFiles/Makefile.cmake 0 /usr/bin/cmake -E cmake_progress_start /build/reproducible-path/segyio-1.8.3/static-arm-linux-gnueabihf/CMakeFiles /build/reproducible-path/segyio-1.8.3/static-arm-linux-gnueabihf//CMakeFiles/progress.marks make -f CMakeFiles/Makefile2 all make[3]: Entering directory '/build/reproducible-path/segyio-1.8.3/static-arm-linux-gnueabihf' make -f CMakeFiles/doc.dir/build.make CMakeFiles/doc.dir/depend make -f external/catch2/CMakeFiles/catch2.dir/build.make external/catch2/CMakeFiles/catch2.dir/depend make -f lib/CMakeFiles/segyio.dir/build.make lib/CMakeFiles/segyio.dir/depend make[4]: Entering directory '/build/reproducible-path/segyio-1.8.3/static-arm-linux-gnueabihf' cd /build/reproducible-path/segyio-1.8.3/static-arm-linux-gnueabihf && /usr/bin/cmake -E cmake_depends "Unix Makefiles" /build/reproducible-path/segyio-1.8.3 /build/reproducible-path/segyio-1.8.3 /build/reproducible-path/segyio-1.8.3/static-arm-linux-gnueabihf /build/reproducible-path/segyio-1.8.3/static-arm-linux-gnueabihf /build/reproducible-path/segyio-1.8.3/static-arm-linux-gnueabihf/CMakeFiles/doc.dir/DependInfo.cmake "--color=" make[4]: Entering directory '/build/reproducible-path/segyio-1.8.3/static-arm-linux-gnueabihf' cd /build/reproducible-path/segyio-1.8.3/static-arm-linux-gnueabihf && /usr/bin/cmake -E cmake_depends "Unix Makefiles" /build/reproducible-path/segyio-1.8.3 /build/reproducible-path/segyio-1.8.3/external/catch2 /build/reproducible-path/segyio-1.8.3/static-arm-linux-gnueabihf /build/reproducible-path/segyio-1.8.3/static-arm-linux-gnueabihf/external/catch2 /build/reproducible-path/segyio-1.8.3/static-arm-linux-gnueabihf/external/catch2/CMakeFiles/catch2.dir/DependInfo.cmake "--color=" make[4]: Entering directory '/build/reproducible-path/segyio-1.8.3/static-arm-linux-gnueabihf' cd /build/reproducible-path/segyio-1.8.3/static-arm-linux-gnueabihf && /usr/bin/cmake -E cmake_depends "Unix Makefiles" /build/reproducible-path/segyio-1.8.3 /build/reproducible-path/segyio-1.8.3/lib /build/reproducible-path/segyio-1.8.3/static-arm-linux-gnueabihf /build/reproducible-path/segyio-1.8.3/static-arm-linux-gnueabihf/lib /build/reproducible-path/segyio-1.8.3/static-arm-linux-gnueabihf/lib/CMakeFiles/segyio.dir/DependInfo.cmake "--color=" make[4]: Leaving directory '/build/reproducible-path/segyio-1.8.3/static-arm-linux-gnueabihf' make[4]: Leaving directory '/build/reproducible-path/segyio-1.8.3/static-arm-linux-gnueabihf' make -f CMakeFiles/doc.dir/build.make CMakeFiles/doc.dir/build make -f external/catch2/CMakeFiles/catch2.dir/build.make external/catch2/CMakeFiles/catch2.dir/build make[4]: Entering directory '/build/reproducible-path/segyio-1.8.3/static-arm-linux-gnueabihf' make[4]: Nothing to be done for 'CMakeFiles/doc.dir/build'. make[4]: Leaving directory '/build/reproducible-path/segyio-1.8.3/static-arm-linux-gnueabihf' make[4]: Leaving directory '/build/reproducible-path/segyio-1.8.3/static-arm-linux-gnueabihf' make[4]: Entering directory '/build/reproducible-path/segyio-1.8.3/static-arm-linux-gnueabihf' make[4]: Nothing to be done for 'external/catch2/CMakeFiles/catch2.dir/build'. make[4]: Leaving directory '/build/reproducible-path/segyio-1.8.3/static-arm-linux-gnueabihf' make -f lib/CMakeFiles/segyio.dir/build.make lib/CMakeFiles/segyio.dir/build make[4]: Entering directory '/build/reproducible-path/segyio-1.8.3/static-arm-linux-gnueabihf' make[4]: Nothing to be done for 'lib/CMakeFiles/segyio.dir/build'. make[4]: Leaving directory '/build/reproducible-path/segyio-1.8.3/static-arm-linux-gnueabihf' [ 5%] Built target doc [ 10%] Built target catch2 [ 20%] Built target segyio make -f applications/CMakeFiles/apputils.dir/build.make applications/CMakeFiles/apputils.dir/depend make -f applications/CMakeFiles/segyinfo.dir/build.make applications/CMakeFiles/segyinfo.dir/depend make -f applications/CMakeFiles/segyinspect.dir/build.make applications/CMakeFiles/segyinspect.dir/depend make[4]: Entering directory '/build/reproducible-path/segyio-1.8.3/static-arm-linux-gnueabihf' cd /build/reproducible-path/segyio-1.8.3/static-arm-linux-gnueabihf && /usr/bin/cmake -E cmake_depends "Unix Makefiles" /build/reproducible-path/segyio-1.8.3 /build/reproducible-path/segyio-1.8.3/applications /build/reproducible-path/segyio-1.8.3/static-arm-linux-gnueabihf /build/reproducible-path/segyio-1.8.3/static-arm-linux-gnueabihf/applications /build/reproducible-path/segyio-1.8.3/static-arm-linux-gnueabihf/applications/CMakeFiles/apputils.dir/DependInfo.cmake "--color=" make[4]: Entering directory '/build/reproducible-path/segyio-1.8.3/static-arm-linux-gnueabihf' cd /build/reproducible-path/segyio-1.8.3/static-arm-linux-gnueabihf && /usr/bin/cmake -E cmake_depends "Unix Makefiles" /build/reproducible-path/segyio-1.8.3 /build/reproducible-path/segyio-1.8.3/applications /build/reproducible-path/segyio-1.8.3/static-arm-linux-gnueabihf /build/reproducible-path/segyio-1.8.3/static-arm-linux-gnueabihf/applications /build/reproducible-path/segyio-1.8.3/static-arm-linux-gnueabihf/applications/CMakeFiles/segyinfo.dir/DependInfo.cmake "--color=" make[4]: Entering directory '/build/reproducible-path/segyio-1.8.3/static-arm-linux-gnueabihf' cd /build/reproducible-path/segyio-1.8.3/static-arm-linux-gnueabihf && /usr/bin/cmake -E cmake_depends "Unix Makefiles" /build/reproducible-path/segyio-1.8.3 /build/reproducible-path/segyio-1.8.3/applications /build/reproducible-path/segyio-1.8.3/static-arm-linux-gnueabihf /build/reproducible-path/segyio-1.8.3/static-arm-linux-gnueabihf/applications /build/reproducible-path/segyio-1.8.3/static-arm-linux-gnueabihf/applications/CMakeFiles/segyinspect.dir/DependInfo.cmake "--color=" make[4]: Leaving directory '/build/reproducible-path/segyio-1.8.3/static-arm-linux-gnueabihf' make[4]: Leaving directory '/build/reproducible-path/segyio-1.8.3/static-arm-linux-gnueabihf' make -f applications/CMakeFiles/apputils.dir/build.make applications/CMakeFiles/apputils.dir/build make[4]: Leaving directory '/build/reproducible-path/segyio-1.8.3/static-arm-linux-gnueabihf' make -f applications/CMakeFiles/segyinfo.dir/build.make applications/CMakeFiles/segyinfo.dir/build make -f applications/CMakeFiles/segyinspect.dir/build.make applications/CMakeFiles/segyinspect.dir/build make[4]: Entering directory '/build/reproducible-path/segyio-1.8.3/static-arm-linux-gnueabihf' make[4]: Nothing to be done for 'applications/CMakeFiles/apputils.dir/build'. make[4]: Leaving directory '/build/reproducible-path/segyio-1.8.3/static-arm-linux-gnueabihf' make[4]: Entering directory '/build/reproducible-path/segyio-1.8.3/static-arm-linux-gnueabihf' make[4]: Nothing to be done for 'applications/CMakeFiles/segyinfo.dir/build'. make[4]: Leaving directory '/build/reproducible-path/segyio-1.8.3/static-arm-linux-gnueabihf' make[4]: Entering directory '/build/reproducible-path/segyio-1.8.3/static-arm-linux-gnueabihf' make[4]: Nothing to be done for 'applications/CMakeFiles/segyinspect.dir/build'. make[4]: Leaving directory '/build/reproducible-path/segyio-1.8.3/static-arm-linux-gnueabihf' [ 40%] Built target apputils [ 40%] Built target segyinfo [ 50%] Built target segyinspect make -f applications/CMakeFiles/flip-endianness.dir/build.make applications/CMakeFiles/flip-endianness.dir/depend make -f applications/CMakeFiles/segyio-cath.dir/build.make applications/CMakeFiles/segyio-cath.dir/depend make -f applications/CMakeFiles/segyio-catb.dir/build.make applications/CMakeFiles/segyio-catb.dir/depend make[4]: Entering directory '/build/reproducible-path/segyio-1.8.3/static-arm-linux-gnueabihf' cd /build/reproducible-path/segyio-1.8.3/static-arm-linux-gnueabihf && /usr/bin/cmake -E cmake_depends "Unix Makefiles" /build/reproducible-path/segyio-1.8.3 /build/reproducible-path/segyio-1.8.3/applications /build/reproducible-path/segyio-1.8.3/static-arm-linux-gnueabihf /build/reproducible-path/segyio-1.8.3/static-arm-linux-gnueabihf/applications /build/reproducible-path/segyio-1.8.3/static-arm-linux-gnueabihf/applications/CMakeFiles/flip-endianness.dir/DependInfo.cmake "--color=" make[4]: Entering directory '/build/reproducible-path/segyio-1.8.3/static-arm-linux-gnueabihf' cd /build/reproducible-path/segyio-1.8.3/static-arm-linux-gnueabihf && /usr/bin/cmake -E cmake_depends "Unix Makefiles" /build/reproducible-path/segyio-1.8.3 /build/reproducible-path/segyio-1.8.3/applications /build/reproducible-path/segyio-1.8.3/static-arm-linux-gnueabihf /build/reproducible-path/segyio-1.8.3/static-arm-linux-gnueabihf/applications /build/reproducible-path/segyio-1.8.3/static-arm-linux-gnueabihf/applications/CMakeFiles/segyio-cath.dir/DependInfo.cmake "--color=" make[4]: Entering directory '/build/reproducible-path/segyio-1.8.3/static-arm-linux-gnueabihf' cd /build/reproducible-path/segyio-1.8.3/static-arm-linux-gnueabihf && /usr/bin/cmake -E cmake_depends "Unix Makefiles" /build/reproducible-path/segyio-1.8.3 /build/reproducible-path/segyio-1.8.3/applications /build/reproducible-path/segyio-1.8.3/static-arm-linux-gnueabihf /build/reproducible-path/segyio-1.8.3/static-arm-linux-gnueabihf/applications /build/reproducible-path/segyio-1.8.3/static-arm-linux-gnueabihf/applications/CMakeFiles/segyio-catb.dir/DependInfo.cmake "--color=" make[4]: Leaving directory '/build/reproducible-path/segyio-1.8.3/static-arm-linux-gnueabihf' make -f applications/CMakeFiles/segyio-catb.dir/build.make applications/CMakeFiles/segyio-catb.dir/build make[4]: Leaving directory '/build/reproducible-path/segyio-1.8.3/static-arm-linux-gnueabihf' make -f applications/CMakeFiles/segyio-cath.dir/build.make applications/CMakeFiles/segyio-cath.dir/build make[4]: Leaving directory '/build/reproducible-path/segyio-1.8.3/static-arm-linux-gnueabihf' make -f applications/CMakeFiles/flip-endianness.dir/build.make applications/CMakeFiles/flip-endianness.dir/build make[4]: Entering directory '/build/reproducible-path/segyio-1.8.3/static-arm-linux-gnueabihf' make[4]: Nothing to be done for 'applications/CMakeFiles/segyio-cath.dir/build'. make[4]: Leaving directory '/build/reproducible-path/segyio-1.8.3/static-arm-linux-gnueabihf' make[4]: Entering directory '/build/reproducible-path/segyio-1.8.3/static-arm-linux-gnueabihf' make[4]: Nothing to be done for 'applications/CMakeFiles/segyio-catb.dir/build'. make[4]: Leaving directory '/build/reproducible-path/segyio-1.8.3/static-arm-linux-gnueabihf' make[4]: Entering directory '/build/reproducible-path/segyio-1.8.3/static-arm-linux-gnueabihf' make[4]: Nothing to be done for 'applications/CMakeFiles/flip-endianness.dir/build'. make[4]: Leaving directory '/build/reproducible-path/segyio-1.8.3/static-arm-linux-gnueabihf' [ 70%] Built target segyio-catb [ 70%] Built target segyio-cath make -f applications/CMakeFiles/segyio-catr.dir/build.make applications/CMakeFiles/segyio-catr.dir/depend make -f applications/CMakeFiles/segyio-crop.dir/build.make applications/CMakeFiles/segyio-crop.dir/depend make[4]: Entering directory '/build/reproducible-path/segyio-1.8.3/static-arm-linux-gnueabihf' cd /build/reproducible-path/segyio-1.8.3/static-arm-linux-gnueabihf && /usr/bin/cmake -E cmake_depends "Unix Makefiles" /build/reproducible-path/segyio-1.8.3 /build/reproducible-path/segyio-1.8.3/applications /build/reproducible-path/segyio-1.8.3/static-arm-linux-gnueabihf /build/reproducible-path/segyio-1.8.3/static-arm-linux-gnueabihf/applications /build/reproducible-path/segyio-1.8.3/static-arm-linux-gnueabihf/applications/CMakeFiles/segyio-catr.dir/DependInfo.cmake "--color=" make[4]: Entering directory '/build/reproducible-path/segyio-1.8.3/static-arm-linux-gnueabihf' cd /build/reproducible-path/segyio-1.8.3/static-arm-linux-gnueabihf && /usr/bin/cmake -E cmake_depends "Unix Makefiles" /build/reproducible-path/segyio-1.8.3 /build/reproducible-path/segyio-1.8.3/applications /build/reproducible-path/segyio-1.8.3/static-arm-linux-gnueabihf /build/reproducible-path/segyio-1.8.3/static-arm-linux-gnueabihf/applications /build/reproducible-path/segyio-1.8.3/static-arm-linux-gnueabihf/applications/CMakeFiles/segyio-crop.dir/DependInfo.cmake "--color=" [ 80%] Built target flip-endianness make[4]: Leaving directory '/build/reproducible-path/segyio-1.8.3/static-arm-linux-gnueabihf' make[4]: Leaving directory '/build/reproducible-path/segyio-1.8.3/static-arm-linux-gnueabihf' make -f applications/CMakeFiles/segyio-catr.dir/build.make applications/CMakeFiles/segyio-catr.dir/build make -f applications/CMakeFiles/segyio-crop.dir/build.make applications/CMakeFiles/segyio-crop.dir/build make[4]: Entering directory '/build/reproducible-path/segyio-1.8.3/static-arm-linux-gnueabihf' make[4]: Nothing to be done for 'applications/CMakeFiles/segyio-catr.dir/build'. make[4]: Leaving directory '/build/reproducible-path/segyio-1.8.3/static-arm-linux-gnueabihf' make[4]: Entering directory '/build/reproducible-path/segyio-1.8.3/static-arm-linux-gnueabihf' make[4]: Nothing to be done for 'applications/CMakeFiles/segyio-crop.dir/build'. make[4]: Leaving directory '/build/reproducible-path/segyio-1.8.3/static-arm-linux-gnueabihf' [100%] Built target segyio-catr [100%] Built target segyio-crop make[3]: Leaving directory '/build/reproducible-path/segyio-1.8.3/static-arm-linux-gnueabihf' /usr/bin/cmake -E cmake_progress_start /build/reproducible-path/segyio-1.8.3/static-arm-linux-gnueabihf/CMakeFiles 0 make -f CMakeFiles/Makefile2 preinstall make[3]: Entering directory '/build/reproducible-path/segyio-1.8.3/static-arm-linux-gnueabihf' make[3]: Nothing to be done for 'preinstall'. make[3]: Leaving directory '/build/reproducible-path/segyio-1.8.3/static-arm-linux-gnueabihf' Install the project... /usr/bin/cmake -P cmake_install.cmake -- Install configuration: "None" -- Installing: /build/reproducible-path/segyio-1.8.3/debian/tmp/usr/lib/arm-linux-gnueabihf/libsegyio.a -- Installing: /build/reproducible-path/segyio-1.8.3/debian/tmp/usr/include -- Installing: /build/reproducible-path/segyio-1.8.3/debian/tmp/usr/include/segyio -- Installing: /build/reproducible-path/segyio-1.8.3/debian/tmp/usr/include/segyio/segy.h -- Installing: /build/reproducible-path/segyio-1.8.3/debian/tmp/usr/share/segyio/cmake/segyio-config.cmake -- Installing: /build/reproducible-path/segyio-1.8.3/debian/tmp/usr/share/segyio/cmake/segyio-config-none.cmake -- Installing: /build/reproducible-path/segyio-1.8.3/debian/tmp/usr/bin/segyio-cath -- Installing: /build/reproducible-path/segyio-1.8.3/debian/tmp/usr/bin/segyio-catb -- Installing: /build/reproducible-path/segyio-1.8.3/debian/tmp/usr/bin/segyio-catr -- Installing: /build/reproducible-path/segyio-1.8.3/debian/tmp/usr/bin/segyio-crop -- Installing: /build/reproducible-path/segyio-1.8.3/debian/tmp/usr/share/man/man1/segyio-cath.1 -- Installing: /build/reproducible-path/segyio-1.8.3/debian/tmp/usr/share/man/man1/segyio-catb.1 -- Installing: /build/reproducible-path/segyio-1.8.3/debian/tmp/usr/share/man/man1/segyio-catr.1 -- Installing: /build/reproducible-path/segyio-1.8.3/debian/tmp/usr/share/man/man1/segyio-crop.1 make[2]: Leaving directory '/build/reproducible-path/segyio-1.8.3/static-arm-linux-gnueabihf' dh_auto_install cd obj-arm-linux-gnueabihf && make -j3 install DESTDIR=/build/reproducible-path/segyio-1.8.3/debian/tmp AM_UPDATE_INFO_DIR=no make[2]: Entering directory '/build/reproducible-path/segyio-1.8.3/obj-arm-linux-gnueabihf' /usr/bin/cmake -S/build/reproducible-path/segyio-1.8.3 -B/build/reproducible-path/segyio-1.8.3/obj-arm-linux-gnueabihf --check-build-system CMakeFiles/Makefile.cmake 0 /usr/bin/cmake -E cmake_progress_start /build/reproducible-path/segyio-1.8.3/obj-arm-linux-gnueabihf/CMakeFiles /build/reproducible-path/segyio-1.8.3/obj-arm-linux-gnueabihf//CMakeFiles/progress.marks make -f CMakeFiles/Makefile2 all make[3]: Entering directory '/build/reproducible-path/segyio-1.8.3/obj-arm-linux-gnueabihf' make -f CMakeFiles/doc.dir/build.make CMakeFiles/doc.dir/depend make -f external/catch2/CMakeFiles/catch2.dir/build.make external/catch2/CMakeFiles/catch2.dir/depend make -f lib/CMakeFiles/segyio.dir/build.make lib/CMakeFiles/segyio.dir/depend make[4]: Entering directory '/build/reproducible-path/segyio-1.8.3/obj-arm-linux-gnueabihf' cd /build/reproducible-path/segyio-1.8.3/obj-arm-linux-gnueabihf && /usr/bin/cmake -E cmake_depends "Unix Makefiles" /build/reproducible-path/segyio-1.8.3 /build/reproducible-path/segyio-1.8.3 /build/reproducible-path/segyio-1.8.3/obj-arm-linux-gnueabihf /build/reproducible-path/segyio-1.8.3/obj-arm-linux-gnueabihf /build/reproducible-path/segyio-1.8.3/obj-arm-linux-gnueabihf/CMakeFiles/doc.dir/DependInfo.cmake "--color=" make[4]: Entering directory '/build/reproducible-path/segyio-1.8.3/obj-arm-linux-gnueabihf' cd /build/reproducible-path/segyio-1.8.3/obj-arm-linux-gnueabihf && /usr/bin/cmake -E cmake_depends "Unix Makefiles" /build/reproducible-path/segyio-1.8.3 /build/reproducible-path/segyio-1.8.3/external/catch2 /build/reproducible-path/segyio-1.8.3/obj-arm-linux-gnueabihf /build/reproducible-path/segyio-1.8.3/obj-arm-linux-gnueabihf/external/catch2 /build/reproducible-path/segyio-1.8.3/obj-arm-linux-gnueabihf/external/catch2/CMakeFiles/catch2.dir/DependInfo.cmake "--color=" make[4]: Entering directory '/build/reproducible-path/segyio-1.8.3/obj-arm-linux-gnueabihf' cd /build/reproducible-path/segyio-1.8.3/obj-arm-linux-gnueabihf && /usr/bin/cmake -E cmake_depends "Unix Makefiles" /build/reproducible-path/segyio-1.8.3 /build/reproducible-path/segyio-1.8.3/lib /build/reproducible-path/segyio-1.8.3/obj-arm-linux-gnueabihf /build/reproducible-path/segyio-1.8.3/obj-arm-linux-gnueabihf/lib /build/reproducible-path/segyio-1.8.3/obj-arm-linux-gnueabihf/lib/CMakeFiles/segyio.dir/DependInfo.cmake "--color=" make[4]: Leaving directory '/build/reproducible-path/segyio-1.8.3/obj-arm-linux-gnueabihf' make -f CMakeFiles/doc.dir/build.make CMakeFiles/doc.dir/build make[4]: Leaving directory '/build/reproducible-path/segyio-1.8.3/obj-arm-linux-gnueabihf' make -f external/catch2/CMakeFiles/catch2.dir/build.make external/catch2/CMakeFiles/catch2.dir/build make[4]: Entering directory '/build/reproducible-path/segyio-1.8.3/obj-arm-linux-gnueabihf' make[4]: Nothing to be done for 'CMakeFiles/doc.dir/build'. make[4]: Leaving directory '/build/reproducible-path/segyio-1.8.3/obj-arm-linux-gnueabihf' make[4]: Leaving directory '/build/reproducible-path/segyio-1.8.3/obj-arm-linux-gnueabihf' make[4]: Entering directory '/build/reproducible-path/segyio-1.8.3/obj-arm-linux-gnueabihf' make[4]: Nothing to be done for 'external/catch2/CMakeFiles/catch2.dir/build'. make[4]: Leaving directory '/build/reproducible-path/segyio-1.8.3/obj-arm-linux-gnueabihf' make -f lib/CMakeFiles/segyio.dir/build.make lib/CMakeFiles/segyio.dir/build make[4]: Entering directory '/build/reproducible-path/segyio-1.8.3/obj-arm-linux-gnueabihf' make[4]: Nothing to be done for 'lib/CMakeFiles/segyio.dir/build'. make[4]: Leaving directory '/build/reproducible-path/segyio-1.8.3/obj-arm-linux-gnueabihf' [ 0%] Built target doc [ 7%] Built target catch2 [ 15%] Built target segyio make -f lib/CMakeFiles/c.segy.dir/build.make lib/CMakeFiles/c.segy.dir/depend make -f applications/CMakeFiles/apputils.dir/build.make applications/CMakeFiles/apputils.dir/depend make -f applications/CMakeFiles/segyinfo.dir/build.make applications/CMakeFiles/segyinfo.dir/depend make[4]: Entering directory '/build/reproducible-path/segyio-1.8.3/obj-arm-linux-gnueabihf' cd /build/reproducible-path/segyio-1.8.3/obj-arm-linux-gnueabihf && /usr/bin/cmake -E cmake_depends "Unix Makefiles" /build/reproducible-path/segyio-1.8.3 /build/reproducible-path/segyio-1.8.3/lib /build/reproducible-path/segyio-1.8.3/obj-arm-linux-gnueabihf /build/reproducible-path/segyio-1.8.3/obj-arm-linux-gnueabihf/lib /build/reproducible-path/segyio-1.8.3/obj-arm-linux-gnueabihf/lib/CMakeFiles/c.segy.dir/DependInfo.cmake "--color=" make[4]: Entering directory '/build/reproducible-path/segyio-1.8.3/obj-arm-linux-gnueabihf' cd /build/reproducible-path/segyio-1.8.3/obj-arm-linux-gnueabihf && /usr/bin/cmake -E cmake_depends "Unix Makefiles" /build/reproducible-path/segyio-1.8.3 /build/reproducible-path/segyio-1.8.3/applications /build/reproducible-path/segyio-1.8.3/obj-arm-linux-gnueabihf /build/reproducible-path/segyio-1.8.3/obj-arm-linux-gnueabihf/applications /build/reproducible-path/segyio-1.8.3/obj-arm-linux-gnueabihf/applications/CMakeFiles/apputils.dir/DependInfo.cmake "--color=" make[4]: Entering directory '/build/reproducible-path/segyio-1.8.3/obj-arm-linux-gnueabihf' cd /build/reproducible-path/segyio-1.8.3/obj-arm-linux-gnueabihf && /usr/bin/cmake -E cmake_depends "Unix Makefiles" /build/reproducible-path/segyio-1.8.3 /build/reproducible-path/segyio-1.8.3/applications /build/reproducible-path/segyio-1.8.3/obj-arm-linux-gnueabihf /build/reproducible-path/segyio-1.8.3/obj-arm-linux-gnueabihf/applications /build/reproducible-path/segyio-1.8.3/obj-arm-linux-gnueabihf/applications/CMakeFiles/segyinfo.dir/DependInfo.cmake "--color=" make[4]: Leaving directory '/build/reproducible-path/segyio-1.8.3/obj-arm-linux-gnueabihf' make -f applications/CMakeFiles/apputils.dir/build.make applications/CMakeFiles/apputils.dir/build make[4]: Leaving directory '/build/reproducible-path/segyio-1.8.3/obj-arm-linux-gnueabihf' make -f applications/CMakeFiles/segyinfo.dir/build.make applications/CMakeFiles/segyinfo.dir/build make[4]: Entering directory '/build/reproducible-path/segyio-1.8.3/obj-arm-linux-gnueabihf' make[4]: Nothing to be done for 'applications/CMakeFiles/apputils.dir/build'. make[4]: Leaving directory '/build/reproducible-path/segyio-1.8.3/obj-arm-linux-gnueabihf' make[4]: Entering directory '/build/reproducible-path/segyio-1.8.3/obj-arm-linux-gnueabihf' make[4]: Nothing to be done for 'applications/CMakeFiles/segyinfo.dir/build'. make[4]: Leaving directory '/build/reproducible-path/segyio-1.8.3/obj-arm-linux-gnueabihf' make[4]: Leaving directory '/build/reproducible-path/segyio-1.8.3/obj-arm-linux-gnueabihf' make -f lib/CMakeFiles/c.segy.dir/build.make lib/CMakeFiles/c.segy.dir/build make[4]: Entering directory '/build/reproducible-path/segyio-1.8.3/obj-arm-linux-gnueabihf' make[4]: Nothing to be done for 'lib/CMakeFiles/c.segy.dir/build'. make[4]: Leaving directory '/build/reproducible-path/segyio-1.8.3/obj-arm-linux-gnueabihf' [ 30%] Built target segyinfo [ 30%] Built target apputils make -f applications/CMakeFiles/segyinspect.dir/build.make applications/CMakeFiles/segyinspect.dir/depend make -f applications/CMakeFiles/segyio-cath.dir/build.make applications/CMakeFiles/segyio-cath.dir/depend make[4]: Entering directory '/build/reproducible-path/segyio-1.8.3/obj-arm-linux-gnueabihf' cd /build/reproducible-path/segyio-1.8.3/obj-arm-linux-gnueabihf && /usr/bin/cmake -E cmake_depends "Unix Makefiles" /build/reproducible-path/segyio-1.8.3 /build/reproducible-path/segyio-1.8.3/applications /build/reproducible-path/segyio-1.8.3/obj-arm-linux-gnueabihf /build/reproducible-path/segyio-1.8.3/obj-arm-linux-gnueabihf/applications /build/reproducible-path/segyio-1.8.3/obj-arm-linux-gnueabihf/applications/CMakeFiles/segyinspect.dir/DependInfo.cmake "--color=" make[4]: Entering directory '/build/reproducible-path/segyio-1.8.3/obj-arm-linux-gnueabihf' cd /build/reproducible-path/segyio-1.8.3/obj-arm-linux-gnueabihf && /usr/bin/cmake -E cmake_depends "Unix Makefiles" /build/reproducible-path/segyio-1.8.3 /build/reproducible-path/segyio-1.8.3/applications /build/reproducible-path/segyio-1.8.3/obj-arm-linux-gnueabihf /build/reproducible-path/segyio-1.8.3/obj-arm-linux-gnueabihf/applications /build/reproducible-path/segyio-1.8.3/obj-arm-linux-gnueabihf/applications/CMakeFiles/segyio-cath.dir/DependInfo.cmake "--color=" [ 46%] Built target c.segy make -f applications/CMakeFiles/segyio-catb.dir/build.make applications/CMakeFiles/segyio-catb.dir/depend make[4]: Entering directory '/build/reproducible-path/segyio-1.8.3/obj-arm-linux-gnueabihf' cd /build/reproducible-path/segyio-1.8.3/obj-arm-linux-gnueabihf && /usr/bin/cmake -E cmake_depends "Unix Makefiles" /build/reproducible-path/segyio-1.8.3 /build/reproducible-path/segyio-1.8.3/applications /build/reproducible-path/segyio-1.8.3/obj-arm-linux-gnueabihf /build/reproducible-path/segyio-1.8.3/obj-arm-linux-gnueabihf/applications /build/reproducible-path/segyio-1.8.3/obj-arm-linux-gnueabihf/applications/CMakeFiles/segyio-catb.dir/DependInfo.cmake "--color=" make[4]: Leaving directory '/build/reproducible-path/segyio-1.8.3/obj-arm-linux-gnueabihf' make[4]: Leaving directory '/build/reproducible-path/segyio-1.8.3/obj-arm-linux-gnueabihf' make -f applications/CMakeFiles/segyinspect.dir/build.make applications/CMakeFiles/segyinspect.dir/build make -f applications/CMakeFiles/segyio-cath.dir/build.make applications/CMakeFiles/segyio-cath.dir/build make[4]: Entering directory '/build/reproducible-path/segyio-1.8.3/obj-arm-linux-gnueabihf' make[4]: Nothing to be done for 'applications/CMakeFiles/segyinspect.dir/build'. make[4]: Leaving directory '/build/reproducible-path/segyio-1.8.3/obj-arm-linux-gnueabihf' make[4]: Entering directory '/build/reproducible-path/segyio-1.8.3/obj-arm-linux-gnueabihf' make[4]: Nothing to be done for 'applications/CMakeFiles/segyio-cath.dir/build'. make[4]: Leaving directory '/build/reproducible-path/segyio-1.8.3/obj-arm-linux-gnueabihf' make[4]: Leaving directory '/build/reproducible-path/segyio-1.8.3/obj-arm-linux-gnueabihf' make -f applications/CMakeFiles/segyio-catb.dir/build.make applications/CMakeFiles/segyio-catb.dir/build make[4]: Entering directory '/build/reproducible-path/segyio-1.8.3/obj-arm-linux-gnueabihf' make[4]: Nothing to be done for 'applications/CMakeFiles/segyio-catb.dir/build'. make[4]: Leaving directory '/build/reproducible-path/segyio-1.8.3/obj-arm-linux-gnueabihf' [ 61%] Built target segyio-cath [ 61%] Built target segyinspect make -f applications/CMakeFiles/segyio-catr.dir/build.make applications/CMakeFiles/segyio-catr.dir/depend make -f applications/CMakeFiles/segyio-crop.dir/build.make applications/CMakeFiles/segyio-crop.dir/depend make[4]: Entering directory '/build/reproducible-path/segyio-1.8.3/obj-arm-linux-gnueabihf' cd /build/reproducible-path/segyio-1.8.3/obj-arm-linux-gnueabihf && /usr/bin/cmake -E cmake_depends "Unix Makefiles" /build/reproducible-path/segyio-1.8.3 /build/reproducible-path/segyio-1.8.3/applications /build/reproducible-path/segyio-1.8.3/obj-arm-linux-gnueabihf /build/reproducible-path/segyio-1.8.3/obj-arm-linux-gnueabihf/applications /build/reproducible-path/segyio-1.8.3/obj-arm-linux-gnueabihf/applications/CMakeFiles/segyio-catr.dir/DependInfo.cmake "--color=" make[4]: Entering directory '/build/reproducible-path/segyio-1.8.3/obj-arm-linux-gnueabihf' cd /build/reproducible-path/segyio-1.8.3/obj-arm-linux-gnueabihf && /usr/bin/cmake -E cmake_depends "Unix Makefiles" /build/reproducible-path/segyio-1.8.3 /build/reproducible-path/segyio-1.8.3/applications /build/reproducible-path/segyio-1.8.3/obj-arm-linux-gnueabihf /build/reproducible-path/segyio-1.8.3/obj-arm-linux-gnueabihf/applications /build/reproducible-path/segyio-1.8.3/obj-arm-linux-gnueabihf/applications/CMakeFiles/segyio-crop.dir/DependInfo.cmake "--color=" [ 69%] Built target segyio-catb make -f applications/CMakeFiles/flip-endianness.dir/build.make applications/CMakeFiles/flip-endianness.dir/depend make[4]: Entering directory '/build/reproducible-path/segyio-1.8.3/obj-arm-linux-gnueabihf' cd /build/reproducible-path/segyio-1.8.3/obj-arm-linux-gnueabihf && /usr/bin/cmake -E cmake_depends "Unix Makefiles" /build/reproducible-path/segyio-1.8.3 /build/reproducible-path/segyio-1.8.3/applications /build/reproducible-path/segyio-1.8.3/obj-arm-linux-gnueabihf /build/reproducible-path/segyio-1.8.3/obj-arm-linux-gnueabihf/applications /build/reproducible-path/segyio-1.8.3/obj-arm-linux-gnueabihf/applications/CMakeFiles/flip-endianness.dir/DependInfo.cmake "--color=" make[4]: Leaving directory '/build/reproducible-path/segyio-1.8.3/obj-arm-linux-gnueabihf' make[4]: Leaving directory '/build/reproducible-path/segyio-1.8.3/obj-arm-linux-gnueabihf' make -f applications/CMakeFiles/segyio-catr.dir/build.make applications/CMakeFiles/segyio-catr.dir/build make -f applications/CMakeFiles/segyio-crop.dir/build.make applications/CMakeFiles/segyio-crop.dir/build make[4]: Entering directory '/build/reproducible-path/segyio-1.8.3/obj-arm-linux-gnueabihf' make[4]: Nothing to be done for 'applications/CMakeFiles/segyio-catr.dir/build'. make[4]: Leaving directory '/build/reproducible-path/segyio-1.8.3/obj-arm-linux-gnueabihf' make[4]: Entering directory '/build/reproducible-path/segyio-1.8.3/obj-arm-linux-gnueabihf' make[4]: Nothing to be done for 'applications/CMakeFiles/segyio-crop.dir/build'. make[4]: Leaving directory '/build/reproducible-path/segyio-1.8.3/obj-arm-linux-gnueabihf' make[4]: Leaving directory '/build/reproducible-path/segyio-1.8.3/obj-arm-linux-gnueabihf' [ 84%] Built target segyio-catr make -f applications/CMakeFiles/flip-endianness.dir/build.make applications/CMakeFiles/flip-endianness.dir/build [ 84%] Built target segyio-crop make -f applications/CMakeFiles/test-app-output.dir/build.make applications/CMakeFiles/test-app-output.dir/depend make[4]: Entering directory '/build/reproducible-path/segyio-1.8.3/obj-arm-linux-gnueabihf' cd /build/reproducible-path/segyio-1.8.3/obj-arm-linux-gnueabihf && /usr/bin/cmake -E cmake_depends "Unix Makefiles" /build/reproducible-path/segyio-1.8.3 /build/reproducible-path/segyio-1.8.3/applications /build/reproducible-path/segyio-1.8.3/obj-arm-linux-gnueabihf /build/reproducible-path/segyio-1.8.3/obj-arm-linux-gnueabihf/applications /build/reproducible-path/segyio-1.8.3/obj-arm-linux-gnueabihf/applications/CMakeFiles/test-app-output.dir/DependInfo.cmake "--color=" make[4]: Entering directory '/build/reproducible-path/segyio-1.8.3/obj-arm-linux-gnueabihf' make[4]: Nothing to be done for 'applications/CMakeFiles/flip-endianness.dir/build'. make[4]: Leaving directory '/build/reproducible-path/segyio-1.8.3/obj-arm-linux-gnueabihf' [ 92%] Built target flip-endianness make[4]: Leaving directory '/build/reproducible-path/segyio-1.8.3/obj-arm-linux-gnueabihf' make -f applications/CMakeFiles/test-app-output.dir/build.make applications/CMakeFiles/test-app-output.dir/build make[4]: Entering directory '/build/reproducible-path/segyio-1.8.3/obj-arm-linux-gnueabihf' make[4]: Nothing to be done for 'applications/CMakeFiles/test-app-output.dir/build'. make[4]: Leaving directory '/build/reproducible-path/segyio-1.8.3/obj-arm-linux-gnueabihf' [100%] Built target test-app-output make[3]: Leaving directory '/build/reproducible-path/segyio-1.8.3/obj-arm-linux-gnueabihf' /usr/bin/cmake -E cmake_progress_start /build/reproducible-path/segyio-1.8.3/obj-arm-linux-gnueabihf/CMakeFiles 0 make -f CMakeFiles/Makefile2 preinstall make[3]: Entering directory '/build/reproducible-path/segyio-1.8.3/obj-arm-linux-gnueabihf' make[3]: Nothing to be done for 'preinstall'. make[3]: Leaving directory '/build/reproducible-path/segyio-1.8.3/obj-arm-linux-gnueabihf' Install the project... /usr/bin/cmake -P cmake_install.cmake -- Install configuration: "None" -- Installing: /build/reproducible-path/segyio-1.8.3/debian/tmp/usr/lib/arm-linux-gnueabihf/libsegyio.so.1 -- Installing: /build/reproducible-path/segyio-1.8.3/debian/tmp/usr/lib/arm-linux-gnueabihf/libsegyio.so -- Up-to-date: /build/reproducible-path/segyio-1.8.3/debian/tmp/usr/include -- Up-to-date: /build/reproducible-path/segyio-1.8.3/debian/tmp/usr/include/segyio -- Up-to-date: /build/reproducible-path/segyio-1.8.3/debian/tmp/usr/include/segyio/segy.h -- Old export file "/build/reproducible-path/segyio-1.8.3/debian/tmp/usr/share/segyio/cmake/segyio-config.cmake" will be replaced. Removing files [/build/reproducible-path/segyio-1.8.3/debian/tmp/usr/share/segyio/cmake/segyio-config-none.cmake]. -- Installing: /build/reproducible-path/segyio-1.8.3/debian/tmp/usr/share/segyio/cmake/segyio-config.cmake -- Installing: /build/reproducible-path/segyio-1.8.3/debian/tmp/usr/share/segyio/cmake/segyio-config-none.cmake -- Installing: /build/reproducible-path/segyio-1.8.3/debian/tmp/usr/bin/segyio-cath -- Set non-toolchain portion of runtime path of "/build/reproducible-path/segyio-1.8.3/debian/tmp/usr/bin/segyio-cath" to "" -- Installing: /build/reproducible-path/segyio-1.8.3/debian/tmp/usr/bin/segyio-catb -- Set non-toolchain portion of runtime path of "/build/reproducible-path/segyio-1.8.3/debian/tmp/usr/bin/segyio-catb" to "" -- Installing: /build/reproducible-path/segyio-1.8.3/debian/tmp/usr/bin/segyio-catr -- Set non-toolchain portion of runtime path of "/build/reproducible-path/segyio-1.8.3/debian/tmp/usr/bin/segyio-catr" to "" -- Installing: /build/reproducible-path/segyio-1.8.3/debian/tmp/usr/bin/segyio-crop -- Set non-toolchain portion of runtime path of "/build/reproducible-path/segyio-1.8.3/debian/tmp/usr/bin/segyio-crop" to "" -- Up-to-date: /build/reproducible-path/segyio-1.8.3/debian/tmp/usr/share/man/man1/segyio-cath.1 -- Up-to-date: /build/reproducible-path/segyio-1.8.3/debian/tmp/usr/share/man/man1/segyio-catb.1 -- Up-to-date: /build/reproducible-path/segyio-1.8.3/debian/tmp/usr/share/man/man1/segyio-catr.1 -- Up-to-date: /build/reproducible-path/segyio-1.8.3/debian/tmp/usr/share/man/man1/segyio-crop.1 make[2]: Leaving directory '/build/reproducible-path/segyio-1.8.3/obj-arm-linux-gnueabihf' dh_auto_build --buildsystem=pybuild -- \ --build-args="build_ext --library-dirs /build/reproducible-path/segyio-1.8.3/debian/tmp/usr/lib/arm-linux-gnueabihf" I: pybuild base:311: /usr/bin/python3.12 setup.py build build_ext --library-dirs /build/reproducible-path/segyio-1.8.3/debian/tmp/usr/lib/arm-linux-gnueabihf /build/reproducible-path/segyio-1.8.3/setup.py:90: DeprecationWarning: Attribute s is deprecated and will be removed in Python 3.14; use value instead pkgversion['version'] = node.value.s /usr/lib/python3/dist-packages/setuptools/__init__.py:94: _DeprecatedInstaller: setuptools.installer and fetch_build_eggs are deprecated. !! ******************************************************************************** Requirements should be satisfied by a PEP 517 installer. If you are using pip, you can try `pip install --use-pep517`. ******************************************************************************** !! dist.fetch_build_eggs(dist.setup_requires) /usr/lib/python3/dist-packages/setuptools/_distutils/dist.py:261: UserWarning: Unknown distribution option: 'tests_require' warnings.warn(msg) running build running build_py creating /build/reproducible-path/segyio-1.8.3/.pybuild/cpython3_3.12_segyio/build/segyio copying /build/reproducible-path/segyio-1.8.3/python/segyio/utils.py -> /build/reproducible-path/segyio-1.8.3/.pybuild/cpython3_3.12_segyio/build/segyio copying /build/reproducible-path/segyio-1.8.3/python/segyio/segy.py -> /build/reproducible-path/segyio-1.8.3/.pybuild/cpython3_3.12_segyio/build/segyio copying /build/reproducible-path/segyio-1.8.3/python/segyio/trace.py -> /build/reproducible-path/segyio-1.8.3/.pybuild/cpython3_3.12_segyio/build/segyio copying /build/reproducible-path/segyio-1.8.3/python/segyio/version.py -> /build/reproducible-path/segyio-1.8.3/.pybuild/cpython3_3.12_segyio/build/segyio copying /build/reproducible-path/segyio-1.8.3/python/segyio/tools.py -> /build/reproducible-path/segyio-1.8.3/.pybuild/cpython3_3.12_segyio/build/segyio copying /build/reproducible-path/segyio-1.8.3/python/segyio/open.py -> /build/reproducible-path/segyio-1.8.3/.pybuild/cpython3_3.12_segyio/build/segyio copying /build/reproducible-path/segyio-1.8.3/python/segyio/field.py -> /build/reproducible-path/segyio-1.8.3/.pybuild/cpython3_3.12_segyio/build/segyio copying /build/reproducible-path/segyio-1.8.3/python/segyio/binfield.py -> /build/reproducible-path/segyio-1.8.3/.pybuild/cpython3_3.12_segyio/build/segyio copying /build/reproducible-path/segyio-1.8.3/python/segyio/line.py -> /build/reproducible-path/segyio-1.8.3/.pybuild/cpython3_3.12_segyio/build/segyio copying /build/reproducible-path/segyio-1.8.3/python/segyio/tracefield.py -> /build/reproducible-path/segyio-1.8.3/.pybuild/cpython3_3.12_segyio/build/segyio copying /build/reproducible-path/segyio-1.8.3/python/segyio/__init__.py -> /build/reproducible-path/segyio-1.8.3/.pybuild/cpython3_3.12_segyio/build/segyio copying /build/reproducible-path/segyio-1.8.3/python/segyio/gather.py -> /build/reproducible-path/segyio-1.8.3/.pybuild/cpython3_3.12_segyio/build/segyio copying /build/reproducible-path/segyio-1.8.3/python/segyio/create.py -> /build/reproducible-path/segyio-1.8.3/.pybuild/cpython3_3.12_segyio/build/segyio copying /build/reproducible-path/segyio-1.8.3/python/segyio/depth.py -> /build/reproducible-path/segyio-1.8.3/.pybuild/cpython3_3.12_segyio/build/segyio copying /build/reproducible-path/segyio-1.8.3/python/segyio/segysampleformat.py -> /build/reproducible-path/segyio-1.8.3/.pybuild/cpython3_3.12_segyio/build/segyio copying /build/reproducible-path/segyio-1.8.3/python/segyio/tracesortingformat.py -> /build/reproducible-path/segyio-1.8.3/.pybuild/cpython3_3.12_segyio/build/segyio creating /build/reproducible-path/segyio-1.8.3/.pybuild/cpython3_3.12_segyio/build/segyio/su copying /build/reproducible-path/segyio-1.8.3/python/segyio/su/file.py -> /build/reproducible-path/segyio-1.8.3/.pybuild/cpython3_3.12_segyio/build/segyio/su copying /build/reproducible-path/segyio-1.8.3/python/segyio/su/words.py -> /build/reproducible-path/segyio-1.8.3/.pybuild/cpython3_3.12_segyio/build/segyio/su copying /build/reproducible-path/segyio-1.8.3/python/segyio/su/__init__.py -> /build/reproducible-path/segyio-1.8.3/.pybuild/cpython3_3.12_segyio/build/segyio/su running build_ext building 'segyio._segyio' extension creating build/temp.linux-armv7l-cpython-312/build/reproducible-path/segyio-1.8.3/python/segyio arm-linux-gnueabihf-g++ -g -O2 -ffile-prefix-map=/build/reproducible-path/segyio-1.8.3=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -D_TIME_BITS=64 -Wdate-time -D_FORTIFY_SOURCE=2 -fPIC -I/build/reproducible-path/segyio-1.8.3/lib/include -I/usr/include/python3.12 -c /build/reproducible-path/segyio-1.8.3/python/segyio/segyio.cpp -o build/temp.linux-armv7l-cpython-312/build/reproducible-path/segyio-1.8.3/python/segyio/segyio.o arm-linux-gnueabihf-g++ -g -O2 -ffile-prefix-map=/build/reproducible-path/segyio-1.8.3=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -D_TIME_BITS=64 -Wdate-time -D_FORTIFY_SOURCE=2 -shared -Wl,-O1 -Wl,-Bsymbolic-functions -Wl,-z,relro -g -fwrapv -O2 -Wl,-z,relro -Wl,--as-needed -g -O2 -ffile-prefix-map=/build/reproducible-path/segyio-1.8.3=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -D_TIME_BITS=64 -Wdate-time -D_FORTIFY_SOURCE=2 build/temp.linux-armv7l-cpython-312/build/reproducible-path/segyio-1.8.3/python/segyio/segyio.o -L/build/reproducible-path/segyio-1.8.3/debian/tmp/usr/lib/arm-linux-gnueabihf -L/usr/lib/arm-linux-gnueabihf -lsegyio -lm -o /build/reproducible-path/segyio-1.8.3/.pybuild/cpython3_3.12_segyio/build/segyio/_segyio.cpython-312-arm-linux-gnueabihf.so I: pybuild base:311: /usr/bin/python3 setup.py build build_ext --library-dirs /build/reproducible-path/segyio-1.8.3/debian/tmp/usr/lib/arm-linux-gnueabihf /build/reproducible-path/segyio-1.8.3/setup.py:90: DeprecationWarning: Attribute s is deprecated and will be removed in Python 3.14; use value instead pkgversion['version'] = node.value.s /usr/lib/python3/dist-packages/setuptools/__init__.py:94: _DeprecatedInstaller: setuptools.installer and fetch_build_eggs are deprecated. !! ******************************************************************************** Requirements should be satisfied by a PEP 517 installer. If you are using pip, you can try `pip install --use-pep517`. ******************************************************************************** !! dist.fetch_build_eggs(dist.setup_requires) /usr/lib/python3/dist-packages/setuptools/_distutils/dist.py:261: UserWarning: Unknown distribution option: 'tests_require' warnings.warn(msg) running build running build_py creating /build/reproducible-path/segyio-1.8.3/.pybuild/cpython3_3.13_segyio/build/segyio copying /build/reproducible-path/segyio-1.8.3/python/segyio/utils.py -> /build/reproducible-path/segyio-1.8.3/.pybuild/cpython3_3.13_segyio/build/segyio copying /build/reproducible-path/segyio-1.8.3/python/segyio/segy.py -> /build/reproducible-path/segyio-1.8.3/.pybuild/cpython3_3.13_segyio/build/segyio copying /build/reproducible-path/segyio-1.8.3/python/segyio/trace.py -> /build/reproducible-path/segyio-1.8.3/.pybuild/cpython3_3.13_segyio/build/segyio copying /build/reproducible-path/segyio-1.8.3/python/segyio/version.py -> /build/reproducible-path/segyio-1.8.3/.pybuild/cpython3_3.13_segyio/build/segyio copying /build/reproducible-path/segyio-1.8.3/python/segyio/tools.py -> /build/reproducible-path/segyio-1.8.3/.pybuild/cpython3_3.13_segyio/build/segyio copying /build/reproducible-path/segyio-1.8.3/python/segyio/open.py -> /build/reproducible-path/segyio-1.8.3/.pybuild/cpython3_3.13_segyio/build/segyio copying /build/reproducible-path/segyio-1.8.3/python/segyio/field.py -> /build/reproducible-path/segyio-1.8.3/.pybuild/cpython3_3.13_segyio/build/segyio copying /build/reproducible-path/segyio-1.8.3/python/segyio/binfield.py -> /build/reproducible-path/segyio-1.8.3/.pybuild/cpython3_3.13_segyio/build/segyio copying /build/reproducible-path/segyio-1.8.3/python/segyio/line.py -> /build/reproducible-path/segyio-1.8.3/.pybuild/cpython3_3.13_segyio/build/segyio copying /build/reproducible-path/segyio-1.8.3/python/segyio/tracefield.py -> /build/reproducible-path/segyio-1.8.3/.pybuild/cpython3_3.13_segyio/build/segyio copying /build/reproducible-path/segyio-1.8.3/python/segyio/__init__.py -> /build/reproducible-path/segyio-1.8.3/.pybuild/cpython3_3.13_segyio/build/segyio copying /build/reproducible-path/segyio-1.8.3/python/segyio/gather.py -> /build/reproducible-path/segyio-1.8.3/.pybuild/cpython3_3.13_segyio/build/segyio copying /build/reproducible-path/segyio-1.8.3/python/segyio/create.py -> /build/reproducible-path/segyio-1.8.3/.pybuild/cpython3_3.13_segyio/build/segyio copying /build/reproducible-path/segyio-1.8.3/python/segyio/depth.py -> /build/reproducible-path/segyio-1.8.3/.pybuild/cpython3_3.13_segyio/build/segyio copying /build/reproducible-path/segyio-1.8.3/python/segyio/segysampleformat.py -> /build/reproducible-path/segyio-1.8.3/.pybuild/cpython3_3.13_segyio/build/segyio copying /build/reproducible-path/segyio-1.8.3/python/segyio/tracesortingformat.py -> /build/reproducible-path/segyio-1.8.3/.pybuild/cpython3_3.13_segyio/build/segyio creating /build/reproducible-path/segyio-1.8.3/.pybuild/cpython3_3.13_segyio/build/segyio/su copying /build/reproducible-path/segyio-1.8.3/python/segyio/su/file.py -> /build/reproducible-path/segyio-1.8.3/.pybuild/cpython3_3.13_segyio/build/segyio/su copying /build/reproducible-path/segyio-1.8.3/python/segyio/su/words.py -> /build/reproducible-path/segyio-1.8.3/.pybuild/cpython3_3.13_segyio/build/segyio/su copying /build/reproducible-path/segyio-1.8.3/python/segyio/su/__init__.py -> /build/reproducible-path/segyio-1.8.3/.pybuild/cpython3_3.13_segyio/build/segyio/su running build_ext building 'segyio._segyio' extension creating build/temp.linux-armv7l-cpython-313/build/reproducible-path/segyio-1.8.3/python/segyio arm-linux-gnueabihf-g++ -g -O2 -ffile-prefix-map=/build/reproducible-path/segyio-1.8.3=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -D_TIME_BITS=64 -Wdate-time -D_FORTIFY_SOURCE=2 -fPIC -I/build/reproducible-path/segyio-1.8.3/lib/include -I/usr/include/python3.13 -c /build/reproducible-path/segyio-1.8.3/python/segyio/segyio.cpp -o build/temp.linux-armv7l-cpython-313/build/reproducible-path/segyio-1.8.3/python/segyio/segyio.o arm-linux-gnueabihf-g++ -g -O2 -ffile-prefix-map=/build/reproducible-path/segyio-1.8.3=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -D_TIME_BITS=64 -Wdate-time -D_FORTIFY_SOURCE=2 -shared -Wl,-O1 -Wl,-Bsymbolic-functions -Wl,-z,relro -g -fwrapv -O2 -Wl,-z,relro -Wl,--as-needed -g -O2 -ffile-prefix-map=/build/reproducible-path/segyio-1.8.3=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -D_TIME_BITS=64 -Wdate-time -D_FORTIFY_SOURCE=2 build/temp.linux-armv7l-cpython-313/build/reproducible-path/segyio-1.8.3/python/segyio/segyio.o -L/build/reproducible-path/segyio-1.8.3/debian/tmp/usr/lib/arm-linux-gnueabihf -L/usr/lib/arm-linux-gnueabihf -lsegyio -lm -o /build/reproducible-path/segyio-1.8.3/.pybuild/cpython3_3.13_segyio/build/segyio/_segyio.cpython-313-arm-linux-gnueabihf.so dh_auto_install --buildsystem=pybuild I: pybuild base:311: /usr/bin/python3.12 setup.py install --root /build/reproducible-path/segyio-1.8.3/debian/python3-segyio /build/reproducible-path/segyio-1.8.3/setup.py:90: DeprecationWarning: Attribute s is deprecated and will be removed in Python 3.14; use value instead pkgversion['version'] = node.value.s /usr/lib/python3/dist-packages/setuptools/__init__.py:94: _DeprecatedInstaller: setuptools.installer and fetch_build_eggs are deprecated. !! ******************************************************************************** Requirements should be satisfied by a PEP 517 installer. If you are using pip, you can try `pip install --use-pep517`. ******************************************************************************** !! dist.fetch_build_eggs(dist.setup_requires) /usr/lib/python3/dist-packages/setuptools/_distutils/dist.py:261: UserWarning: Unknown distribution option: 'tests_require' warnings.warn(msg) running install /usr/lib/python3/dist-packages/setuptools/_distutils/cmd.py:66: SetuptoolsDeprecationWarning: setup.py install is deprecated. !! ******************************************************************************** Please avoid running ``setup.py`` directly. Instead, use pypa/build, pypa/installer or other standards-based tools. See https://blog.ganssle.io/articles/2021/10/setup-py-deprecated.html for details. ******************************************************************************** !! self.initialize_options() running build running build_py running build_ext running install_lib creating /build/reproducible-path/segyio-1.8.3/debian/python3-segyio/usr/lib/python3.12/dist-packages creating /build/reproducible-path/segyio-1.8.3/debian/python3-segyio/usr/lib/python3.12/dist-packages/segyio copying /build/reproducible-path/segyio-1.8.3/.pybuild/cpython3_3.12_segyio/build/segyio/utils.py -> /build/reproducible-path/segyio-1.8.3/debian/python3-segyio/usr/lib/python3.12/dist-packages/segyio copying /build/reproducible-path/segyio-1.8.3/.pybuild/cpython3_3.12_segyio/build/segyio/segy.py -> /build/reproducible-path/segyio-1.8.3/debian/python3-segyio/usr/lib/python3.12/dist-packages/segyio copying /build/reproducible-path/segyio-1.8.3/.pybuild/cpython3_3.12_segyio/build/segyio/trace.py -> /build/reproducible-path/segyio-1.8.3/debian/python3-segyio/usr/lib/python3.12/dist-packages/segyio copying /build/reproducible-path/segyio-1.8.3/.pybuild/cpython3_3.12_segyio/build/segyio/version.py -> /build/reproducible-path/segyio-1.8.3/debian/python3-segyio/usr/lib/python3.12/dist-packages/segyio copying /build/reproducible-path/segyio-1.8.3/.pybuild/cpython3_3.12_segyio/build/segyio/tools.py -> /build/reproducible-path/segyio-1.8.3/debian/python3-segyio/usr/lib/python3.12/dist-packages/segyio copying /build/reproducible-path/segyio-1.8.3/.pybuild/cpython3_3.12_segyio/build/segyio/open.py -> /build/reproducible-path/segyio-1.8.3/debian/python3-segyio/usr/lib/python3.12/dist-packages/segyio copying /build/reproducible-path/segyio-1.8.3/.pybuild/cpython3_3.12_segyio/build/segyio/field.py -> /build/reproducible-path/segyio-1.8.3/debian/python3-segyio/usr/lib/python3.12/dist-packages/segyio copying /build/reproducible-path/segyio-1.8.3/.pybuild/cpython3_3.12_segyio/build/segyio/binfield.py -> /build/reproducible-path/segyio-1.8.3/debian/python3-segyio/usr/lib/python3.12/dist-packages/segyio copying /build/reproducible-path/segyio-1.8.3/.pybuild/cpython3_3.12_segyio/build/segyio/line.py -> /build/reproducible-path/segyio-1.8.3/debian/python3-segyio/usr/lib/python3.12/dist-packages/segyio copying /build/reproducible-path/segyio-1.8.3/.pybuild/cpython3_3.12_segyio/build/segyio/_segyio.cpython-312-arm-linux-gnueabihf.so -> /build/reproducible-path/segyio-1.8.3/debian/python3-segyio/usr/lib/python3.12/dist-packages/segyio copying /build/reproducible-path/segyio-1.8.3/.pybuild/cpython3_3.12_segyio/build/segyio/tracefield.py -> /build/reproducible-path/segyio-1.8.3/debian/python3-segyio/usr/lib/python3.12/dist-packages/segyio copying /build/reproducible-path/segyio-1.8.3/.pybuild/cpython3_3.12_segyio/build/segyio/__init__.py -> /build/reproducible-path/segyio-1.8.3/debian/python3-segyio/usr/lib/python3.12/dist-packages/segyio copying /build/reproducible-path/segyio-1.8.3/.pybuild/cpython3_3.12_segyio/build/segyio/gather.py -> /build/reproducible-path/segyio-1.8.3/debian/python3-segyio/usr/lib/python3.12/dist-packages/segyio copying /build/reproducible-path/segyio-1.8.3/.pybuild/cpython3_3.12_segyio/build/segyio/create.py -> /build/reproducible-path/segyio-1.8.3/debian/python3-segyio/usr/lib/python3.12/dist-packages/segyio copying /build/reproducible-path/segyio-1.8.3/.pybuild/cpython3_3.12_segyio/build/segyio/depth.py -> /build/reproducible-path/segyio-1.8.3/debian/python3-segyio/usr/lib/python3.12/dist-packages/segyio copying /build/reproducible-path/segyio-1.8.3/.pybuild/cpython3_3.12_segyio/build/segyio/segysampleformat.py -> /build/reproducible-path/segyio-1.8.3/debian/python3-segyio/usr/lib/python3.12/dist-packages/segyio creating /build/reproducible-path/segyio-1.8.3/debian/python3-segyio/usr/lib/python3.12/dist-packages/segyio/su copying /build/reproducible-path/segyio-1.8.3/.pybuild/cpython3_3.12_segyio/build/segyio/su/file.py -> /build/reproducible-path/segyio-1.8.3/debian/python3-segyio/usr/lib/python3.12/dist-packages/segyio/su copying /build/reproducible-path/segyio-1.8.3/.pybuild/cpython3_3.12_segyio/build/segyio/su/words.py -> /build/reproducible-path/segyio-1.8.3/debian/python3-segyio/usr/lib/python3.12/dist-packages/segyio/su copying /build/reproducible-path/segyio-1.8.3/.pybuild/cpython3_3.12_segyio/build/segyio/su/__init__.py -> /build/reproducible-path/segyio-1.8.3/debian/python3-segyio/usr/lib/python3.12/dist-packages/segyio/su copying /build/reproducible-path/segyio-1.8.3/.pybuild/cpython3_3.12_segyio/build/segyio/tracesortingformat.py -> /build/reproducible-path/segyio-1.8.3/debian/python3-segyio/usr/lib/python3.12/dist-packages/segyio byte-compiling /build/reproducible-path/segyio-1.8.3/debian/python3-segyio/usr/lib/python3.12/dist-packages/segyio/utils.py to utils.cpython-312.pyc byte-compiling /build/reproducible-path/segyio-1.8.3/debian/python3-segyio/usr/lib/python3.12/dist-packages/segyio/segy.py to segy.cpython-312.pyc byte-compiling /build/reproducible-path/segyio-1.8.3/debian/python3-segyio/usr/lib/python3.12/dist-packages/segyio/trace.py to trace.cpython-312.pyc byte-compiling /build/reproducible-path/segyio-1.8.3/debian/python3-segyio/usr/lib/python3.12/dist-packages/segyio/version.py to version.cpython-312.pyc byte-compiling /build/reproducible-path/segyio-1.8.3/debian/python3-segyio/usr/lib/python3.12/dist-packages/segyio/tools.py to tools.cpython-312.pyc byte-compiling /build/reproducible-path/segyio-1.8.3/debian/python3-segyio/usr/lib/python3.12/dist-packages/segyio/open.py to open.cpython-312.pyc byte-compiling /build/reproducible-path/segyio-1.8.3/debian/python3-segyio/usr/lib/python3.12/dist-packages/segyio/field.py to field.cpython-312.pyc byte-compiling /build/reproducible-path/segyio-1.8.3/debian/python3-segyio/usr/lib/python3.12/dist-packages/segyio/binfield.py to binfield.cpython-312.pyc byte-compiling /build/reproducible-path/segyio-1.8.3/debian/python3-segyio/usr/lib/python3.12/dist-packages/segyio/line.py to line.cpython-312.pyc byte-compiling /build/reproducible-path/segyio-1.8.3/debian/python3-segyio/usr/lib/python3.12/dist-packages/segyio/tracefield.py to tracefield.cpython-312.pyc byte-compiling /build/reproducible-path/segyio-1.8.3/debian/python3-segyio/usr/lib/python3.12/dist-packages/segyio/__init__.py to __init__.cpython-312.pyc byte-compiling /build/reproducible-path/segyio-1.8.3/debian/python3-segyio/usr/lib/python3.12/dist-packages/segyio/gather.py to gather.cpython-312.pyc byte-compiling /build/reproducible-path/segyio-1.8.3/debian/python3-segyio/usr/lib/python3.12/dist-packages/segyio/create.py to create.cpython-312.pyc byte-compiling /build/reproducible-path/segyio-1.8.3/debian/python3-segyio/usr/lib/python3.12/dist-packages/segyio/depth.py to depth.cpython-312.pyc byte-compiling /build/reproducible-path/segyio-1.8.3/debian/python3-segyio/usr/lib/python3.12/dist-packages/segyio/segysampleformat.py to segysampleformat.cpython-312.pyc byte-compiling /build/reproducible-path/segyio-1.8.3/debian/python3-segyio/usr/lib/python3.12/dist-packages/segyio/su/file.py to file.cpython-312.pyc byte-compiling /build/reproducible-path/segyio-1.8.3/debian/python3-segyio/usr/lib/python3.12/dist-packages/segyio/su/words.py to words.cpython-312.pyc byte-compiling /build/reproducible-path/segyio-1.8.3/debian/python3-segyio/usr/lib/python3.12/dist-packages/segyio/su/__init__.py to __init__.cpython-312.pyc byte-compiling /build/reproducible-path/segyio-1.8.3/debian/python3-segyio/usr/lib/python3.12/dist-packages/segyio/tracesortingformat.py to tracesortingformat.cpython-312.pyc running install_egg_info running egg_info creating /build/reproducible-path/segyio-1.8.3/python/segyio.egg-info writing /build/reproducible-path/segyio-1.8.3/python/segyio.egg-info/PKG-INFO writing dependency_links to /build/reproducible-path/segyio-1.8.3/python/segyio.egg-info/dependency_links.txt writing requirements to /build/reproducible-path/segyio-1.8.3/python/segyio.egg-info/requires.txt writing top-level names to /build/reproducible-path/segyio-1.8.3/python/segyio.egg-info/top_level.txt writing manifest file '/build/reproducible-path/segyio-1.8.3/python/segyio.egg-info/SOURCES.txt' reading manifest file '/build/reproducible-path/segyio-1.8.3/python/segyio.egg-info/SOURCES.txt' reading manifest template 'MANIFEST.in' warning: no files found matching '*.h' under directory 'src' writing manifest file '/build/reproducible-path/segyio-1.8.3/python/segyio.egg-info/SOURCES.txt' Copying /build/reproducible-path/segyio-1.8.3/python/segyio.egg-info to /build/reproducible-path/segyio-1.8.3/debian/python3-segyio/usr/lib/python3.12/dist-packages/segyio-1.8.3.egg-info Skipping SOURCES.txt running install_scripts I: pybuild base:311: /usr/bin/python3 setup.py install --root /build/reproducible-path/segyio-1.8.3/debian/python3-segyio /build/reproducible-path/segyio-1.8.3/setup.py:90: DeprecationWarning: Attribute s is deprecated and will be removed in Python 3.14; use value instead pkgversion['version'] = node.value.s /usr/lib/python3/dist-packages/setuptools/__init__.py:94: _DeprecatedInstaller: setuptools.installer and fetch_build_eggs are deprecated. !! ******************************************************************************** Requirements should be satisfied by a PEP 517 installer. If you are using pip, you can try `pip install --use-pep517`. ******************************************************************************** !! dist.fetch_build_eggs(dist.setup_requires) /usr/lib/python3/dist-packages/setuptools/_distutils/dist.py:261: UserWarning: Unknown distribution option: 'tests_require' warnings.warn(msg) running install /usr/lib/python3/dist-packages/setuptools/_distutils/cmd.py:66: SetuptoolsDeprecationWarning: setup.py install is deprecated. !! ******************************************************************************** Please avoid running ``setup.py`` directly. Instead, use pypa/build, pypa/installer or other standards-based tools. See https://blog.ganssle.io/articles/2021/10/setup-py-deprecated.html for details. ******************************************************************************** !! self.initialize_options() running build running build_py running build_ext running install_lib creating /build/reproducible-path/segyio-1.8.3/debian/python3-segyio/usr/lib/python3.13/dist-packages creating /build/reproducible-path/segyio-1.8.3/debian/python3-segyio/usr/lib/python3.13/dist-packages/segyio copying /build/reproducible-path/segyio-1.8.3/.pybuild/cpython3_3.13_segyio/build/segyio/_segyio.cpython-313-arm-linux-gnueabihf.so -> /build/reproducible-path/segyio-1.8.3/debian/python3-segyio/usr/lib/python3.13/dist-packages/segyio copying /build/reproducible-path/segyio-1.8.3/.pybuild/cpython3_3.13_segyio/build/segyio/utils.py -> /build/reproducible-path/segyio-1.8.3/debian/python3-segyio/usr/lib/python3.13/dist-packages/segyio copying /build/reproducible-path/segyio-1.8.3/.pybuild/cpython3_3.13_segyio/build/segyio/segy.py -> /build/reproducible-path/segyio-1.8.3/debian/python3-segyio/usr/lib/python3.13/dist-packages/segyio copying /build/reproducible-path/segyio-1.8.3/.pybuild/cpython3_3.13_segyio/build/segyio/trace.py -> /build/reproducible-path/segyio-1.8.3/debian/python3-segyio/usr/lib/python3.13/dist-packages/segyio copying /build/reproducible-path/segyio-1.8.3/.pybuild/cpython3_3.13_segyio/build/segyio/version.py -> /build/reproducible-path/segyio-1.8.3/debian/python3-segyio/usr/lib/python3.13/dist-packages/segyio copying /build/reproducible-path/segyio-1.8.3/.pybuild/cpython3_3.13_segyio/build/segyio/tools.py -> /build/reproducible-path/segyio-1.8.3/debian/python3-segyio/usr/lib/python3.13/dist-packages/segyio copying /build/reproducible-path/segyio-1.8.3/.pybuild/cpython3_3.13_segyio/build/segyio/open.py -> /build/reproducible-path/segyio-1.8.3/debian/python3-segyio/usr/lib/python3.13/dist-packages/segyio copying /build/reproducible-path/segyio-1.8.3/.pybuild/cpython3_3.13_segyio/build/segyio/field.py -> /build/reproducible-path/segyio-1.8.3/debian/python3-segyio/usr/lib/python3.13/dist-packages/segyio copying /build/reproducible-path/segyio-1.8.3/.pybuild/cpython3_3.13_segyio/build/segyio/binfield.py -> /build/reproducible-path/segyio-1.8.3/debian/python3-segyio/usr/lib/python3.13/dist-packages/segyio copying /build/reproducible-path/segyio-1.8.3/.pybuild/cpython3_3.13_segyio/build/segyio/line.py -> /build/reproducible-path/segyio-1.8.3/debian/python3-segyio/usr/lib/python3.13/dist-packages/segyio copying /build/reproducible-path/segyio-1.8.3/.pybuild/cpython3_3.13_segyio/build/segyio/tracefield.py -> /build/reproducible-path/segyio-1.8.3/debian/python3-segyio/usr/lib/python3.13/dist-packages/segyio copying /build/reproducible-path/segyio-1.8.3/.pybuild/cpython3_3.13_segyio/build/segyio/__init__.py -> /build/reproducible-path/segyio-1.8.3/debian/python3-segyio/usr/lib/python3.13/dist-packages/segyio copying /build/reproducible-path/segyio-1.8.3/.pybuild/cpython3_3.13_segyio/build/segyio/gather.py -> /build/reproducible-path/segyio-1.8.3/debian/python3-segyio/usr/lib/python3.13/dist-packages/segyio copying /build/reproducible-path/segyio-1.8.3/.pybuild/cpython3_3.13_segyio/build/segyio/create.py -> /build/reproducible-path/segyio-1.8.3/debian/python3-segyio/usr/lib/python3.13/dist-packages/segyio copying /build/reproducible-path/segyio-1.8.3/.pybuild/cpython3_3.13_segyio/build/segyio/depth.py -> /build/reproducible-path/segyio-1.8.3/debian/python3-segyio/usr/lib/python3.13/dist-packages/segyio copying /build/reproducible-path/segyio-1.8.3/.pybuild/cpython3_3.13_segyio/build/segyio/segysampleformat.py -> /build/reproducible-path/segyio-1.8.3/debian/python3-segyio/usr/lib/python3.13/dist-packages/segyio creating /build/reproducible-path/segyio-1.8.3/debian/python3-segyio/usr/lib/python3.13/dist-packages/segyio/su copying /build/reproducible-path/segyio-1.8.3/.pybuild/cpython3_3.13_segyio/build/segyio/su/file.py -> /build/reproducible-path/segyio-1.8.3/debian/python3-segyio/usr/lib/python3.13/dist-packages/segyio/su copying /build/reproducible-path/segyio-1.8.3/.pybuild/cpython3_3.13_segyio/build/segyio/su/words.py -> /build/reproducible-path/segyio-1.8.3/debian/python3-segyio/usr/lib/python3.13/dist-packages/segyio/su copying /build/reproducible-path/segyio-1.8.3/.pybuild/cpython3_3.13_segyio/build/segyio/su/__init__.py -> /build/reproducible-path/segyio-1.8.3/debian/python3-segyio/usr/lib/python3.13/dist-packages/segyio/su copying /build/reproducible-path/segyio-1.8.3/.pybuild/cpython3_3.13_segyio/build/segyio/tracesortingformat.py -> /build/reproducible-path/segyio-1.8.3/debian/python3-segyio/usr/lib/python3.13/dist-packages/segyio byte-compiling /build/reproducible-path/segyio-1.8.3/debian/python3-segyio/usr/lib/python3.13/dist-packages/segyio/utils.py to utils.cpython-313.pyc byte-compiling /build/reproducible-path/segyio-1.8.3/debian/python3-segyio/usr/lib/python3.13/dist-packages/segyio/segy.py to segy.cpython-313.pyc byte-compiling /build/reproducible-path/segyio-1.8.3/debian/python3-segyio/usr/lib/python3.13/dist-packages/segyio/trace.py to trace.cpython-313.pyc byte-compiling /build/reproducible-path/segyio-1.8.3/debian/python3-segyio/usr/lib/python3.13/dist-packages/segyio/version.py to version.cpython-313.pyc byte-compiling /build/reproducible-path/segyio-1.8.3/debian/python3-segyio/usr/lib/python3.13/dist-packages/segyio/tools.py to tools.cpython-313.pyc byte-compiling /build/reproducible-path/segyio-1.8.3/debian/python3-segyio/usr/lib/python3.13/dist-packages/segyio/open.py to open.cpython-313.pyc byte-compiling /build/reproducible-path/segyio-1.8.3/debian/python3-segyio/usr/lib/python3.13/dist-packages/segyio/field.py to field.cpython-313.pyc byte-compiling /build/reproducible-path/segyio-1.8.3/debian/python3-segyio/usr/lib/python3.13/dist-packages/segyio/binfield.py to binfield.cpython-313.pyc byte-compiling /build/reproducible-path/segyio-1.8.3/debian/python3-segyio/usr/lib/python3.13/dist-packages/segyio/line.py to line.cpython-313.pyc byte-compiling /build/reproducible-path/segyio-1.8.3/debian/python3-segyio/usr/lib/python3.13/dist-packages/segyio/tracefield.py to tracefield.cpython-313.pyc byte-compiling /build/reproducible-path/segyio-1.8.3/debian/python3-segyio/usr/lib/python3.13/dist-packages/segyio/__init__.py to __init__.cpython-313.pyc byte-compiling /build/reproducible-path/segyio-1.8.3/debian/python3-segyio/usr/lib/python3.13/dist-packages/segyio/gather.py to gather.cpython-313.pyc byte-compiling /build/reproducible-path/segyio-1.8.3/debian/python3-segyio/usr/lib/python3.13/dist-packages/segyio/create.py to create.cpython-313.pyc byte-compiling /build/reproducible-path/segyio-1.8.3/debian/python3-segyio/usr/lib/python3.13/dist-packages/segyio/depth.py to depth.cpython-313.pyc byte-compiling /build/reproducible-path/segyio-1.8.3/debian/python3-segyio/usr/lib/python3.13/dist-packages/segyio/segysampleformat.py to segysampleformat.cpython-313.pyc byte-compiling /build/reproducible-path/segyio-1.8.3/debian/python3-segyio/usr/lib/python3.13/dist-packages/segyio/su/file.py to file.cpython-313.pyc byte-compiling /build/reproducible-path/segyio-1.8.3/debian/python3-segyio/usr/lib/python3.13/dist-packages/segyio/su/words.py to words.cpython-313.pyc byte-compiling /build/reproducible-path/segyio-1.8.3/debian/python3-segyio/usr/lib/python3.13/dist-packages/segyio/su/__init__.py to __init__.cpython-313.pyc byte-compiling /build/reproducible-path/segyio-1.8.3/debian/python3-segyio/usr/lib/python3.13/dist-packages/segyio/tracesortingformat.py to tracesortingformat.cpython-313.pyc running install_egg_info running egg_info writing /build/reproducible-path/segyio-1.8.3/python/segyio.egg-info/PKG-INFO writing dependency_links to /build/reproducible-path/segyio-1.8.3/python/segyio.egg-info/dependency_links.txt writing requirements to /build/reproducible-path/segyio-1.8.3/python/segyio.egg-info/requires.txt writing top-level names to /build/reproducible-path/segyio-1.8.3/python/segyio.egg-info/top_level.txt reading manifest file '/build/reproducible-path/segyio-1.8.3/python/segyio.egg-info/SOURCES.txt' reading manifest template 'MANIFEST.in' warning: no files found matching '*.h' under directory 'src' writing manifest file '/build/reproducible-path/segyio-1.8.3/python/segyio.egg-info/SOURCES.txt' Copying /build/reproducible-path/segyio-1.8.3/python/segyio.egg-info to /build/reproducible-path/segyio-1.8.3/debian/python3-segyio/usr/lib/python3.13/dist-packages/segyio-1.8.3.egg-info Skipping SOURCES.txt running install_scripts LD_LIBRARY_PATH=/build/reproducible-path/segyio-1.8.3/debian/tmp/usr/lib/arm-linux-gnueabihf: \ dh_auto_test --buildsystem=pybuild -- --test-args="-o python_files=test/*" I: pybuild pybuild:308: cp -r /build/reproducible-path/segyio-1.8.3/python/test /build/reproducible-path/segyio-1.8.3/test-data /build/reproducible-path/segyio-1.8.3/.pybuild/cpython3_3.12_segyio/build I: pybuild base:311: cd /build/reproducible-path/segyio-1.8.3/.pybuild/cpython3_3.12_segyio/build; python3.12 -m pytest -o python_files=test/* ============================= test session starts ============================== platform linux -- Python 3.12.8, pytest-8.3.4, pluggy-1.5.0 rootdir: /build/reproducible-path/segyio-1.8.3 configfile: setup.cfg plugins: typeguard-4.4.1 collected 185 items test/segy.py .........FFFFFFFF.........................FFFFFFFFF........ [ 31%] .............................F..FF.....F.FFFF...................... [ 68%] test/segyio_c.py ............................FF. [ 84%] test/segyioenum.py . [ 85%] test/tools.py ........................... [100%] =================================== FAILURES =================================== _______________________ test_iline_slicing[open-kwargs0] _______________________ openfn = kwargs = {'filename': 'test-data/small.sgy'} @pytest.mark.parametrize(('openfn', 'kwargs'), smallfiles) def test_iline_slicing(openfn, kwargs): with openfn(**kwargs) as f: > assert len(f.ilines) == sum(1 for _ in f.iline) test/segy.py:151: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ segyio/line.py:331: in __iter__ return self[:] _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = , index = slice(None, None, None) def __getitem__(self, index): """line[i] or line[i, o] The line `i`, or the line `i` at a specific offset `o`. ``line[i]`` returns a numpy array, and changes to this array will *not* be reflected on disk. The `i` and `o` are *keys*, and should correspond to the line- and offset labels in your file, and in the `ilines`, `xlines`, and `offsets` attributes. Slices can contain lines and offsets not in the file, and like with list slicing, these are handled gracefully and ignored. When `i` or `o` is a slice, a generator of numpy arrays is returned. If the slice is defaulted (:), segyio knows enough about the structure to give you all of the respective labels. When both `i` and `o` are slices, only one generator is returned, and the lines are yielded offsets-first, roughly equivalent to the double for loop:: >>> for line in lines: ... for off in offsets: ... yield line[line, off] ... Parameters ---------- i : int or slice o : int or slice Returns ------- line : numpy.ndarray of dtype or generator of numpy.ndarray of dtype Raises ------ KeyError If `i` or `o` don't exist Notes ----- .. versionadded:: 1.1 Examples -------- Read an inline: >>> x = line[2400] Copy every inline into a list: >>> l = [numpy.copy(x) for x in iline[:]] Numpy operations on every other inline: >>> for line in line[::2]: ... line = line * 2 ... avg = np.average(line) Read lines up to 2430: >>> for line in line[:2430]: ... line.mean() Copy all lines at all offsets: >>> l = [numpy.copy(x) for x in line[:,:]] Copy all offsets of a line: >>> x = numpy.copy(iline[10,:]) Copy all lines at a fixed offset: >>> x = numpy.copy(iline[:, 120]) Copy every other line and offset: >>> map(numpy.copy, line[::2, ::2]) Copy all offsets [200, 250, 300, 350, ...] in the range [200, 800) for all lines [2420,2460): >>> l = [numpy.copy(x) for x in line[2420:2460, 200:800:50]] """ offset = self.default_offset try: index, offset = index except TypeError: pass # prioritise the code path that's potentially in loops externally try: > head = self.heads[index] + self.offsets[offset] E KeyError: slice(None, None, None) segyio/line.py:200: KeyError _______________________ test_iline_slicing[open-kwargs1] _______________________ openfn = kwargs = {'endian': 'little', 'filename': 'test-data/small-lsb.sgy'} @pytest.mark.parametrize(('openfn', 'kwargs'), smallfiles) def test_iline_slicing(openfn, kwargs): with openfn(**kwargs) as f: > assert len(f.ilines) == sum(1 for _ in f.iline) test/segy.py:151: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ segyio/line.py:331: in __iter__ return self[:] _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = , index = slice(None, None, None) def __getitem__(self, index): """line[i] or line[i, o] The line `i`, or the line `i` at a specific offset `o`. ``line[i]`` returns a numpy array, and changes to this array will *not* be reflected on disk. The `i` and `o` are *keys*, and should correspond to the line- and offset labels in your file, and in the `ilines`, `xlines`, and `offsets` attributes. Slices can contain lines and offsets not in the file, and like with list slicing, these are handled gracefully and ignored. When `i` or `o` is a slice, a generator of numpy arrays is returned. If the slice is defaulted (:), segyio knows enough about the structure to give you all of the respective labels. When both `i` and `o` are slices, only one generator is returned, and the lines are yielded offsets-first, roughly equivalent to the double for loop:: >>> for line in lines: ... for off in offsets: ... yield line[line, off] ... Parameters ---------- i : int or slice o : int or slice Returns ------- line : numpy.ndarray of dtype or generator of numpy.ndarray of dtype Raises ------ KeyError If `i` or `o` don't exist Notes ----- .. versionadded:: 1.1 Examples -------- Read an inline: >>> x = line[2400] Copy every inline into a list: >>> l = [numpy.copy(x) for x in iline[:]] Numpy operations on every other inline: >>> for line in line[::2]: ... line = line * 2 ... avg = np.average(line) Read lines up to 2430: >>> for line in line[:2430]: ... line.mean() Copy all lines at all offsets: >>> l = [numpy.copy(x) for x in line[:,:]] Copy all offsets of a line: >>> x = numpy.copy(iline[10,:]) Copy all lines at a fixed offset: >>> x = numpy.copy(iline[:, 120]) Copy every other line and offset: >>> map(numpy.copy, line[::2, ::2]) Copy all offsets [200, 250, 300, 350, ...] in the range [200, 800) for all lines [2420,2460): >>> l = [numpy.copy(x) for x in line[2420:2460, 200:800:50]] """ offset = self.default_offset try: index, offset = index except TypeError: pass # prioritise the code path that's potentially in loops externally try: > head = self.heads[index] + self.offsets[offset] E KeyError: slice(None, None, None) segyio/line.py:200: KeyError _______________________ test_iline_slicing[open-kwargs2] _______________________ openfn = kwargs = {'filename': 'test-data/small.su', 'iline': 5, 'xline': 21} @pytest.mark.parametrize(('openfn', 'kwargs'), smallfiles) def test_iline_slicing(openfn, kwargs): with openfn(**kwargs) as f: > assert len(f.ilines) == sum(1 for _ in f.iline) test/segy.py:151: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ segyio/line.py:331: in __iter__ return self[:] _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = , index = slice(None, None, None) def __getitem__(self, index): """line[i] or line[i, o] The line `i`, or the line `i` at a specific offset `o`. ``line[i]`` returns a numpy array, and changes to this array will *not* be reflected on disk. The `i` and `o` are *keys*, and should correspond to the line- and offset labels in your file, and in the `ilines`, `xlines`, and `offsets` attributes. Slices can contain lines and offsets not in the file, and like with list slicing, these are handled gracefully and ignored. When `i` or `o` is a slice, a generator of numpy arrays is returned. If the slice is defaulted (:), segyio knows enough about the structure to give you all of the respective labels. When both `i` and `o` are slices, only one generator is returned, and the lines are yielded offsets-first, roughly equivalent to the double for loop:: >>> for line in lines: ... for off in offsets: ... yield line[line, off] ... Parameters ---------- i : int or slice o : int or slice Returns ------- line : numpy.ndarray of dtype or generator of numpy.ndarray of dtype Raises ------ KeyError If `i` or `o` don't exist Notes ----- .. versionadded:: 1.1 Examples -------- Read an inline: >>> x = line[2400] Copy every inline into a list: >>> l = [numpy.copy(x) for x in iline[:]] Numpy operations on every other inline: >>> for line in line[::2]: ... line = line * 2 ... avg = np.average(line) Read lines up to 2430: >>> for line in line[:2430]: ... line.mean() Copy all lines at all offsets: >>> l = [numpy.copy(x) for x in line[:,:]] Copy all offsets of a line: >>> x = numpy.copy(iline[10,:]) Copy all lines at a fixed offset: >>> x = numpy.copy(iline[:, 120]) Copy every other line and offset: >>> map(numpy.copy, line[::2, ::2]) Copy all offsets [200, 250, 300, 350, ...] in the range [200, 800) for all lines [2420,2460): >>> l = [numpy.copy(x) for x in line[2420:2460, 200:800:50]] """ offset = self.default_offset try: index, offset = index except TypeError: pass # prioritise the code path that's potentially in loops externally try: > head = self.heads[index] + self.offsets[offset] E KeyError: slice(None, None, None) segyio/line.py:200: KeyError _______________________ test_iline_slicing[open-kwargs3] _______________________ openfn = kwargs = {'endian': 'lsb', 'filename': 'test-data/small-lsb.su', 'iline': 5, 'xline': 21} @pytest.mark.parametrize(('openfn', 'kwargs'), smallfiles) def test_iline_slicing(openfn, kwargs): with openfn(**kwargs) as f: > assert len(f.ilines) == sum(1 for _ in f.iline) test/segy.py:151: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ segyio/line.py:331: in __iter__ return self[:] _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = , index = slice(None, None, None) def __getitem__(self, index): """line[i] or line[i, o] The line `i`, or the line `i` at a specific offset `o`. ``line[i]`` returns a numpy array, and changes to this array will *not* be reflected on disk. The `i` and `o` are *keys*, and should correspond to the line- and offset labels in your file, and in the `ilines`, `xlines`, and `offsets` attributes. Slices can contain lines and offsets not in the file, and like with list slicing, these are handled gracefully and ignored. When `i` or `o` is a slice, a generator of numpy arrays is returned. If the slice is defaulted (:), segyio knows enough about the structure to give you all of the respective labels. When both `i` and `o` are slices, only one generator is returned, and the lines are yielded offsets-first, roughly equivalent to the double for loop:: >>> for line in lines: ... for off in offsets: ... yield line[line, off] ... Parameters ---------- i : int or slice o : int or slice Returns ------- line : numpy.ndarray of dtype or generator of numpy.ndarray of dtype Raises ------ KeyError If `i` or `o` don't exist Notes ----- .. versionadded:: 1.1 Examples -------- Read an inline: >>> x = line[2400] Copy every inline into a list: >>> l = [numpy.copy(x) for x in iline[:]] Numpy operations on every other inline: >>> for line in line[::2]: ... line = line * 2 ... avg = np.average(line) Read lines up to 2430: >>> for line in line[:2430]: ... line.mean() Copy all lines at all offsets: >>> l = [numpy.copy(x) for x in line[:,:]] Copy all offsets of a line: >>> x = numpy.copy(iline[10,:]) Copy all lines at a fixed offset: >>> x = numpy.copy(iline[:, 120]) Copy every other line and offset: >>> map(numpy.copy, line[::2, ::2]) Copy all offsets [200, 250, 300, 350, ...] in the range [200, 800) for all lines [2420,2460): >>> l = [numpy.copy(x) for x in line[2420:2460, 200:800:50]] """ offset = self.default_offset try: index, offset = index except TypeError: pass # prioritise the code path that's potentially in loops externally try: > head = self.heads[index] + self.offsets[offset] E KeyError: slice(None, None, None) segyio/line.py:200: KeyError _______________________ test_xline_slicing[open-kwargs0] _______________________ openfn = kwargs = {'filename': 'test-data/small.sgy'} @pytest.mark.parametrize(('openfn', 'kwargs'), smallfiles) def test_xline_slicing(openfn, kwargs): with openfn(**kwargs) as f: > assert len(f.xlines) == sum(1 for _ in f.xline) test/segy.py:165: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ segyio/line.py:331: in __iter__ return self[:] _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = , index = slice(None, None, None) def __getitem__(self, index): """line[i] or line[i, o] The line `i`, or the line `i` at a specific offset `o`. ``line[i]`` returns a numpy array, and changes to this array will *not* be reflected on disk. The `i` and `o` are *keys*, and should correspond to the line- and offset labels in your file, and in the `ilines`, `xlines`, and `offsets` attributes. Slices can contain lines and offsets not in the file, and like with list slicing, these are handled gracefully and ignored. When `i` or `o` is a slice, a generator of numpy arrays is returned. If the slice is defaulted (:), segyio knows enough about the structure to give you all of the respective labels. When both `i` and `o` are slices, only one generator is returned, and the lines are yielded offsets-first, roughly equivalent to the double for loop:: >>> for line in lines: ... for off in offsets: ... yield line[line, off] ... Parameters ---------- i : int or slice o : int or slice Returns ------- line : numpy.ndarray of dtype or generator of numpy.ndarray of dtype Raises ------ KeyError If `i` or `o` don't exist Notes ----- .. versionadded:: 1.1 Examples -------- Read an inline: >>> x = line[2400] Copy every inline into a list: >>> l = [numpy.copy(x) for x in iline[:]] Numpy operations on every other inline: >>> for line in line[::2]: ... line = line * 2 ... avg = np.average(line) Read lines up to 2430: >>> for line in line[:2430]: ... line.mean() Copy all lines at all offsets: >>> l = [numpy.copy(x) for x in line[:,:]] Copy all offsets of a line: >>> x = numpy.copy(iline[10,:]) Copy all lines at a fixed offset: >>> x = numpy.copy(iline[:, 120]) Copy every other line and offset: >>> map(numpy.copy, line[::2, ::2]) Copy all offsets [200, 250, 300, 350, ...] in the range [200, 800) for all lines [2420,2460): >>> l = [numpy.copy(x) for x in line[2420:2460, 200:800:50]] """ offset = self.default_offset try: index, offset = index except TypeError: pass # prioritise the code path that's potentially in loops externally try: > head = self.heads[index] + self.offsets[offset] E KeyError: slice(None, None, None) segyio/line.py:200: KeyError _______________________ test_xline_slicing[open-kwargs1] _______________________ openfn = kwargs = {'endian': 'little', 'filename': 'test-data/small-lsb.sgy'} @pytest.mark.parametrize(('openfn', 'kwargs'), smallfiles) def test_xline_slicing(openfn, kwargs): with openfn(**kwargs) as f: > assert len(f.xlines) == sum(1 for _ in f.xline) test/segy.py:165: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ segyio/line.py:331: in __iter__ return self[:] _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = , index = slice(None, None, None) def __getitem__(self, index): """line[i] or line[i, o] The line `i`, or the line `i` at a specific offset `o`. ``line[i]`` returns a numpy array, and changes to this array will *not* be reflected on disk. The `i` and `o` are *keys*, and should correspond to the line- and offset labels in your file, and in the `ilines`, `xlines`, and `offsets` attributes. Slices can contain lines and offsets not in the file, and like with list slicing, these are handled gracefully and ignored. When `i` or `o` is a slice, a generator of numpy arrays is returned. If the slice is defaulted (:), segyio knows enough about the structure to give you all of the respective labels. When both `i` and `o` are slices, only one generator is returned, and the lines are yielded offsets-first, roughly equivalent to the double for loop:: >>> for line in lines: ... for off in offsets: ... yield line[line, off] ... Parameters ---------- i : int or slice o : int or slice Returns ------- line : numpy.ndarray of dtype or generator of numpy.ndarray of dtype Raises ------ KeyError If `i` or `o` don't exist Notes ----- .. versionadded:: 1.1 Examples -------- Read an inline: >>> x = line[2400] Copy every inline into a list: >>> l = [numpy.copy(x) for x in iline[:]] Numpy operations on every other inline: >>> for line in line[::2]: ... line = line * 2 ... avg = np.average(line) Read lines up to 2430: >>> for line in line[:2430]: ... line.mean() Copy all lines at all offsets: >>> l = [numpy.copy(x) for x in line[:,:]] Copy all offsets of a line: >>> x = numpy.copy(iline[10,:]) Copy all lines at a fixed offset: >>> x = numpy.copy(iline[:, 120]) Copy every other line and offset: >>> map(numpy.copy, line[::2, ::2]) Copy all offsets [200, 250, 300, 350, ...] in the range [200, 800) for all lines [2420,2460): >>> l = [numpy.copy(x) for x in line[2420:2460, 200:800:50]] """ offset = self.default_offset try: index, offset = index except TypeError: pass # prioritise the code path that's potentially in loops externally try: > head = self.heads[index] + self.offsets[offset] E KeyError: slice(None, None, None) segyio/line.py:200: KeyError _______________________ test_xline_slicing[open-kwargs2] _______________________ openfn = kwargs = {'filename': 'test-data/small.su', 'iline': 5, 'xline': 21} @pytest.mark.parametrize(('openfn', 'kwargs'), smallfiles) def test_xline_slicing(openfn, kwargs): with openfn(**kwargs) as f: > assert len(f.xlines) == sum(1 for _ in f.xline) test/segy.py:165: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ segyio/line.py:331: in __iter__ return self[:] _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = , index = slice(None, None, None) def __getitem__(self, index): """line[i] or line[i, o] The line `i`, or the line `i` at a specific offset `o`. ``line[i]`` returns a numpy array, and changes to this array will *not* be reflected on disk. The `i` and `o` are *keys*, and should correspond to the line- and offset labels in your file, and in the `ilines`, `xlines`, and `offsets` attributes. Slices can contain lines and offsets not in the file, and like with list slicing, these are handled gracefully and ignored. When `i` or `o` is a slice, a generator of numpy arrays is returned. If the slice is defaulted (:), segyio knows enough about the structure to give you all of the respective labels. When both `i` and `o` are slices, only one generator is returned, and the lines are yielded offsets-first, roughly equivalent to the double for loop:: >>> for line in lines: ... for off in offsets: ... yield line[line, off] ... Parameters ---------- i : int or slice o : int or slice Returns ------- line : numpy.ndarray of dtype or generator of numpy.ndarray of dtype Raises ------ KeyError If `i` or `o` don't exist Notes ----- .. versionadded:: 1.1 Examples -------- Read an inline: >>> x = line[2400] Copy every inline into a list: >>> l = [numpy.copy(x) for x in iline[:]] Numpy operations on every other inline: >>> for line in line[::2]: ... line = line * 2 ... avg = np.average(line) Read lines up to 2430: >>> for line in line[:2430]: ... line.mean() Copy all lines at all offsets: >>> l = [numpy.copy(x) for x in line[:,:]] Copy all offsets of a line: >>> x = numpy.copy(iline[10,:]) Copy all lines at a fixed offset: >>> x = numpy.copy(iline[:, 120]) Copy every other line and offset: >>> map(numpy.copy, line[::2, ::2]) Copy all offsets [200, 250, 300, 350, ...] in the range [200, 800) for all lines [2420,2460): >>> l = [numpy.copy(x) for x in line[2420:2460, 200:800:50]] """ offset = self.default_offset try: index, offset = index except TypeError: pass # prioritise the code path that's potentially in loops externally try: > head = self.heads[index] + self.offsets[offset] E KeyError: slice(None, None, None) segyio/line.py:200: KeyError _______________________ test_xline_slicing[open-kwargs3] _______________________ openfn = kwargs = {'endian': 'lsb', 'filename': 'test-data/small-lsb.su', 'iline': 5, 'xline': 21} @pytest.mark.parametrize(('openfn', 'kwargs'), smallfiles) def test_xline_slicing(openfn, kwargs): with openfn(**kwargs) as f: > assert len(f.xlines) == sum(1 for _ in f.xline) test/segy.py:165: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ segyio/line.py:331: in __iter__ return self[:] _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = , index = slice(None, None, None) def __getitem__(self, index): """line[i] or line[i, o] The line `i`, or the line `i` at a specific offset `o`. ``line[i]`` returns a numpy array, and changes to this array will *not* be reflected on disk. The `i` and `o` are *keys*, and should correspond to the line- and offset labels in your file, and in the `ilines`, `xlines`, and `offsets` attributes. Slices can contain lines and offsets not in the file, and like with list slicing, these are handled gracefully and ignored. When `i` or `o` is a slice, a generator of numpy arrays is returned. If the slice is defaulted (:), segyio knows enough about the structure to give you all of the respective labels. When both `i` and `o` are slices, only one generator is returned, and the lines are yielded offsets-first, roughly equivalent to the double for loop:: >>> for line in lines: ... for off in offsets: ... yield line[line, off] ... Parameters ---------- i : int or slice o : int or slice Returns ------- line : numpy.ndarray of dtype or generator of numpy.ndarray of dtype Raises ------ KeyError If `i` or `o` don't exist Notes ----- .. versionadded:: 1.1 Examples -------- Read an inline: >>> x = line[2400] Copy every inline into a list: >>> l = [numpy.copy(x) for x in iline[:]] Numpy operations on every other inline: >>> for line in line[::2]: ... line = line * 2 ... avg = np.average(line) Read lines up to 2430: >>> for line in line[:2430]: ... line.mean() Copy all lines at all offsets: >>> l = [numpy.copy(x) for x in line[:,:]] Copy all offsets of a line: >>> x = numpy.copy(iline[10,:]) Copy all lines at a fixed offset: >>> x = numpy.copy(iline[:, 120]) Copy every other line and offset: >>> map(numpy.copy, line[::2, ::2]) Copy all offsets [200, 250, 300, 350, ...] in the range [200, 800) for all lines [2420,2460): >>> l = [numpy.copy(x) for x in line[2420:2460, 200:800:50]] """ offset = self.default_offset try: index, offset = index except TypeError: pass # prioritise the code path that's potentially in loops externally try: > head = self.heads[index] + self.offsets[offset] E KeyError: slice(None, None, None) segyio/line.py:200: KeyError ________________________ test_iline_slice_fixed_offset _________________________ def test_iline_slice_fixed_offset(): with segyio.open("test-data/small-ps.sgy") as f: > for i, ln in enumerate(f.iline[:, 1], 1): test/segy.py:424: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = , index = slice(None, None, None) def __getitem__(self, index): """line[i] or line[i, o] The line `i`, or the line `i` at a specific offset `o`. ``line[i]`` returns a numpy array, and changes to this array will *not* be reflected on disk. The `i` and `o` are *keys*, and should correspond to the line- and offset labels in your file, and in the `ilines`, `xlines`, and `offsets` attributes. Slices can contain lines and offsets not in the file, and like with list slicing, these are handled gracefully and ignored. When `i` or `o` is a slice, a generator of numpy arrays is returned. If the slice is defaulted (:), segyio knows enough about the structure to give you all of the respective labels. When both `i` and `o` are slices, only one generator is returned, and the lines are yielded offsets-first, roughly equivalent to the double for loop:: >>> for line in lines: ... for off in offsets: ... yield line[line, off] ... Parameters ---------- i : int or slice o : int or slice Returns ------- line : numpy.ndarray of dtype or generator of numpy.ndarray of dtype Raises ------ KeyError If `i` or `o` don't exist Notes ----- .. versionadded:: 1.1 Examples -------- Read an inline: >>> x = line[2400] Copy every inline into a list: >>> l = [numpy.copy(x) for x in iline[:]] Numpy operations on every other inline: >>> for line in line[::2]: ... line = line * 2 ... avg = np.average(line) Read lines up to 2430: >>> for line in line[:2430]: ... line.mean() Copy all lines at all offsets: >>> l = [numpy.copy(x) for x in line[:,:]] Copy all offsets of a line: >>> x = numpy.copy(iline[10,:]) Copy all lines at a fixed offset: >>> x = numpy.copy(iline[:, 120]) Copy every other line and offset: >>> map(numpy.copy, line[::2, ::2]) Copy all offsets [200, 250, 300, 350, ...] in the range [200, 800) for all lines [2420,2460): >>> l = [numpy.copy(x) for x in line[2420:2460, 200:800:50]] """ offset = self.default_offset try: index, offset = index except TypeError: pass # prioritise the code path that's potentially in loops externally try: > head = self.heads[index] + self.offsets[offset] E KeyError: slice(None, None, None) segyio/line.py:200: KeyError _________________________ test_iline_slice_fixed_line __________________________ def test_iline_slice_fixed_line(): with segyio.open("test-data/small-ps.sgy") as f: > for i, ln in enumerate(f.iline[1, :], 1): test/segy.py:436: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = , index = 1 def __getitem__(self, index): """line[i] or line[i, o] The line `i`, or the line `i` at a specific offset `o`. ``line[i]`` returns a numpy array, and changes to this array will *not* be reflected on disk. The `i` and `o` are *keys*, and should correspond to the line- and offset labels in your file, and in the `ilines`, `xlines`, and `offsets` attributes. Slices can contain lines and offsets not in the file, and like with list slicing, these are handled gracefully and ignored. When `i` or `o` is a slice, a generator of numpy arrays is returned. If the slice is defaulted (:), segyio knows enough about the structure to give you all of the respective labels. When both `i` and `o` are slices, only one generator is returned, and the lines are yielded offsets-first, roughly equivalent to the double for loop:: >>> for line in lines: ... for off in offsets: ... yield line[line, off] ... Parameters ---------- i : int or slice o : int or slice Returns ------- line : numpy.ndarray of dtype or generator of numpy.ndarray of dtype Raises ------ KeyError If `i` or `o` don't exist Notes ----- .. versionadded:: 1.1 Examples -------- Read an inline: >>> x = line[2400] Copy every inline into a list: >>> l = [numpy.copy(x) for x in iline[:]] Numpy operations on every other inline: >>> for line in line[::2]: ... line = line * 2 ... avg = np.average(line) Read lines up to 2430: >>> for line in line[:2430]: ... line.mean() Copy all lines at all offsets: >>> l = [numpy.copy(x) for x in line[:,:]] Copy all offsets of a line: >>> x = numpy.copy(iline[10,:]) Copy all lines at a fixed offset: >>> x = numpy.copy(iline[:, 120]) Copy every other line and offset: >>> map(numpy.copy, line[::2, ::2]) Copy all offsets [200, 250, 300, 350, ...] in the range [200, 800) for all lines [2420,2460): >>> l = [numpy.copy(x) for x in line[2420:2460, 200:800:50]] """ offset = self.default_offset try: index, offset = index except TypeError: pass # prioritise the code path that's potentially in loops externally try: > head = self.heads[index] + self.offsets[offset] E KeyError: slice(None, None, None) segyio/line.py:200: KeyError _________________________ test_iline_slice_all_offsets _________________________ def test_iline_slice_all_offsets(): with segyio.open("test-data/small-ps.sgy") as f: offs, ils = len(f.offsets), len(f.ilines) > assert offs * ils == sum(1 for _ in f.iline[:, :]) test/segy.py:450: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = , index = slice(None, None, None) def __getitem__(self, index): """line[i] or line[i, o] The line `i`, or the line `i` at a specific offset `o`. ``line[i]`` returns a numpy array, and changes to this array will *not* be reflected on disk. The `i` and `o` are *keys*, and should correspond to the line- and offset labels in your file, and in the `ilines`, `xlines`, and `offsets` attributes. Slices can contain lines and offsets not in the file, and like with list slicing, these are handled gracefully and ignored. When `i` or `o` is a slice, a generator of numpy arrays is returned. If the slice is defaulted (:), segyio knows enough about the structure to give you all of the respective labels. When both `i` and `o` are slices, only one generator is returned, and the lines are yielded offsets-first, roughly equivalent to the double for loop:: >>> for line in lines: ... for off in offsets: ... yield line[line, off] ... Parameters ---------- i : int or slice o : int or slice Returns ------- line : numpy.ndarray of dtype or generator of numpy.ndarray of dtype Raises ------ KeyError If `i` or `o` don't exist Notes ----- .. versionadded:: 1.1 Examples -------- Read an inline: >>> x = line[2400] Copy every inline into a list: >>> l = [numpy.copy(x) for x in iline[:]] Numpy operations on every other inline: >>> for line in line[::2]: ... line = line * 2 ... avg = np.average(line) Read lines up to 2430: >>> for line in line[:2430]: ... line.mean() Copy all lines at all offsets: >>> l = [numpy.copy(x) for x in line[:,:]] Copy all offsets of a line: >>> x = numpy.copy(iline[10,:]) Copy all lines at a fixed offset: >>> x = numpy.copy(iline[:, 120]) Copy every other line and offset: >>> map(numpy.copy, line[::2, ::2]) Copy all offsets [200, 250, 300, 350, ...] in the range [200, 800) for all lines [2420,2460): >>> l = [numpy.copy(x) for x in line[2420:2460, 200:800:50]] """ offset = self.default_offset try: index, offset = index except TypeError: pass # prioritise the code path that's potentially in loops externally try: > head = self.heads[index] + self.offsets[offset] E KeyError: slice(None, None, None) segyio/line.py:200: KeyError _______________________________ test_gather_mode _______________________________ def test_gather_mode(): with segyio.open("test-data/small-ps.sgy") as f: empty = np.empty(0, dtype=np.single) # should raise with pytest.raises(KeyError): assert np.array_equal(empty, f.gather[2, 3, 3]) with pytest.raises(KeyError): assert np.array_equal(empty, f.gather[2, 5, 1]) with pytest.raises(KeyError): assert np.array_equal(empty, f.gather[5, 2, 1]) assert np.array_equal(f.trace[10], f.gather[2, 3, 1]) assert np.array_equal(f.trace[11], f.gather[2, 3, 2]) traces = segyio.tools.collect(f.trace[10:12]) gather = f.gather[2, 3, :] assert np.array_equal(traces, gather) assert np.array_equal(traces, f.gather[2, 3]) assert np.array_equal(empty, f.gather[2, 3, 1:0]) assert np.array_equal(empty, f.gather[2, 3, 3:4]) > for g, line in zip(f.gather[1:3, 3, 1], f.iline[1:3]): test/segy.py:491: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = , index = slice(1, 3, None) def __getitem__(self, index): """line[i] or line[i, o] The line `i`, or the line `i` at a specific offset `o`. ``line[i]`` returns a numpy array, and changes to this array will *not* be reflected on disk. The `i` and `o` are *keys*, and should correspond to the line- and offset labels in your file, and in the `ilines`, `xlines`, and `offsets` attributes. Slices can contain lines and offsets not in the file, and like with list slicing, these are handled gracefully and ignored. When `i` or `o` is a slice, a generator of numpy arrays is returned. If the slice is defaulted (:), segyio knows enough about the structure to give you all of the respective labels. When both `i` and `o` are slices, only one generator is returned, and the lines are yielded offsets-first, roughly equivalent to the double for loop:: >>> for line in lines: ... for off in offsets: ... yield line[line, off] ... Parameters ---------- i : int or slice o : int or slice Returns ------- line : numpy.ndarray of dtype or generator of numpy.ndarray of dtype Raises ------ KeyError If `i` or `o` don't exist Notes ----- .. versionadded:: 1.1 Examples -------- Read an inline: >>> x = line[2400] Copy every inline into a list: >>> l = [numpy.copy(x) for x in iline[:]] Numpy operations on every other inline: >>> for line in line[::2]: ... line = line * 2 ... avg = np.average(line) Read lines up to 2430: >>> for line in line[:2430]: ... line.mean() Copy all lines at all offsets: >>> l = [numpy.copy(x) for x in line[:,:]] Copy all offsets of a line: >>> x = numpy.copy(iline[10,:]) Copy all lines at a fixed offset: >>> x = numpy.copy(iline[:, 120]) Copy every other line and offset: >>> map(numpy.copy, line[::2, ::2]) Copy all offsets [200, 250, 300, 350, ...] in the range [200, 800) for all lines [2420,2460): >>> l = [numpy.copy(x) for x in line[2420:2460, 200:800:50]] """ offset = self.default_offset try: index, offset = index except TypeError: pass # prioritise the code path that's potentially in loops externally try: > head = self.heads[index] + self.offsets[offset] E KeyError: slice(1, 3, None) segyio/line.py:200: KeyError _____________________________ test_line_generators _____________________________ def test_line_generators(): with segyio.open("test-data/small.sgy") as f: > for _ in f.iline: test/segy.py:517: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ segyio/line.py:331: in __iter__ return self[:] _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = , index = slice(None, None, None) def __getitem__(self, index): """line[i] or line[i, o] The line `i`, or the line `i` at a specific offset `o`. ``line[i]`` returns a numpy array, and changes to this array will *not* be reflected on disk. The `i` and `o` are *keys*, and should correspond to the line- and offset labels in your file, and in the `ilines`, `xlines`, and `offsets` attributes. Slices can contain lines and offsets not in the file, and like with list slicing, these are handled gracefully and ignored. When `i` or `o` is a slice, a generator of numpy arrays is returned. If the slice is defaulted (:), segyio knows enough about the structure to give you all of the respective labels. When both `i` and `o` are slices, only one generator is returned, and the lines are yielded offsets-first, roughly equivalent to the double for loop:: >>> for line in lines: ... for off in offsets: ... yield line[line, off] ... Parameters ---------- i : int or slice o : int or slice Returns ------- line : numpy.ndarray of dtype or generator of numpy.ndarray of dtype Raises ------ KeyError If `i` or `o` don't exist Notes ----- .. versionadded:: 1.1 Examples -------- Read an inline: >>> x = line[2400] Copy every inline into a list: >>> l = [numpy.copy(x) for x in iline[:]] Numpy operations on every other inline: >>> for line in line[::2]: ... line = line * 2 ... avg = np.average(line) Read lines up to 2430: >>> for line in line[:2430]: ... line.mean() Copy all lines at all offsets: >>> l = [numpy.copy(x) for x in line[:,:]] Copy all offsets of a line: >>> x = numpy.copy(iline[10,:]) Copy all lines at a fixed offset: >>> x = numpy.copy(iline[:, 120]) Copy every other line and offset: >>> map(numpy.copy, line[::2, ::2]) Copy all offsets [200, 250, 300, 350, ...] in the range [200, 800) for all lines [2420,2460): >>> l = [numpy.copy(x) for x in line[2420:2460, 200:800:50]] """ offset = self.default_offset try: index, offset = index except TypeError: pass # prioritise the code path that's potentially in loops externally try: > head = self.heads[index] + self.offsets[offset] E KeyError: slice(None, None, None) segyio/line.py:200: KeyError ___________________ test_fast_slow_dimensions[open-kwargs0] ____________________ openfn = kwargs = {'filename': 'test-data/small.sgy'} @pytest.mark.parametrize(('openfn', 'kwargs'), smallfiles) def test_fast_slow_dimensions(openfn, kwargs): with openfn(**kwargs) as f: > for iline, fline in zip(f.iline, f.fast): test/segy.py:527: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ segyio/line.py:331: in __iter__ return self[:] _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = , index = slice(None, None, None) def __getitem__(self, index): """line[i] or line[i, o] The line `i`, or the line `i` at a specific offset `o`. ``line[i]`` returns a numpy array, and changes to this array will *not* be reflected on disk. The `i` and `o` are *keys*, and should correspond to the line- and offset labels in your file, and in the `ilines`, `xlines`, and `offsets` attributes. Slices can contain lines and offsets not in the file, and like with list slicing, these are handled gracefully and ignored. When `i` or `o` is a slice, a generator of numpy arrays is returned. If the slice is defaulted (:), segyio knows enough about the structure to give you all of the respective labels. When both `i` and `o` are slices, only one generator is returned, and the lines are yielded offsets-first, roughly equivalent to the double for loop:: >>> for line in lines: ... for off in offsets: ... yield line[line, off] ... Parameters ---------- i : int or slice o : int or slice Returns ------- line : numpy.ndarray of dtype or generator of numpy.ndarray of dtype Raises ------ KeyError If `i` or `o` don't exist Notes ----- .. versionadded:: 1.1 Examples -------- Read an inline: >>> x = line[2400] Copy every inline into a list: >>> l = [numpy.copy(x) for x in iline[:]] Numpy operations on every other inline: >>> for line in line[::2]: ... line = line * 2 ... avg = np.average(line) Read lines up to 2430: >>> for line in line[:2430]: ... line.mean() Copy all lines at all offsets: >>> l = [numpy.copy(x) for x in line[:,:]] Copy all offsets of a line: >>> x = numpy.copy(iline[10,:]) Copy all lines at a fixed offset: >>> x = numpy.copy(iline[:, 120]) Copy every other line and offset: >>> map(numpy.copy, line[::2, ::2]) Copy all offsets [200, 250, 300, 350, ...] in the range [200, 800) for all lines [2420,2460): >>> l = [numpy.copy(x) for x in line[2420:2460, 200:800:50]] """ offset = self.default_offset try: index, offset = index except TypeError: pass # prioritise the code path that's potentially in loops externally try: > head = self.heads[index] + self.offsets[offset] E KeyError: slice(None, None, None) segyio/line.py:200: KeyError ___________________ test_fast_slow_dimensions[open-kwargs1] ____________________ openfn = kwargs = {'endian': 'little', 'filename': 'test-data/small-lsb.sgy'} @pytest.mark.parametrize(('openfn', 'kwargs'), smallfiles) def test_fast_slow_dimensions(openfn, kwargs): with openfn(**kwargs) as f: > for iline, fline in zip(f.iline, f.fast): test/segy.py:527: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ segyio/line.py:331: in __iter__ return self[:] _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = , index = slice(None, None, None) def __getitem__(self, index): """line[i] or line[i, o] The line `i`, or the line `i` at a specific offset `o`. ``line[i]`` returns a numpy array, and changes to this array will *not* be reflected on disk. The `i` and `o` are *keys*, and should correspond to the line- and offset labels in your file, and in the `ilines`, `xlines`, and `offsets` attributes. Slices can contain lines and offsets not in the file, and like with list slicing, these are handled gracefully and ignored. When `i` or `o` is a slice, a generator of numpy arrays is returned. If the slice is defaulted (:), segyio knows enough about the structure to give you all of the respective labels. When both `i` and `o` are slices, only one generator is returned, and the lines are yielded offsets-first, roughly equivalent to the double for loop:: >>> for line in lines: ... for off in offsets: ... yield line[line, off] ... Parameters ---------- i : int or slice o : int or slice Returns ------- line : numpy.ndarray of dtype or generator of numpy.ndarray of dtype Raises ------ KeyError If `i` or `o` don't exist Notes ----- .. versionadded:: 1.1 Examples -------- Read an inline: >>> x = line[2400] Copy every inline into a list: >>> l = [numpy.copy(x) for x in iline[:]] Numpy operations on every other inline: >>> for line in line[::2]: ... line = line * 2 ... avg = np.average(line) Read lines up to 2430: >>> for line in line[:2430]: ... line.mean() Copy all lines at all offsets: >>> l = [numpy.copy(x) for x in line[:,:]] Copy all offsets of a line: >>> x = numpy.copy(iline[10,:]) Copy all lines at a fixed offset: >>> x = numpy.copy(iline[:, 120]) Copy every other line and offset: >>> map(numpy.copy, line[::2, ::2]) Copy all offsets [200, 250, 300, 350, ...] in the range [200, 800) for all lines [2420,2460): >>> l = [numpy.copy(x) for x in line[2420:2460, 200:800:50]] """ offset = self.default_offset try: index, offset = index except TypeError: pass # prioritise the code path that's potentially in loops externally try: > head = self.heads[index] + self.offsets[offset] E KeyError: slice(None, None, None) segyio/line.py:200: KeyError ___________________ test_fast_slow_dimensions[open-kwargs2] ____________________ openfn = kwargs = {'filename': 'test-data/small.su', 'iline': 5, 'xline': 21} @pytest.mark.parametrize(('openfn', 'kwargs'), smallfiles) def test_fast_slow_dimensions(openfn, kwargs): with openfn(**kwargs) as f: > for iline, fline in zip(f.iline, f.fast): test/segy.py:527: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ segyio/line.py:331: in __iter__ return self[:] _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = , index = slice(None, None, None) def __getitem__(self, index): """line[i] or line[i, o] The line `i`, or the line `i` at a specific offset `o`. ``line[i]`` returns a numpy array, and changes to this array will *not* be reflected on disk. The `i` and `o` are *keys*, and should correspond to the line- and offset labels in your file, and in the `ilines`, `xlines`, and `offsets` attributes. Slices can contain lines and offsets not in the file, and like with list slicing, these are handled gracefully and ignored. When `i` or `o` is a slice, a generator of numpy arrays is returned. If the slice is defaulted (:), segyio knows enough about the structure to give you all of the respective labels. When both `i` and `o` are slices, only one generator is returned, and the lines are yielded offsets-first, roughly equivalent to the double for loop:: >>> for line in lines: ... for off in offsets: ... yield line[line, off] ... Parameters ---------- i : int or slice o : int or slice Returns ------- line : numpy.ndarray of dtype or generator of numpy.ndarray of dtype Raises ------ KeyError If `i` or `o` don't exist Notes ----- .. versionadded:: 1.1 Examples -------- Read an inline: >>> x = line[2400] Copy every inline into a list: >>> l = [numpy.copy(x) for x in iline[:]] Numpy operations on every other inline: >>> for line in line[::2]: ... line = line * 2 ... avg = np.average(line) Read lines up to 2430: >>> for line in line[:2430]: ... line.mean() Copy all lines at all offsets: >>> l = [numpy.copy(x) for x in line[:,:]] Copy all offsets of a line: >>> x = numpy.copy(iline[10,:]) Copy all lines at a fixed offset: >>> x = numpy.copy(iline[:, 120]) Copy every other line and offset: >>> map(numpy.copy, line[::2, ::2]) Copy all offsets [200, 250, 300, 350, ...] in the range [200, 800) for all lines [2420,2460): >>> l = [numpy.copy(x) for x in line[2420:2460, 200:800:50]] """ offset = self.default_offset try: index, offset = index except TypeError: pass # prioritise the code path that's potentially in loops externally try: > head = self.heads[index] + self.offsets[offset] E KeyError: slice(None, None, None) segyio/line.py:200: KeyError ___________________ test_fast_slow_dimensions[open-kwargs3] ____________________ openfn = kwargs = {'endian': 'lsb', 'filename': 'test-data/small-lsb.su', 'iline': 5, 'xline': 21} @pytest.mark.parametrize(('openfn', 'kwargs'), smallfiles) def test_fast_slow_dimensions(openfn, kwargs): with openfn(**kwargs) as f: > for iline, fline in zip(f.iline, f.fast): test/segy.py:527: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ segyio/line.py:331: in __iter__ return self[:] _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = , index = slice(None, None, None) def __getitem__(self, index): """line[i] or line[i, o] The line `i`, or the line `i` at a specific offset `o`. ``line[i]`` returns a numpy array, and changes to this array will *not* be reflected on disk. The `i` and `o` are *keys*, and should correspond to the line- and offset labels in your file, and in the `ilines`, `xlines`, and `offsets` attributes. Slices can contain lines and offsets not in the file, and like with list slicing, these are handled gracefully and ignored. When `i` or `o` is a slice, a generator of numpy arrays is returned. If the slice is defaulted (:), segyio knows enough about the structure to give you all of the respective labels. When both `i` and `o` are slices, only one generator is returned, and the lines are yielded offsets-first, roughly equivalent to the double for loop:: >>> for line in lines: ... for off in offsets: ... yield line[line, off] ... Parameters ---------- i : int or slice o : int or slice Returns ------- line : numpy.ndarray of dtype or generator of numpy.ndarray of dtype Raises ------ KeyError If `i` or `o` don't exist Notes ----- .. versionadded:: 1.1 Examples -------- Read an inline: >>> x = line[2400] Copy every inline into a list: >>> l = [numpy.copy(x) for x in iline[:]] Numpy operations on every other inline: >>> for line in line[::2]: ... line = line * 2 ... avg = np.average(line) Read lines up to 2430: >>> for line in line[:2430]: ... line.mean() Copy all lines at all offsets: >>> l = [numpy.copy(x) for x in line[:,:]] Copy all offsets of a line: >>> x = numpy.copy(iline[10,:]) Copy all lines at a fixed offset: >>> x = numpy.copy(iline[:, 120]) Copy every other line and offset: >>> map(numpy.copy, line[::2, ::2]) Copy all offsets [200, 250, 300, 350, ...] in the range [200, 800) for all lines [2420,2460): >>> l = [numpy.copy(x) for x in line[2420:2460, 200:800:50]] """ offset = self.default_offset try: index, offset = index except TypeError: pass # prioritise the code path that's potentially in loops externally try: > head = self.heads[index] + self.offsets[offset] E KeyError: slice(None, None, None) segyio/line.py:200: KeyError ________________________ test_create_sgy_shorter_traces ________________________ small = local('/tmp/pytest-of-pbuilder1/pytest-0/test_create_sgy_shorter_traces0/small.sgy') def test_create_sgy_shorter_traces(small): orig = str(small.dirname + '/small.sgy') fresh = str(small.dirname + '/small_created_shorter.sgy') with segyio.open(orig) as src: spec = segyio.spec() spec.format = int(src.format) spec.sorting = int(src.sorting) spec.samples = src.samples[:20] # reduces samples per trace spec.ilines = src.ilines spec.xlines = src.xlines with segyio.create(fresh, spec) as dst: for i, srch in enumerate(src.header): dst.header[i] = srch d = {TraceField.INLINE_3D: srch[TraceField.INLINE_3D] + 100} dst.header[i] = d for lineno in dst.ilines: dst.iline[lineno] = src.iline[lineno] # alternative form using left-hand-side slices > dst.iline[2:4] = src.iline test/segy.py:1182: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = , index = slice(2, 4, None) val = def __setitem__(self, index, val): """line[i] = val or line[i, o] = val Follows the same rules for indexing and slicing as ``line[i]``. In either case, if the `val` iterable is exhausted before the line(s), assignment stops with whatever is written so far. If `val` is longer than an individual line, it's essentially truncated. Parameters ---------- i : int or slice offset : int or slice val : array_like Raises ------ KeyError If `i` or `o` don't exist Notes ----- .. versionadded:: 1.1 Examples -------- Copy a full line: >>> line[2400] = other[2834] Copy first half of the inlines from g to f: >>> line[:] = other[:labels[len(labels) / 2]] Copy every other line consecutively: >>> line[:] = other[::2] Copy every third offset: >>> line[:,:] = other[:,::3] Copy a line into a set line and offset: >>> line[12, 200] = other[21] """ offset = self.default_offset try: index, offset = index except TypeError: pass > try: head = self.heads[index] + self.offsets[offset] E KeyError: slice(2, 4, None) segyio/line.py:290: KeyError ____________________ test_create_from_naught_prestack[lsb] _____________________ endian = 'lsb' tmpdir = local('/tmp/pytest-of-pbuilder1/pytest-0/test_create_from_naught_presta0') @pytest.mark.parametrize('endian', ['lsb', 'msb']) def test_create_from_naught_prestack(endian, tmpdir): spec = segyio.spec() spec.format = 5 #spec.sorting not set by test design spec.samples = range(7) spec.ilines = range(1, 4) spec.xlines = range(1, 3) spec.offsets = range(1, 6) spec.endian = endian with segyio.create(tmpdir / "mk-ps.sgy", spec) as dst: arr = np.arange(start=0.000, stop=0.007, step=0.001, dtype=np.single) arr = np.concatenate([[arr + 0.01], [arr + 0.02]], axis=0) lines = [arr + i for i in spec.ilines] cube = [(off * 100) + line for line in lines for off in spec.offsets] > dst.iline[:, :] = cube test/segy.py:1250: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = , index = slice(None, None, None) val = [array([[101.01 , 101.011, 101.012, 101.013, 101.014, 101.015, 101.016], [101.02 , 101.021, 101.022, 101.023, 1... [102.02 , 102.020996, 102.022 , 102.023 , 102.024 , 102.025 , 102.026 ]], dtype=float32), ...] def __setitem__(self, index, val): """line[i] = val or line[i, o] = val Follows the same rules for indexing and slicing as ``line[i]``. In either case, if the `val` iterable is exhausted before the line(s), assignment stops with whatever is written so far. If `val` is longer than an individual line, it's essentially truncated. Parameters ---------- i : int or slice offset : int or slice val : array_like Raises ------ KeyError If `i` or `o` don't exist Notes ----- .. versionadded:: 1.1 Examples -------- Copy a full line: >>> line[2400] = other[2834] Copy first half of the inlines from g to f: >>> line[:] = other[:labels[len(labels) / 2]] Copy every other line consecutively: >>> line[:] = other[::2] Copy every third offset: >>> line[:,:] = other[:,::3] Copy a line into a set line and offset: >>> line[12, 200] = other[21] """ offset = self.default_offset try: index, offset = index except TypeError: pass > try: head = self.heads[index] + self.offsets[offset] E KeyError: slice(None, None, None) segyio/line.py:290: KeyError ____________________ test_create_from_naught_prestack[msb] _____________________ endian = 'msb' tmpdir = local('/tmp/pytest-of-pbuilder1/pytest-0/test_create_from_naught_presta1') @pytest.mark.parametrize('endian', ['lsb', 'msb']) def test_create_from_naught_prestack(endian, tmpdir): spec = segyio.spec() spec.format = 5 #spec.sorting not set by test design spec.samples = range(7) spec.ilines = range(1, 4) spec.xlines = range(1, 3) spec.offsets = range(1, 6) spec.endian = endian with segyio.create(tmpdir / "mk-ps.sgy", spec) as dst: arr = np.arange(start=0.000, stop=0.007, step=0.001, dtype=np.single) arr = np.concatenate([[arr + 0.01], [arr + 0.02]], axis=0) lines = [arr + i for i in spec.ilines] cube = [(off * 100) + line for line in lines for off in spec.offsets] > dst.iline[:, :] = cube test/segy.py:1250: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = , index = slice(None, None, None) val = [array([[101.01 , 101.011, 101.012, 101.013, 101.014, 101.015, 101.016], [101.02 , 101.021, 101.022, 101.023, 1... [102.02 , 102.020996, 102.022 , 102.023 , 102.024 , 102.025 , 102.026 ]], dtype=float32), ...] def __setitem__(self, index, val): """line[i] = val or line[i, o] = val Follows the same rules for indexing and slicing as ``line[i]``. In either case, if the `val` iterable is exhausted before the line(s), assignment stops with whatever is written so far. If `val` is longer than an individual line, it's essentially truncated. Parameters ---------- i : int or slice offset : int or slice val : array_like Raises ------ KeyError If `i` or `o` don't exist Notes ----- .. versionadded:: 1.1 Examples -------- Copy a full line: >>> line[2400] = other[2834] Copy first half of the inlines from g to f: >>> line[:] = other[:labels[len(labels) / 2]] Copy every other line consecutively: >>> line[:] = other[::2] Copy every third offset: >>> line[:,:] = other[:,::3] Copy a line into a set line and offset: >>> line[12, 200] = other[21] """ offset = self.default_offset try: index, offset = index except TypeError: pass > try: head = self.heads[index] + self.offsets[offset] E KeyError: slice(None, None, None) segyio/line.py:290: KeyError __________________________ test_create_sgy_skip_lines __________________________ tmpdir = local('/tmp/pytest-of-pbuilder1/pytest-0/test_create_sgy_skip_lines0') def test_create_sgy_skip_lines(tmpdir): mklines(tmpdir / "lines.sgy") with segyio.open(tmpdir / "lines.sgy") as src: spec = segyio.spec() spec.format = int(src.format) spec.sorting = int(src.sorting) spec.samples = src.samples spec.ilines = src.ilines[::2] spec.xlines = src.xlines[::2] with segyio.create(tmpdir / "lines-halved.sgy", spec) as dst: # use the inline headers as base > dst.header.iline = src.header.iline[::2] test/segy.py:1344: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = index = slice(None, None, 2) def __getitem__(self, index): """line[i] or line[i, o] The line `i`, or the line `i` at a specific offset `o`. ``line[i]`` returns an iterable of `Field` objects, and changes to these *will* be reflected on disk. The `i` and `o` are *keys*, and should correspond to the line- and offset labels in your file, and in the `ilines`, `xlines`, and `offsets` attributes. Slices can contain lines and offsets not in the file, and like with list slicing, these are handled gracefully and ignored. When `i` or `o` is a slice, a generator of iterables of headers are returned. When both `i` and `o` are slices, one generator is returned for the product `i` and `o`, and the lines are yielded offsets-first, roughly equivalent to the double for loop:: >>> for line in lines: ... for off in offsets: ... yield line[line, off] ... Parameters ---------- i : int or slice o : int or slice Returns ------- line : iterable of Field or generator of iterator of Field Raises ------ KeyError If `i` or `o` don't exist Notes ----- .. versionadded:: 1.1 """ offset = self.default_offset try: index, offset = index except TypeError: pass try: > start = self.heads[index] + self.offsets[offset] E KeyError: slice(None, None, 2) segyio/line.py:426: KeyError _______________________ test_segyio_types[open-kwargs0] ________________________ openfn = kwargs = {'filename': 'test-data/small.sgy'} @pytest.mark.parametrize(('openfn', 'kwargs'), smallfiles) def test_segyio_types(openfn, kwargs): with openfn(**kwargs) as f: assert isinstance(f.sorting, int) assert isinstance(f.ext_headers, int) assert isinstance(f.tracecount, int) assert isinstance(f.samples, np.ndarray) from segyio.depth import Depth assert isinstance(f.depth_slice, Depth) assert isinstance(f.depth_slice[1], np.ndarray) assert isinstance(f.depth_slice[1:23], GeneratorType) assert isinstance(f.ilines, np.ndarray) assert isinstance(f.iline, Line) assert isinstance(f.iline[1], np.ndarray) > assert isinstance(f.iline[1:3], GeneratorType) test/segy.py:1447: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = , index = slice(1, 3, None) def __getitem__(self, index): """line[i] or line[i, o] The line `i`, or the line `i` at a specific offset `o`. ``line[i]`` returns a numpy array, and changes to this array will *not* be reflected on disk. The `i` and `o` are *keys*, and should correspond to the line- and offset labels in your file, and in the `ilines`, `xlines`, and `offsets` attributes. Slices can contain lines and offsets not in the file, and like with list slicing, these are handled gracefully and ignored. When `i` or `o` is a slice, a generator of numpy arrays is returned. If the slice is defaulted (:), segyio knows enough about the structure to give you all of the respective labels. When both `i` and `o` are slices, only one generator is returned, and the lines are yielded offsets-first, roughly equivalent to the double for loop:: >>> for line in lines: ... for off in offsets: ... yield line[line, off] ... Parameters ---------- i : int or slice o : int or slice Returns ------- line : numpy.ndarray of dtype or generator of numpy.ndarray of dtype Raises ------ KeyError If `i` or `o` don't exist Notes ----- .. versionadded:: 1.1 Examples -------- Read an inline: >>> x = line[2400] Copy every inline into a list: >>> l = [numpy.copy(x) for x in iline[:]] Numpy operations on every other inline: >>> for line in line[::2]: ... line = line * 2 ... avg = np.average(line) Read lines up to 2430: >>> for line in line[:2430]: ... line.mean() Copy all lines at all offsets: >>> l = [numpy.copy(x) for x in line[:,:]] Copy all offsets of a line: >>> x = numpy.copy(iline[10,:]) Copy all lines at a fixed offset: >>> x = numpy.copy(iline[:, 120]) Copy every other line and offset: >>> map(numpy.copy, line[::2, ::2]) Copy all offsets [200, 250, 300, 350, ...] in the range [200, 800) for all lines [2420,2460): >>> l = [numpy.copy(x) for x in line[2420:2460, 200:800:50]] """ offset = self.default_offset try: index, offset = index except TypeError: pass # prioritise the code path that's potentially in loops externally try: > head = self.heads[index] + self.offsets[offset] E KeyError: slice(1, 3, None) segyio/line.py:200: KeyError _______________________ test_segyio_types[open-kwargs1] ________________________ openfn = kwargs = {'endian': 'little', 'filename': 'test-data/small-lsb.sgy'} @pytest.mark.parametrize(('openfn', 'kwargs'), smallfiles) def test_segyio_types(openfn, kwargs): with openfn(**kwargs) as f: assert isinstance(f.sorting, int) assert isinstance(f.ext_headers, int) assert isinstance(f.tracecount, int) assert isinstance(f.samples, np.ndarray) from segyio.depth import Depth assert isinstance(f.depth_slice, Depth) assert isinstance(f.depth_slice[1], np.ndarray) assert isinstance(f.depth_slice[1:23], GeneratorType) assert isinstance(f.ilines, np.ndarray) assert isinstance(f.iline, Line) assert isinstance(f.iline[1], np.ndarray) > assert isinstance(f.iline[1:3], GeneratorType) test/segy.py:1447: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = , index = slice(1, 3, None) def __getitem__(self, index): """line[i] or line[i, o] The line `i`, or the line `i` at a specific offset `o`. ``line[i]`` returns a numpy array, and changes to this array will *not* be reflected on disk. The `i` and `o` are *keys*, and should correspond to the line- and offset labels in your file, and in the `ilines`, `xlines`, and `offsets` attributes. Slices can contain lines and offsets not in the file, and like with list slicing, these are handled gracefully and ignored. When `i` or `o` is a slice, a generator of numpy arrays is returned. If the slice is defaulted (:), segyio knows enough about the structure to give you all of the respective labels. When both `i` and `o` are slices, only one generator is returned, and the lines are yielded offsets-first, roughly equivalent to the double for loop:: >>> for line in lines: ... for off in offsets: ... yield line[line, off] ... Parameters ---------- i : int or slice o : int or slice Returns ------- line : numpy.ndarray of dtype or generator of numpy.ndarray of dtype Raises ------ KeyError If `i` or `o` don't exist Notes ----- .. versionadded:: 1.1 Examples -------- Read an inline: >>> x = line[2400] Copy every inline into a list: >>> l = [numpy.copy(x) for x in iline[:]] Numpy operations on every other inline: >>> for line in line[::2]: ... line = line * 2 ... avg = np.average(line) Read lines up to 2430: >>> for line in line[:2430]: ... line.mean() Copy all lines at all offsets: >>> l = [numpy.copy(x) for x in line[:,:]] Copy all offsets of a line: >>> x = numpy.copy(iline[10,:]) Copy all lines at a fixed offset: >>> x = numpy.copy(iline[:, 120]) Copy every other line and offset: >>> map(numpy.copy, line[::2, ::2]) Copy all offsets [200, 250, 300, 350, ...] in the range [200, 800) for all lines [2420,2460): >>> l = [numpy.copy(x) for x in line[2420:2460, 200:800:50]] """ offset = self.default_offset try: index, offset = index except TypeError: pass # prioritise the code path that's potentially in loops externally try: > head = self.heads[index] + self.offsets[offset] E KeyError: slice(1, 3, None) segyio/line.py:200: KeyError _______________________ test_segyio_types[open-kwargs2] ________________________ openfn = kwargs = {'filename': 'test-data/small.su', 'iline': 5, 'xline': 21} @pytest.mark.parametrize(('openfn', 'kwargs'), smallfiles) def test_segyio_types(openfn, kwargs): with openfn(**kwargs) as f: assert isinstance(f.sorting, int) assert isinstance(f.ext_headers, int) assert isinstance(f.tracecount, int) assert isinstance(f.samples, np.ndarray) from segyio.depth import Depth assert isinstance(f.depth_slice, Depth) assert isinstance(f.depth_slice[1], np.ndarray) assert isinstance(f.depth_slice[1:23], GeneratorType) assert isinstance(f.ilines, np.ndarray) assert isinstance(f.iline, Line) assert isinstance(f.iline[1], np.ndarray) > assert isinstance(f.iline[1:3], GeneratorType) test/segy.py:1447: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = , index = slice(1, 3, None) def __getitem__(self, index): """line[i] or line[i, o] The line `i`, or the line `i` at a specific offset `o`. ``line[i]`` returns a numpy array, and changes to this array will *not* be reflected on disk. The `i` and `o` are *keys*, and should correspond to the line- and offset labels in your file, and in the `ilines`, `xlines`, and `offsets` attributes. Slices can contain lines and offsets not in the file, and like with list slicing, these are handled gracefully and ignored. When `i` or `o` is a slice, a generator of numpy arrays is returned. If the slice is defaulted (:), segyio knows enough about the structure to give you all of the respective labels. When both `i` and `o` are slices, only one generator is returned, and the lines are yielded offsets-first, roughly equivalent to the double for loop:: >>> for line in lines: ... for off in offsets: ... yield line[line, off] ... Parameters ---------- i : int or slice o : int or slice Returns ------- line : numpy.ndarray of dtype or generator of numpy.ndarray of dtype Raises ------ KeyError If `i` or `o` don't exist Notes ----- .. versionadded:: 1.1 Examples -------- Read an inline: >>> x = line[2400] Copy every inline into a list: >>> l = [numpy.copy(x) for x in iline[:]] Numpy operations on every other inline: >>> for line in line[::2]: ... line = line * 2 ... avg = np.average(line) Read lines up to 2430: >>> for line in line[:2430]: ... line.mean() Copy all lines at all offsets: >>> l = [numpy.copy(x) for x in line[:,:]] Copy all offsets of a line: >>> x = numpy.copy(iline[10,:]) Copy all lines at a fixed offset: >>> x = numpy.copy(iline[:, 120]) Copy every other line and offset: >>> map(numpy.copy, line[::2, ::2]) Copy all offsets [200, 250, 300, 350, ...] in the range [200, 800) for all lines [2420,2460): >>> l = [numpy.copy(x) for x in line[2420:2460, 200:800:50]] """ offset = self.default_offset try: index, offset = index except TypeError: pass # prioritise the code path that's potentially in loops externally try: > head = self.heads[index] + self.offsets[offset] E KeyError: slice(1, 3, None) segyio/line.py:200: KeyError _______________________ test_segyio_types[open-kwargs3] ________________________ openfn = kwargs = {'endian': 'lsb', 'filename': 'test-data/small-lsb.su', 'iline': 5, 'xline': 21} @pytest.mark.parametrize(('openfn', 'kwargs'), smallfiles) def test_segyio_types(openfn, kwargs): with openfn(**kwargs) as f: assert isinstance(f.sorting, int) assert isinstance(f.ext_headers, int) assert isinstance(f.tracecount, int) assert isinstance(f.samples, np.ndarray) from segyio.depth import Depth assert isinstance(f.depth_slice, Depth) assert isinstance(f.depth_slice[1], np.ndarray) assert isinstance(f.depth_slice[1:23], GeneratorType) assert isinstance(f.ilines, np.ndarray) assert isinstance(f.iline, Line) assert isinstance(f.iline[1], np.ndarray) > assert isinstance(f.iline[1:3], GeneratorType) test/segy.py:1447: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = , index = slice(1, 3, None) def __getitem__(self, index): """line[i] or line[i, o] The line `i`, or the line `i` at a specific offset `o`. ``line[i]`` returns a numpy array, and changes to this array will *not* be reflected on disk. The `i` and `o` are *keys*, and should correspond to the line- and offset labels in your file, and in the `ilines`, `xlines`, and `offsets` attributes. Slices can contain lines and offsets not in the file, and like with list slicing, these are handled gracefully and ignored. When `i` or `o` is a slice, a generator of numpy arrays is returned. If the slice is defaulted (:), segyio knows enough about the structure to give you all of the respective labels. When both `i` and `o` are slices, only one generator is returned, and the lines are yielded offsets-first, roughly equivalent to the double for loop:: >>> for line in lines: ... for off in offsets: ... yield line[line, off] ... Parameters ---------- i : int or slice o : int or slice Returns ------- line : numpy.ndarray of dtype or generator of numpy.ndarray of dtype Raises ------ KeyError If `i` or `o` don't exist Notes ----- .. versionadded:: 1.1 Examples -------- Read an inline: >>> x = line[2400] Copy every inline into a list: >>> l = [numpy.copy(x) for x in iline[:]] Numpy operations on every other inline: >>> for line in line[::2]: ... line = line * 2 ... avg = np.average(line) Read lines up to 2430: >>> for line in line[:2430]: ... line.mean() Copy all lines at all offsets: >>> l = [numpy.copy(x) for x in line[:,:]] Copy all offsets of a line: >>> x = numpy.copy(iline[10,:]) Copy all lines at a fixed offset: >>> x = numpy.copy(iline[:, 120]) Copy every other line and offset: >>> map(numpy.copy, line[::2, ::2]) Copy all offsets [200, 250, 300, 350, ...] in the range [200, 800) for all lines [2420,2460): >>> l = [numpy.copy(x) for x in line[2420:2460, 200:800:50]] """ offset = self.default_offset try: index, offset = index except TypeError: pass # prioritise the code path that's potentially in loops externally try: > head = self.heads[index] + self.offsets[offset] E KeyError: slice(1, 3, None) segyio/line.py:200: KeyError ________________________________ test_read_line ________________________________ def test_read_line(): f, metrics, iline_idx, xline_idx = read_small(False) > read_line(f, metrics, iline_idx, xline_idx) test/segyio_c.py:523: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ f = <_segyio.segyfd object at 0xb59b0660> metrics = {'ext_headers': 0, 'format': 1, 'iline_count': 5, 'iline_field': 189, ...} iline_idx = array([1, 2, 3, 4, 5], dtype=int32) xline_idx = array([20, 21, 22, 23, 24], dtype=int32) def read_line(f, metrics, iline_idx, xline_idx): samples = metrics['samplecount'] xline_stride = metrics['xline_stride'] iline_stride = metrics['iline_stride'] offsets = metrics['offset_count'] xline_trace0 = _segyio.fread_trace0(20, len(iline_idx), xline_stride, offsets, xline_idx, "crossline") iline_trace0 = _segyio.fread_trace0(1, len(xline_idx), iline_stride, offsets, iline_idx, "inline") buf = numpy.zeros((len(iline_idx), samples), dtype=numpy.single) f.getline(xline_trace0, len(iline_idx), xline_stride, offsets, buf) > assert sum(sum(buf)) == approx(800.061169624, abs=1e-6) E assert np.float32(800.0612) == 800.061169624 ± 1.0e-06 E E comparison failed E Obtained: 800.0612182617188 E Expected: 800.061169624 ± 1.0e-06 test/segyio_c.py:543: AssertionError _____________________________ test_read_line_mmap ______________________________ def test_read_line_mmap(): f, metrics, iline_idx, xline_idx = read_small(True) > read_line(f, metrics, iline_idx, xline_idx) test/segyio_c.py:528: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ f = <_segyio.segyfd object at 0xb5946520> metrics = {'ext_headers': 0, 'format': 1, 'iline_count': 5, 'iline_field': 189, ...} iline_idx = array([1, 2, 3, 4, 5], dtype=int32) xline_idx = array([20, 21, 22, 23, 24], dtype=int32) def read_line(f, metrics, iline_idx, xline_idx): samples = metrics['samplecount'] xline_stride = metrics['xline_stride'] iline_stride = metrics['iline_stride'] offsets = metrics['offset_count'] xline_trace0 = _segyio.fread_trace0(20, len(iline_idx), xline_stride, offsets, xline_idx, "crossline") iline_trace0 = _segyio.fread_trace0(1, len(xline_idx), iline_stride, offsets, iline_idx, "inline") buf = numpy.zeros((len(iline_idx), samples), dtype=numpy.single) f.getline(xline_trace0, len(iline_idx), xline_stride, offsets, buf) > assert sum(sum(buf)) == approx(800.061169624, abs=1e-6) E assert np.float32(800.0612) == 800.061169624 ± 1.0e-06 E E comparison failed E Obtained: 800.0612182617188 E Expected: 800.061169624 ± 1.0e-06 test/segyio_c.py:543: AssertionError =========================== short test summary info ============================ FAILED test/segy.py::test_iline_slicing[open-kwargs0] - KeyError: slice(None,... FAILED test/segy.py::test_iline_slicing[open-kwargs1] - KeyError: slice(None,... FAILED test/segy.py::test_iline_slicing[open-kwargs2] - KeyError: slice(None,... FAILED test/segy.py::test_iline_slicing[open-kwargs3] - KeyError: slice(None,... FAILED test/segy.py::test_xline_slicing[open-kwargs0] - KeyError: slice(None,... FAILED test/segy.py::test_xline_slicing[open-kwargs1] - KeyError: slice(None,... FAILED test/segy.py::test_xline_slicing[open-kwargs2] - KeyError: slice(None,... FAILED test/segy.py::test_xline_slicing[open-kwargs3] - KeyError: slice(None,... FAILED test/segy.py::test_iline_slice_fixed_offset - KeyError: slice(None, No... FAILED test/segy.py::test_iline_slice_fixed_line - KeyError: slice(None, None... FAILED test/segy.py::test_iline_slice_all_offsets - KeyError: slice(None, Non... FAILED test/segy.py::test_gather_mode - KeyError: slice(1, 3, None) FAILED test/segy.py::test_line_generators - KeyError: slice(None, None, None) FAILED test/segy.py::test_fast_slow_dimensions[open-kwargs0] - KeyError: slic... FAILED test/segy.py::test_fast_slow_dimensions[open-kwargs1] - KeyError: slic... FAILED test/segy.py::test_fast_slow_dimensions[open-kwargs2] - KeyError: slic... FAILED test/segy.py::test_fast_slow_dimensions[open-kwargs3] - KeyError: slic... FAILED test/segy.py::test_create_sgy_shorter_traces - KeyError: slice(2, 4, N... FAILED test/segy.py::test_create_from_naught_prestack[lsb] - KeyError: slice(... FAILED test/segy.py::test_create_from_naught_prestack[msb] - KeyError: slice(... FAILED test/segy.py::test_create_sgy_skip_lines - KeyError: slice(None, None, 2) FAILED test/segy.py::test_segyio_types[open-kwargs0] - KeyError: slice(1, 3, ... FAILED test/segy.py::test_segyio_types[open-kwargs1] - KeyError: slice(1, 3, ... FAILED test/segy.py::test_segyio_types[open-kwargs2] - KeyError: slice(1, 3, ... FAILED test/segy.py::test_segyio_types[open-kwargs3] - KeyError: slice(1, 3, ... FAILED test/segyio_c.py::test_read_line - assert np.float32(800.0612) == 800.... FAILED test/segyio_c.py::test_read_line_mmap - assert np.float32(800.0612) ==... ======================= 27 failed, 158 passed in 22.42s ======================== E: pybuild pybuild:389: test: plugin distutils failed with: exit code=1: cd /build/reproducible-path/segyio-1.8.3/.pybuild/cpython3_3.12_segyio/build; python3.12 -m pytest -o python_files=test/* I: pybuild pybuild:308: cp -r /build/reproducible-path/segyio-1.8.3/python/test /build/reproducible-path/segyio-1.8.3/test-data /build/reproducible-path/segyio-1.8.3/.pybuild/cpython3_3.13_segyio/build I: pybuild base:311: cd /build/reproducible-path/segyio-1.8.3/.pybuild/cpython3_3.13_segyio/build; python3.13 -m pytest -o python_files=test/* ============================= test session starts ============================== platform linux -- Python 3.13.1, pytest-8.3.4, pluggy-1.5.0 rootdir: /build/reproducible-path/segyio-1.8.3 configfile: setup.cfg plugins: typeguard-4.4.1 collected 185 items test/segy.py .........FFFFFFFF................FF.......FFFFFFFFF........ [ 31%] ..FFFFFFFF..........F......FFF..FF.....F.FFFF...................... [ 68%] test/segyio_c.py ............................FF. [ 84%] test/segyioenum.py F [ 85%] test/tools.py ........................... [100%] =================================== FAILURES =================================== _______________________ test_iline_slicing[open-kwargs0] _______________________ openfn = kwargs = {'filename': 'test-data/small.sgy'} @pytest.mark.parametrize(('openfn', 'kwargs'), smallfiles) def test_iline_slicing(openfn, kwargs): with openfn(**kwargs) as f: > assert len(f.ilines) == sum(1 for _ in f.iline) test/segy.py:151: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ segyio/line.py:331: in __iter__ return self[:] _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = , index = slice(None, None, None) def __getitem__(self, index): """line[i] or line[i, o] The line `i`, or the line `i` at a specific offset `o`. ``line[i]`` returns a numpy array, and changes to this array will *not* be reflected on disk. The `i` and `o` are *keys*, and should correspond to the line- and offset labels in your file, and in the `ilines`, `xlines`, and `offsets` attributes. Slices can contain lines and offsets not in the file, and like with list slicing, these are handled gracefully and ignored. When `i` or `o` is a slice, a generator of numpy arrays is returned. If the slice is defaulted (:), segyio knows enough about the structure to give you all of the respective labels. When both `i` and `o` are slices, only one generator is returned, and the lines are yielded offsets-first, roughly equivalent to the double for loop:: >>> for line in lines: ... for off in offsets: ... yield line[line, off] ... Parameters ---------- i : int or slice o : int or slice Returns ------- line : numpy.ndarray of dtype or generator of numpy.ndarray of dtype Raises ------ KeyError If `i` or `o` don't exist Notes ----- .. versionadded:: 1.1 Examples -------- Read an inline: >>> x = line[2400] Copy every inline into a list: >>> l = [numpy.copy(x) for x in iline[:]] Numpy operations on every other inline: >>> for line in line[::2]: ... line = line * 2 ... avg = np.average(line) Read lines up to 2430: >>> for line in line[:2430]: ... line.mean() Copy all lines at all offsets: >>> l = [numpy.copy(x) for x in line[:,:]] Copy all offsets of a line: >>> x = numpy.copy(iline[10,:]) Copy all lines at a fixed offset: >>> x = numpy.copy(iline[:, 120]) Copy every other line and offset: >>> map(numpy.copy, line[::2, ::2]) Copy all offsets [200, 250, 300, 350, ...] in the range [200, 800) for all lines [2420,2460): >>> l = [numpy.copy(x) for x in line[2420:2460, 200:800:50]] """ offset = self.default_offset try: index, offset = index except TypeError: pass # prioritise the code path that's potentially in loops externally try: > head = self.heads[index] + self.offsets[offset] E KeyError: slice(None, None, None) segyio/line.py:200: KeyError _______________________ test_iline_slicing[open-kwargs1] _______________________ openfn = kwargs = {'endian': 'little', 'filename': 'test-data/small-lsb.sgy'} @pytest.mark.parametrize(('openfn', 'kwargs'), smallfiles) def test_iline_slicing(openfn, kwargs): with openfn(**kwargs) as f: > assert len(f.ilines) == sum(1 for _ in f.iline) test/segy.py:151: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ segyio/line.py:331: in __iter__ return self[:] _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = , index = slice(None, None, None) def __getitem__(self, index): """line[i] or line[i, o] The line `i`, or the line `i` at a specific offset `o`. ``line[i]`` returns a numpy array, and changes to this array will *not* be reflected on disk. The `i` and `o` are *keys*, and should correspond to the line- and offset labels in your file, and in the `ilines`, `xlines`, and `offsets` attributes. Slices can contain lines and offsets not in the file, and like with list slicing, these are handled gracefully and ignored. When `i` or `o` is a slice, a generator of numpy arrays is returned. If the slice is defaulted (:), segyio knows enough about the structure to give you all of the respective labels. When both `i` and `o` are slices, only one generator is returned, and the lines are yielded offsets-first, roughly equivalent to the double for loop:: >>> for line in lines: ... for off in offsets: ... yield line[line, off] ... Parameters ---------- i : int or slice o : int or slice Returns ------- line : numpy.ndarray of dtype or generator of numpy.ndarray of dtype Raises ------ KeyError If `i` or `o` don't exist Notes ----- .. versionadded:: 1.1 Examples -------- Read an inline: >>> x = line[2400] Copy every inline into a list: >>> l = [numpy.copy(x) for x in iline[:]] Numpy operations on every other inline: >>> for line in line[::2]: ... line = line * 2 ... avg = np.average(line) Read lines up to 2430: >>> for line in line[:2430]: ... line.mean() Copy all lines at all offsets: >>> l = [numpy.copy(x) for x in line[:,:]] Copy all offsets of a line: >>> x = numpy.copy(iline[10,:]) Copy all lines at a fixed offset: >>> x = numpy.copy(iline[:, 120]) Copy every other line and offset: >>> map(numpy.copy, line[::2, ::2]) Copy all offsets [200, 250, 300, 350, ...] in the range [200, 800) for all lines [2420,2460): >>> l = [numpy.copy(x) for x in line[2420:2460, 200:800:50]] """ offset = self.default_offset try: index, offset = index except TypeError: pass # prioritise the code path that's potentially in loops externally try: > head = self.heads[index] + self.offsets[offset] E KeyError: slice(None, None, None) segyio/line.py:200: KeyError _______________________ test_iline_slicing[open-kwargs2] _______________________ openfn = kwargs = {'filename': 'test-data/small.su', 'iline': 5, 'xline': 21} @pytest.mark.parametrize(('openfn', 'kwargs'), smallfiles) def test_iline_slicing(openfn, kwargs): with openfn(**kwargs) as f: > assert len(f.ilines) == sum(1 for _ in f.iline) test/segy.py:151: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ segyio/line.py:331: in __iter__ return self[:] _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = , index = slice(None, None, None) def __getitem__(self, index): """line[i] or line[i, o] The line `i`, or the line `i` at a specific offset `o`. ``line[i]`` returns a numpy array, and changes to this array will *not* be reflected on disk. The `i` and `o` are *keys*, and should correspond to the line- and offset labels in your file, and in the `ilines`, `xlines`, and `offsets` attributes. Slices can contain lines and offsets not in the file, and like with list slicing, these are handled gracefully and ignored. When `i` or `o` is a slice, a generator of numpy arrays is returned. If the slice is defaulted (:), segyio knows enough about the structure to give you all of the respective labels. When both `i` and `o` are slices, only one generator is returned, and the lines are yielded offsets-first, roughly equivalent to the double for loop:: >>> for line in lines: ... for off in offsets: ... yield line[line, off] ... Parameters ---------- i : int or slice o : int or slice Returns ------- line : numpy.ndarray of dtype or generator of numpy.ndarray of dtype Raises ------ KeyError If `i` or `o` don't exist Notes ----- .. versionadded:: 1.1 Examples -------- Read an inline: >>> x = line[2400] Copy every inline into a list: >>> l = [numpy.copy(x) for x in iline[:]] Numpy operations on every other inline: >>> for line in line[::2]: ... line = line * 2 ... avg = np.average(line) Read lines up to 2430: >>> for line in line[:2430]: ... line.mean() Copy all lines at all offsets: >>> l = [numpy.copy(x) for x in line[:,:]] Copy all offsets of a line: >>> x = numpy.copy(iline[10,:]) Copy all lines at a fixed offset: >>> x = numpy.copy(iline[:, 120]) Copy every other line and offset: >>> map(numpy.copy, line[::2, ::2]) Copy all offsets [200, 250, 300, 350, ...] in the range [200, 800) for all lines [2420,2460): >>> l = [numpy.copy(x) for x in line[2420:2460, 200:800:50]] """ offset = self.default_offset try: index, offset = index except TypeError: pass # prioritise the code path that's potentially in loops externally try: > head = self.heads[index] + self.offsets[offset] E KeyError: slice(None, None, None) segyio/line.py:200: KeyError _______________________ test_iline_slicing[open-kwargs3] _______________________ openfn = kwargs = {'endian': 'lsb', 'filename': 'test-data/small-lsb.su', 'iline': 5, 'xline': 21} @pytest.mark.parametrize(('openfn', 'kwargs'), smallfiles) def test_iline_slicing(openfn, kwargs): with openfn(**kwargs) as f: > assert len(f.ilines) == sum(1 for _ in f.iline) test/segy.py:151: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ segyio/line.py:331: in __iter__ return self[:] _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = , index = slice(None, None, None) def __getitem__(self, index): """line[i] or line[i, o] The line `i`, or the line `i` at a specific offset `o`. ``line[i]`` returns a numpy array, and changes to this array will *not* be reflected on disk. The `i` and `o` are *keys*, and should correspond to the line- and offset labels in your file, and in the `ilines`, `xlines`, and `offsets` attributes. Slices can contain lines and offsets not in the file, and like with list slicing, these are handled gracefully and ignored. When `i` or `o` is a slice, a generator of numpy arrays is returned. If the slice is defaulted (:), segyio knows enough about the structure to give you all of the respective labels. When both `i` and `o` are slices, only one generator is returned, and the lines are yielded offsets-first, roughly equivalent to the double for loop:: >>> for line in lines: ... for off in offsets: ... yield line[line, off] ... Parameters ---------- i : int or slice o : int or slice Returns ------- line : numpy.ndarray of dtype or generator of numpy.ndarray of dtype Raises ------ KeyError If `i` or `o` don't exist Notes ----- .. versionadded:: 1.1 Examples -------- Read an inline: >>> x = line[2400] Copy every inline into a list: >>> l = [numpy.copy(x) for x in iline[:]] Numpy operations on every other inline: >>> for line in line[::2]: ... line = line * 2 ... avg = np.average(line) Read lines up to 2430: >>> for line in line[:2430]: ... line.mean() Copy all lines at all offsets: >>> l = [numpy.copy(x) for x in line[:,:]] Copy all offsets of a line: >>> x = numpy.copy(iline[10,:]) Copy all lines at a fixed offset: >>> x = numpy.copy(iline[:, 120]) Copy every other line and offset: >>> map(numpy.copy, line[::2, ::2]) Copy all offsets [200, 250, 300, 350, ...] in the range [200, 800) for all lines [2420,2460): >>> l = [numpy.copy(x) for x in line[2420:2460, 200:800:50]] """ offset = self.default_offset try: index, offset = index except TypeError: pass # prioritise the code path that's potentially in loops externally try: > head = self.heads[index] + self.offsets[offset] E KeyError: slice(None, None, None) segyio/line.py:200: KeyError _______________________ test_xline_slicing[open-kwargs0] _______________________ openfn = kwargs = {'filename': 'test-data/small.sgy'} @pytest.mark.parametrize(('openfn', 'kwargs'), smallfiles) def test_xline_slicing(openfn, kwargs): with openfn(**kwargs) as f: > assert len(f.xlines) == sum(1 for _ in f.xline) test/segy.py:165: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ segyio/line.py:331: in __iter__ return self[:] _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = , index = slice(None, None, None) def __getitem__(self, index): """line[i] or line[i, o] The line `i`, or the line `i` at a specific offset `o`. ``line[i]`` returns a numpy array, and changes to this array will *not* be reflected on disk. The `i` and `o` are *keys*, and should correspond to the line- and offset labels in your file, and in the `ilines`, `xlines`, and `offsets` attributes. Slices can contain lines and offsets not in the file, and like with list slicing, these are handled gracefully and ignored. When `i` or `o` is a slice, a generator of numpy arrays is returned. If the slice is defaulted (:), segyio knows enough about the structure to give you all of the respective labels. When both `i` and `o` are slices, only one generator is returned, and the lines are yielded offsets-first, roughly equivalent to the double for loop:: >>> for line in lines: ... for off in offsets: ... yield line[line, off] ... Parameters ---------- i : int or slice o : int or slice Returns ------- line : numpy.ndarray of dtype or generator of numpy.ndarray of dtype Raises ------ KeyError If `i` or `o` don't exist Notes ----- .. versionadded:: 1.1 Examples -------- Read an inline: >>> x = line[2400] Copy every inline into a list: >>> l = [numpy.copy(x) for x in iline[:]] Numpy operations on every other inline: >>> for line in line[::2]: ... line = line * 2 ... avg = np.average(line) Read lines up to 2430: >>> for line in line[:2430]: ... line.mean() Copy all lines at all offsets: >>> l = [numpy.copy(x) for x in line[:,:]] Copy all offsets of a line: >>> x = numpy.copy(iline[10,:]) Copy all lines at a fixed offset: >>> x = numpy.copy(iline[:, 120]) Copy every other line and offset: >>> map(numpy.copy, line[::2, ::2]) Copy all offsets [200, 250, 300, 350, ...] in the range [200, 800) for all lines [2420,2460): >>> l = [numpy.copy(x) for x in line[2420:2460, 200:800:50]] """ offset = self.default_offset try: index, offset = index except TypeError: pass # prioritise the code path that's potentially in loops externally try: > head = self.heads[index] + self.offsets[offset] E KeyError: slice(None, None, None) segyio/line.py:200: KeyError _______________________ test_xline_slicing[open-kwargs1] _______________________ openfn = kwargs = {'endian': 'little', 'filename': 'test-data/small-lsb.sgy'} @pytest.mark.parametrize(('openfn', 'kwargs'), smallfiles) def test_xline_slicing(openfn, kwargs): with openfn(**kwargs) as f: > assert len(f.xlines) == sum(1 for _ in f.xline) test/segy.py:165: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ segyio/line.py:331: in __iter__ return self[:] _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = , index = slice(None, None, None) def __getitem__(self, index): """line[i] or line[i, o] The line `i`, or the line `i` at a specific offset `o`. ``line[i]`` returns a numpy array, and changes to this array will *not* be reflected on disk. The `i` and `o` are *keys*, and should correspond to the line- and offset labels in your file, and in the `ilines`, `xlines`, and `offsets` attributes. Slices can contain lines and offsets not in the file, and like with list slicing, these are handled gracefully and ignored. When `i` or `o` is a slice, a generator of numpy arrays is returned. If the slice is defaulted (:), segyio knows enough about the structure to give you all of the respective labels. When both `i` and `o` are slices, only one generator is returned, and the lines are yielded offsets-first, roughly equivalent to the double for loop:: >>> for line in lines: ... for off in offsets: ... yield line[line, off] ... Parameters ---------- i : int or slice o : int or slice Returns ------- line : numpy.ndarray of dtype or generator of numpy.ndarray of dtype Raises ------ KeyError If `i` or `o` don't exist Notes ----- .. versionadded:: 1.1 Examples -------- Read an inline: >>> x = line[2400] Copy every inline into a list: >>> l = [numpy.copy(x) for x in iline[:]] Numpy operations on every other inline: >>> for line in line[::2]: ... line = line * 2 ... avg = np.average(line) Read lines up to 2430: >>> for line in line[:2430]: ... line.mean() Copy all lines at all offsets: >>> l = [numpy.copy(x) for x in line[:,:]] Copy all offsets of a line: >>> x = numpy.copy(iline[10,:]) Copy all lines at a fixed offset: >>> x = numpy.copy(iline[:, 120]) Copy every other line and offset: >>> map(numpy.copy, line[::2, ::2]) Copy all offsets [200, 250, 300, 350, ...] in the range [200, 800) for all lines [2420,2460): >>> l = [numpy.copy(x) for x in line[2420:2460, 200:800:50]] """ offset = self.default_offset try: index, offset = index except TypeError: pass # prioritise the code path that's potentially in loops externally try: > head = self.heads[index] + self.offsets[offset] E KeyError: slice(None, None, None) segyio/line.py:200: KeyError _______________________ test_xline_slicing[open-kwargs2] _______________________ openfn = kwargs = {'filename': 'test-data/small.su', 'iline': 5, 'xline': 21} @pytest.mark.parametrize(('openfn', 'kwargs'), smallfiles) def test_xline_slicing(openfn, kwargs): with openfn(**kwargs) as f: > assert len(f.xlines) == sum(1 for _ in f.xline) test/segy.py:165: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ segyio/line.py:331: in __iter__ return self[:] _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = , index = slice(None, None, None) def __getitem__(self, index): """line[i] or line[i, o] The line `i`, or the line `i` at a specific offset `o`. ``line[i]`` returns a numpy array, and changes to this array will *not* be reflected on disk. The `i` and `o` are *keys*, and should correspond to the line- and offset labels in your file, and in the `ilines`, `xlines`, and `offsets` attributes. Slices can contain lines and offsets not in the file, and like with list slicing, these are handled gracefully and ignored. When `i` or `o` is a slice, a generator of numpy arrays is returned. If the slice is defaulted (:), segyio knows enough about the structure to give you all of the respective labels. When both `i` and `o` are slices, only one generator is returned, and the lines are yielded offsets-first, roughly equivalent to the double for loop:: >>> for line in lines: ... for off in offsets: ... yield line[line, off] ... Parameters ---------- i : int or slice o : int or slice Returns ------- line : numpy.ndarray of dtype or generator of numpy.ndarray of dtype Raises ------ KeyError If `i` or `o` don't exist Notes ----- .. versionadded:: 1.1 Examples -------- Read an inline: >>> x = line[2400] Copy every inline into a list: >>> l = [numpy.copy(x) for x in iline[:]] Numpy operations on every other inline: >>> for line in line[::2]: ... line = line * 2 ... avg = np.average(line) Read lines up to 2430: >>> for line in line[:2430]: ... line.mean() Copy all lines at all offsets: >>> l = [numpy.copy(x) for x in line[:,:]] Copy all offsets of a line: >>> x = numpy.copy(iline[10,:]) Copy all lines at a fixed offset: >>> x = numpy.copy(iline[:, 120]) Copy every other line and offset: >>> map(numpy.copy, line[::2, ::2]) Copy all offsets [200, 250, 300, 350, ...] in the range [200, 800) for all lines [2420,2460): >>> l = [numpy.copy(x) for x in line[2420:2460, 200:800:50]] """ offset = self.default_offset try: index, offset = index except TypeError: pass # prioritise the code path that's potentially in loops externally try: > head = self.heads[index] + self.offsets[offset] E KeyError: slice(None, None, None) segyio/line.py:200: KeyError _______________________ test_xline_slicing[open-kwargs3] _______________________ openfn = kwargs = {'endian': 'lsb', 'filename': 'test-data/small-lsb.su', 'iline': 5, 'xline': 21} @pytest.mark.parametrize(('openfn', 'kwargs'), smallfiles) def test_xline_slicing(openfn, kwargs): with openfn(**kwargs) as f: > assert len(f.xlines) == sum(1 for _ in f.xline) test/segy.py:165: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ segyio/line.py:331: in __iter__ return self[:] _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = , index = slice(None, None, None) def __getitem__(self, index): """line[i] or line[i, o] The line `i`, or the line `i` at a specific offset `o`. ``line[i]`` returns a numpy array, and changes to this array will *not* be reflected on disk. The `i` and `o` are *keys*, and should correspond to the line- and offset labels in your file, and in the `ilines`, `xlines`, and `offsets` attributes. Slices can contain lines and offsets not in the file, and like with list slicing, these are handled gracefully and ignored. When `i` or `o` is a slice, a generator of numpy arrays is returned. If the slice is defaulted (:), segyio knows enough about the structure to give you all of the respective labels. When both `i` and `o` are slices, only one generator is returned, and the lines are yielded offsets-first, roughly equivalent to the double for loop:: >>> for line in lines: ... for off in offsets: ... yield line[line, off] ... Parameters ---------- i : int or slice o : int or slice Returns ------- line : numpy.ndarray of dtype or generator of numpy.ndarray of dtype Raises ------ KeyError If `i` or `o` don't exist Notes ----- .. versionadded:: 1.1 Examples -------- Read an inline: >>> x = line[2400] Copy every inline into a list: >>> l = [numpy.copy(x) for x in iline[:]] Numpy operations on every other inline: >>> for line in line[::2]: ... line = line * 2 ... avg = np.average(line) Read lines up to 2430: >>> for line in line[:2430]: ... line.mean() Copy all lines at all offsets: >>> l = [numpy.copy(x) for x in line[:,:]] Copy all offsets of a line: >>> x = numpy.copy(iline[10,:]) Copy all lines at a fixed offset: >>> x = numpy.copy(iline[:, 120]) Copy every other line and offset: >>> map(numpy.copy, line[::2, ::2]) Copy all offsets [200, 250, 300, 350, ...] in the range [200, 800) for all lines [2420,2460): >>> l = [numpy.copy(x) for x in line[2420:2460, 200:800:50]] """ offset = self.default_offset try: index, offset = index except TypeError: pass # prioritise the code path that's potentially in loops externally try: > head = self.heads[index] + self.offsets[offset] E KeyError: slice(None, None, None) segyio/line.py:200: KeyError ____________________ test_header_dict_methods[open-kwargs0] ____________________ openfn = kwargs = {'filename': 'test-data/small.sgy'} @pytest.mark.parametrize(('openfn', 'kwargs'), small_segys) def test_header_dict_methods(openfn, kwargs): with openfn(**kwargs) as f: > assert 89 == len(list(f.header[0].keys())) E AssertionError: assert 89 == 90 E + where 90 = len([TRACE_SEQUENCE_LINE, __firstlineno__, TRACE_SEQUENCE_FILE, FieldRecord, TraceNumber, EnergySourcePoint, ...]) E + where [TRACE_SEQUENCE_LINE, __firstlineno__, TRACE_SEQUENCE_FILE, FieldRecord, TraceNumber, EnergySourcePoint, ...] = list([TRACE_SEQUENCE_LINE, __firstlineno__, TRACE_SEQUENCE_FILE, FieldRecord, TraceNumber, EnergySourcePoint, ...]) E + where [TRACE_SEQUENCE_LINE, __firstlineno__, TRACE_SEQUENCE_FILE, FieldRecord, TraceNumber, EnergySourcePoint, ...] = keys() E + where keys = <[KeyError('No such field 3') raised in repr()] Field object at 0xb5bde350>.keys test/segy.py:276: AssertionError ____________________ test_header_dict_methods[open-kwargs1] ____________________ openfn = kwargs = {'endian': 'little', 'filename': 'test-data/small-lsb.sgy'} @pytest.mark.parametrize(('openfn', 'kwargs'), small_segys) def test_header_dict_methods(openfn, kwargs): with openfn(**kwargs) as f: > assert 89 == len(list(f.header[0].keys())) E AssertionError: assert 89 == 90 E + where 90 = len([TRACE_SEQUENCE_LINE, __firstlineno__, TRACE_SEQUENCE_FILE, FieldRecord, TraceNumber, EnergySourcePoint, ...]) E + where [TRACE_SEQUENCE_LINE, __firstlineno__, TRACE_SEQUENCE_FILE, FieldRecord, TraceNumber, EnergySourcePoint, ...] = list([TRACE_SEQUENCE_LINE, __firstlineno__, TRACE_SEQUENCE_FILE, FieldRecord, TraceNumber, EnergySourcePoint, ...]) E + where [TRACE_SEQUENCE_LINE, __firstlineno__, TRACE_SEQUENCE_FILE, FieldRecord, TraceNumber, EnergySourcePoint, ...] = keys() E + where keys = <[KeyError('No such field 3') raised in repr()] Field object at 0xb5ba59e0>.keys test/segy.py:276: AssertionError ________________________ test_iline_slice_fixed_offset _________________________ def test_iline_slice_fixed_offset(): with segyio.open("test-data/small-ps.sgy") as f: > for i, ln in enumerate(f.iline[:, 1], 1): test/segy.py:424: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = , index = slice(None, None, None) def __getitem__(self, index): """line[i] or line[i, o] The line `i`, or the line `i` at a specific offset `o`. ``line[i]`` returns a numpy array, and changes to this array will *not* be reflected on disk. The `i` and `o` are *keys*, and should correspond to the line- and offset labels in your file, and in the `ilines`, `xlines`, and `offsets` attributes. Slices can contain lines and offsets not in the file, and like with list slicing, these are handled gracefully and ignored. When `i` or `o` is a slice, a generator of numpy arrays is returned. If the slice is defaulted (:), segyio knows enough about the structure to give you all of the respective labels. When both `i` and `o` are slices, only one generator is returned, and the lines are yielded offsets-first, roughly equivalent to the double for loop:: >>> for line in lines: ... for off in offsets: ... yield line[line, off] ... Parameters ---------- i : int or slice o : int or slice Returns ------- line : numpy.ndarray of dtype or generator of numpy.ndarray of dtype Raises ------ KeyError If `i` or `o` don't exist Notes ----- .. versionadded:: 1.1 Examples -------- Read an inline: >>> x = line[2400] Copy every inline into a list: >>> l = [numpy.copy(x) for x in iline[:]] Numpy operations on every other inline: >>> for line in line[::2]: ... line = line * 2 ... avg = np.average(line) Read lines up to 2430: >>> for line in line[:2430]: ... line.mean() Copy all lines at all offsets: >>> l = [numpy.copy(x) for x in line[:,:]] Copy all offsets of a line: >>> x = numpy.copy(iline[10,:]) Copy all lines at a fixed offset: >>> x = numpy.copy(iline[:, 120]) Copy every other line and offset: >>> map(numpy.copy, line[::2, ::2]) Copy all offsets [200, 250, 300, 350, ...] in the range [200, 800) for all lines [2420,2460): >>> l = [numpy.copy(x) for x in line[2420:2460, 200:800:50]] """ offset = self.default_offset try: index, offset = index except TypeError: pass # prioritise the code path that's potentially in loops externally try: > head = self.heads[index] + self.offsets[offset] E KeyError: slice(None, None, None) segyio/line.py:200: KeyError _________________________ test_iline_slice_fixed_line __________________________ def test_iline_slice_fixed_line(): with segyio.open("test-data/small-ps.sgy") as f: > for i, ln in enumerate(f.iline[1, :], 1): test/segy.py:436: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = , index = 1 def __getitem__(self, index): """line[i] or line[i, o] The line `i`, or the line `i` at a specific offset `o`. ``line[i]`` returns a numpy array, and changes to this array will *not* be reflected on disk. The `i` and `o` are *keys*, and should correspond to the line- and offset labels in your file, and in the `ilines`, `xlines`, and `offsets` attributes. Slices can contain lines and offsets not in the file, and like with list slicing, these are handled gracefully and ignored. When `i` or `o` is a slice, a generator of numpy arrays is returned. If the slice is defaulted (:), segyio knows enough about the structure to give you all of the respective labels. When both `i` and `o` are slices, only one generator is returned, and the lines are yielded offsets-first, roughly equivalent to the double for loop:: >>> for line in lines: ... for off in offsets: ... yield line[line, off] ... Parameters ---------- i : int or slice o : int or slice Returns ------- line : numpy.ndarray of dtype or generator of numpy.ndarray of dtype Raises ------ KeyError If `i` or `o` don't exist Notes ----- .. versionadded:: 1.1 Examples -------- Read an inline: >>> x = line[2400] Copy every inline into a list: >>> l = [numpy.copy(x) for x in iline[:]] Numpy operations on every other inline: >>> for line in line[::2]: ... line = line * 2 ... avg = np.average(line) Read lines up to 2430: >>> for line in line[:2430]: ... line.mean() Copy all lines at all offsets: >>> l = [numpy.copy(x) for x in line[:,:]] Copy all offsets of a line: >>> x = numpy.copy(iline[10,:]) Copy all lines at a fixed offset: >>> x = numpy.copy(iline[:, 120]) Copy every other line and offset: >>> map(numpy.copy, line[::2, ::2]) Copy all offsets [200, 250, 300, 350, ...] in the range [200, 800) for all lines [2420,2460): >>> l = [numpy.copy(x) for x in line[2420:2460, 200:800:50]] """ offset = self.default_offset try: index, offset = index except TypeError: pass # prioritise the code path that's potentially in loops externally try: > head = self.heads[index] + self.offsets[offset] E KeyError: slice(None, None, None) segyio/line.py:200: KeyError _________________________ test_iline_slice_all_offsets _________________________ def test_iline_slice_all_offsets(): with segyio.open("test-data/small-ps.sgy") as f: offs, ils = len(f.offsets), len(f.ilines) > assert offs * ils == sum(1 for _ in f.iline[:, :]) test/segy.py:450: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = , index = slice(None, None, None) def __getitem__(self, index): """line[i] or line[i, o] The line `i`, or the line `i` at a specific offset `o`. ``line[i]`` returns a numpy array, and changes to this array will *not* be reflected on disk. The `i` and `o` are *keys*, and should correspond to the line- and offset labels in your file, and in the `ilines`, `xlines`, and `offsets` attributes. Slices can contain lines and offsets not in the file, and like with list slicing, these are handled gracefully and ignored. When `i` or `o` is a slice, a generator of numpy arrays is returned. If the slice is defaulted (:), segyio knows enough about the structure to give you all of the respective labels. When both `i` and `o` are slices, only one generator is returned, and the lines are yielded offsets-first, roughly equivalent to the double for loop:: >>> for line in lines: ... for off in offsets: ... yield line[line, off] ... Parameters ---------- i : int or slice o : int or slice Returns ------- line : numpy.ndarray of dtype or generator of numpy.ndarray of dtype Raises ------ KeyError If `i` or `o` don't exist Notes ----- .. versionadded:: 1.1 Examples -------- Read an inline: >>> x = line[2400] Copy every inline into a list: >>> l = [numpy.copy(x) for x in iline[:]] Numpy operations on every other inline: >>> for line in line[::2]: ... line = line * 2 ... avg = np.average(line) Read lines up to 2430: >>> for line in line[:2430]: ... line.mean() Copy all lines at all offsets: >>> l = [numpy.copy(x) for x in line[:,:]] Copy all offsets of a line: >>> x = numpy.copy(iline[10,:]) Copy all lines at a fixed offset: >>> x = numpy.copy(iline[:, 120]) Copy every other line and offset: >>> map(numpy.copy, line[::2, ::2]) Copy all offsets [200, 250, 300, 350, ...] in the range [200, 800) for all lines [2420,2460): >>> l = [numpy.copy(x) for x in line[2420:2460, 200:800:50]] """ offset = self.default_offset try: index, offset = index except TypeError: pass # prioritise the code path that's potentially in loops externally try: > head = self.heads[index] + self.offsets[offset] E KeyError: slice(None, None, None) segyio/line.py:200: KeyError _______________________________ test_gather_mode _______________________________ def test_gather_mode(): with segyio.open("test-data/small-ps.sgy") as f: empty = np.empty(0, dtype=np.single) # should raise with pytest.raises(KeyError): assert np.array_equal(empty, f.gather[2, 3, 3]) with pytest.raises(KeyError): assert np.array_equal(empty, f.gather[2, 5, 1]) with pytest.raises(KeyError): assert np.array_equal(empty, f.gather[5, 2, 1]) assert np.array_equal(f.trace[10], f.gather[2, 3, 1]) assert np.array_equal(f.trace[11], f.gather[2, 3, 2]) traces = segyio.tools.collect(f.trace[10:12]) gather = f.gather[2, 3, :] assert np.array_equal(traces, gather) assert np.array_equal(traces, f.gather[2, 3]) assert np.array_equal(empty, f.gather[2, 3, 1:0]) assert np.array_equal(empty, f.gather[2, 3, 3:4]) > for g, line in zip(f.gather[1:3, 3, 1], f.iline[1:3]): test/segy.py:491: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = , index = slice(1, 3, None) def __getitem__(self, index): """line[i] or line[i, o] The line `i`, or the line `i` at a specific offset `o`. ``line[i]`` returns a numpy array, and changes to this array will *not* be reflected on disk. The `i` and `o` are *keys*, and should correspond to the line- and offset labels in your file, and in the `ilines`, `xlines`, and `offsets` attributes. Slices can contain lines and offsets not in the file, and like with list slicing, these are handled gracefully and ignored. When `i` or `o` is a slice, a generator of numpy arrays is returned. If the slice is defaulted (:), segyio knows enough about the structure to give you all of the respective labels. When both `i` and `o` are slices, only one generator is returned, and the lines are yielded offsets-first, roughly equivalent to the double for loop:: >>> for line in lines: ... for off in offsets: ... yield line[line, off] ... Parameters ---------- i : int or slice o : int or slice Returns ------- line : numpy.ndarray of dtype or generator of numpy.ndarray of dtype Raises ------ KeyError If `i` or `o` don't exist Notes ----- .. versionadded:: 1.1 Examples -------- Read an inline: >>> x = line[2400] Copy every inline into a list: >>> l = [numpy.copy(x) for x in iline[:]] Numpy operations on every other inline: >>> for line in line[::2]: ... line = line * 2 ... avg = np.average(line) Read lines up to 2430: >>> for line in line[:2430]: ... line.mean() Copy all lines at all offsets: >>> l = [numpy.copy(x) for x in line[:,:]] Copy all offsets of a line: >>> x = numpy.copy(iline[10,:]) Copy all lines at a fixed offset: >>> x = numpy.copy(iline[:, 120]) Copy every other line and offset: >>> map(numpy.copy, line[::2, ::2]) Copy all offsets [200, 250, 300, 350, ...] in the range [200, 800) for all lines [2420,2460): >>> l = [numpy.copy(x) for x in line[2420:2460, 200:800:50]] """ offset = self.default_offset try: index, offset = index except TypeError: pass # prioritise the code path that's potentially in loops externally try: > head = self.heads[index] + self.offsets[offset] E KeyError: slice(1, 3, None) segyio/line.py:200: KeyError _____________________________ test_line_generators _____________________________ def test_line_generators(): with segyio.open("test-data/small.sgy") as f: > for _ in f.iline: test/segy.py:517: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ segyio/line.py:331: in __iter__ return self[:] _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = , index = slice(None, None, None) def __getitem__(self, index): """line[i] or line[i, o] The line `i`, or the line `i` at a specific offset `o`. ``line[i]`` returns a numpy array, and changes to this array will *not* be reflected on disk. The `i` and `o` are *keys*, and should correspond to the line- and offset labels in your file, and in the `ilines`, `xlines`, and `offsets` attributes. Slices can contain lines and offsets not in the file, and like with list slicing, these are handled gracefully and ignored. When `i` or `o` is a slice, a generator of numpy arrays is returned. If the slice is defaulted (:), segyio knows enough about the structure to give you all of the respective labels. When both `i` and `o` are slices, only one generator is returned, and the lines are yielded offsets-first, roughly equivalent to the double for loop:: >>> for line in lines: ... for off in offsets: ... yield line[line, off] ... Parameters ---------- i : int or slice o : int or slice Returns ------- line : numpy.ndarray of dtype or generator of numpy.ndarray of dtype Raises ------ KeyError If `i` or `o` don't exist Notes ----- .. versionadded:: 1.1 Examples -------- Read an inline: >>> x = line[2400] Copy every inline into a list: >>> l = [numpy.copy(x) for x in iline[:]] Numpy operations on every other inline: >>> for line in line[::2]: ... line = line * 2 ... avg = np.average(line) Read lines up to 2430: >>> for line in line[:2430]: ... line.mean() Copy all lines at all offsets: >>> l = [numpy.copy(x) for x in line[:,:]] Copy all offsets of a line: >>> x = numpy.copy(iline[10,:]) Copy all lines at a fixed offset: >>> x = numpy.copy(iline[:, 120]) Copy every other line and offset: >>> map(numpy.copy, line[::2, ::2]) Copy all offsets [200, 250, 300, 350, ...] in the range [200, 800) for all lines [2420,2460): >>> l = [numpy.copy(x) for x in line[2420:2460, 200:800:50]] """ offset = self.default_offset try: index, offset = index except TypeError: pass # prioritise the code path that's potentially in loops externally try: > head = self.heads[index] + self.offsets[offset] E KeyError: slice(None, None, None) segyio/line.py:200: KeyError ___________________ test_fast_slow_dimensions[open-kwargs0] ____________________ openfn = kwargs = {'filename': 'test-data/small.sgy'} @pytest.mark.parametrize(('openfn', 'kwargs'), smallfiles) def test_fast_slow_dimensions(openfn, kwargs): with openfn(**kwargs) as f: > for iline, fline in zip(f.iline, f.fast): test/segy.py:527: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ segyio/line.py:331: in __iter__ return self[:] _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = , index = slice(None, None, None) def __getitem__(self, index): """line[i] or line[i, o] The line `i`, or the line `i` at a specific offset `o`. ``line[i]`` returns a numpy array, and changes to this array will *not* be reflected on disk. The `i` and `o` are *keys*, and should correspond to the line- and offset labels in your file, and in the `ilines`, `xlines`, and `offsets` attributes. Slices can contain lines and offsets not in the file, and like with list slicing, these are handled gracefully and ignored. When `i` or `o` is a slice, a generator of numpy arrays is returned. If the slice is defaulted (:), segyio knows enough about the structure to give you all of the respective labels. When both `i` and `o` are slices, only one generator is returned, and the lines are yielded offsets-first, roughly equivalent to the double for loop:: >>> for line in lines: ... for off in offsets: ... yield line[line, off] ... Parameters ---------- i : int or slice o : int or slice Returns ------- line : numpy.ndarray of dtype or generator of numpy.ndarray of dtype Raises ------ KeyError If `i` or `o` don't exist Notes ----- .. versionadded:: 1.1 Examples -------- Read an inline: >>> x = line[2400] Copy every inline into a list: >>> l = [numpy.copy(x) for x in iline[:]] Numpy operations on every other inline: >>> for line in line[::2]: ... line = line * 2 ... avg = np.average(line) Read lines up to 2430: >>> for line in line[:2430]: ... line.mean() Copy all lines at all offsets: >>> l = [numpy.copy(x) for x in line[:,:]] Copy all offsets of a line: >>> x = numpy.copy(iline[10,:]) Copy all lines at a fixed offset: >>> x = numpy.copy(iline[:, 120]) Copy every other line and offset: >>> map(numpy.copy, line[::2, ::2]) Copy all offsets [200, 250, 300, 350, ...] in the range [200, 800) for all lines [2420,2460): >>> l = [numpy.copy(x) for x in line[2420:2460, 200:800:50]] """ offset = self.default_offset try: index, offset = index except TypeError: pass # prioritise the code path that's potentially in loops externally try: > head = self.heads[index] + self.offsets[offset] E KeyError: slice(None, None, None) segyio/line.py:200: KeyError ___________________ test_fast_slow_dimensions[open-kwargs1] ____________________ openfn = kwargs = {'endian': 'little', 'filename': 'test-data/small-lsb.sgy'} @pytest.mark.parametrize(('openfn', 'kwargs'), smallfiles) def test_fast_slow_dimensions(openfn, kwargs): with openfn(**kwargs) as f: > for iline, fline in zip(f.iline, f.fast): test/segy.py:527: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ segyio/line.py:331: in __iter__ return self[:] _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = , index = slice(None, None, None) def __getitem__(self, index): """line[i] or line[i, o] The line `i`, or the line `i` at a specific offset `o`. ``line[i]`` returns a numpy array, and changes to this array will *not* be reflected on disk. The `i` and `o` are *keys*, and should correspond to the line- and offset labels in your file, and in the `ilines`, `xlines`, and `offsets` attributes. Slices can contain lines and offsets not in the file, and like with list slicing, these are handled gracefully and ignored. When `i` or `o` is a slice, a generator of numpy arrays is returned. If the slice is defaulted (:), segyio knows enough about the structure to give you all of the respective labels. When both `i` and `o` are slices, only one generator is returned, and the lines are yielded offsets-first, roughly equivalent to the double for loop:: >>> for line in lines: ... for off in offsets: ... yield line[line, off] ... Parameters ---------- i : int or slice o : int or slice Returns ------- line : numpy.ndarray of dtype or generator of numpy.ndarray of dtype Raises ------ KeyError If `i` or `o` don't exist Notes ----- .. versionadded:: 1.1 Examples -------- Read an inline: >>> x = line[2400] Copy every inline into a list: >>> l = [numpy.copy(x) for x in iline[:]] Numpy operations on every other inline: >>> for line in line[::2]: ... line = line * 2 ... avg = np.average(line) Read lines up to 2430: >>> for line in line[:2430]: ... line.mean() Copy all lines at all offsets: >>> l = [numpy.copy(x) for x in line[:,:]] Copy all offsets of a line: >>> x = numpy.copy(iline[10,:]) Copy all lines at a fixed offset: >>> x = numpy.copy(iline[:, 120]) Copy every other line and offset: >>> map(numpy.copy, line[::2, ::2]) Copy all offsets [200, 250, 300, 350, ...] in the range [200, 800) for all lines [2420,2460): >>> l = [numpy.copy(x) for x in line[2420:2460, 200:800:50]] """ offset = self.default_offset try: index, offset = index except TypeError: pass # prioritise the code path that's potentially in loops externally try: > head = self.heads[index] + self.offsets[offset] E KeyError: slice(None, None, None) segyio/line.py:200: KeyError ___________________ test_fast_slow_dimensions[open-kwargs2] ____________________ openfn = kwargs = {'filename': 'test-data/small.su', 'iline': 5, 'xline': 21} @pytest.mark.parametrize(('openfn', 'kwargs'), smallfiles) def test_fast_slow_dimensions(openfn, kwargs): with openfn(**kwargs) as f: > for iline, fline in zip(f.iline, f.fast): test/segy.py:527: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ segyio/line.py:331: in __iter__ return self[:] _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = , index = slice(None, None, None) def __getitem__(self, index): """line[i] or line[i, o] The line `i`, or the line `i` at a specific offset `o`. ``line[i]`` returns a numpy array, and changes to this array will *not* be reflected on disk. The `i` and `o` are *keys*, and should correspond to the line- and offset labels in your file, and in the `ilines`, `xlines`, and `offsets` attributes. Slices can contain lines and offsets not in the file, and like with list slicing, these are handled gracefully and ignored. When `i` or `o` is a slice, a generator of numpy arrays is returned. If the slice is defaulted (:), segyio knows enough about the structure to give you all of the respective labels. When both `i` and `o` are slices, only one generator is returned, and the lines are yielded offsets-first, roughly equivalent to the double for loop:: >>> for line in lines: ... for off in offsets: ... yield line[line, off] ... Parameters ---------- i : int or slice o : int or slice Returns ------- line : numpy.ndarray of dtype or generator of numpy.ndarray of dtype Raises ------ KeyError If `i` or `o` don't exist Notes ----- .. versionadded:: 1.1 Examples -------- Read an inline: >>> x = line[2400] Copy every inline into a list: >>> l = [numpy.copy(x) for x in iline[:]] Numpy operations on every other inline: >>> for line in line[::2]: ... line = line * 2 ... avg = np.average(line) Read lines up to 2430: >>> for line in line[:2430]: ... line.mean() Copy all lines at all offsets: >>> l = [numpy.copy(x) for x in line[:,:]] Copy all offsets of a line: >>> x = numpy.copy(iline[10,:]) Copy all lines at a fixed offset: >>> x = numpy.copy(iline[:, 120]) Copy every other line and offset: >>> map(numpy.copy, line[::2, ::2]) Copy all offsets [200, 250, 300, 350, ...] in the range [200, 800) for all lines [2420,2460): >>> l = [numpy.copy(x) for x in line[2420:2460, 200:800:50]] """ offset = self.default_offset try: index, offset = index except TypeError: pass # prioritise the code path that's potentially in loops externally try: > head = self.heads[index] + self.offsets[offset] E KeyError: slice(None, None, None) segyio/line.py:200: KeyError ___________________ test_fast_slow_dimensions[open-kwargs3] ____________________ openfn = kwargs = {'endian': 'lsb', 'filename': 'test-data/small-lsb.su', 'iline': 5, 'xline': 21} @pytest.mark.parametrize(('openfn', 'kwargs'), smallfiles) def test_fast_slow_dimensions(openfn, kwargs): with openfn(**kwargs) as f: > for iline, fline in zip(f.iline, f.fast): test/segy.py:527: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ segyio/line.py:331: in __iter__ return self[:] _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = , index = slice(None, None, None) def __getitem__(self, index): """line[i] or line[i, o] The line `i`, or the line `i` at a specific offset `o`. ``line[i]`` returns a numpy array, and changes to this array will *not* be reflected on disk. The `i` and `o` are *keys*, and should correspond to the line- and offset labels in your file, and in the `ilines`, `xlines`, and `offsets` attributes. Slices can contain lines and offsets not in the file, and like with list slicing, these are handled gracefully and ignored. When `i` or `o` is a slice, a generator of numpy arrays is returned. If the slice is defaulted (:), segyio knows enough about the structure to give you all of the respective labels. When both `i` and `o` are slices, only one generator is returned, and the lines are yielded offsets-first, roughly equivalent to the double for loop:: >>> for line in lines: ... for off in offsets: ... yield line[line, off] ... Parameters ---------- i : int or slice o : int or slice Returns ------- line : numpy.ndarray of dtype or generator of numpy.ndarray of dtype Raises ------ KeyError If `i` or `o` don't exist Notes ----- .. versionadded:: 1.1 Examples -------- Read an inline: >>> x = line[2400] Copy every inline into a list: >>> l = [numpy.copy(x) for x in iline[:]] Numpy operations on every other inline: >>> for line in line[::2]: ... line = line * 2 ... avg = np.average(line) Read lines up to 2430: >>> for line in line[:2430]: ... line.mean() Copy all lines at all offsets: >>> l = [numpy.copy(x) for x in line[:,:]] Copy all offsets of a line: >>> x = numpy.copy(iline[10,:]) Copy all lines at a fixed offset: >>> x = numpy.copy(iline[:, 120]) Copy every other line and offset: >>> map(numpy.copy, line[::2, ::2]) Copy all offsets [200, 250, 300, 350, ...] in the range [200, 800) for all lines [2420,2460): >>> l = [numpy.copy(x) for x in line[2420:2460, 200:800:50]] """ offset = self.default_offset try: index, offset = index except TypeError: pass # prioritise the code path that's potentially in loops externally try: > head = self.heads[index] + self.offsets[offset] E KeyError: slice(None, None, None) segyio/line.py:200: KeyError ________________________ test_read_header[open-kwargs0] ________________________ openfn = kwargs = {'filename': 'test-data/small.sgy'} @pytest.mark.parametrize(('openfn', 'kwargs'), smallfiles) def test_read_header(openfn, kwargs): with openfn(**kwargs) as f: il = kwargs.get('iline', TraceField.INLINE_3D) assert 1 == f.header[0][il] assert 5 == f.header[-1][il] > assert dict(f.header[-1]) == dict(f.header[24]) test/segy.py:606: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <[KeyError('No such field 3') raised in repr()] Field object at 0xb5792d00> key = __firstlineno__ def __getitem__(self, key): """d[key] Read the associated value of `key`. `key` can be any iterable, to retrieve multiple keys at once. In this case, a mapping of key -> value is returned. Parameters ---------- key : int, or iterable of int Returns ------- value : int or dict_like Notes ----- .. versionadded:: 1.1 .. note:: Since version 1.6, KeyError is appropriately raised on key misses, whereas ``IndexError`` was raised before. This is an old bug, since header types were documented to be dict-like. If you rely on catching key-miss errors in your code, you might want to handle both ``IndexError`` and ``KeyError`` for multi-version robustness. .. warning:: segyio considers reads/writes full headers, not individual fields, and does the read from disk when this class is constructed. If the file is updated through some other handle, including a secondary access via `f.header`, this cache might be out-of-date. Examples -------- Read a single value: >>> d[3213] 15000 Read multiple values at once: >>> d[37, 189] { 37: 5, 189: 2484 } >>> d[37, TraceField.INLINE_3D] { 37: 5, 189: 2484 } """ > try: return self.getfield(self.buf, int(key)) E KeyError: 'No such field 3' segyio/field.py:361: KeyError ________________________ test_read_header[open-kwargs1] ________________________ openfn = kwargs = {'endian': 'little', 'filename': 'test-data/small-lsb.sgy'} @pytest.mark.parametrize(('openfn', 'kwargs'), smallfiles) def test_read_header(openfn, kwargs): with openfn(**kwargs) as f: il = kwargs.get('iline', TraceField.INLINE_3D) assert 1 == f.header[0][il] assert 5 == f.header[-1][il] > assert dict(f.header[-1]) == dict(f.header[24]) test/segy.py:606: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <[KeyError('No such field 3') raised in repr()] Field object at 0xb5bde350> key = __firstlineno__ def __getitem__(self, key): """d[key] Read the associated value of `key`. `key` can be any iterable, to retrieve multiple keys at once. In this case, a mapping of key -> value is returned. Parameters ---------- key : int, or iterable of int Returns ------- value : int or dict_like Notes ----- .. versionadded:: 1.1 .. note:: Since version 1.6, KeyError is appropriately raised on key misses, whereas ``IndexError`` was raised before. This is an old bug, since header types were documented to be dict-like. If you rely on catching key-miss errors in your code, you might want to handle both ``IndexError`` and ``KeyError`` for multi-version robustness. .. warning:: segyio considers reads/writes full headers, not individual fields, and does the read from disk when this class is constructed. If the file is updated through some other handle, including a secondary access via `f.header`, this cache might be out-of-date. Examples -------- Read a single value: >>> d[3213] 15000 Read multiple values at once: >>> d[37, 189] { 37: 5, 189: 2484 } >>> d[37, TraceField.INLINE_3D] { 37: 5, 189: 2484 } """ > try: return self.getfield(self.buf, int(key)) E KeyError: 'No such field 3' segyio/field.py:361: KeyError ________________________ test_read_header[open-kwargs2] ________________________ openfn = kwargs = {'filename': 'test-data/small.su', 'iline': 5, 'xline': 21} @pytest.mark.parametrize(('openfn', 'kwargs'), smallfiles) def test_read_header(openfn, kwargs): with openfn(**kwargs) as f: il = kwargs.get('iline', TraceField.INLINE_3D) assert 1 == f.header[0][il] assert 5 == f.header[-1][il] > assert dict(f.header[-1]) == dict(f.header[24]) test/segy.py:606: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <[KeyError('No such field 3') raised in repr()] Field object at 0xb5bde2b0> key = __firstlineno__ def __getitem__(self, key): """d[key] Read the associated value of `key`. `key` can be any iterable, to retrieve multiple keys at once. In this case, a mapping of key -> value is returned. Parameters ---------- key : int, or iterable of int Returns ------- value : int or dict_like Notes ----- .. versionadded:: 1.1 .. note:: Since version 1.6, KeyError is appropriately raised on key misses, whereas ``IndexError`` was raised before. This is an old bug, since header types were documented to be dict-like. If you rely on catching key-miss errors in your code, you might want to handle both ``IndexError`` and ``KeyError`` for multi-version robustness. .. warning:: segyio considers reads/writes full headers, not individual fields, and does the read from disk when this class is constructed. If the file is updated through some other handle, including a secondary access via `f.header`, this cache might be out-of-date. Examples -------- Read a single value: >>> d[3213] 15000 Read multiple values at once: >>> d[37, 189] { 37: 5, 189: 2484 } >>> d[37, TraceField.INLINE_3D] { 37: 5, 189: 2484 } """ > try: return self.getfield(self.buf, int(key)) E KeyError: 'No such field 3' segyio/field.py:361: KeyError ________________________ test_read_header[open-kwargs3] ________________________ openfn = kwargs = {'endian': 'lsb', 'filename': 'test-data/small-lsb.su', 'iline': 5, 'xline': 21} @pytest.mark.parametrize(('openfn', 'kwargs'), smallfiles) def test_read_header(openfn, kwargs): with openfn(**kwargs) as f: il = kwargs.get('iline', TraceField.INLINE_3D) assert 1 == f.header[0][il] assert 5 == f.header[-1][il] > assert dict(f.header[-1]) == dict(f.header[24]) test/segy.py:606: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <[KeyError('No such field 3') raised in repr()] Field object at 0xb5766a30> key = __firstlineno__ def __getitem__(self, key): """d[key] Read the associated value of `key`. `key` can be any iterable, to retrieve multiple keys at once. In this case, a mapping of key -> value is returned. Parameters ---------- key : int, or iterable of int Returns ------- value : int or dict_like Notes ----- .. versionadded:: 1.1 .. note:: Since version 1.6, KeyError is appropriately raised on key misses, whereas ``IndexError`` was raised before. This is an old bug, since header types were documented to be dict-like. If you rely on catching key-miss errors in your code, you might want to handle both ``IndexError`` and ``KeyError`` for multi-version robustness. .. warning:: segyio considers reads/writes full headers, not individual fields, and does the read from disk when this class is constructed. If the file is updated through some other handle, including a secondary access via `f.header`, this cache might be out-of-date. Examples -------- Read a single value: >>> d[3213] 15000 Read multiple values at once: >>> d[37, 189] { 37: 5, 189: 2484 } >>> d[37, TraceField.INLINE_3D] { 37: 5, 189: 2484 } """ > try: return self.getfield(self.buf, int(key)) E KeyError: 'No such field 3' segyio/field.py:361: KeyError ________________________ test_read_header_seismic_unix _________________________ def test_read_header_seismic_unix(): il = 5 with segyio.su.open('test-data/small.su', ignore_geometry = True, endian = 'big') as f: assert 1 == f.header[0][il] assert 1 == f.header[1][il] assert 5 == f.header[-1][il] assert 5 == f.header[24][il] > assert dict(f.header[-1]) == dict(f.header[24]) test/segy.py:632: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <[KeyError('No such field 3') raised in repr()] Field object at 0xb5bdeb20> key = __firstlineno__ def __getitem__(self, key): """d[key] Read the associated value of `key`. `key` can be any iterable, to retrieve multiple keys at once. In this case, a mapping of key -> value is returned. Parameters ---------- key : int, or iterable of int Returns ------- value : int or dict_like Notes ----- .. versionadded:: 1.1 .. note:: Since version 1.6, KeyError is appropriately raised on key misses, whereas ``IndexError`` was raised before. This is an old bug, since header types were documented to be dict-like. If you rely on catching key-miss errors in your code, you might want to handle both ``IndexError`` and ``KeyError`` for multi-version robustness. .. warning:: segyio considers reads/writes full headers, not individual fields, and does the read from disk when this class is constructed. If the file is updated through some other handle, including a secondary access via `f.header`, this cache might be out-of-date. Examples -------- Read a single value: >>> d[3213] 15000 Read multiple values at once: >>> d[37, 189] { 37: 5, 189: 2484 } >>> d[37, TraceField.INLINE_3D] { 37: 5, 189: 2484 } """ > try: return self.getfield(self.buf, int(key)) E KeyError: 'No such field 3' segyio/field.py:361: KeyError ______________________________ test_write_header _______________________________ small = local('/tmp/pytest-of-pbuilder1/pytest-1/test_write_header0/small.sgy') def test_write_header(small): with segyio.open(small, "r+") as f: # assign to a field in a header, write immediately f.header[0][189] = 42 f.flush() assert 42 == f.header[0][189] assert 1 == f.header[1][189] # accessing non-existing offsets raises exceptions with pytest.raises(KeyError): f.header[0][188] = 1 # between byte offsets with pytest.raises(KeyError): f.header[0][-1] = 1 with pytest.raises(KeyError): f.header[0][700] = 1 d = {TraceField.INLINE_3D: 43, TraceField.CROSSLINE_3D: 11, TraceField.offset: 15} # assign multiple fields at once by using a dict f.header[1] = d f.flush() assert 43 == f.header[1][TraceField.INLINE_3D] assert 11 == f.header[1][segyio.su.xline] assert 15 == f.header[1][segyio.su.offset] # looking up multiple values at once returns a { TraceField: value } dict assert d == f.header[1][TraceField.INLINE_3D, TraceField.CROSSLINE_3D, TraceField.offset] # slice-support over headers (similar to trace) for _ in f.header[0:10]: pass assert 6 == len(list(f.header[10::-2])) assert 5 == len(list(f.header[10:5:-1])) assert 0 == len(list(f.header[10:5])) d = {TraceField.INLINE_3D: 45, TraceField.CROSSLINE_3D: 10, TraceField.offset: 16} # assign multiple values using alternative syntax f.header[5].update(d) f.flush() assert 45 == f.header[5][TraceField.INLINE_3D] assert 10 == f.header[5][segyio.su.xline] assert 16 == f.header[5][segyio.su.offset] # accept anything with a key-value structure f.header[5].update([(segyio.su.ns, 12), (segyio.su.dt, 4)]) f.header[5].update(((segyio.su.muts, 3), (segyio.su.mute, 7))) f.header[5].update([(segyio.su.muts, 3)], sx=7) f.header[5].update(sy=8) with pytest.raises(TypeError): f.header[0].update(10) with pytest.raises(TypeError): f.header[0].update(None) with pytest.raises(ValueError): f.header[0].update('foo') f.flush() assert 12 == f.header[5][segyio.su.ns] assert 4 == f.header[5][segyio.su.dt] assert 3 == f.header[5][segyio.su.muts] assert 7 == f.header[5][segyio.su.mute] assert 7 == f.header[5][segyio.su.sx] assert 8 == f.header[5][segyio.su.sy] # for-each support for _ in f.header: pass # copy a header > f.header[2] = f.header[1] test/segy.py:715: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ segyio/trace.py:646: in __setitem__ x.update(val) segyio/field.py:508: in update self.putfield(buf, int(key), other[key]) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <[KeyError('No such field 3') raised in repr()] Field object at 0xb5766c10> key = __firstlineno__ def __getitem__(self, key): """d[key] Read the associated value of `key`. `key` can be any iterable, to retrieve multiple keys at once. In this case, a mapping of key -> value is returned. Parameters ---------- key : int, or iterable of int Returns ------- value : int or dict_like Notes ----- .. versionadded:: 1.1 .. note:: Since version 1.6, KeyError is appropriately raised on key misses, whereas ``IndexError`` was raised before. This is an old bug, since header types were documented to be dict-like. If you rely on catching key-miss errors in your code, you might want to handle both ``IndexError`` and ``KeyError`` for multi-version robustness. .. warning:: segyio considers reads/writes full headers, not individual fields, and does the read from disk when this class is constructed. If the file is updated through some other handle, including a secondary access via `f.header`, this cache might be out-of-date. Examples -------- Read a single value: >>> d[3213] 15000 Read multiple values at once: >>> d[37, 189] { 37: 5, 189: 2484 } >>> d[37, TraceField.INLINE_3D] { 37: 5, 189: 2484 } """ > try: return self.getfield(self.buf, int(key)) E KeyError: 'No such field 3' segyio/field.py:361: KeyError ______________________________ test_write_binary _______________________________ small = local('/tmp/pytest-of-pbuilder1/pytest-1/test_write_binary0/small.sgy') def test_write_binary(small): with segyio.open(small, "r+") as f: f.bin[3213] = 5 f.flush() assert 5 == f.bin[3213] # accessing non-existing offsets raises exceptions with pytest.raises(KeyError): _ = f.bin[0] with pytest.raises(KeyError): _ = f.bin[50000] with pytest.raises(KeyError): _ = f.bin[3214] d = {BinField.Traces: 43, BinField.SweepFrequencyStart: 11} # assign multiple fields at once by using a dict f.bin = d f.flush() assert 43 == f.bin[segyio.su.ntrpr] assert 11 == f.bin[segyio.su.hsfs] d = {BinField.Traces: 45, BinField.SweepFrequencyStart: 10} # assign multiple values using alternative syntax f.bin.update(d) f.flush() assert 45 == f.bin[segyio.su.ntrpr] assert 10 == f.bin[segyio.su.hsfs] # accept anything with a key-value structure f.bin.update([(segyio.su.jobid, 12), (segyio.su.lino, 4)]) f.bin.update(((segyio.su.reno, 3), (segyio.su.hdt, 7))) f.flush() assert 12 == f.bin[segyio.su.jobid] assert 4 == f.bin[segyio.su.lino] assert 3 == f.bin[segyio.su.reno] assert 7 == f.bin[segyio.su.hdt] # looking up multiple values at once returns a { TraceField: value } dict assert d == f.bin[BinField.Traces, BinField.SweepFrequencyStart] # copy a header > f.bin = f.bin test/segy.py:786: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ segyio/segy.py:801: in bin self.bin.update(value) segyio/field.py:508: in update self.putfield(buf, int(key), other[key]) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <[KeyError('No such field 3') raised in repr()] Field object at 0xb5916710> key = __firstlineno__ def __getitem__(self, key): """d[key] Read the associated value of `key`. `key` can be any iterable, to retrieve multiple keys at once. In this case, a mapping of key -> value is returned. Parameters ---------- key : int, or iterable of int Returns ------- value : int or dict_like Notes ----- .. versionadded:: 1.1 .. note:: Since version 1.6, KeyError is appropriately raised on key misses, whereas ``IndexError`` was raised before. This is an old bug, since header types were documented to be dict-like. If you rely on catching key-miss errors in your code, you might want to handle both ``IndexError`` and ``KeyError`` for multi-version robustness. .. warning:: segyio considers reads/writes full headers, not individual fields, and does the read from disk when this class is constructed. If the file is updated through some other handle, including a secondary access via `f.header`, this cache might be out-of-date. Examples -------- Read a single value: >>> d[3213] 15000 Read multiple values at once: >>> d[37, 189] { 37: 5, 189: 2484 } >>> d[37, TraceField.INLINE_3D] { 37: 5, 189: 2484 } """ > try: return self.getfield(self.buf, int(key)) E KeyError: 'No such field 3' segyio/field.py:361: KeyError _______________________ test_write_header_update_atomic ________________________ small = local('/tmp/pytest-of-pbuilder1/pytest-1/test_write_header_update_atomi0/small.sgy') def test_write_header_update_atomic(small): with segyio.open(small, "r+") as f: > orig = dict(f.header[10]) test/segy.py:791: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <[KeyError('No such field 3') raised in repr()] Field object at 0xb58fcbc0> key = __firstlineno__ def __getitem__(self, key): """d[key] Read the associated value of `key`. `key` can be any iterable, to retrieve multiple keys at once. In this case, a mapping of key -> value is returned. Parameters ---------- key : int, or iterable of int Returns ------- value : int or dict_like Notes ----- .. versionadded:: 1.1 .. note:: Since version 1.6, KeyError is appropriately raised on key misses, whereas ``IndexError`` was raised before. This is an old bug, since header types were documented to be dict-like. If you rely on catching key-miss errors in your code, you might want to handle both ``IndexError`` and ``KeyError`` for multi-version robustness. .. warning:: segyio considers reads/writes full headers, not individual fields, and does the read from disk when this class is constructed. If the file is updated through some other handle, including a secondary access via `f.header`, this cache might be out-of-date. Examples -------- Read a single value: >>> d[3213] 15000 Read multiple values at once: >>> d[37, 189] { 37: 5, 189: 2484 } >>> d[37, TraceField.INLINE_3D] { 37: 5, 189: 2484 } """ > try: return self.getfield(self.buf, int(key)) E KeyError: 'No such field 3' segyio/field.py:361: KeyError _______________________________ test_create_sgy ________________________________ small = local('/tmp/pytest-of-pbuilder1/pytest-1/test_create_sgy0/small.sgy') def test_create_sgy(small): orig = str(small.dirname + '/small.sgy') fresh = str(small.dirname + '/fresh.sgy') with segyio.open(orig) as src: spec = segyio.spec() spec.format = int(src.format) spec.sorting = int(src.sorting) spec.samples = src.samples spec.ilines = src.ilines spec.xlines = src.xlines with segyio.create(fresh, spec) as dst: dst.text[0] = src.text[0] > dst.bin = src.bin test/segy.py:977: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ segyio/segy.py:801: in bin self.bin.update(value) segyio/field.py:508: in update self.putfield(buf, int(key), other[key]) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <[KeyError('No such field 3') raised in repr()] Field object at 0xb58fc670> key = __firstlineno__ def __getitem__(self, key): """d[key] Read the associated value of `key`. `key` can be any iterable, to retrieve multiple keys at once. In this case, a mapping of key -> value is returned. Parameters ---------- key : int, or iterable of int Returns ------- value : int or dict_like Notes ----- .. versionadded:: 1.1 .. note:: Since version 1.6, KeyError is appropriately raised on key misses, whereas ``IndexError`` was raised before. This is an old bug, since header types were documented to be dict-like. If you rely on catching key-miss errors in your code, you might want to handle both ``IndexError`` and ``KeyError`` for multi-version robustness. .. warning:: segyio considers reads/writes full headers, not individual fields, and does the read from disk when this class is constructed. If the file is updated through some other handle, including a secondary access via `f.header`, this cache might be out-of-date. Examples -------- Read a single value: >>> d[3213] 15000 Read multiple values at once: >>> d[37, 189] { 37: 5, 189: 2484 } >>> d[37, TraceField.INLINE_3D] { 37: 5, 189: 2484 } """ > try: return self.getfield(self.buf, int(key)) E KeyError: 'No such field 3' segyio/field.py:361: KeyError ______________________________ test_ref_new_file _______________________________ small = local('/tmp/pytest-of-pbuilder1/pytest-1/test_ref_new_file0/small.sgy') def test_ref_new_file(small): # this is the case the trace.ref feature was designed to support, namely # creating a file trace-by-trace based on some transformation of another # file, or an operation on multiple, where the trace index itself is # uninteresting. orig = str(small.dirname + '/small.sgy') fresh = str(small.dirname + '/fresh.sgy') with segyio.open(orig) as src: spec = segyio.tools.metadata(src) with segyio.create(fresh, spec) as dst: dst.text[0] = src.text[0] > dst.bin = src.bin test/segy.py:1122: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ segyio/segy.py:801: in bin self.bin.update(value) segyio/field.py:508: in update self.putfield(buf, int(key), other[key]) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <[KeyError('No such field 3') raised in repr()] Field object at 0xb5791210> key = __firstlineno__ def __getitem__(self, key): """d[key] Read the associated value of `key`. `key` can be any iterable, to retrieve multiple keys at once. In this case, a mapping of key -> value is returned. Parameters ---------- key : int, or iterable of int Returns ------- value : int or dict_like Notes ----- .. versionadded:: 1.1 .. note:: Since version 1.6, KeyError is appropriately raised on key misses, whereas ``IndexError`` was raised before. This is an old bug, since header types were documented to be dict-like. If you rely on catching key-miss errors in your code, you might want to handle both ``IndexError`` and ``KeyError`` for multi-version robustness. .. warning:: segyio considers reads/writes full headers, not individual fields, and does the read from disk when this class is constructed. If the file is updated through some other handle, including a secondary access via `f.header`, this cache might be out-of-date. Examples -------- Read a single value: >>> d[3213] 15000 Read multiple values at once: >>> d[37, 189] { 37: 5, 189: 2484 } >>> d[37, TraceField.INLINE_3D] { 37: 5, 189: 2484 } """ > try: return self.getfield(self.buf, int(key)) E KeyError: 'No such field 3' segyio/field.py:361: KeyError ___________________________ test_create_sgy_truncate ___________________________ small = local('/tmp/pytest-of-pbuilder1/pytest-1/test_create_sgy_truncate0/small.sgy') def test_create_sgy_truncate(small): orig = str(small.dirname + '/small.sgy') trunc = str(small.dirname + '/text-truncated.sgy') with segyio.open(orig) as src: spec = segyio.tools.metadata(src) # repeat the text header 3 times text = src.text[0] text = text + text + text with segyio.create(trunc, spec) as dst: > dst.bin = src.bin test/segy.py:1149: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ segyio/segy.py:801: in bin self.bin.update(value) segyio/field.py:508: in update self.putfield(buf, int(key), other[key]) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <[KeyError('No such field 3') raised in repr()] Field object at 0xb5916710> key = __firstlineno__ def __getitem__(self, key): """d[key] Read the associated value of `key`. `key` can be any iterable, to retrieve multiple keys at once. In this case, a mapping of key -> value is returned. Parameters ---------- key : int, or iterable of int Returns ------- value : int or dict_like Notes ----- .. versionadded:: 1.1 .. note:: Since version 1.6, KeyError is appropriately raised on key misses, whereas ``IndexError`` was raised before. This is an old bug, since header types were documented to be dict-like. If you rely on catching key-miss errors in your code, you might want to handle both ``IndexError`` and ``KeyError`` for multi-version robustness. .. warning:: segyio considers reads/writes full headers, not individual fields, and does the read from disk when this class is constructed. If the file is updated through some other handle, including a secondary access via `f.header`, this cache might be out-of-date. Examples -------- Read a single value: >>> d[3213] 15000 Read multiple values at once: >>> d[37, 189] { 37: 5, 189: 2484 } >>> d[37, TraceField.INLINE_3D] { 37: 5, 189: 2484 } """ > try: return self.getfield(self.buf, int(key)) E KeyError: 'No such field 3' segyio/field.py:361: KeyError ________________________ test_create_sgy_shorter_traces ________________________ small = local('/tmp/pytest-of-pbuilder1/pytest-1/test_create_sgy_shorter_traces0/small.sgy') def test_create_sgy_shorter_traces(small): orig = str(small.dirname + '/small.sgy') fresh = str(small.dirname + '/small_created_shorter.sgy') with segyio.open(orig) as src: spec = segyio.spec() spec.format = int(src.format) spec.sorting = int(src.sorting) spec.samples = src.samples[:20] # reduces samples per trace spec.ilines = src.ilines spec.xlines = src.xlines with segyio.create(fresh, spec) as dst: for i, srch in enumerate(src.header): > dst.header[i] = srch test/segy.py:1174: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ segyio/trace.py:646: in __setitem__ x.update(val) segyio/field.py:508: in update self.putfield(buf, int(key), other[key]) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <[KeyError('No such field 3') raised in repr()] Field object at 0xb57914e0> key = __firstlineno__ def __getitem__(self, key): """d[key] Read the associated value of `key`. `key` can be any iterable, to retrieve multiple keys at once. In this case, a mapping of key -> value is returned. Parameters ---------- key : int, or iterable of int Returns ------- value : int or dict_like Notes ----- .. versionadded:: 1.1 .. note:: Since version 1.6, KeyError is appropriately raised on key misses, whereas ``IndexError`` was raised before. This is an old bug, since header types were documented to be dict-like. If you rely on catching key-miss errors in your code, you might want to handle both ``IndexError`` and ``KeyError`` for multi-version robustness. .. warning:: segyio considers reads/writes full headers, not individual fields, and does the read from disk when this class is constructed. If the file is updated through some other handle, including a secondary access via `f.header`, this cache might be out-of-date. Examples -------- Read a single value: >>> d[3213] 15000 Read multiple values at once: >>> d[37, 189] { 37: 5, 189: 2484 } >>> d[37, TraceField.INLINE_3D] { 37: 5, 189: 2484 } """ > try: return self.getfield(self.buf, int(key)) E KeyError: 'No such field 3' segyio/field.py:361: KeyError ____________________ test_create_from_naught_prestack[lsb] _____________________ endian = 'lsb' tmpdir = local('/tmp/pytest-of-pbuilder1/pytest-1/test_create_from_naught_presta0') @pytest.mark.parametrize('endian', ['lsb', 'msb']) def test_create_from_naught_prestack(endian, tmpdir): spec = segyio.spec() spec.format = 5 #spec.sorting not set by test design spec.samples = range(7) spec.ilines = range(1, 4) spec.xlines = range(1, 3) spec.offsets = range(1, 6) spec.endian = endian with segyio.create(tmpdir / "mk-ps.sgy", spec) as dst: arr = np.arange(start=0.000, stop=0.007, step=0.001, dtype=np.single) arr = np.concatenate([[arr + 0.01], [arr + 0.02]], axis=0) lines = [arr + i for i in spec.ilines] cube = [(off * 100) + line for line in lines for off in spec.offsets] > dst.iline[:, :] = cube test/segy.py:1250: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = , index = slice(None, None, None) val = [array([[101.01 , 101.011, 101.012, 101.013, 101.014, 101.015, 101.016], [101.02 , 101.021, 101.022, 101.023, 1... [102.02 , 102.020996, 102.022 , 102.023 , 102.024 , 102.025 , 102.026 ]], dtype=float32), ...] def __setitem__(self, index, val): """line[i] = val or line[i, o] = val Follows the same rules for indexing and slicing as ``line[i]``. In either case, if the `val` iterable is exhausted before the line(s), assignment stops with whatever is written so far. If `val` is longer than an individual line, it's essentially truncated. Parameters ---------- i : int or slice offset : int or slice val : array_like Raises ------ KeyError If `i` or `o` don't exist Notes ----- .. versionadded:: 1.1 Examples -------- Copy a full line: >>> line[2400] = other[2834] Copy first half of the inlines from g to f: >>> line[:] = other[:labels[len(labels) / 2]] Copy every other line consecutively: >>> line[:] = other[::2] Copy every third offset: >>> line[:,:] = other[:,::3] Copy a line into a set line and offset: >>> line[12, 200] = other[21] """ offset = self.default_offset try: index, offset = index except TypeError: pass > try: head = self.heads[index] + self.offsets[offset] E KeyError: slice(None, None, None) segyio/line.py:290: KeyError ____________________ test_create_from_naught_prestack[msb] _____________________ endian = 'msb' tmpdir = local('/tmp/pytest-of-pbuilder1/pytest-1/test_create_from_naught_presta1') @pytest.mark.parametrize('endian', ['lsb', 'msb']) def test_create_from_naught_prestack(endian, tmpdir): spec = segyio.spec() spec.format = 5 #spec.sorting not set by test design spec.samples = range(7) spec.ilines = range(1, 4) spec.xlines = range(1, 3) spec.offsets = range(1, 6) spec.endian = endian with segyio.create(tmpdir / "mk-ps.sgy", spec) as dst: arr = np.arange(start=0.000, stop=0.007, step=0.001, dtype=np.single) arr = np.concatenate([[arr + 0.01], [arr + 0.02]], axis=0) lines = [arr + i for i in spec.ilines] cube = [(off * 100) + line for line in lines for off in spec.offsets] > dst.iline[:, :] = cube test/segy.py:1250: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = , index = slice(None, None, None) val = [array([[101.01 , 101.011, 101.012, 101.013, 101.014, 101.015, 101.016], [101.02 , 101.021, 101.022, 101.023, 1... [102.02 , 102.020996, 102.022 , 102.023 , 102.024 , 102.025 , 102.026 ]], dtype=float32), ...] def __setitem__(self, index, val): """line[i] = val or line[i, o] = val Follows the same rules for indexing and slicing as ``line[i]``. In either case, if the `val` iterable is exhausted before the line(s), assignment stops with whatever is written so far. If `val` is longer than an individual line, it's essentially truncated. Parameters ---------- i : int or slice offset : int or slice val : array_like Raises ------ KeyError If `i` or `o` don't exist Notes ----- .. versionadded:: 1.1 Examples -------- Copy a full line: >>> line[2400] = other[2834] Copy first half of the inlines from g to f: >>> line[:] = other[:labels[len(labels) / 2]] Copy every other line consecutively: >>> line[:] = other[::2] Copy every third offset: >>> line[:,:] = other[:,::3] Copy a line into a set line and offset: >>> line[12, 200] = other[21] """ offset = self.default_offset try: index, offset = index except TypeError: pass > try: head = self.heads[index] + self.offsets[offset] E KeyError: slice(None, None, None) segyio/line.py:290: KeyError __________________________ test_create_sgy_skip_lines __________________________ tmpdir = local('/tmp/pytest-of-pbuilder1/pytest-1/test_create_sgy_skip_lines0') def test_create_sgy_skip_lines(tmpdir): mklines(tmpdir / "lines.sgy") with segyio.open(tmpdir / "lines.sgy") as src: spec = segyio.spec() spec.format = int(src.format) spec.sorting = int(src.sorting) spec.samples = src.samples spec.ilines = src.ilines[::2] spec.xlines = src.xlines[::2] with segyio.create(tmpdir / "lines-halved.sgy", spec) as dst: # use the inline headers as base > dst.header.iline = src.header.iline[::2] test/segy.py:1344: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = index = slice(None, None, 2) def __getitem__(self, index): """line[i] or line[i, o] The line `i`, or the line `i` at a specific offset `o`. ``line[i]`` returns an iterable of `Field` objects, and changes to these *will* be reflected on disk. The `i` and `o` are *keys*, and should correspond to the line- and offset labels in your file, and in the `ilines`, `xlines`, and `offsets` attributes. Slices can contain lines and offsets not in the file, and like with list slicing, these are handled gracefully and ignored. When `i` or `o` is a slice, a generator of iterables of headers are returned. When both `i` and `o` are slices, one generator is returned for the product `i` and `o`, and the lines are yielded offsets-first, roughly equivalent to the double for loop:: >>> for line in lines: ... for off in offsets: ... yield line[line, off] ... Parameters ---------- i : int or slice o : int or slice Returns ------- line : iterable of Field or generator of iterator of Field Raises ------ KeyError If `i` or `o` don't exist Notes ----- .. versionadded:: 1.1 """ offset = self.default_offset try: index, offset = index except TypeError: pass try: > start = self.heads[index] + self.offsets[offset] E KeyError: slice(None, None, 2) segyio/line.py:426: KeyError _______________________ test_segyio_types[open-kwargs0] ________________________ openfn = kwargs = {'filename': 'test-data/small.sgy'} @pytest.mark.parametrize(('openfn', 'kwargs'), smallfiles) def test_segyio_types(openfn, kwargs): with openfn(**kwargs) as f: assert isinstance(f.sorting, int) assert isinstance(f.ext_headers, int) assert isinstance(f.tracecount, int) assert isinstance(f.samples, np.ndarray) from segyio.depth import Depth assert isinstance(f.depth_slice, Depth) assert isinstance(f.depth_slice[1], np.ndarray) assert isinstance(f.depth_slice[1:23], GeneratorType) assert isinstance(f.ilines, np.ndarray) assert isinstance(f.iline, Line) assert isinstance(f.iline[1], np.ndarray) > assert isinstance(f.iline[1:3], GeneratorType) test/segy.py:1447: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = , index = slice(1, 3, None) def __getitem__(self, index): """line[i] or line[i, o] The line `i`, or the line `i` at a specific offset `o`. ``line[i]`` returns a numpy array, and changes to this array will *not* be reflected on disk. The `i` and `o` are *keys*, and should correspond to the line- and offset labels in your file, and in the `ilines`, `xlines`, and `offsets` attributes. Slices can contain lines and offsets not in the file, and like with list slicing, these are handled gracefully and ignored. When `i` or `o` is a slice, a generator of numpy arrays is returned. If the slice is defaulted (:), segyio knows enough about the structure to give you all of the respective labels. When both `i` and `o` are slices, only one generator is returned, and the lines are yielded offsets-first, roughly equivalent to the double for loop:: >>> for line in lines: ... for off in offsets: ... yield line[line, off] ... Parameters ---------- i : int or slice o : int or slice Returns ------- line : numpy.ndarray of dtype or generator of numpy.ndarray of dtype Raises ------ KeyError If `i` or `o` don't exist Notes ----- .. versionadded:: 1.1 Examples -------- Read an inline: >>> x = line[2400] Copy every inline into a list: >>> l = [numpy.copy(x) for x in iline[:]] Numpy operations on every other inline: >>> for line in line[::2]: ... line = line * 2 ... avg = np.average(line) Read lines up to 2430: >>> for line in line[:2430]: ... line.mean() Copy all lines at all offsets: >>> l = [numpy.copy(x) for x in line[:,:]] Copy all offsets of a line: >>> x = numpy.copy(iline[10,:]) Copy all lines at a fixed offset: >>> x = numpy.copy(iline[:, 120]) Copy every other line and offset: >>> map(numpy.copy, line[::2, ::2]) Copy all offsets [200, 250, 300, 350, ...] in the range [200, 800) for all lines [2420,2460): >>> l = [numpy.copy(x) for x in line[2420:2460, 200:800:50]] """ offset = self.default_offset try: index, offset = index except TypeError: pass # prioritise the code path that's potentially in loops externally try: > head = self.heads[index] + self.offsets[offset] E KeyError: slice(1, 3, None) segyio/line.py:200: KeyError _______________________ test_segyio_types[open-kwargs1] ________________________ openfn = kwargs = {'endian': 'little', 'filename': 'test-data/small-lsb.sgy'} @pytest.mark.parametrize(('openfn', 'kwargs'), smallfiles) def test_segyio_types(openfn, kwargs): with openfn(**kwargs) as f: assert isinstance(f.sorting, int) assert isinstance(f.ext_headers, int) assert isinstance(f.tracecount, int) assert isinstance(f.samples, np.ndarray) from segyio.depth import Depth assert isinstance(f.depth_slice, Depth) assert isinstance(f.depth_slice[1], np.ndarray) assert isinstance(f.depth_slice[1:23], GeneratorType) assert isinstance(f.ilines, np.ndarray) assert isinstance(f.iline, Line) assert isinstance(f.iline[1], np.ndarray) > assert isinstance(f.iline[1:3], GeneratorType) test/segy.py:1447: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = , index = slice(1, 3, None) def __getitem__(self, index): """line[i] or line[i, o] The line `i`, or the line `i` at a specific offset `o`. ``line[i]`` returns a numpy array, and changes to this array will *not* be reflected on disk. The `i` and `o` are *keys*, and should correspond to the line- and offset labels in your file, and in the `ilines`, `xlines`, and `offsets` attributes. Slices can contain lines and offsets not in the file, and like with list slicing, these are handled gracefully and ignored. When `i` or `o` is a slice, a generator of numpy arrays is returned. If the slice is defaulted (:), segyio knows enough about the structure to give you all of the respective labels. When both `i` and `o` are slices, only one generator is returned, and the lines are yielded offsets-first, roughly equivalent to the double for loop:: >>> for line in lines: ... for off in offsets: ... yield line[line, off] ... Parameters ---------- i : int or slice o : int or slice Returns ------- line : numpy.ndarray of dtype or generator of numpy.ndarray of dtype Raises ------ KeyError If `i` or `o` don't exist Notes ----- .. versionadded:: 1.1 Examples -------- Read an inline: >>> x = line[2400] Copy every inline into a list: >>> l = [numpy.copy(x) for x in iline[:]] Numpy operations on every other inline: >>> for line in line[::2]: ... line = line * 2 ... avg = np.average(line) Read lines up to 2430: >>> for line in line[:2430]: ... line.mean() Copy all lines at all offsets: >>> l = [numpy.copy(x) for x in line[:,:]] Copy all offsets of a line: >>> x = numpy.copy(iline[10,:]) Copy all lines at a fixed offset: >>> x = numpy.copy(iline[:, 120]) Copy every other line and offset: >>> map(numpy.copy, line[::2, ::2]) Copy all offsets [200, 250, 300, 350, ...] in the range [200, 800) for all lines [2420,2460): >>> l = [numpy.copy(x) for x in line[2420:2460, 200:800:50]] """ offset = self.default_offset try: index, offset = index except TypeError: pass # prioritise the code path that's potentially in loops externally try: > head = self.heads[index] + self.offsets[offset] E KeyError: slice(1, 3, None) segyio/line.py:200: KeyError _______________________ test_segyio_types[open-kwargs2] ________________________ openfn = kwargs = {'filename': 'test-data/small.su', 'iline': 5, 'xline': 21} @pytest.mark.parametrize(('openfn', 'kwargs'), smallfiles) def test_segyio_types(openfn, kwargs): with openfn(**kwargs) as f: assert isinstance(f.sorting, int) assert isinstance(f.ext_headers, int) assert isinstance(f.tracecount, int) assert isinstance(f.samples, np.ndarray) from segyio.depth import Depth assert isinstance(f.depth_slice, Depth) assert isinstance(f.depth_slice[1], np.ndarray) assert isinstance(f.depth_slice[1:23], GeneratorType) assert isinstance(f.ilines, np.ndarray) assert isinstance(f.iline, Line) assert isinstance(f.iline[1], np.ndarray) > assert isinstance(f.iline[1:3], GeneratorType) test/segy.py:1447: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = , index = slice(1, 3, None) def __getitem__(self, index): """line[i] or line[i, o] The line `i`, or the line `i` at a specific offset `o`. ``line[i]`` returns a numpy array, and changes to this array will *not* be reflected on disk. The `i` and `o` are *keys*, and should correspond to the line- and offset labels in your file, and in the `ilines`, `xlines`, and `offsets` attributes. Slices can contain lines and offsets not in the file, and like with list slicing, these are handled gracefully and ignored. When `i` or `o` is a slice, a generator of numpy arrays is returned. If the slice is defaulted (:), segyio knows enough about the structure to give you all of the respective labels. When both `i` and `o` are slices, only one generator is returned, and the lines are yielded offsets-first, roughly equivalent to the double for loop:: >>> for line in lines: ... for off in offsets: ... yield line[line, off] ... Parameters ---------- i : int or slice o : int or slice Returns ------- line : numpy.ndarray of dtype or generator of numpy.ndarray of dtype Raises ------ KeyError If `i` or `o` don't exist Notes ----- .. versionadded:: 1.1 Examples -------- Read an inline: >>> x = line[2400] Copy every inline into a list: >>> l = [numpy.copy(x) for x in iline[:]] Numpy operations on every other inline: >>> for line in line[::2]: ... line = line * 2 ... avg = np.average(line) Read lines up to 2430: >>> for line in line[:2430]: ... line.mean() Copy all lines at all offsets: >>> l = [numpy.copy(x) for x in line[:,:]] Copy all offsets of a line: >>> x = numpy.copy(iline[10,:]) Copy all lines at a fixed offset: >>> x = numpy.copy(iline[:, 120]) Copy every other line and offset: >>> map(numpy.copy, line[::2, ::2]) Copy all offsets [200, 250, 300, 350, ...] in the range [200, 800) for all lines [2420,2460): >>> l = [numpy.copy(x) for x in line[2420:2460, 200:800:50]] """ offset = self.default_offset try: index, offset = index except TypeError: pass # prioritise the code path that's potentially in loops externally try: > head = self.heads[index] + self.offsets[offset] E KeyError: slice(1, 3, None) segyio/line.py:200: KeyError _______________________ test_segyio_types[open-kwargs3] ________________________ openfn = kwargs = {'endian': 'lsb', 'filename': 'test-data/small-lsb.su', 'iline': 5, 'xline': 21} @pytest.mark.parametrize(('openfn', 'kwargs'), smallfiles) def test_segyio_types(openfn, kwargs): with openfn(**kwargs) as f: assert isinstance(f.sorting, int) assert isinstance(f.ext_headers, int) assert isinstance(f.tracecount, int) assert isinstance(f.samples, np.ndarray) from segyio.depth import Depth assert isinstance(f.depth_slice, Depth) assert isinstance(f.depth_slice[1], np.ndarray) assert isinstance(f.depth_slice[1:23], GeneratorType) assert isinstance(f.ilines, np.ndarray) assert isinstance(f.iline, Line) assert isinstance(f.iline[1], np.ndarray) > assert isinstance(f.iline[1:3], GeneratorType) test/segy.py:1447: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = , index = slice(1, 3, None) def __getitem__(self, index): """line[i] or line[i, o] The line `i`, or the line `i` at a specific offset `o`. ``line[i]`` returns a numpy array, and changes to this array will *not* be reflected on disk. The `i` and `o` are *keys*, and should correspond to the line- and offset labels in your file, and in the `ilines`, `xlines`, and `offsets` attributes. Slices can contain lines and offsets not in the file, and like with list slicing, these are handled gracefully and ignored. When `i` or `o` is a slice, a generator of numpy arrays is returned. If the slice is defaulted (:), segyio knows enough about the structure to give you all of the respective labels. When both `i` and `o` are slices, only one generator is returned, and the lines are yielded offsets-first, roughly equivalent to the double for loop:: >>> for line in lines: ... for off in offsets: ... yield line[line, off] ... Parameters ---------- i : int or slice o : int or slice Returns ------- line : numpy.ndarray of dtype or generator of numpy.ndarray of dtype Raises ------ KeyError If `i` or `o` don't exist Notes ----- .. versionadded:: 1.1 Examples -------- Read an inline: >>> x = line[2400] Copy every inline into a list: >>> l = [numpy.copy(x) for x in iline[:]] Numpy operations on every other inline: >>> for line in line[::2]: ... line = line * 2 ... avg = np.average(line) Read lines up to 2430: >>> for line in line[:2430]: ... line.mean() Copy all lines at all offsets: >>> l = [numpy.copy(x) for x in line[:,:]] Copy all offsets of a line: >>> x = numpy.copy(iline[10,:]) Copy all lines at a fixed offset: >>> x = numpy.copy(iline[:, 120]) Copy every other line and offset: >>> map(numpy.copy, line[::2, ::2]) Copy all offsets [200, 250, 300, 350, ...] in the range [200, 800) for all lines [2420,2460): >>> l = [numpy.copy(x) for x in line[2420:2460, 200:800:50]] """ offset = self.default_offset try: index, offset = index except TypeError: pass # prioritise the code path that's potentially in loops externally try: > head = self.heads[index] + self.offsets[offset] E KeyError: slice(1, 3, None) segyio/line.py:200: KeyError ________________________________ test_read_line ________________________________ def test_read_line(): f, metrics, iline_idx, xline_idx = read_small(False) > read_line(f, metrics, iline_idx, xline_idx) test/segyio_c.py:523: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ f = <_segyio.segyfd object at 0xb571fd40> metrics = {'ext_headers': 0, 'format': 1, 'iline_count': 5, 'iline_field': 189, ...} iline_idx = array([1, 2, 3, 4, 5], dtype=int32) xline_idx = array([20, 21, 22, 23, 24], dtype=int32) def read_line(f, metrics, iline_idx, xline_idx): samples = metrics['samplecount'] xline_stride = metrics['xline_stride'] iline_stride = metrics['iline_stride'] offsets = metrics['offset_count'] xline_trace0 = _segyio.fread_trace0(20, len(iline_idx), xline_stride, offsets, xline_idx, "crossline") iline_trace0 = _segyio.fread_trace0(1, len(xline_idx), iline_stride, offsets, iline_idx, "inline") buf = numpy.zeros((len(iline_idx), samples), dtype=numpy.single) f.getline(xline_trace0, len(iline_idx), xline_stride, offsets, buf) > assert sum(sum(buf)) == approx(800.061169624, abs=1e-6) E assert np.float32(800.0612) == 800.061169624 ± 1.0e-06 E E comparison failed E Obtained: 800.0612182617188 E Expected: 800.061169624 ± 1.0e-06 test/segyio_c.py:543: AssertionError _____________________________ test_read_line_mmap ______________________________ def test_read_line_mmap(): f, metrics, iline_idx, xline_idx = read_small(True) > read_line(f, metrics, iline_idx, xline_idx) test/segyio_c.py:528: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ f = <_segyio.segyfd object at 0xb578e1d8> metrics = {'ext_headers': 0, 'format': 1, 'iline_count': 5, 'iline_field': 189, ...} iline_idx = array([1, 2, 3, 4, 5], dtype=int32) xline_idx = array([20, 21, 22, 23, 24], dtype=int32) def read_line(f, metrics, iline_idx, xline_idx): samples = metrics['samplecount'] xline_stride = metrics['xline_stride'] iline_stride = metrics['iline_stride'] offsets = metrics['offset_count'] xline_trace0 = _segyio.fread_trace0(20, len(iline_idx), xline_stride, offsets, xline_idx, "crossline") iline_trace0 = _segyio.fread_trace0(1, len(xline_idx), iline_stride, offsets, iline_idx, "inline") buf = numpy.zeros((len(iline_idx), samples), dtype=numpy.single) f.getline(xline_trace0, len(iline_idx), xline_stride, offsets, buf) > assert sum(sum(buf)) == approx(800.061169624, abs=1e-6) E assert np.float32(800.0612) == 800.061169624 ± 1.0e-06 E E comparison failed E Obtained: 800.0612182617188 E Expected: 800.061169624 ± 1.0e-06 test/segyio_c.py:543: AssertionError __________________________________ test_enum ___________________________________ def test_enum(): class TestEnum(Enum): ZERO = 0 ONE = 1 TWO = 2 assert TestEnum.ONE == 1 one = TestEnum(TestEnum.ONE) assert isinstance(one, TestEnum) assert str(one) == "ONE" assert int(one) == 1 assert one == 1 assert TestEnum.enums() == TestEnum.enums() > assert TestEnum.enums() == [0, 1, 2] E assert [ZERO, ONE, T...firstlineno__] == [0, 1, 2] E E Left contains one more item: __firstlineno__ E Use -v to get more diff test/segyioenum.py:18: AssertionError =========================== short test summary info ============================ FAILED test/segy.py::test_iline_slicing[open-kwargs0] - KeyError: slice(None,... FAILED test/segy.py::test_iline_slicing[open-kwargs1] - KeyError: slice(None,... FAILED test/segy.py::test_iline_slicing[open-kwargs2] - KeyError: slice(None,... FAILED test/segy.py::test_iline_slicing[open-kwargs3] - KeyError: slice(None,... FAILED test/segy.py::test_xline_slicing[open-kwargs0] - KeyError: slice(None,... FAILED test/segy.py::test_xline_slicing[open-kwargs1] - KeyError: slice(None,... FAILED test/segy.py::test_xline_slicing[open-kwargs2] - KeyError: slice(None,... FAILED test/segy.py::test_xline_slicing[open-kwargs3] - KeyError: slice(None,... FAILED test/segy.py::test_header_dict_methods[open-kwargs0] - AssertionError:... FAILED test/segy.py::test_header_dict_methods[open-kwargs1] - AssertionError:... FAILED test/segy.py::test_iline_slice_fixed_offset - KeyError: slice(None, No... FAILED test/segy.py::test_iline_slice_fixed_line - KeyError: slice(None, None... FAILED test/segy.py::test_iline_slice_all_offsets - KeyError: slice(None, Non... FAILED test/segy.py::test_gather_mode - KeyError: slice(1, 3, None) FAILED test/segy.py::test_line_generators - KeyError: slice(None, None, None) FAILED test/segy.py::test_fast_slow_dimensions[open-kwargs0] - KeyError: slic... FAILED test/segy.py::test_fast_slow_dimensions[open-kwargs1] - KeyError: slic... FAILED test/segy.py::test_fast_slow_dimensions[open-kwargs2] - KeyError: slic... FAILED test/segy.py::test_fast_slow_dimensions[open-kwargs3] - KeyError: slic... FAILED test/segy.py::test_read_header[open-kwargs0] - KeyError: 'No such fiel... FAILED test/segy.py::test_read_header[open-kwargs1] - KeyError: 'No such fiel... FAILED test/segy.py::test_read_header[open-kwargs2] - KeyError: 'No such fiel... FAILED test/segy.py::test_read_header[open-kwargs3] - KeyError: 'No such fiel... FAILED test/segy.py::test_read_header_seismic_unix - KeyError: 'No such field 3' FAILED test/segy.py::test_write_header - KeyError: 'No such field 3' FAILED test/segy.py::test_write_binary - KeyError: 'No such field 3' FAILED test/segy.py::test_write_header_update_atomic - KeyError: 'No such fie... FAILED test/segy.py::test_create_sgy - KeyError: 'No such field 3' FAILED test/segy.py::test_ref_new_file - KeyError: 'No such field 3' FAILED test/segy.py::test_create_sgy_truncate - KeyError: 'No such field 3' FAILED test/segy.py::test_create_sgy_shorter_traces - KeyError: 'No such fiel... FAILED test/segy.py::test_create_from_naught_prestack[lsb] - KeyError: slice(... FAILED test/segy.py::test_create_from_naught_prestack[msb] - KeyError: slice(... FAILED test/segy.py::test_create_sgy_skip_lines - KeyError: slice(None, None, 2) FAILED test/segy.py::test_segyio_types[open-kwargs0] - KeyError: slice(1, 3, ... FAILED test/segy.py::test_segyio_types[open-kwargs1] - KeyError: slice(1, 3, ... FAILED test/segy.py::test_segyio_types[open-kwargs2] - KeyError: slice(1, 3, ... FAILED test/segy.py::test_segyio_types[open-kwargs3] - KeyError: slice(1, 3, ... FAILED test/segyio_c.py::test_read_line - assert np.float32(800.0612) == 800.... FAILED test/segyio_c.py::test_read_line_mmap - assert np.float32(800.0612) ==... FAILED test/segyioenum.py::test_enum - assert [ZERO, ONE, T...firstlineno__] ... ======================= 41 failed, 144 passed in 25.19s ======================== E: pybuild pybuild:389: test: plugin distutils failed with: exit code=1: cd /build/reproducible-path/segyio-1.8.3/.pybuild/cpython3_3.13_segyio/build; python3.13 -m pytest -o python_files=test/* dh_auto_test: error: pybuild --test --test-pytest -i python{version} -p "3.12 3.13" "--test-args=-o python_files=test/*" returned exit code 13 make[1]: *** [debian/rules:41: override_dh_auto_install] Error 25 make[1]: Leaving directory '/build/reproducible-path/segyio-1.8.3' make: *** [debian/rules:19: binary] Error 2 dpkg-buildpackage: error: debian/rules binary subprocess returned exit status 2 I: copying local configuration E: Failed autobuilding of package I: unmounting dev/ptmx filesystem I: unmounting dev/pts filesystem I: unmounting dev/shm filesystem I: unmounting proc filesystem I: unmounting sys filesystem I: cleaning the build env I: removing directory /srv/workspace/pbuilder/18559 and its subdirectories