Mon May 27 23:51:12 UTC 2024 I: starting to build python-array-api-compat/unstable/amd64 on jenkins on '2024-05-27 23:50' Mon May 27 23:51:12 UTC 2024 I: The jenkins build log is/was available at https://jenkins.debian.net/userContent/reproducible/debian/build_service/amd64_22/8946/console.log Mon May 27 23:51:12 UTC 2024 I: Downloading source for unstable/python-array-api-compat=1.4-1 --2024-05-27 23:51:12-- http://deb.debian.org/debian/pool/main/p/python-array-api-compat/python-array-api-compat_1.4-1.dsc Connecting to 46.16.76.132:3128... connected. Proxy request sent, awaiting response... 200 OK Length: 2217 (2.2K) [text/prs.lines.tag] Saving to: ‘python-array-api-compat_1.4-1.dsc’ 0K .. 100% 287M=0s 2024-05-27 23:51:12 (287 MB/s) - ‘python-array-api-compat_1.4-1.dsc’ saved [2217/2217] Mon May 27 23:51:12 UTC 2024 I: python-array-api-compat_1.4-1.dsc -----BEGIN PGP SIGNED MESSAGE----- Hash: SHA512 Format: 3.0 (quilt) Source: python-array-api-compat Binary: python3-array-api-compat Architecture: all Version: 1.4-1 Maintainer: Debian Med Packaging Team Uploaders: Andreas Tille Homepage: https://data-apis.org/array-api-compat/ Standards-Version: 4.6.2 Vcs-Browser: https://salsa.debian.org/python-team/packages/python-array-api-compat Vcs-Git: https://salsa.debian.org/python-team/packages/python-array-api-compat.git Build-Depends: debhelper-compat (= 13), dh-python, python3-all, python3-pytest , python3-numpy , python3-torch Package-List: python3-array-api-compat deb python optional arch=all Checksums-Sha1: 350bdefa9074e3b894ff080ae72793cbd1772e35 33757 python-array-api-compat_1.4.orig.tar.gz 9b35e6d8a3e40fb19303dbc9d6379873930f0743 2388 python-array-api-compat_1.4-1.debian.tar.xz Checksums-Sha256: 3e8616fe5de61e39ea764a0f1974f1c69b23c19785d11279afa8f4e2ec254743 33757 python-array-api-compat_1.4.orig.tar.gz 2e9a27a7a82108cd139507c80d63d779725fa97e45cdfef3ff1441366d7c0d1e 2388 python-array-api-compat_1.4-1.debian.tar.xz Files: 8161f70e9813bb703a6815a411f1ded7 33757 python-array-api-compat_1.4.orig.tar.gz a2e1adc310cf6ef85c683c98a28853a8 2388 python-array-api-compat_1.4-1.debian.tar.xz -----BEGIN PGP SIGNATURE----- iQJFBAEBCgAvFiEE8fAHMgoDVUHwpmPKV4oElNHGRtEFAmVU+2sRHHRpbGxlQGRl Ymlhbi5vcmcACgkQV4oElNHGRtEwrw/+K1G9JuQ5YpVHMBg93k5PmkrZclp/pQ2K gHgJHDwmjDDBEuQQFew4ZyCajcSwD5xHfcIpGrMAOWmZMMiTAELPnnaZdK3T52Ox rO2Wu36Ow4DpeoQ9Rw7NKT6IXK+gy1lgMt/J9ongOfYvtHegrd3VCckn9EgtPqug 6iKStkZ7xZrru5CF8D7wkKFdVhPkOsq5oo1MMp2LDQjAiVMbX65/A71HnxQ7sd0D 1XYcjhAis4uqBFKOqlS8p6FJHG9uN7B68ewqw6HViXJJf1B4QPhRC6dkS2xz+WG3 CNOpb7JnRDlZyB5zQqLlrPAQPoLeMEaDblHPUmjhDj1EorYdNu8ZXFYDShAplAG9 1T1g1lM07tGTjsi8ujOcq/49b+8RSjFBPvHGSXMsD0LRalj4OFw3YFtYXgNbWa/v LVTZswNx2f8Bn36F+gsmwUixqdChldgiFzVx4G7mqdFAj3wwzYIPm9Yxm9Je6N26 DYVyn24LX61KB/45tNQItWTkEEBDUNlsawvtL3CJJtGkDNg9B5WHM8jVHWhrKf4H mBASU8BwslB8Y09EKwwJnPKIiBBLMro4rPcVyQ7tDfXXWpaIhrqOhgTMUWFpI5zR 0n5ZxeHiejRLVKfEDcvgiu9yjbcMRKIP5WrEGbK85t8AOzQDaOZjvfdvOVGLhZ4F +oUmmExL50g= =aQXf -----END PGP SIGNATURE----- Mon May 27 23:51:13 UTC 2024 I: Checking whether the package is not for us Mon May 27 23:51:13 UTC 2024 I: Starting 1st build on remote node ionos5-amd64.debian.net. Mon May 27 23:51:13 UTC 2024 I: Preparing to do remote build '1' on ionos5-amd64.debian.net. Mon May 27 23:55:05 UTC 2024 I: Deleting $TMPDIR on ionos5-amd64.debian.net. I: pbuilder: network access will be disabled during build I: Current time: Sun Jun 29 18:14:12 -12 2025 I: pbuilder-time-stamp: 1751264052 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 [python-array-api-compat_1.4-1.dsc] I: copying [./python-array-api-compat_1.4.orig.tar.gz] I: copying [./python-array-api-compat_1.4-1.debian.tar.xz] I: Extracting source gpgv: Signature made Wed Nov 15 17:10:03 2023 gpgv: using RSA key F1F007320A035541F0A663CA578A0494D1C646D1 gpgv: issuer "tille@debian.org" gpgv: Can't check signature: No public key dpkg-source: warning: cannot verify inline signature for ./python-array-api-compat_1.4-1.dsc: no acceptable signature found dpkg-source: info: extracting python-array-api-compat in python-array-api-compat-1.4 dpkg-source: info: unpacking python-array-api-compat_1.4.orig.tar.gz dpkg-source: info: unpacking python-array-api-compat_1.4-1.debian.tar.xz I: Not using root during the build. I: Installing the build-deps I: user script /srv/workspace/pbuilder/2605677/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='amd64' DEBIAN_FRONTEND='noninteractive' DEB_BUILD_OPTIONS='buildinfo=+all reproducible=+all parallel=42 ' DISTRIBUTION='unstable' HOME='/root' HOST_ARCH='amd64' IFS=' ' INVOCATION_ID='769bc656c2454f4c9456f813a1dbbf7d' 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='2605677' 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.dv5brQb8/pbuilderrc_NAGx --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.dv5brQb8/b1 --logfile b1/build.log python-array-api-compat_1.4-1.dsc' SUDO_GID='110' SUDO_UID='105' SUDO_USER='jenkins' TERM='unknown' TZ='/usr/share/zoneinfo/Etc/GMT+12' USER='root' _='/usr/bin/systemd-run' http_proxy='http://213.165.73.152:3128' I: uname -a Linux ionos5-amd64 6.7.12+bpo-amd64 #1 SMP PREEMPT_DYNAMIC Debian 6.7.12-1~bpo12+1 (2024-05-06) x86_64 GNU/Linux I: ls -l /bin lrwxrwxrwx 1 root root 7 Jun 29 14:05 /bin -> usr/bin I: user script /srv/workspace/pbuilder/2605677/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: amd64 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-compat (= 13), dh-python, python3-all, python3-pytest, python3-numpy, python3-torch dpkg-deb: building package 'pbuilder-satisfydepends-dummy' in '/tmp/satisfydepends-aptitude/pbuilder-satisfydepends-dummy.deb'. Selecting previously unselected package pbuilder-satisfydepends-dummy. (Reading database ... 19718 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-compat (= 13); however: Package debhelper-compat is not installed. pbuilder-satisfydepends-dummy depends on dh-python; however: Package dh-python is not installed. pbuilder-satisfydepends-dummy depends on python3-all; however: Package python3-all is not installed. pbuilder-satisfydepends-dummy depends on python3-pytest; however: Package python3-pytest is not installed. pbuilder-satisfydepends-dummy depends on python3-numpy; however: Package python3-numpy is not installed. pbuilder-satisfydepends-dummy depends on python3-torch; however: Package python3-torch 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} ca-certificates{a} debhelper{a} dh-autoreconf{a} dh-python{a} dh-strip-nondeterminism{a} dwz{a} file{a} fontconfig{a} fontconfig-config{a} fonts-dejavu-core{a} fonts-dejavu-mono{a} gdal-data{a} gdal-plugins{a} gettext{a} gettext-base{a} groff-base{a} ibverbs-providers{a} intltool-debian{a} iso-codes{a} libabsl20230802{a} libaec0{a} libamd-comgr2{a} libamdhip64-5{a} libaom3{a} libarchive-zip-perl{a} libarchive13t64{a} libarmadillo12{a} libarpack2t64{a} libavcodec60{a} libavformat60{a} libavif16{a} libavutil58{a} libbenchmark1.8.3{a} libblas3{a} libblosc1{a} libbluray2{a} libbrotli1{a} libbsd0{a} libcairo-gobject2{a} libcairo2{a} libcap2-bin{a} libcfitsio10t64{a} libcharls2{a} libchromaprint1{a} libcjson1{a} libcodec2-1.2{a} libcom-err2{a} libcpuinfo0{a} libcurl3t64-gnutls{a} libcurl4t64{a} libdatrie1{a} libdav1d7{a} libdbus-1-3{a} libdc1394-25{a} libde265-0{a} libdebhelper-perl{a} libdeflate0{a} libdnnl3{a} libdouble-conversion3{a} libdrm-amdgpu1{a} libdrm-common{a} libdrm-intel1{a} libdrm-nouveau2{a} libdrm-radeon1{a} libdrm2{a} libdw1t64{a} libedit2{a} libegl-mesa0{a} libegl1{a} libelf1t64{a} libevdev2{a} libevent-core-2.1-7t64{a} libevent-pthreads-2.1-7t64{a} libexif12{a} libexpat1{a} libfabric1{a} libfile-stripnondeterminism-perl{a} libfmt9{a} libfontconfig1{a} libfreetype6{a} libfreexl1{a} libfribidi0{a} libfyba0t64{a} libgav1-1{a} libgbm1{a} libgd3{a} libgdal35{a} libgdcm3.0t64{a} libgdk-pixbuf-2.0-0{a} libgdk-pixbuf2.0-common{a} libgeos-c1t64{a} libgeos3.12.1t64{a} libgeotiff5{a} libgfortran5{a} libgif7{a} libgl1{a} libgl1-mesa-dri{a} libglapi-mesa{a} libglib2.0-0t64{a} libgloo0{a} libglvnd0{a} libglx-mesa0{a} libglx0{a} libgme0{a} libgphoto2-6t64{a} libgphoto2-port12t64{a} libgraphite2-3{a} libgsm1{a} libgssapi-krb5-2{a} libgstreamer-plugins-base1.0-0{a} libgstreamer1.0-0{a} libgudev-1.0-0{a} libharfbuzz0b{a} libhdf4-0-alt{a} libhdf5-103-1t64{a} libhdf5-hl-100t64{a} libheif-plugin-dav1d{a} libheif-plugin-libde265{a} libheif1{a} libhiredis1.1.0{a} libhsa-runtime64-1{a} libhsakmt1{a} libhwloc-plugins{a} libhwloc15{a} libhwy1t64{a} libibverbs1{a} libice6{a} libicu72{a} libimath-3-1-29t64{a} libinput-bin{a} libinput10{a} libjbig0{a} libjpeg62-turbo{a} libjson-c5{a} libjxl0.7{a} libk5crypto3{a} libkeyutils1{a} libkmlbase1t64{a} libkmldom1t64{a} libkmlengine1t64{a} libkrb5-3{a} libkrb5support0{a} liblapack3{a} liblcms2-2{a} libldap-2.5-0{a} liblept5{a} liblerc4{a} libleveldb1d{a} libllvm17t64{a} liblmdb0{a} libltdl7{a} libmagic-mgc{a} libmagic1t64{a} libmariadb3{a} libmbedcrypto7t64{a} libmd4c0{a} libminizip1t64{a} libmp3lame0{a} libmpg123-0t64{a} libmtdev1t64{a} libmunge2{a} libnetcdf19t64{a} libnghttp2-14{a} libnl-3-200{a} libnl-route-3-200{a} libnorm1t64{a} libnspr4{a} libnss3{a} libnuma1{a} libodbc2{a} libodbcinst2{a} libogdi4.1{a} libogg0{a} libonnx1t64{a} libopencv-calib3d406t64{a} libopencv-contrib406t64{a} libopencv-core406t64{a} libopencv-dnn406t64{a} libopencv-features2d406t64{a} libopencv-flann406t64{a} libopencv-highgui406t64{a} libopencv-imgcodecs406t64{a} libopencv-imgproc406t64{a} libopencv-ml406t64{a} libopencv-objdetect406t64{a} libopencv-video406t64{a} libopencv-videoio406t64{a} libopenexr-3-1-30{a} libopengl0{a} libopenjp2-7{a} libopenmpi3t64{a} libopenmpt0t64{a} libopus0{a} liborc-0.4-0t64{a} libpango-1.0-0{a} libpangocairo-1.0-0{a} libpangoft2-1.0-0{a} libpciaccess0{a} libpcre2-16-0{a} libpgm-5.3-0t64{a} libpipeline1{a} libpixman-1-0{a} libpmix2t64{a} libpng16-16t64{a} libpoppler134{a} libpq5{a} libproj25{a} libprotobuf32t64{a} libpsl5t64{a} libpsm-infinipath1{a} libpsm2-2{a} libpthreadpool0{a} libpython3-stdlib{a} libpython3.11-minimal{a} libpython3.11-stdlib{a} libpython3.12-minimal{a} libpython3.12-stdlib{a} libqhull-r8.0{a} libqt5core5t64{a} libqt5dbus5t64{a} libqt5gui5t64{a} libqt5network5t64{a} libqt5opengl5t64{a} libqt5test5t64{a} libqt5widgets5t64{a} librabbitmq4{a} librav1e0{a} libraw1394-11{a} librdmacm1t64{a} libreadline8t64{a} librist4{a} librsvg2-2{a} librtmp1{a} librttopo1{a} libsasl2-2{a} libsasl2-modules-db{a} libsensors-config{a} libsensors5{a} libsharpyuv0{a} libshine3{a} libsleef3{a} libsm6{a} libsnappy1v5{a} libsocket++1{a} libsodium23{a} libsoxr0{a} libspatialite8t64{a} libspeex1{a} libsrt1.5-gnutls{a} libssh-gcrypt-4{a} libssh2-1t64{a} libsuperlu6{a} libsvtav1enc1d1{a} libswresample4{a} libswscale7{a} libsz2{a} libtbb12{a} libtbbbind-2-5{a} libtbbmalloc2{a} libtensorpipe0{a} libtesseract5{a} libthai-data{a} libthai0{a} libtheora0{a} libtiff6{a} libtirpc-common{a} libtirpc3t64{a} libtool{a} libtorch-test{a} libtorch2.1{a} libtwolame0{a} libuchardet0{a} libucx0{a} libudfread0{a} libunwind8{a} liburiparser1{a} libusb-1.0-0{a} libuv1t64{a} libva-drm2{a} libva-x11-2{a} libva2{a} libvdpau1{a} libvorbis0a{a} libvorbisenc2{a} libvorbisfile3{a} libvpl2{a} libvpx9{a} libvulkan1{a} libwacom-common{a} libwacom9{a} libwayland-client0{a} libwayland-server0{a} libwebp7{a} libwebpmux3{a} libx11-6{a} libx11-data{a} libx11-xcb1{a} libx264-164{a} libx265-199{a} libxau6{a} libxcb-dri2-0{a} libxcb-dri3-0{a} libxcb-glx0{a} libxcb-icccm4{a} libxcb-image0{a} libxcb-keysyms1{a} libxcb-present0{a} libxcb-randr0{a} libxcb-render-util0{a} libxcb-render0{a} libxcb-shape0{a} libxcb-shm0{a} libxcb-sync1{a} libxcb-util1{a} libxcb-xfixes0{a} libxcb-xinerama0{a} libxcb-xinput0{a} libxcb-xkb1{a} libxcb1{a} libxdmcp6{a} libxerces-c3.2t64{a} libxext6{a} libxfixes3{a} libxkbcommon-x11-0{a} libxkbcommon0{a} libxml2{a} libxnnpack0{a} libxnvctrl0{a} libxpm4{a} libxrender1{a} libxshmfence1{a} libxvidcore4{a} libxxf86vm1{a} libyaml-0-2{a} libyuv0{a} libz3-4{a} libzmq5{a} libzvbi-common{a} libzvbi0t64{a} m4{a} man-db{a} mariadb-common{a} media-types{a} mysql-common{a} netbase{a} ocl-icd-libopencl1{a} openssl{a} po-debconf{a} proj-data{a} python3{a} python3-all{a} python3-astunparse{a} python3-attr{a} python3-certifi{a} python3-chardet{a} python3-charset-normalizer{a} python3-dateutil{a} python3-distutils{a} python3-expecttest{a} python3-filelock{a} python3-fsspec{a} python3-hypothesis{a} python3-idna{a} python3-iniconfig{a} python3-jinja2{a} python3-lib2to3{a} python3-markupsafe{a} python3-minimal{a} python3-mpmath{a} python3-networkx{a} python3-numpy{a} python3-packaging{a} python3-pkg-resources{a} python3-pluggy{a} python3-psutil{a} python3-pytest{a} python3-requests{a} python3-setuptools{a} python3-six{a} python3-sortedcontainers{a} python3-sympy{a} python3-torch{a} python3-typing-extensions{a} python3-urllib3{a} python3-yaml{a} python3.11{a} python3.11-minimal{a} python3.12{a} python3.12-minimal{a} readline-common{a} sensible-utils{a} shared-mime-info{a} tzdata{a} unixodbc-common{a} x11-common{a} xkb-data{a} The following packages are RECOMMENDED but will NOT be installed: curl dbus git gstreamer1.0-plugins-base i965-va-driver intel-media-va-driver isympy-common krb5-locales libaacs0 libarchive-cpio-perl libgdk-pixbuf2.0-bin libglib2.0-data libgphoto2-l10n libheif-plugin-aomenc libheif-plugin-x265 libldap-common libltdl-dev libmail-sendmail-perl libpam-cap libqt5svg5 librsvg2-common libsasl2-modules libtorch-dev libvdpau-va-gl1 lynx mesa-va-drivers mesa-vdpau-drivers mesa-vulkan-drivers ninja-build poppler-data proj-bin publicsuffix pybind11-dev python3-babel python3-click python3-dask python3-distributed python3-dropbox python3-fusepy python3-gdal python3-libarchive-c python3-matplotlib python3-paramiko python3-pil python3-pydot python3-pygit2 python3-pygments python3-pygraphviz python3-scipy qt5-gtk-platformtheme qttranslations5-l10n qtwayland5 va-driver-all vdpau-driver-all wget xdg-user-dirs 0 packages upgraded, 401 newly installed, 0 to remove and 0 not upgraded. Need to get 325 MB of archives. After unpacking 1410 MB will be used. Writing extended state information... Get: 1 http://deb.debian.org/debian unstable/main amd64 libpython3.11-minimal amd64 3.11.9-1 [817 kB] Get: 2 http://deb.debian.org/debian unstable/main amd64 libexpat1 amd64 2.6.2-1 [103 kB] Get: 3 http://deb.debian.org/debian unstable/main amd64 python3.11-minimal amd64 3.11.9-1 [1879 kB] Get: 4 http://deb.debian.org/debian unstable/main amd64 python3-minimal amd64 3.11.8-1 [26.3 kB] Get: 5 http://deb.debian.org/debian unstable/main amd64 media-types all 10.1.0 [26.9 kB] Get: 6 http://deb.debian.org/debian unstable/main amd64 netbase all 6.4 [12.8 kB] Get: 7 http://deb.debian.org/debian unstable/main amd64 tzdata all 2024a-4 [255 kB] Get: 8 http://deb.debian.org/debian unstable/main amd64 readline-common all 8.2-4 [69.3 kB] Get: 9 http://deb.debian.org/debian unstable/main amd64 libreadline8t64 amd64 8.2-4 [167 kB] Get: 10 http://deb.debian.org/debian unstable/main amd64 libpython3.11-stdlib amd64 3.11.9-1 [1792 kB] Get: 11 http://deb.debian.org/debian unstable/main amd64 python3.11 amd64 3.11.9-1 [602 kB] Get: 12 http://deb.debian.org/debian unstable/main amd64 libpython3-stdlib amd64 3.11.8-1 [9332 B] Get: 13 http://deb.debian.org/debian unstable/main amd64 python3 amd64 3.11.8-1 [27.4 kB] Get: 14 http://deb.debian.org/debian unstable/main amd64 libpython3.12-minimal amd64 3.12.3-1 [809 kB] Get: 15 http://deb.debian.org/debian unstable/main amd64 python3.12-minimal amd64 3.12.3-1 [2139 kB] Get: 16 http://deb.debian.org/debian unstable/main amd64 sensible-utils all 0.0.22 [22.4 kB] Get: 17 http://deb.debian.org/debian unstable/main amd64 openssl amd64 3.2.1-3 [1360 kB] Get: 18 http://deb.debian.org/debian unstable/main amd64 ca-certificates all 20240203 [158 kB] Get: 19 http://deb.debian.org/debian unstable/main amd64 libmagic-mgc amd64 1:5.45-3 [314 kB] Get: 20 http://deb.debian.org/debian unstable/main amd64 libmagic1t64 amd64 1:5.45-3 [105 kB] Get: 21 http://deb.debian.org/debian unstable/main amd64 file amd64 1:5.45-3 [42.9 kB] Get: 22 http://deb.debian.org/debian unstable/main amd64 gettext-base amd64 0.21-14+b1 [161 kB] Get: 23 http://deb.debian.org/debian unstable/main amd64 libuchardet0 amd64 0.0.8-1+b1 [68.8 kB] Get: 24 http://deb.debian.org/debian unstable/main amd64 groff-base amd64 1.23.0-4 [1180 kB] Get: 25 http://deb.debian.org/debian unstable/main amd64 bsdextrautils amd64 2.40.1-2 [94.2 kB] Get: 26 http://deb.debian.org/debian unstable/main amd64 libpipeline1 amd64 1.5.7-2 [38.0 kB] Get: 27 http://deb.debian.org/debian unstable/main amd64 man-db amd64 2.12.1-1 [1411 kB] Get: 28 http://deb.debian.org/debian unstable/main amd64 m4 amd64 1.4.19-4 [287 kB] Get: 29 http://deb.debian.org/debian unstable/main amd64 autoconf all 2.71-3 [332 kB] Get: 30 http://deb.debian.org/debian unstable/main amd64 autotools-dev all 20220109.1 [51.6 kB] Get: 31 http://deb.debian.org/debian unstable/main amd64 automake all 1:1.16.5-1.3 [823 kB] Get: 32 http://deb.debian.org/debian unstable/main amd64 autopoint all 0.21-14 [496 kB] Get: 33 http://deb.debian.org/debian unstable/main amd64 libdebhelper-perl all 13.15.3 [88.0 kB] Get: 34 http://deb.debian.org/debian unstable/main amd64 libtool all 2.4.7-7 [517 kB] Get: 35 http://deb.debian.org/debian unstable/main amd64 dh-autoreconf all 20 [17.1 kB] Get: 36 http://deb.debian.org/debian unstable/main amd64 libarchive-zip-perl all 1.68-1 [104 kB] Get: 37 http://deb.debian.org/debian unstable/main amd64 libfile-stripnondeterminism-perl all 1.14.0-1 [19.5 kB] Get: 38 http://deb.debian.org/debian unstable/main amd64 dh-strip-nondeterminism all 1.14.0-1 [8448 B] Get: 39 http://deb.debian.org/debian unstable/main amd64 libelf1t64 amd64 0.191-1+b1 [189 kB] Get: 40 http://deb.debian.org/debian unstable/main amd64 dwz amd64 0.15-1+b1 [110 kB] Get: 41 http://deb.debian.org/debian unstable/main amd64 libicu72 amd64 72.1-4+b1 [9395 kB] Get: 42 http://deb.debian.org/debian unstable/main amd64 libxml2 amd64 2.12.7+dfsg-2 [670 kB] Get: 43 http://deb.debian.org/debian unstable/main amd64 gettext amd64 0.21-14+b1 [1301 kB] Get: 44 http://deb.debian.org/debian unstable/main amd64 intltool-debian all 0.35.0+20060710.6 [22.9 kB] Get: 45 http://deb.debian.org/debian unstable/main amd64 po-debconf all 1.0.21+nmu1 [248 kB] Get: 46 http://deb.debian.org/debian unstable/main amd64 debhelper all 13.15.3 [901 kB] Get: 47 http://deb.debian.org/debian unstable/main amd64 python3-pkg-resources all 68.1.2-2 [241 kB] Get: 48 http://deb.debian.org/debian unstable/main amd64 python3-lib2to3 all 3.12.3-3.1 [77.7 kB] Get: 49 http://deb.debian.org/debian unstable/main amd64 python3-distutils all 3.12.3-3.1 [131 kB] Get: 50 http://deb.debian.org/debian unstable/main amd64 python3-setuptools all 68.1.2-2 [468 kB] Get: 51 http://deb.debian.org/debian unstable/main amd64 dh-python all 6.20240422 [107 kB] Get: 52 http://deb.debian.org/debian unstable/main amd64 libbrotli1 amd64 1.1.0-2+b3 [305 kB] Get: 53 http://deb.debian.org/debian unstable/main amd64 libpng16-16t64 amd64 1.6.43-5 [278 kB] Get: 54 http://deb.debian.org/debian unstable/main amd64 libfreetype6 amd64 2.13.2+dfsg-1+b4 [439 kB] Get: 55 http://deb.debian.org/debian unstable/main amd64 fonts-dejavu-mono all 2.37-8 [489 kB] Get: 56 http://deb.debian.org/debian unstable/main amd64 fonts-dejavu-core all 2.37-8 [840 kB] Get: 57 http://deb.debian.org/debian unstable/main amd64 fontconfig-config amd64 2.15.0-1.1 [317 kB] Get: 58 http://deb.debian.org/debian unstable/main amd64 libfontconfig1 amd64 2.15.0-1.1 [388 kB] Get: 59 http://deb.debian.org/debian unstable/main amd64 fontconfig amd64 2.15.0-1.1 [463 kB] Get: 60 http://deb.debian.org/debian unstable/main amd64 gdal-data all 3.9.0+dfsg-1 [557 kB] Get: 61 http://deb.debian.org/debian unstable/main amd64 gdal-plugins amd64 3.9.0+dfsg-1 [335 kB] Get: 62 http://deb.debian.org/debian unstable/main amd64 libnl-3-200 amd64 3.7.0-0.3 [59.0 kB] Get: 63 http://deb.debian.org/debian unstable/main amd64 libnl-route-3-200 amd64 3.7.0-0.3 [181 kB] Get: 64 http://deb.debian.org/debian unstable/main amd64 libibverbs1 amd64 50.0-2+b1 [61.7 kB] Get: 65 http://deb.debian.org/debian unstable/main amd64 ibverbs-providers amd64 50.0-2+b1 [342 kB] Get: 66 http://deb.debian.org/debian unstable/main amd64 iso-codes all 4.16.0-1 [2936 kB] Get: 67 http://deb.debian.org/debian unstable/main amd64 libabsl20230802 amd64 20230802.1-4 [464 kB] Get: 68 http://deb.debian.org/debian unstable/main amd64 libaec0 amd64 1.1.3-1 [23.4 kB] Get: 69 http://deb.debian.org/debian unstable/main amd64 libbsd0 amd64 0.12.2-1 [131 kB] Get: 70 http://deb.debian.org/debian unstable/main amd64 libedit2 amd64 3.1-20240517-1 [93.3 kB] Get: 71 http://deb.debian.org/debian unstable/main amd64 libz3-4 amd64 4.8.12-3.1+b2 [7346 kB] Get: 72 http://deb.debian.org/debian unstable/main amd64 libllvm17t64 amd64 1:17.0.6-12 [23.7 MB] Get: 73 http://deb.debian.org/debian unstable/main amd64 libamd-comgr2 amd64 6.0+git20231212.4510c28+dfsg-3+b1 [13.0 MB] Get: 74 http://deb.debian.org/debian unstable/main amd64 libdrm-common all 2.4.120-2 [7688 B] Get: 75 http://deb.debian.org/debian unstable/main amd64 libdrm2 amd64 2.4.120-2 [38.1 kB] Get: 76 http://deb.debian.org/debian unstable/main amd64 libdrm-amdgpu1 amd64 2.4.120-2 [21.4 kB] Get: 77 http://deb.debian.org/debian unstable/main amd64 libnuma1 amd64 2.0.18-1 [21.9 kB] Get: 78 http://deb.debian.org/debian unstable/main amd64 libhsakmt1 amd64 5.7.0-1 [60.7 kB] Get: 79 http://deb.debian.org/debian unstable/main amd64 libhsa-runtime64-1 amd64 5.7.1-2 [504 kB] Get: 80 http://deb.debian.org/debian unstable/main amd64 libamdhip64-5 amd64 5.7.1-3 [8760 kB] Get: 81 http://deb.debian.org/debian unstable/main amd64 libaom3 amd64 3.8.2-2 [1869 kB] Get: 82 http://deb.debian.org/debian unstable/main amd64 libarchive13t64 amd64 3.7.2-2 [346 kB] Get: 83 http://deb.debian.org/debian unstable/main amd64 libblas3 amd64 3.12.0-3 [148 kB] Get: 84 http://deb.debian.org/debian unstable/main amd64 libgfortran5 amd64 14.1.0-1 [836 kB] Get: 85 http://deb.debian.org/debian unstable/main amd64 liblapack3 amd64 3.12.0-3 [2407 kB] Get: 86 http://deb.debian.org/debian unstable/main amd64 libarpack2t64 amd64 3.9.1-1.1+b1 [104 kB] Get: 87 http://deb.debian.org/debian unstable/main amd64 libsuperlu6 amd64 6.0.1+dfsg1-1+b1 [170 kB] Get: 88 http://deb.debian.org/debian unstable/main amd64 libarmadillo12 amd64 1:12.8.2+dfsg-1+b1 [102 kB] Get: 89 http://deb.debian.org/debian unstable/main amd64 libva2 amd64 2.21.0-1 [72.3 kB] Get: 90 http://deb.debian.org/debian unstable/main amd64 libva-drm2 amd64 2.21.0-1 [18.2 kB] Get: 91 http://deb.debian.org/debian unstable/main amd64 libxau6 amd64 1:1.0.9-1+b1 [18.1 kB] Get: 92 http://deb.debian.org/debian unstable/main amd64 libxdmcp6 amd64 1:1.1.2-3+b1 [24.3 kB] Get: 93 http://deb.debian.org/debian unstable/main amd64 libxcb1 amd64 1.17.0-2 [144 kB] Get: 94 http://deb.debian.org/debian unstable/main amd64 libx11-data all 2:1.8.7-1 [328 kB] Get: 95 http://deb.debian.org/debian unstable/main amd64 libx11-6 amd64 2:1.8.7-1+b1 [799 kB] Get: 96 http://deb.debian.org/debian unstable/main amd64 libx11-xcb1 amd64 2:1.8.7-1+b1 [232 kB] Get: 97 http://deb.debian.org/debian unstable/main amd64 libxcb-dri3-0 amd64 1.17.0-2 [107 kB] Get: 98 http://deb.debian.org/debian unstable/main amd64 libxext6 amd64 2:1.3.4-1+b1 [52.9 kB] Get: 99 http://deb.debian.org/debian unstable/main amd64 libxfixes3 amd64 1:6.0.0-2+b1 [20.3 kB] Get: 100 http://deb.debian.org/debian unstable/main amd64 libva-x11-2 amd64 2.21.0-1 [23.0 kB] Get: 101 http://deb.debian.org/debian unstable/main amd64 libvdpau1 amd64 1.5-3 [26.6 kB] Get: 102 http://deb.debian.org/debian unstable/main amd64 libpciaccess0 amd64 0.17-3+b1 [51.9 kB] Get: 103 http://deb.debian.org/debian unstable/main amd64 libdrm-intel1 amd64 2.4.120-2 [62.7 kB] Get: 104 http://deb.debian.org/debian unstable/main amd64 libwayland-client0 amd64 1.22.0-2.1+b1 [25.7 kB] Get: 105 http://deb.debian.org/debian unstable/main amd64 libvpl2 amd64 2023.3.0-1 [99.1 kB] Get: 106 http://deb.debian.org/debian unstable/main amd64 ocl-icd-libopencl1 amd64 2.3.2-1+b1 [40.3 kB] Get: 107 http://deb.debian.org/debian unstable/main amd64 libavutil58 amd64 7:6.1.1-4+b1 [393 kB] Get: 108 http://deb.debian.org/debian unstable/main amd64 libpixman-1-0 amd64 0.42.2-1+b1 [556 kB] Get: 109 http://deb.debian.org/debian unstable/main amd64 libxcb-render0 amd64 1.17.0-2 [115 kB] Get: 110 http://deb.debian.org/debian unstable/main amd64 libxcb-shm0 amd64 1.17.0-2 [105 kB] Get: 111 http://deb.debian.org/debian unstable/main amd64 libxrender1 amd64 1:0.9.10-1.1+b1 [27.9 kB] Get: 112 http://deb.debian.org/debian unstable/main amd64 libcairo2 amd64 1.18.0-3+b1 [531 kB] Get: 113 http://deb.debian.org/debian unstable/main amd64 libcodec2-1.2 amd64 1.2.0-2+b1 [8176 kB] Get: 114 http://deb.debian.org/debian unstable/main amd64 libdav1d7 amd64 1.4.2-1 [551 kB] Get: 115 http://deb.debian.org/debian unstable/main amd64 libglib2.0-0t64 amd64 2.80.2-2 [1485 kB] Get: 116 http://deb.debian.org/debian unstable/main amd64 libgsm1 amd64 1.0.22-1+b1 [28.7 kB] Get: 117 http://deb.debian.org/debian unstable/main amd64 libhwy1t64 amd64 1.1.0-1 [539 kB] Get: 118 http://deb.debian.org/debian unstable/main amd64 liblcms2-2 amd64 2.14-2+b1 [154 kB] Get: 119 http://deb.debian.org/debian unstable/main amd64 libjxl0.7 amd64 0.7.0-10.2+b3 [1068 kB] Get: 120 http://deb.debian.org/debian unstable/main amd64 libmp3lame0 amd64 3.100-6+b2 [361 kB] Get: 121 http://deb.debian.org/debian unstable/main amd64 libopenjp2-7 amd64 2.5.0-2+b3 [190 kB] Get: 122 http://deb.debian.org/debian unstable/main amd64 libopus0 amd64 1.4-1+b1 [198 kB] Get: 123 http://deb.debian.org/debian unstable/main amd64 librav1e0 amd64 0.7.1-2 [900 kB] Get: 124 http://deb.debian.org/debian unstable/main amd64 libcairo-gobject2 amd64 1.18.0-3+b1 [129 kB] Get: 125 http://deb.debian.org/debian unstable/main amd64 libgdk-pixbuf2.0-common all 2.42.12+dfsg-1 [311 kB] Get: 126 http://deb.debian.org/debian unstable/main amd64 shared-mime-info amd64 2.4-4 [759 kB] Get: 127 http://deb.debian.org/debian unstable/main amd64 libjpeg62-turbo amd64 1:2.1.5-3 [167 kB] Get: 128 http://deb.debian.org/debian unstable/main amd64 libdeflate0 amd64 1.20-1 [46.0 kB] Get: 129 http://deb.debian.org/debian unstable/main amd64 libjbig0 amd64 2.1-6.1+b1 [32.0 kB] Get: 130 http://deb.debian.org/debian unstable/main amd64 liblerc4 amd64 4.0.0+ds-4+b1 [171 kB] Get: 131 http://deb.debian.org/debian unstable/main amd64 libsharpyuv0 amd64 1.4.0-0.1 [113 kB] Get: 132 http://deb.debian.org/debian unstable/main amd64 libwebp7 amd64 1.4.0-0.1 [311 kB] Get: 133 http://deb.debian.org/debian unstable/main amd64 libtiff6 amd64 4.5.1+git230720-4 [322 kB] Get: 134 http://deb.debian.org/debian unstable/main amd64 libgdk-pixbuf-2.0-0 amd64 2.42.12+dfsg-1 [139 kB] Get: 135 http://deb.debian.org/debian unstable/main amd64 libfribidi0 amd64 1.0.13-3+b1 [71.4 kB] Get: 136 http://deb.debian.org/debian unstable/main amd64 libgraphite2-3 amd64 1.3.14-2 [74.9 kB] Get: 137 http://deb.debian.org/debian unstable/main amd64 libharfbuzz0b amd64 8.3.0-2+b1 [2214 kB] Get: 138 http://deb.debian.org/debian unstable/main amd64 libthai-data all 0.1.29-2 [168 kB] Get: 139 http://deb.debian.org/debian unstable/main amd64 libdatrie1 amd64 0.2.13-3 [37.7 kB] Get: 140 http://deb.debian.org/debian unstable/main amd64 libthai0 amd64 0.1.29-2 [49.1 kB] Get: 141 http://deb.debian.org/debian unstable/main amd64 libpango-1.0-0 amd64 1.52.2+ds-1 [218 kB] Get: 142 http://deb.debian.org/debian unstable/main amd64 libpangoft2-1.0-0 amd64 1.52.2+ds-1 [48.1 kB] Get: 143 http://deb.debian.org/debian unstable/main amd64 libpangocairo-1.0-0 amd64 1.52.2+ds-1 [35.0 kB] Get: 144 http://deb.debian.org/debian unstable/main amd64 librsvg2-2 amd64 2.58.0+dfsg-1 [1937 kB] Get: 145 http://deb.debian.org/debian unstable/main amd64 libshine3 amd64 3.1.1-2+b1 [22.8 kB] Get: 146 http://deb.debian.org/debian unstable/main amd64 libsnappy1v5 amd64 1.2.1-1 [29.1 kB] Get: 147 http://deb.debian.org/debian unstable/main amd64 libspeex1 amd64 1.2.1-2+b1 [56.4 kB] Get: 148 http://deb.debian.org/debian unstable/main amd64 libsvtav1enc1d1 amd64 1.7.0+dfsg-2+b1 [2169 kB] Get: 149 http://deb.debian.org/debian unstable/main amd64 libsoxr0 amd64 0.1.3-4+b1 [79.6 kB] Get: 150 http://deb.debian.org/debian unstable/main amd64 libswresample4 amd64 7:6.1.1-4+b1 [92.1 kB] Get: 151 http://deb.debian.org/debian unstable/main amd64 libogg0 amd64 1.3.5-3+b1 [23.7 kB] Get: 152 http://deb.debian.org/debian unstable/main amd64 libtheora0 amd64 1.1.1+dfsg.1-16.1+b2 [154 kB] Get: 153 http://deb.debian.org/debian unstable/main amd64 libtwolame0 amd64 0.4.0-2+b1 [51.0 kB] Get: 154 http://deb.debian.org/debian unstable/main amd64 libvorbis0a amd64 1.3.7-2 [89.7 kB] Get: 155 http://deb.debian.org/debian unstable/main amd64 libvorbisenc2 amd64 1.3.7-2 [75.9 kB] Get: 156 http://deb.debian.org/debian unstable/main amd64 libvpx9 amd64 1.14.0-2 [1076 kB] Get: 157 http://deb.debian.org/debian unstable/main amd64 libwebpmux3 amd64 1.4.0-0.1 [123 kB] Get: 158 http://deb.debian.org/debian unstable/main amd64 libx264-164 amd64 2:0.164.3108+git31e19f9-1 [551 kB] Get: 159 http://deb.debian.org/debian unstable/main amd64 libx265-199 amd64 3.5-2+b1 [1150 kB] Get: 160 http://deb.debian.org/debian unstable/main amd64 libxvidcore4 amd64 2:1.3.7-1+b1 [250 kB] Get: 161 http://deb.debian.org/debian unstable/main amd64 libzvbi-common all 0.2.42-2 [70.4 kB] Get: 162 http://deb.debian.org/debian unstable/main amd64 libzvbi0t64 amd64 0.2.42-2 [275 kB] Get: 163 http://deb.debian.org/debian unstable/main amd64 libavcodec60 amd64 7:6.1.1-4+b1 [5404 kB] Get: 164 http://deb.debian.org/debian unstable/main amd64 libudfread0 amd64 1.1.2-1+b1 [17.6 kB] Get: 165 http://deb.debian.org/debian unstable/main amd64 libbluray2 amd64 1:1.3.4-1+b1 [138 kB] Get: 166 http://deb.debian.org/debian unstable/main amd64 libchromaprint1 amd64 1.5.1-5 [42.2 kB] Get: 167 http://deb.debian.org/debian unstable/main amd64 libgme0 amd64 0.6.3-7+b1 [130 kB] Get: 168 http://deb.debian.org/debian unstable/main amd64 libmpg123-0t64 amd64 1.32.6-3 [148 kB] Get: 169 http://deb.debian.org/debian unstable/main amd64 libvorbisfile3 amd64 1.3.7-2 [21.1 kB] Get: 170 http://deb.debian.org/debian unstable/main amd64 libopenmpt0t64 amd64 0.7.7-1 [812 kB] Get: 171 http://deb.debian.org/debian unstable/main amd64 librabbitmq4 amd64 0.11.0-1+b2 [41.9 kB] Get: 172 http://deb.debian.org/debian unstable/main amd64 libcjson1 amd64 1.7.17-2 [29.0 kB] Get: 173 http://deb.debian.org/debian unstable/main amd64 libmbedcrypto7t64 amd64 2.28.8-1 [284 kB] Get: 174 http://deb.debian.org/debian unstable/main amd64 librist4 amd64 0.2.10+dfsg-2 [71.6 kB] Get: 175 http://deb.debian.org/debian unstable/main amd64 libsrt1.5-gnutls amd64 1.5.3-1+b2 [327 kB] Get: 176 http://deb.debian.org/debian unstable/main amd64 libkrb5support0 amd64 1.20.1-6+b1 [33.3 kB] Get: 177 http://deb.debian.org/debian unstable/main amd64 libcom-err2 amd64 1.47.1-1 [22.9 kB] Get: 178 http://deb.debian.org/debian unstable/main amd64 libk5crypto3 amd64 1.20.1-6+b1 [79.8 kB] Get: 179 http://deb.debian.org/debian unstable/main amd64 libkeyutils1 amd64 1.6.3-3 [8952 B] Get: 180 http://deb.debian.org/debian unstable/main amd64 libkrb5-3 amd64 1.20.1-6+b1 [333 kB] Get: 181 http://deb.debian.org/debian unstable/main amd64 libgssapi-krb5-2 amd64 1.20.1-6+b1 [135 kB] Get: 182 http://deb.debian.org/debian unstable/main amd64 libssh-gcrypt-4 amd64 0.10.6-2+b1 [220 kB] Get: 183 http://deb.debian.org/debian unstable/main amd64 libnorm1t64 amd64 1.5.9+dfsg-3.1 [221 kB] Get: 184 http://deb.debian.org/debian unstable/main amd64 libpgm-5.3-0t64 amd64 5.3.128~dfsg-2.1 [161 kB] Get: 185 http://deb.debian.org/debian unstable/main amd64 libsodium23 amd64 1.0.18-1+b1 [163 kB] Get: 186 http://deb.debian.org/debian unstable/main amd64 libzmq5 amd64 4.3.5-1+b2 [281 kB] Get: 187 http://deb.debian.org/debian unstable/main amd64 libavformat60 amd64 7:6.1.1-4+b1 [1120 kB] Get: 188 http://deb.debian.org/debian unstable/main amd64 libgav1-1 amd64 0.19.0-2+b1 [351 kB] Get: 189 http://deb.debian.org/debian unstable/main amd64 libyuv0 amd64 0.0.1888.20240509-4 [170 kB] Get: 190 http://deb.debian.org/debian unstable/main amd64 libavif16 amd64 1.0.4-3 [106 kB] Get: 191 http://deb.debian.org/debian unstable/main amd64 libbenchmark1.8.3 amd64 1.8.3-3 [128 kB] Get: 192 http://deb.debian.org/debian unstable/main amd64 libblosc1 amd64 1.21.5+ds-1+b1 [49.6 kB] Get: 193 http://deb.debian.org/debian unstable/main amd64 libcap2-bin amd64 1:2.66-5 [34.8 kB] Get: 194 http://deb.debian.org/debian unstable/main amd64 libsasl2-modules-db amd64 2.1.28+dfsg1-6 [19.5 kB] Get: 195 http://deb.debian.org/debian unstable/main amd64 libsasl2-2 amd64 2.1.28+dfsg1-6 [56.9 kB] Get: 196 http://deb.debian.org/debian unstable/main amd64 libldap-2.5-0 amd64 2.5.17+dfsg-1 [186 kB] Get: 197 http://deb.debian.org/debian unstable/main amd64 libnghttp2-14 amd64 1.61.0-1+b1 [75.6 kB] Get: 198 http://deb.debian.org/debian unstable/main amd64 libpsl5t64 amd64 0.21.2-1.1 [56.8 kB] Get: 199 http://deb.debian.org/debian unstable/main amd64 librtmp1 amd64 2.4+20151223.gitfa8646d.1-2+b4 [58.5 kB] Get: 200 http://deb.debian.org/debian unstable/main amd64 libssh2-1t64 amd64 1.11.0-5 [215 kB] Get: 201 http://deb.debian.org/debian unstable/main amd64 libcurl3t64-gnutls amd64 8.8.0-1 [434 kB] Get: 202 http://deb.debian.org/debian unstable/main amd64 libcfitsio10t64 amd64 4.3.1-1.1+b1 [566 kB] Get: 203 http://deb.debian.org/debian unstable/main amd64 libcharls2 amd64 2.4.2-2+b1 [87.8 kB] Get: 204 http://deb.debian.org/debian unstable/main amd64 libcpuinfo0 amd64 0.0~git20230113.6481e8b-2 [21.8 kB] Get: 205 http://deb.debian.org/debian unstable/main amd64 libcurl4t64 amd64 8.8.0-1 [441 kB] Get: 206 http://deb.debian.org/debian unstable/main amd64 libdbus-1-3 amd64 1.14.10-4+b1 [203 kB] Get: 207 http://deb.debian.org/debian unstable/main amd64 libraw1394-11 amd64 2.1.2-2+b1 [38.9 kB] Get: 208 http://deb.debian.org/debian unstable/main amd64 libusb-1.0-0 amd64 2:1.0.27-1 [57.8 kB] Get: 209 http://deb.debian.org/debian unstable/main amd64 libdc1394-25 amd64 2.2.6-4+b1 [109 kB] Get: 210 http://deb.debian.org/debian unstable/main amd64 libde265-0 amd64 1.0.15-1+b1 [187 kB] Get: 211 http://deb.debian.org/debian unstable/main amd64 libdnnl3 amd64 3.1.1-2 [6368 kB] Get: 212 http://deb.debian.org/debian unstable/main amd64 libdouble-conversion3 amd64 3.3.0-1+b1 [41.0 kB] Get: 213 http://deb.debian.org/debian unstable/main amd64 libdrm-nouveau2 amd64 2.4.120-2 [19.3 kB] Get: 214 http://deb.debian.org/debian unstable/main amd64 libdrm-radeon1 amd64 2.4.120-2 [22.2 kB] Get: 215 http://deb.debian.org/debian unstable/main amd64 libdw1t64 amd64 0.191-1+b1 [246 kB] Get: 216 http://deb.debian.org/debian unstable/main amd64 libwayland-server0 amd64 1.22.0-2.1+b1 [33.0 kB] Get: 217 http://deb.debian.org/debian unstable/main amd64 libxcb-randr0 amd64 1.17.0-2 [116 kB] Get: 218 http://deb.debian.org/debian unstable/main amd64 libgbm1 amd64 24.0.8-1 [40.9 kB] Get: 219 http://deb.debian.org/debian unstable/main amd64 libglapi-mesa amd64 24.0.8-1 [36.5 kB] Get: 220 http://deb.debian.org/debian unstable/main amd64 libxcb-dri2-0 amd64 1.17.0-2 [106 kB] Get: 221 http://deb.debian.org/debian unstable/main amd64 libxcb-present0 amd64 1.17.0-2 [105 kB] Get: 222 http://deb.debian.org/debian unstable/main amd64 libxcb-sync1 amd64 1.17.0-2 [108 kB] Get: 223 http://deb.debian.org/debian unstable/main amd64 libxcb-xfixes0 amd64 1.17.0-2 [109 kB] Get: 224 http://deb.debian.org/debian unstable/main amd64 libxshmfence1 amd64 1.3-1+b1 [8852 B] Get: 225 http://deb.debian.org/debian unstable/main amd64 libegl-mesa0 amd64 24.0.8-1 [119 kB] Get: 226 http://deb.debian.org/debian unstable/main amd64 libevdev2 amd64 1.13.1+dfsg-1+b1 [32.6 kB] Get: 227 http://deb.debian.org/debian unstable/main amd64 libevent-core-2.1-7t64 amd64 2.1.12-stable-10 [131 kB] Get: 228 http://deb.debian.org/debian unstable/main amd64 libevent-pthreads-2.1-7t64 amd64 2.1.12-stable-10 [53.9 kB] Get: 229 http://deb.debian.org/debian unstable/main amd64 libexif12 amd64 0.6.24-1+b1 [402 kB] Get: 230 http://deb.debian.org/debian unstable/main amd64 libpsm-infinipath1 amd64 3.3+20.604758e7-6.3 [170 kB] Get: 231 http://deb.debian.org/debian unstable/main amd64 libpsm2-2 amd64 11.2.185-2 [180 kB] Get: 232 http://deb.debian.org/debian unstable/main amd64 librdmacm1t64 amd64 50.0-2+b1 [70.2 kB] Get: 233 http://deb.debian.org/debian unstable/main amd64 libfabric1 amd64 1.17.0-3+b1 [628 kB] Get: 234 http://deb.debian.org/debian unstable/main amd64 libfmt9 amd64 9.1.0+ds1-2 [113 kB] Get: 235 http://deb.debian.org/debian unstable/main amd64 libminizip1t64 amd64 1:1.3.dfsg+really1.3.1-1 [52.5 kB] Get: 236 http://deb.debian.org/debian unstable/main amd64 libfreexl1 amd64 2.0.0-1+b2 [39.9 kB] Get: 237 http://deb.debian.org/debian unstable/main amd64 libfyba0t64 amd64 4.1.1-11 [112 kB] Get: 238 http://deb.debian.org/debian unstable/main amd64 libheif-plugin-dav1d amd64 1.17.6-1+b2 [9856 B] Get: 239 http://deb.debian.org/debian unstable/main amd64 libheif-plugin-libde265 amd64 1.17.6-1+b2 [13.1 kB] Get: 240 http://deb.debian.org/debian unstable/main amd64 libheif1 amd64 1.17.6-1+b2 [284 kB] Get: 241 http://deb.debian.org/debian unstable/main amd64 libxpm4 amd64 1:3.5.17-1+b1 [56.1 kB] Get: 242 http://deb.debian.org/debian unstable/main amd64 libgd3 amd64 2.3.3-9+b3 [125 kB] Get: 243 http://deb.debian.org/debian unstable/main amd64 libgeos3.12.1t64 amd64 3.12.1-3 [878 kB] Get: 244 http://deb.debian.org/debian unstable/main amd64 libgeos-c1t64 amd64 3.12.1-3 [98.1 kB] Get: 245 http://deb.debian.org/debian unstable/main amd64 proj-data all 9.4.0-1 [6258 kB] Get: 246 http://deb.debian.org/debian unstable/main amd64 libproj25 amd64 9.4.0-1+b1 [1368 kB] Get: 247 http://deb.debian.org/debian unstable/main amd64 libgeotiff5 amd64 1.7.3-1 [68.6 kB] Get: 248 http://deb.debian.org/debian unstable/main amd64 libgif7 amd64 5.2.2-1 [43.9 kB] Get: 249 http://deb.debian.org/debian unstable/main amd64 libsz2 amd64 1.1.3-1 [7740 B] Get: 250 http://deb.debian.org/debian unstable/main amd64 libhdf4-0-alt amd64 4.3.0-1 [267 kB] Get: 251 http://deb.debian.org/debian unstable/main amd64 libhdf5-103-1t64 amd64 1.10.10+repack-3.3 [1241 kB] Get: 252 http://deb.debian.org/debian unstable/main amd64 libjson-c5 amd64 0.17-1+b1 [44.2 kB] Get: 253 http://deb.debian.org/debian unstable/main amd64 liburiparser1 amd64 0.9.7+dfsg-2+b1 [44.1 kB] Get: 254 http://deb.debian.org/debian unstable/main amd64 libkmlbase1t64 amd64 1.3.0-12 [49.3 kB] Get: 255 http://deb.debian.org/debian unstable/main amd64 libkmldom1t64 amd64 1.3.0-12 [158 kB] Get: 256 http://deb.debian.org/debian unstable/main amd64 libkmlengine1t64 amd64 1.3.0-12 [78.7 kB] Get: 257 http://deb.debian.org/debian unstable/main amd64 mysql-common all 5.8+1.1.0 [6636 B] Get: 258 http://deb.debian.org/debian unstable/main amd64 mariadb-common all 1:10.11.8-1 [26.4 kB] Get: 259 http://deb.debian.org/debian unstable/main amd64 libmariadb3 amd64 1:10.11.8-1 [176 kB] Get: 260 http://deb.debian.org/debian unstable/main amd64 libhdf5-hl-100t64 amd64 1.10.10+repack-3.3 [63.3 kB] Get: 261 http://deb.debian.org/debian unstable/main amd64 libnetcdf19t64 amd64 1:4.9.2-6 [471 kB] Get: 262 http://deb.debian.org/debian unstable/main amd64 libltdl7 amd64 2.4.7-7+b1 [393 kB] Get: 263 http://deb.debian.org/debian unstable/main amd64 libodbc2 amd64 2.3.12-1+b2 [150 kB] Get: 264 http://deb.debian.org/debian unstable/main amd64 unixodbc-common all 2.3.12-1 [8496 B] Get: 265 http://deb.debian.org/debian unstable/main amd64 libodbcinst2 amd64 2.3.12-1+b2 [34.9 kB] Get: 266 http://deb.debian.org/debian unstable/main amd64 libtirpc-common all 1.3.4+ds-1.3 [10.9 kB] Get: 267 http://deb.debian.org/debian unstable/main amd64 libtirpc3t64 amd64 1.3.4+ds-1.3 [82.7 kB] Get: 268 http://deb.debian.org/debian unstable/main amd64 libogdi4.1 amd64 4.1.1+ds-4 [231 kB] Get: 269 http://deb.debian.org/debian unstable/main amd64 libnspr4 amd64 2:4.35-1.1+b1 [109 kB] Get: 270 http://deb.debian.org/debian unstable/main amd64 libnss3 amd64 2:3.100-1 [1406 kB] Get: 271 http://deb.debian.org/debian unstable/main amd64 libpoppler134 amd64 24.02.0-5 [1026 kB] Get: 272 http://deb.debian.org/debian unstable/main amd64 libpq5 amd64 16.3-1 [217 kB] Get: 273 http://deb.debian.org/debian unstable/main amd64 libqhull-r8.0 amd64 2020.2-6+b1 [245 kB] Get: 274 http://deb.debian.org/debian unstable/main amd64 librttopo1 amd64 1.1.0-3+b1 [179 kB] Get: 275 http://deb.debian.org/debian unstable/main amd64 libspatialite8t64 amd64 5.1.0-3+b1 [1842 kB] Get: 276 http://deb.debian.org/debian unstable/main amd64 libxerces-c3.2t64 amd64 3.2.4+debian-1.3 [886 kB] Get: 277 http://deb.debian.org/debian unstable/main amd64 libgdal35 amd64 3.9.0+dfsg-1 [8905 kB] Get: 278 http://deb.debian.org/debian unstable/main amd64 libsocket++1 amd64 1.12.13+git20131030.5d039ba-1+b1 [78.3 kB] Get: 279 http://deb.debian.org/debian unstable/main amd64 libgdcm3.0t64 amd64 3.0.24-1+b1 [2272 kB] Get: 280 http://deb.debian.org/debian unstable/main amd64 libglvnd0 amd64 1.7.0-1+b1 [56.3 kB] Get: 281 http://deb.debian.org/debian unstable/main amd64 libxcb-glx0 amd64 1.17.0-2 [122 kB] Get: 282 http://deb.debian.org/debian unstable/main amd64 libxxf86vm1 amd64 1:1.1.4-1+b2 [20.8 kB] Get: 283 http://deb.debian.org/debian unstable/main amd64 libvulkan1 amd64 1.3.280.0-1 [123 kB] Get: 284 http://deb.debian.org/debian unstable/main amd64 libsensors-config all 1:3.6.0-9 [14.6 kB] Get: 285 http://deb.debian.org/debian unstable/main amd64 libsensors5 amd64 1:3.6.0-9 [34.6 kB] Get: 286 http://deb.debian.org/debian unstable/main amd64 libgl1-mesa-dri amd64 24.0.8-1 [8284 kB] Get: 287 http://deb.debian.org/debian unstable/main amd64 libglx-mesa0 amd64 24.0.8-1 [151 kB] Get: 288 http://deb.debian.org/debian unstable/main amd64 libglx0 amd64 1.7.0-1+b1 [35.0 kB] Get: 289 http://deb.debian.org/debian unstable/main amd64 libgl1 amd64 1.7.0-1+b1 [89.8 kB] Get: 290 http://deb.debian.org/debian unstable/main amd64 libhiredis1.1.0 amd64 1.2.0-6+b2 [50.7 kB] Get: 291 http://deb.debian.org/debian unstable/main amd64 libhwloc15 amd64 2.10.0-1+b1 [161 kB] Get: 292 http://deb.debian.org/debian unstable/main amd64 libmunge2 amd64 0.5.15-4 [19.8 kB] Get: 293 http://deb.debian.org/debian unstable/main amd64 libxnvctrl0 amd64 535.171.04-1 [13.8 kB] Get: 294 http://deb.debian.org/debian unstable/main amd64 libhwloc-plugins amd64 2.10.0-1+b1 [18.0 kB] Get: 295 http://deb.debian.org/debian unstable/main amd64 libpmix2t64 amd64 5.0.2-3 [652 kB] Get: 296 http://deb.debian.org/debian unstable/main amd64 libucx0 amd64 1.16.0+ds-5 [1109 kB] Get: 297 http://deb.debian.org/debian unstable/main amd64 libopenmpi3t64 amd64 4.1.6-13.3 [2426 kB] Get: 298 http://deb.debian.org/debian unstable/main amd64 libgloo0 amd64 0.0~git20230519.597accf-2+b2 [210 kB] Get: 299 http://deb.debian.org/debian unstable/main amd64 libgphoto2-port12t64 amd64 2.5.31-2.1+b1 [137 kB] Get: 300 http://deb.debian.org/debian unstable/main amd64 libgphoto2-6t64 amd64 2.5.31-2.1+b1 [757 kB] Get: 301 http://deb.debian.org/debian unstable/main amd64 libunwind8 amd64 1.6.2-3+b1 [51.7 kB] Get: 302 http://deb.debian.org/debian unstable/main amd64 libgstreamer1.0-0 amd64 1.24.3-1 [1368 kB] Get: 303 http://deb.debian.org/debian unstable/main amd64 liborc-0.4-0t64 amd64 1:0.4.38-1 [191 kB] Get: 304 http://deb.debian.org/debian unstable/main amd64 libgstreamer-plugins-base1.0-0 amd64 1.24.3-1 [982 kB] Get: 305 http://deb.debian.org/debian unstable/main amd64 libgudev-1.0-0 amd64 238-5 [14.4 kB] Get: 306 http://deb.debian.org/debian unstable/main amd64 x11-common all 1:7.7+23 [252 kB] Get: 307 http://deb.debian.org/debian unstable/main amd64 libice6 amd64 2:1.0.10-1+b1 [56.7 kB] Get: 308 http://deb.debian.org/debian unstable/main amd64 libimath-3-1-29t64 amd64 3.1.9-3.1+b1 [39.7 kB] Get: 309 http://deb.debian.org/debian unstable/main amd64 libwacom-common all 2.10.0-2 [62.5 kB] Get: 310 http://deb.debian.org/debian unstable/main amd64 libwacom9 amd64 2.10.0-2 [22.4 kB] Get: 311 http://deb.debian.org/debian unstable/main amd64 libinput-bin amd64 1.25.0-1+b2 [24.8 kB] Get: 312 http://deb.debian.org/debian unstable/main amd64 libmtdev1t64 amd64 1.1.6-1.2 [22.2 kB] Get: 313 http://deb.debian.org/debian unstable/main amd64 libinput10 amd64 1.25.0-1+b2 [128 kB] Get: 314 http://deb.debian.org/debian unstable/main amd64 liblept5 amd64 1.82.0-3+b4 [1049 kB] Get: 315 http://deb.debian.org/debian unstable/main amd64 libleveldb1d amd64 1.23-5+b1 [134 kB] Get: 316 http://deb.debian.org/debian unstable/main amd64 liblmdb0 amd64 0.9.31-1+b1 [44.8 kB] Get: 317 http://deb.debian.org/debian unstable/main amd64 libmd4c0 amd64 0.4.8-1+b1 [45.1 kB] Get: 318 http://deb.debian.org/debian unstable/main amd64 libprotobuf32t64 amd64 3.21.12-8.2 [963 kB] Get: 319 http://deb.debian.org/debian unstable/main amd64 libonnx1t64 amd64 1.14.1-2.1+b1 [1061 kB] Get: 320 http://deb.debian.org/debian unstable/main amd64 libtbbmalloc2 amd64 2021.11.0-2 [48.6 kB] Get: 321 http://deb.debian.org/debian unstable/main amd64 libtbbbind-2-5 amd64 2021.11.0-2 [14.1 kB] Get: 322 http://deb.debian.org/debian unstable/main amd64 libtbb12 amd64 2021.11.0-2 [87.6 kB] Get: 323 http://deb.debian.org/debian unstable/main amd64 libopencv-core406t64 amd64 4.6.0+dfsg-13.1+b3 [1116 kB] Get: 324 http://deb.debian.org/debian unstable/main amd64 libopencv-flann406t64 amd64 4.6.0+dfsg-13.1+b3 [126 kB] Get: 325 http://deb.debian.org/debian unstable/main amd64 libopencv-imgproc406t64 amd64 4.6.0+dfsg-13.1+b3 [1359 kB] Get: 326 http://deb.debian.org/debian unstable/main amd64 libopencv-features2d406t64 amd64 4.6.0+dfsg-13.1+b3 [267 kB] Get: 327 http://deb.debian.org/debian unstable/main amd64 libopencv-calib3d406t64 amd64 4.6.0+dfsg-13.1+b3 [682 kB] Get: 328 http://deb.debian.org/debian unstable/main amd64 libopencv-dnn406t64 amd64 4.6.0+dfsg-13.1+b3 [1153 kB] Get: 329 http://deb.debian.org/debian unstable/main amd64 libopengl0 amd64 1.7.0-1+b1 [31.1 kB] Get: 330 http://deb.debian.org/debian unstable/main amd64 libpcre2-16-0 amd64 10.42-4+b1 [246 kB] Get: 331 http://deb.debian.org/debian unstable/main amd64 libqt5core5t64 amd64 5.15.13+dfsg-2 [1837 kB] Get: 332 http://deb.debian.org/debian unstable/main amd64 libegl1 amd64 1.7.0-1+b1 [34.3 kB] Get: 333 http://deb.debian.org/debian unstable/main amd64 libqt5dbus5t64 amd64 5.15.13+dfsg-2 [214 kB] Get: 334 http://deb.debian.org/debian unstable/main amd64 libqt5network5t64 amd64 5.15.13+dfsg-2 [678 kB] Get: 335 http://deb.debian.org/debian unstable/main amd64 libsm6 amd64 2:1.2.3-1+b1 [33.6 kB] Get: 336 http://deb.debian.org/debian unstable/main amd64 libxcb-icccm4 amd64 0.4.1-1.1+b1 [26.8 kB] Get: 337 http://deb.debian.org/debian unstable/main amd64 libxcb-util1 amd64 0.4.0-1+b1 [23.2 kB] Get: 338 http://deb.debian.org/debian unstable/main amd64 libxcb-image0 amd64 0.4.0-2+b1 [22.2 kB] Get: 339 http://deb.debian.org/debian unstable/main amd64 libxcb-keysyms1 amd64 0.4.0-1+b2 [16.4 kB] Get: 340 http://deb.debian.org/debian unstable/main amd64 libxcb-render-util0 amd64 0.3.9-1+b1 [18.3 kB] Get: 341 http://deb.debian.org/debian unstable/main amd64 libxcb-shape0 amd64 1.17.0-2 [105 kB] Get: 342 http://deb.debian.org/debian unstable/main amd64 libxcb-xinerama0 amd64 1.17.0-2 [105 kB] Get: 343 http://deb.debian.org/debian unstable/main amd64 libxcb-xinput0 amd64 1.17.0-2 [130 kB] Get: 344 http://deb.debian.org/debian unstable/main amd64 libxcb-xkb1 amd64 1.17.0-2 [129 kB] Get: 345 http://deb.debian.org/debian unstable/main amd64 xkb-data all 2.41-2 [795 kB] Get: 346 http://deb.debian.org/debian unstable/main amd64 libxkbcommon0 amd64 1.6.0-1+b1 [109 kB] Get: 347 http://deb.debian.org/debian unstable/main amd64 libxkbcommon-x11-0 amd64 1.6.0-1+b1 [16.2 kB] Get: 348 http://deb.debian.org/debian unstable/main amd64 libqt5gui5t64 amd64 5.15.13+dfsg-2 [3450 kB] Get: 349 http://deb.debian.org/debian unstable/main amd64 libqt5widgets5t64 amd64 5.15.13+dfsg-2 [2380 kB] Get: 350 http://deb.debian.org/debian unstable/main amd64 libqt5opengl5t64 amd64 5.15.13+dfsg-2 [149 kB] Get: 351 http://deb.debian.org/debian unstable/main amd64 libqt5test5t64 amd64 5.15.13+dfsg-2 [149 kB] Get: 352 http://deb.debian.org/debian unstable/main amd64 libopencv-highgui406t64 amd64 4.6.0+dfsg-13.1+b3 [129 kB] Get: 353 http://deb.debian.org/debian unstable/main amd64 libopenexr-3-1-30 amd64 3.1.5-5.1+b2 [930 kB] Get: 354 http://deb.debian.org/debian unstable/main amd64 libopencv-imgcodecs406t64 amd64 4.6.0+dfsg-13.1+b3 [131 kB] Get: 355 http://deb.debian.org/debian unstable/main amd64 libopencv-ml406t64 amd64 4.6.0+dfsg-13.1+b3 [201 kB] Get: 356 http://deb.debian.org/debian unstable/main amd64 libopencv-objdetect406t64 amd64 4.6.0+dfsg-13.1+b3 [217 kB] Get: 357 http://deb.debian.org/debian unstable/main amd64 libopencv-video406t64 amd64 4.6.0+dfsg-13.1+b3 [178 kB] Get: 358 http://deb.debian.org/debian unstable/main amd64 libtesseract5 amd64 5.3.4-1.1+b1 [1315 kB] Get: 359 http://deb.debian.org/debian unstable/main amd64 libopencv-contrib406t64 amd64 4.6.0+dfsg-13.1+b3 [3841 kB] Get: 360 http://deb.debian.org/debian unstable/main amd64 libswscale7 amd64 7:6.1.1-4+b1 [209 kB] Get: 361 http://deb.debian.org/debian unstable/main amd64 libopencv-videoio406t64 amd64 4.6.0+dfsg-13.1+b3 [227 kB] Get: 362 http://deb.debian.org/debian unstable/main amd64 libpthreadpool0 amd64 0.0~git20210507.1787867-2+b1 [31.2 kB] Get: 363 http://deb.debian.org/debian unstable/main amd64 libpython3.12-stdlib amd64 3.12.3-1 [1951 kB] Get: 364 http://deb.debian.org/debian unstable/main amd64 libsleef3 amd64 3.5.1-3 [731 kB] Get: 365 http://deb.debian.org/debian unstable/main amd64 libuv1t64 amd64 1.48.0-4 [148 kB] Get: 366 http://deb.debian.org/debian unstable/main amd64 libtensorpipe0 amd64 0.0~git20220513.bb1473a-5+b2 [565 kB] Get: 367 http://deb.debian.org/debian unstable/main amd64 libxnnpack0 amd64 0.0~git20221221.51a9875-1 [382 kB] Get: 368 http://deb.debian.org/debian unstable/main amd64 libtorch2.1 amd64 2.1.2+dfsg-4 [49.7 MB] Get: 369 http://deb.debian.org/debian unstable/main amd64 libtorch-test amd64 2.1.2+dfsg-4 [7255 kB] Get: 370 http://deb.debian.org/debian unstable/main amd64 libyaml-0-2 amd64 0.2.5-1+b1 [52.6 kB] Get: 371 http://deb.debian.org/debian unstable/main amd64 python3.12 amd64 3.12.3-1 [659 kB] Get: 372 http://deb.debian.org/debian unstable/main amd64 python3-all amd64 3.11.8-1 [1056 B] Get: 373 http://deb.debian.org/debian unstable/main amd64 python3-six all 1.16.0-6 [16.3 kB] Get: 374 http://deb.debian.org/debian unstable/main amd64 python3-astunparse all 1.6.3-2 [13.8 kB] Get: 375 http://deb.debian.org/debian unstable/main amd64 python3-attr all 23.2.0-2 [65.5 kB] Get: 376 http://deb.debian.org/debian unstable/main amd64 python3-certifi all 2023.11.17-1 [155 kB] Get: 377 http://deb.debian.org/debian unstable/main amd64 python3-chardet all 5.2.0+dfsg-1 [107 kB] Get: 378 http://deb.debian.org/debian unstable/main amd64 python3-charset-normalizer all 3.3.2-1 [51.6 kB] Get: 379 http://deb.debian.org/debian unstable/main amd64 python3-dateutil all 2.9.0-2 [79.4 kB] Get: 380 http://deb.debian.org/debian unstable/main amd64 python3-sortedcontainers all 2.4.0-2 [31.9 kB] Get: 381 http://deb.debian.org/debian unstable/main amd64 python3-hypothesis all 6.102.6-1 [317 kB] Get: 382 http://deb.debian.org/debian unstable/main amd64 python3-expecttest all 0.1.5-1 [7492 B] Get: 383 http://deb.debian.org/debian unstable/main amd64 python3-filelock all 3.14.0-1 [10.9 kB] Get: 384 http://deb.debian.org/debian unstable/main amd64 python3-fsspec all 2024.3.1-1 [115 kB] Get: 385 http://deb.debian.org/debian unstable/main amd64 python3-idna all 3.6-2 [37.0 kB] Get: 386 http://deb.debian.org/debian unstable/main amd64 python3-iniconfig all 1.1.1-2 [6396 B] Get: 387 http://deb.debian.org/debian unstable/main amd64 python3-markupsafe amd64 2.1.5-1 [14.5 kB] Get: 388 http://deb.debian.org/debian unstable/main amd64 python3-jinja2 all 3.1.3-1 [119 kB] Get: 389 http://deb.debian.org/debian unstable/main amd64 python3-mpmath all 1.3.0-1 [419 kB] Get: 390 http://deb.debian.org/debian unstable/main amd64 python3-networkx all 3.2.1-4 [14.2 MB] Get: 391 http://deb.debian.org/debian unstable/main amd64 python3-numpy amd64 1:1.26.4+ds-10 [5465 kB] Get: 392 http://deb.debian.org/debian unstable/main amd64 python3-packaging all 24.0-1 [45.5 kB] Get: 393 http://deb.debian.org/debian unstable/main amd64 python3-pluggy all 1.5.0-1 [26.9 kB] Get: 394 http://deb.debian.org/debian unstable/main amd64 python3-psutil amd64 5.9.8-2 [225 kB] Get: 395 http://deb.debian.org/debian unstable/main amd64 python3-pytest all 8.2.1-1 [247 kB] Get: 396 http://deb.debian.org/debian unstable/main amd64 python3-urllib3 all 1.26.18-2 [116 kB] Get: 397 http://deb.debian.org/debian unstable/main amd64 python3-requests all 2.31.0+dfsg-2 [68.7 kB] Get: 398 http://deb.debian.org/debian unstable/main amd64 python3-sympy all 1.12-8 [3869 kB] Get: 399 http://deb.debian.org/debian unstable/main amd64 python3-typing-extensions all 4.12.0-1 [72.1 kB] Get: 400 http://deb.debian.org/debian unstable/main amd64 python3-yaml amd64 6.0.1-2 [177 kB] Get: 401 http://deb.debian.org/debian unstable/main amd64 python3-torch amd64 2.1.2+dfsg-4 [11.0 MB] Fetched 325 MB in 14s (23.3 MB/s) debconf: delaying package configuration, since apt-utils is not installed Selecting previously unselected package libpython3.11-minimal:amd64. (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 ... 19718 files and directories currently installed.) Preparing to unpack .../libpython3.11-minimal_3.11.9-1_amd64.deb ... Unpacking libpython3.11-minimal:amd64 (3.11.9-1) ... Selecting previously unselected package libexpat1:amd64. Preparing to unpack .../libexpat1_2.6.2-1_amd64.deb ... Unpacking libexpat1:amd64 (2.6.2-1) ... Selecting previously unselected package python3.11-minimal. Preparing to unpack .../python3.11-minimal_3.11.9-1_amd64.deb ... Unpacking python3.11-minimal (3.11.9-1) ... Setting up libpython3.11-minimal:amd64 (3.11.9-1) ... Setting up libexpat1:amd64 (2.6.2-1) ... Setting up python3.11-minimal (3.11.9-1) ... 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 ... 20034 files and directories currently installed.) Preparing to unpack .../0-python3-minimal_3.11.8-1_amd64.deb ... Unpacking python3-minimal (3.11.8-1) ... 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_2024a-4_all.deb ... Unpacking tzdata (2024a-4) ... Selecting previously unselected package readline-common. Preparing to unpack .../4-readline-common_8.2-4_all.deb ... Unpacking readline-common (8.2-4) ... Selecting previously unselected package libreadline8t64:amd64. Preparing to unpack .../5-libreadline8t64_8.2-4_amd64.deb ... Adding 'diversion of /lib/x86_64-linux-gnu/libhistory.so.8 to /lib/x86_64-linux-gnu/libhistory.so.8.usr-is-merged by libreadline8t64' Adding 'diversion of /lib/x86_64-linux-gnu/libhistory.so.8.2 to /lib/x86_64-linux-gnu/libhistory.so.8.2.usr-is-merged by libreadline8t64' Adding 'diversion of /lib/x86_64-linux-gnu/libreadline.so.8 to /lib/x86_64-linux-gnu/libreadline.so.8.usr-is-merged by libreadline8t64' Adding 'diversion of /lib/x86_64-linux-gnu/libreadline.so.8.2 to /lib/x86_64-linux-gnu/libreadline.so.8.2.usr-is-merged by libreadline8t64' Unpacking libreadline8t64:amd64 (8.2-4) ... Selecting previously unselected package libpython3.11-stdlib:amd64. Preparing to unpack .../6-libpython3.11-stdlib_3.11.9-1_amd64.deb ... Unpacking libpython3.11-stdlib:amd64 (3.11.9-1) ... Selecting previously unselected package python3.11. Preparing to unpack .../7-python3.11_3.11.9-1_amd64.deb ... Unpacking python3.11 (3.11.9-1) ... Selecting previously unselected package libpython3-stdlib:amd64. Preparing to unpack .../8-libpython3-stdlib_3.11.8-1_amd64.deb ... Unpacking libpython3-stdlib:amd64 (3.11.8-1) ... Setting up python3-minimal (3.11.8-1) ... 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 ... 21026 files and directories currently installed.) Preparing to unpack .../000-python3_3.11.8-1_amd64.deb ... Unpacking python3 (3.11.8-1) ... Selecting previously unselected package libpython3.12-minimal:amd64. Preparing to unpack .../001-libpython3.12-minimal_3.12.3-1_amd64.deb ... Unpacking libpython3.12-minimal:amd64 (3.12.3-1) ... Selecting previously unselected package python3.12-minimal. Preparing to unpack .../002-python3.12-minimal_3.12.3-1_amd64.deb ... Unpacking python3.12-minimal (3.12.3-1) ... Selecting previously unselected package sensible-utils. Preparing to unpack .../003-sensible-utils_0.0.22_all.deb ... Unpacking sensible-utils (0.0.22) ... Selecting previously unselected package openssl. Preparing to unpack .../004-openssl_3.2.1-3_amd64.deb ... Unpacking openssl (3.2.1-3) ... Selecting previously unselected package ca-certificates. Preparing to unpack .../005-ca-certificates_20240203_all.deb ... Unpacking ca-certificates (20240203) ... Selecting previously unselected package libmagic-mgc. Preparing to unpack .../006-libmagic-mgc_1%3a5.45-3_amd64.deb ... Unpacking libmagic-mgc (1:5.45-3) ... Selecting previously unselected package libmagic1t64:amd64. Preparing to unpack .../007-libmagic1t64_1%3a5.45-3_amd64.deb ... Unpacking libmagic1t64:amd64 (1:5.45-3) ... Selecting previously unselected package file. Preparing to unpack .../008-file_1%3a5.45-3_amd64.deb ... Unpacking file (1:5.45-3) ... Selecting previously unselected package gettext-base. Preparing to unpack .../009-gettext-base_0.21-14+b1_amd64.deb ... Unpacking gettext-base (0.21-14+b1) ... Selecting previously unselected package libuchardet0:amd64. Preparing to unpack .../010-libuchardet0_0.0.8-1+b1_amd64.deb ... Unpacking libuchardet0:amd64 (0.0.8-1+b1) ... Selecting previously unselected package groff-base. Preparing to unpack .../011-groff-base_1.23.0-4_amd64.deb ... Unpacking groff-base (1.23.0-4) ... Selecting previously unselected package bsdextrautils. Preparing to unpack .../012-bsdextrautils_2.40.1-2_amd64.deb ... Unpacking bsdextrautils (2.40.1-2) ... Selecting previously unselected package libpipeline1:amd64. Preparing to unpack .../013-libpipeline1_1.5.7-2_amd64.deb ... Unpacking libpipeline1:amd64 (1.5.7-2) ... Selecting previously unselected package man-db. Preparing to unpack .../014-man-db_2.12.1-1_amd64.deb ... Unpacking man-db (2.12.1-1) ... Selecting previously unselected package m4. Preparing to unpack .../015-m4_1.4.19-4_amd64.deb ... Unpacking m4 (1.4.19-4) ... Selecting previously unselected package autoconf. Preparing to unpack .../016-autoconf_2.71-3_all.deb ... Unpacking autoconf (2.71-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.16.5-1.3_all.deb ... Unpacking automake (1:1.16.5-1.3) ... Selecting previously unselected package autopoint. Preparing to unpack .../019-autopoint_0.21-14_all.deb ... Unpacking autopoint (0.21-14) ... Selecting previously unselected package libdebhelper-perl. Preparing to unpack .../020-libdebhelper-perl_13.15.3_all.deb ... Unpacking libdebhelper-perl (13.15.3) ... Selecting previously unselected package libtool. Preparing to unpack .../021-libtool_2.4.7-7_all.deb ... Unpacking libtool (2.4.7-7) ... Selecting previously unselected package dh-autoreconf. Preparing to unpack .../022-dh-autoreconf_20_all.deb ... Unpacking dh-autoreconf (20) ... Selecting previously unselected package libarchive-zip-perl. Preparing to unpack .../023-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 .../024-libfile-stripnondeterminism-perl_1.14.0-1_all.deb ... Unpacking libfile-stripnondeterminism-perl (1.14.0-1) ... Selecting previously unselected package dh-strip-nondeterminism. Preparing to unpack .../025-dh-strip-nondeterminism_1.14.0-1_all.deb ... Unpacking dh-strip-nondeterminism (1.14.0-1) ... Selecting previously unselected package libelf1t64:amd64. Preparing to unpack .../026-libelf1t64_0.191-1+b1_amd64.deb ... Unpacking libelf1t64:amd64 (0.191-1+b1) ... Selecting previously unselected package dwz. Preparing to unpack .../027-dwz_0.15-1+b1_amd64.deb ... Unpacking dwz (0.15-1+b1) ... Selecting previously unselected package libicu72:amd64. Preparing to unpack .../028-libicu72_72.1-4+b1_amd64.deb ... Unpacking libicu72:amd64 (72.1-4+b1) ... Selecting previously unselected package libxml2:amd64. Preparing to unpack .../029-libxml2_2.12.7+dfsg-2_amd64.deb ... Unpacking libxml2:amd64 (2.12.7+dfsg-2) ... Selecting previously unselected package gettext. Preparing to unpack .../030-gettext_0.21-14+b1_amd64.deb ... Unpacking gettext (0.21-14+b1) ... Selecting previously unselected package intltool-debian. Preparing to unpack .../031-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 .../032-po-debconf_1.0.21+nmu1_all.deb ... Unpacking po-debconf (1.0.21+nmu1) ... Selecting previously unselected package debhelper. Preparing to unpack .../033-debhelper_13.15.3_all.deb ... Unpacking debhelper (13.15.3) ... Selecting previously unselected package python3-pkg-resources. Preparing to unpack .../034-python3-pkg-resources_68.1.2-2_all.deb ... Unpacking python3-pkg-resources (68.1.2-2) ... Selecting previously unselected package python3-lib2to3. Preparing to unpack .../035-python3-lib2to3_3.12.3-3.1_all.deb ... Unpacking python3-lib2to3 (3.12.3-3.1) ... Selecting previously unselected package python3-distutils. Preparing to unpack .../036-python3-distutils_3.12.3-3.1_all.deb ... Unpacking python3-distutils (3.12.3-3.1) ... Selecting previously unselected package python3-setuptools. Preparing to unpack .../037-python3-setuptools_68.1.2-2_all.deb ... Unpacking python3-setuptools (68.1.2-2) ... Selecting previously unselected package dh-python. Preparing to unpack .../038-dh-python_6.20240422_all.deb ... Unpacking dh-python (6.20240422) ... Selecting previously unselected package libbrotli1:amd64. Preparing to unpack .../039-libbrotli1_1.1.0-2+b3_amd64.deb ... Unpacking libbrotli1:amd64 (1.1.0-2+b3) ... Selecting previously unselected package libpng16-16t64:amd64. Preparing to unpack .../040-libpng16-16t64_1.6.43-5_amd64.deb ... Unpacking libpng16-16t64:amd64 (1.6.43-5) ... Selecting previously unselected package libfreetype6:amd64. Preparing to unpack .../041-libfreetype6_2.13.2+dfsg-1+b4_amd64.deb ... Unpacking libfreetype6:amd64 (2.13.2+dfsg-1+b4) ... Selecting previously unselected package fonts-dejavu-mono. Preparing to unpack .../042-fonts-dejavu-mono_2.37-8_all.deb ... Unpacking fonts-dejavu-mono (2.37-8) ... Selecting previously unselected package fonts-dejavu-core. Preparing to unpack .../043-fonts-dejavu-core_2.37-8_all.deb ... Unpacking fonts-dejavu-core (2.37-8) ... Selecting previously unselected package fontconfig-config. Preparing to unpack .../044-fontconfig-config_2.15.0-1.1_amd64.deb ... Unpacking fontconfig-config (2.15.0-1.1) ... Selecting previously unselected package libfontconfig1:amd64. Preparing to unpack .../045-libfontconfig1_2.15.0-1.1_amd64.deb ... Unpacking libfontconfig1:amd64 (2.15.0-1.1) ... Selecting previously unselected package fontconfig. Preparing to unpack .../046-fontconfig_2.15.0-1.1_amd64.deb ... Unpacking fontconfig (2.15.0-1.1) ... Selecting previously unselected package gdal-data. Preparing to unpack .../047-gdal-data_3.9.0+dfsg-1_all.deb ... Unpacking gdal-data (3.9.0+dfsg-1) ... Selecting previously unselected package gdal-plugins:amd64. Preparing to unpack .../048-gdal-plugins_3.9.0+dfsg-1_amd64.deb ... Unpacking gdal-plugins:amd64 (3.9.0+dfsg-1) ... Selecting previously unselected package libnl-3-200:amd64. Preparing to unpack .../049-libnl-3-200_3.7.0-0.3_amd64.deb ... Unpacking libnl-3-200:amd64 (3.7.0-0.3) ... Selecting previously unselected package libnl-route-3-200:amd64. Preparing to unpack .../050-libnl-route-3-200_3.7.0-0.3_amd64.deb ... Unpacking libnl-route-3-200:amd64 (3.7.0-0.3) ... Selecting previously unselected package libibverbs1:amd64. Preparing to unpack .../051-libibverbs1_50.0-2+b1_amd64.deb ... Unpacking libibverbs1:amd64 (50.0-2+b1) ... Selecting previously unselected package ibverbs-providers:amd64. Preparing to unpack .../052-ibverbs-providers_50.0-2+b1_amd64.deb ... Unpacking ibverbs-providers:amd64 (50.0-2+b1) ... Selecting previously unselected package iso-codes. Preparing to unpack .../053-iso-codes_4.16.0-1_all.deb ... Unpacking iso-codes (4.16.0-1) ... Selecting previously unselected package libabsl20230802:amd64. Preparing to unpack .../054-libabsl20230802_20230802.1-4_amd64.deb ... Unpacking libabsl20230802:amd64 (20230802.1-4) ... Selecting previously unselected package libaec0:amd64. Preparing to unpack .../055-libaec0_1.1.3-1_amd64.deb ... Unpacking libaec0:amd64 (1.1.3-1) ... Selecting previously unselected package libbsd0:amd64. Preparing to unpack .../056-libbsd0_0.12.2-1_amd64.deb ... Unpacking libbsd0:amd64 (0.12.2-1) ... Selecting previously unselected package libedit2:amd64. Preparing to unpack .../057-libedit2_3.1-20240517-1_amd64.deb ... Unpacking libedit2:amd64 (3.1-20240517-1) ... Selecting previously unselected package libz3-4:amd64. Preparing to unpack .../058-libz3-4_4.8.12-3.1+b2_amd64.deb ... Unpacking libz3-4:amd64 (4.8.12-3.1+b2) ... Selecting previously unselected package libllvm17t64:amd64. Preparing to unpack .../059-libllvm17t64_1%3a17.0.6-12_amd64.deb ... Unpacking libllvm17t64:amd64 (1:17.0.6-12) ... Selecting previously unselected package libamd-comgr2:amd64. Preparing to unpack .../060-libamd-comgr2_6.0+git20231212.4510c28+dfsg-3+b1_amd64.deb ... Unpacking libamd-comgr2:amd64 (6.0+git20231212.4510c28+dfsg-3+b1) ... Selecting previously unselected package libdrm-common. Preparing to unpack .../061-libdrm-common_2.4.120-2_all.deb ... Unpacking libdrm-common (2.4.120-2) ... Selecting previously unselected package libdrm2:amd64. Preparing to unpack .../062-libdrm2_2.4.120-2_amd64.deb ... Unpacking libdrm2:amd64 (2.4.120-2) ... Selecting previously unselected package libdrm-amdgpu1:amd64. Preparing to unpack .../063-libdrm-amdgpu1_2.4.120-2_amd64.deb ... Unpacking libdrm-amdgpu1:amd64 (2.4.120-2) ... Selecting previously unselected package libnuma1:amd64. Preparing to unpack .../064-libnuma1_2.0.18-1_amd64.deb ... Unpacking libnuma1:amd64 (2.0.18-1) ... Selecting previously unselected package libhsakmt1:amd64. Preparing to unpack .../065-libhsakmt1_5.7.0-1_amd64.deb ... Unpacking libhsakmt1:amd64 (5.7.0-1) ... Selecting previously unselected package libhsa-runtime64-1. Preparing to unpack .../066-libhsa-runtime64-1_5.7.1-2_amd64.deb ... Unpacking libhsa-runtime64-1 (5.7.1-2) ... Selecting previously unselected package libamdhip64-5. Preparing to unpack .../067-libamdhip64-5_5.7.1-3_amd64.deb ... Unpacking libamdhip64-5 (5.7.1-3) ... Selecting previously unselected package libaom3:amd64. Preparing to unpack .../068-libaom3_3.8.2-2_amd64.deb ... Unpacking libaom3:amd64 (3.8.2-2) ... Selecting previously unselected package libarchive13t64:amd64. Preparing to unpack .../069-libarchive13t64_3.7.2-2_amd64.deb ... Unpacking libarchive13t64:amd64 (3.7.2-2) ... Selecting previously unselected package libblas3:amd64. Preparing to unpack .../070-libblas3_3.12.0-3_amd64.deb ... Unpacking libblas3:amd64 (3.12.0-3) ... Selecting previously unselected package libgfortran5:amd64. Preparing to unpack .../071-libgfortran5_14.1.0-1_amd64.deb ... Unpacking libgfortran5:amd64 (14.1.0-1) ... Selecting previously unselected package liblapack3:amd64. Preparing to unpack .../072-liblapack3_3.12.0-3_amd64.deb ... Unpacking liblapack3:amd64 (3.12.0-3) ... Selecting previously unselected package libarpack2t64:amd64. Preparing to unpack .../073-libarpack2t64_3.9.1-1.1+b1_amd64.deb ... Unpacking libarpack2t64:amd64 (3.9.1-1.1+b1) ... Selecting previously unselected package libsuperlu6:amd64. Preparing to unpack .../074-libsuperlu6_6.0.1+dfsg1-1+b1_amd64.deb ... Unpacking libsuperlu6:amd64 (6.0.1+dfsg1-1+b1) ... Selecting previously unselected package libarmadillo12. Preparing to unpack .../075-libarmadillo12_1%3a12.8.2+dfsg-1+b1_amd64.deb ... Unpacking libarmadillo12 (1:12.8.2+dfsg-1+b1) ... Selecting previously unselected package libva2:amd64. Preparing to unpack .../076-libva2_2.21.0-1_amd64.deb ... Unpacking libva2:amd64 (2.21.0-1) ... Selecting previously unselected package libva-drm2:amd64. Preparing to unpack .../077-libva-drm2_2.21.0-1_amd64.deb ... Unpacking libva-drm2:amd64 (2.21.0-1) ... Selecting previously unselected package libxau6:amd64. Preparing to unpack .../078-libxau6_1%3a1.0.9-1+b1_amd64.deb ... Unpacking libxau6:amd64 (1:1.0.9-1+b1) ... Selecting previously unselected package libxdmcp6:amd64. Preparing to unpack .../079-libxdmcp6_1%3a1.1.2-3+b1_amd64.deb ... Unpacking libxdmcp6:amd64 (1:1.1.2-3+b1) ... Selecting previously unselected package libxcb1:amd64. Preparing to unpack .../080-libxcb1_1.17.0-2_amd64.deb ... Unpacking libxcb1:amd64 (1.17.0-2) ... Selecting previously unselected package libx11-data. Preparing to unpack .../081-libx11-data_2%3a1.8.7-1_all.deb ... Unpacking libx11-data (2:1.8.7-1) ... Selecting previously unselected package libx11-6:amd64. Preparing to unpack .../082-libx11-6_2%3a1.8.7-1+b1_amd64.deb ... Unpacking libx11-6:amd64 (2:1.8.7-1+b1) ... Selecting previously unselected package libx11-xcb1:amd64. Preparing to unpack .../083-libx11-xcb1_2%3a1.8.7-1+b1_amd64.deb ... Unpacking libx11-xcb1:amd64 (2:1.8.7-1+b1) ... Selecting previously unselected package libxcb-dri3-0:amd64. Preparing to unpack .../084-libxcb-dri3-0_1.17.0-2_amd64.deb ... Unpacking libxcb-dri3-0:amd64 (1.17.0-2) ... Selecting previously unselected package libxext6:amd64. Preparing to unpack .../085-libxext6_2%3a1.3.4-1+b1_amd64.deb ... Unpacking libxext6:amd64 (2:1.3.4-1+b1) ... Selecting previously unselected package libxfixes3:amd64. Preparing to unpack .../086-libxfixes3_1%3a6.0.0-2+b1_amd64.deb ... Unpacking libxfixes3:amd64 (1:6.0.0-2+b1) ... Selecting previously unselected package libva-x11-2:amd64. Preparing to unpack .../087-libva-x11-2_2.21.0-1_amd64.deb ... Unpacking libva-x11-2:amd64 (2.21.0-1) ... Selecting previously unselected package libvdpau1:amd64. Preparing to unpack .../088-libvdpau1_1.5-3_amd64.deb ... Unpacking libvdpau1:amd64 (1.5-3) ... Selecting previously unselected package libpciaccess0:amd64. Preparing to unpack .../089-libpciaccess0_0.17-3+b1_amd64.deb ... Unpacking libpciaccess0:amd64 (0.17-3+b1) ... Selecting previously unselected package libdrm-intel1:amd64. Preparing to unpack .../090-libdrm-intel1_2.4.120-2_amd64.deb ... Unpacking libdrm-intel1:amd64 (2.4.120-2) ... Selecting previously unselected package libwayland-client0:amd64. Preparing to unpack .../091-libwayland-client0_1.22.0-2.1+b1_amd64.deb ... Unpacking libwayland-client0:amd64 (1.22.0-2.1+b1) ... Selecting previously unselected package libvpl2. Preparing to unpack .../092-libvpl2_2023.3.0-1_amd64.deb ... Unpacking libvpl2 (2023.3.0-1) ... Selecting previously unselected package ocl-icd-libopencl1:amd64. Preparing to unpack .../093-ocl-icd-libopencl1_2.3.2-1+b1_amd64.deb ... Unpacking ocl-icd-libopencl1:amd64 (2.3.2-1+b1) ... Selecting previously unselected package libavutil58:amd64. Preparing to unpack .../094-libavutil58_7%3a6.1.1-4+b1_amd64.deb ... Unpacking libavutil58:amd64 (7:6.1.1-4+b1) ... Selecting previously unselected package libpixman-1-0:amd64. Preparing to unpack .../095-libpixman-1-0_0.42.2-1+b1_amd64.deb ... Unpacking libpixman-1-0:amd64 (0.42.2-1+b1) ... Selecting previously unselected package libxcb-render0:amd64. Preparing to unpack .../096-libxcb-render0_1.17.0-2_amd64.deb ... Unpacking libxcb-render0:amd64 (1.17.0-2) ... Selecting previously unselected package libxcb-shm0:amd64. Preparing to unpack .../097-libxcb-shm0_1.17.0-2_amd64.deb ... Unpacking libxcb-shm0:amd64 (1.17.0-2) ... Selecting previously unselected package libxrender1:amd64. Preparing to unpack .../098-libxrender1_1%3a0.9.10-1.1+b1_amd64.deb ... Unpacking libxrender1:amd64 (1:0.9.10-1.1+b1) ... Selecting previously unselected package libcairo2:amd64. Preparing to unpack .../099-libcairo2_1.18.0-3+b1_amd64.deb ... Unpacking libcairo2:amd64 (1.18.0-3+b1) ... Selecting previously unselected package libcodec2-1.2:amd64. Preparing to unpack .../100-libcodec2-1.2_1.2.0-2+b1_amd64.deb ... Unpacking libcodec2-1.2:amd64 (1.2.0-2+b1) ... Selecting previously unselected package libdav1d7:amd64. Preparing to unpack .../101-libdav1d7_1.4.2-1_amd64.deb ... Unpacking libdav1d7:amd64 (1.4.2-1) ... Selecting previously unselected package libglib2.0-0t64:amd64. Preparing to unpack .../102-libglib2.0-0t64_2.80.2-2_amd64.deb ... Unpacking libglib2.0-0t64:amd64 (2.80.2-2) ... Selecting previously unselected package libgsm1:amd64. Preparing to unpack .../103-libgsm1_1.0.22-1+b1_amd64.deb ... Unpacking libgsm1:amd64 (1.0.22-1+b1) ... Selecting previously unselected package libhwy1t64:amd64. Preparing to unpack .../104-libhwy1t64_1.1.0-1_amd64.deb ... Unpacking libhwy1t64:amd64 (1.1.0-1) ... Selecting previously unselected package liblcms2-2:amd64. Preparing to unpack .../105-liblcms2-2_2.14-2+b1_amd64.deb ... Unpacking liblcms2-2:amd64 (2.14-2+b1) ... Selecting previously unselected package libjxl0.7:amd64. Preparing to unpack .../106-libjxl0.7_0.7.0-10.2+b3_amd64.deb ... Unpacking libjxl0.7:amd64 (0.7.0-10.2+b3) ... Selecting previously unselected package libmp3lame0:amd64. Preparing to unpack .../107-libmp3lame0_3.100-6+b2_amd64.deb ... Unpacking libmp3lame0:amd64 (3.100-6+b2) ... Selecting previously unselected package libopenjp2-7:amd64. Preparing to unpack .../108-libopenjp2-7_2.5.0-2+b3_amd64.deb ... Unpacking libopenjp2-7:amd64 (2.5.0-2+b3) ... Selecting previously unselected package libopus0:amd64. Preparing to unpack .../109-libopus0_1.4-1+b1_amd64.deb ... Unpacking libopus0:amd64 (1.4-1+b1) ... Selecting previously unselected package librav1e0:amd64. Preparing to unpack .../110-librav1e0_0.7.1-2_amd64.deb ... Unpacking librav1e0:amd64 (0.7.1-2) ... Selecting previously unselected package libcairo-gobject2:amd64. Preparing to unpack .../111-libcairo-gobject2_1.18.0-3+b1_amd64.deb ... Unpacking libcairo-gobject2:amd64 (1.18.0-3+b1) ... Selecting previously unselected package libgdk-pixbuf2.0-common. Preparing to unpack .../112-libgdk-pixbuf2.0-common_2.42.12+dfsg-1_all.deb ... Unpacking libgdk-pixbuf2.0-common (2.42.12+dfsg-1) ... Selecting previously unselected package shared-mime-info. Preparing to unpack .../113-shared-mime-info_2.4-4_amd64.deb ... Unpacking shared-mime-info (2.4-4) ... Selecting previously unselected package libjpeg62-turbo:amd64. Preparing to unpack .../114-libjpeg62-turbo_1%3a2.1.5-3_amd64.deb ... Unpacking libjpeg62-turbo:amd64 (1:2.1.5-3) ... Selecting previously unselected package libdeflate0:amd64. Preparing to unpack .../115-libdeflate0_1.20-1_amd64.deb ... Unpacking libdeflate0:amd64 (1.20-1) ... Selecting previously unselected package libjbig0:amd64. Preparing to unpack .../116-libjbig0_2.1-6.1+b1_amd64.deb ... Unpacking libjbig0:amd64 (2.1-6.1+b1) ... Selecting previously unselected package liblerc4:amd64. Preparing to unpack .../117-liblerc4_4.0.0+ds-4+b1_amd64.deb ... Unpacking liblerc4:amd64 (4.0.0+ds-4+b1) ... Selecting previously unselected package libsharpyuv0:amd64. Preparing to unpack .../118-libsharpyuv0_1.4.0-0.1_amd64.deb ... Unpacking libsharpyuv0:amd64 (1.4.0-0.1) ... Selecting previously unselected package libwebp7:amd64. Preparing to unpack .../119-libwebp7_1.4.0-0.1_amd64.deb ... Unpacking libwebp7:amd64 (1.4.0-0.1) ... Selecting previously unselected package libtiff6:amd64. Preparing to unpack .../120-libtiff6_4.5.1+git230720-4_amd64.deb ... Unpacking libtiff6:amd64 (4.5.1+git230720-4) ... Selecting previously unselected package libgdk-pixbuf-2.0-0:amd64. Preparing to unpack .../121-libgdk-pixbuf-2.0-0_2.42.12+dfsg-1_amd64.deb ... Unpacking libgdk-pixbuf-2.0-0:amd64 (2.42.12+dfsg-1) ... Selecting previously unselected package libfribidi0:amd64. Preparing to unpack .../122-libfribidi0_1.0.13-3+b1_amd64.deb ... Unpacking libfribidi0:amd64 (1.0.13-3+b1) ... Selecting previously unselected package libgraphite2-3:amd64. Preparing to unpack .../123-libgraphite2-3_1.3.14-2_amd64.deb ... Unpacking libgraphite2-3:amd64 (1.3.14-2) ... Selecting previously unselected package libharfbuzz0b:amd64. Preparing to unpack .../124-libharfbuzz0b_8.3.0-2+b1_amd64.deb ... Unpacking libharfbuzz0b:amd64 (8.3.0-2+b1) ... Selecting previously unselected package libthai-data. Preparing to unpack .../125-libthai-data_0.1.29-2_all.deb ... Unpacking libthai-data (0.1.29-2) ... Selecting previously unselected package libdatrie1:amd64. Preparing to unpack .../126-libdatrie1_0.2.13-3_amd64.deb ... Unpacking libdatrie1:amd64 (0.2.13-3) ... Selecting previously unselected package libthai0:amd64. Preparing to unpack .../127-libthai0_0.1.29-2_amd64.deb ... Unpacking libthai0:amd64 (0.1.29-2) ... Selecting previously unselected package libpango-1.0-0:amd64. Preparing to unpack .../128-libpango-1.0-0_1.52.2+ds-1_amd64.deb ... Unpacking libpango-1.0-0:amd64 (1.52.2+ds-1) ... Selecting previously unselected package libpangoft2-1.0-0:amd64. Preparing to unpack .../129-libpangoft2-1.0-0_1.52.2+ds-1_amd64.deb ... Unpacking libpangoft2-1.0-0:amd64 (1.52.2+ds-1) ... Selecting previously unselected package libpangocairo-1.0-0:amd64. Preparing to unpack .../130-libpangocairo-1.0-0_1.52.2+ds-1_amd64.deb ... Unpacking libpangocairo-1.0-0:amd64 (1.52.2+ds-1) ... Selecting previously unselected package librsvg2-2:amd64. Preparing to unpack .../131-librsvg2-2_2.58.0+dfsg-1_amd64.deb ... Unpacking librsvg2-2:amd64 (2.58.0+dfsg-1) ... Selecting previously unselected package libshine3:amd64. Preparing to unpack .../132-libshine3_3.1.1-2+b1_amd64.deb ... Unpacking libshine3:amd64 (3.1.1-2+b1) ... Selecting previously unselected package libsnappy1v5:amd64. Preparing to unpack .../133-libsnappy1v5_1.2.1-1_amd64.deb ... Unpacking libsnappy1v5:amd64 (1.2.1-1) ... Selecting previously unselected package libspeex1:amd64. Preparing to unpack .../134-libspeex1_1.2.1-2+b1_amd64.deb ... Unpacking libspeex1:amd64 (1.2.1-2+b1) ... Selecting previously unselected package libsvtav1enc1d1:amd64. Preparing to unpack .../135-libsvtav1enc1d1_1.7.0+dfsg-2+b1_amd64.deb ... Unpacking libsvtav1enc1d1:amd64 (1.7.0+dfsg-2+b1) ... Selecting previously unselected package libsoxr0:amd64. Preparing to unpack .../136-libsoxr0_0.1.3-4+b1_amd64.deb ... Unpacking libsoxr0:amd64 (0.1.3-4+b1) ... Selecting previously unselected package libswresample4:amd64. Preparing to unpack .../137-libswresample4_7%3a6.1.1-4+b1_amd64.deb ... Unpacking libswresample4:amd64 (7:6.1.1-4+b1) ... Selecting previously unselected package libogg0:amd64. Preparing to unpack .../138-libogg0_1.3.5-3+b1_amd64.deb ... Unpacking libogg0:amd64 (1.3.5-3+b1) ... Selecting previously unselected package libtheora0:amd64. Preparing to unpack .../139-libtheora0_1.1.1+dfsg.1-16.1+b2_amd64.deb ... Unpacking libtheora0:amd64 (1.1.1+dfsg.1-16.1+b2) ... Selecting previously unselected package libtwolame0:amd64. Preparing to unpack .../140-libtwolame0_0.4.0-2+b1_amd64.deb ... Unpacking libtwolame0:amd64 (0.4.0-2+b1) ... Selecting previously unselected package libvorbis0a:amd64. Preparing to unpack .../141-libvorbis0a_1.3.7-2_amd64.deb ... Unpacking libvorbis0a:amd64 (1.3.7-2) ... Selecting previously unselected package libvorbisenc2:amd64. Preparing to unpack .../142-libvorbisenc2_1.3.7-2_amd64.deb ... Unpacking libvorbisenc2:amd64 (1.3.7-2) ... Selecting previously unselected package libvpx9:amd64. Preparing to unpack .../143-libvpx9_1.14.0-2_amd64.deb ... Unpacking libvpx9:amd64 (1.14.0-2) ... Selecting previously unselected package libwebpmux3:amd64. Preparing to unpack .../144-libwebpmux3_1.4.0-0.1_amd64.deb ... Unpacking libwebpmux3:amd64 (1.4.0-0.1) ... Selecting previously unselected package libx264-164:amd64. Preparing to unpack .../145-libx264-164_2%3a0.164.3108+git31e19f9-1_amd64.deb ... Unpacking libx264-164:amd64 (2:0.164.3108+git31e19f9-1) ... Selecting previously unselected package libx265-199:amd64. Preparing to unpack .../146-libx265-199_3.5-2+b1_amd64.deb ... Unpacking libx265-199:amd64 (3.5-2+b1) ... Selecting previously unselected package libxvidcore4:amd64. Preparing to unpack .../147-libxvidcore4_2%3a1.3.7-1+b1_amd64.deb ... Unpacking libxvidcore4:amd64 (2:1.3.7-1+b1) ... Selecting previously unselected package libzvbi-common. Preparing to unpack .../148-libzvbi-common_0.2.42-2_all.deb ... Unpacking libzvbi-common (0.2.42-2) ... Selecting previously unselected package libzvbi0t64:amd64. Preparing to unpack .../149-libzvbi0t64_0.2.42-2_amd64.deb ... Unpacking libzvbi0t64:amd64 (0.2.42-2) ... Selecting previously unselected package libavcodec60:amd64. Preparing to unpack .../150-libavcodec60_7%3a6.1.1-4+b1_amd64.deb ... Unpacking libavcodec60:amd64 (7:6.1.1-4+b1) ... Selecting previously unselected package libudfread0:amd64. Preparing to unpack .../151-libudfread0_1.1.2-1+b1_amd64.deb ... Unpacking libudfread0:amd64 (1.1.2-1+b1) ... Selecting previously unselected package libbluray2:amd64. Preparing to unpack .../152-libbluray2_1%3a1.3.4-1+b1_amd64.deb ... Unpacking libbluray2:amd64 (1:1.3.4-1+b1) ... Selecting previously unselected package libchromaprint1:amd64. Preparing to unpack .../153-libchromaprint1_1.5.1-5_amd64.deb ... Unpacking libchromaprint1:amd64 (1.5.1-5) ... Selecting previously unselected package libgme0:amd64. Preparing to unpack .../154-libgme0_0.6.3-7+b1_amd64.deb ... Unpacking libgme0:amd64 (0.6.3-7+b1) ... Selecting previously unselected package libmpg123-0t64:amd64. Preparing to unpack .../155-libmpg123-0t64_1.32.6-3_amd64.deb ... Unpacking libmpg123-0t64:amd64 (1.32.6-3) ... Selecting previously unselected package libvorbisfile3:amd64. Preparing to unpack .../156-libvorbisfile3_1.3.7-2_amd64.deb ... Unpacking libvorbisfile3:amd64 (1.3.7-2) ... Selecting previously unselected package libopenmpt0t64:amd64. Preparing to unpack .../157-libopenmpt0t64_0.7.7-1_amd64.deb ... Unpacking libopenmpt0t64:amd64 (0.7.7-1) ... Selecting previously unselected package librabbitmq4:amd64. Preparing to unpack .../158-librabbitmq4_0.11.0-1+b2_amd64.deb ... Unpacking librabbitmq4:amd64 (0.11.0-1+b2) ... Selecting previously unselected package libcjson1:amd64. Preparing to unpack .../159-libcjson1_1.7.17-2_amd64.deb ... Unpacking libcjson1:amd64 (1.7.17-2) ... Selecting previously unselected package libmbedcrypto7t64:amd64. Preparing to unpack .../160-libmbedcrypto7t64_2.28.8-1_amd64.deb ... Unpacking libmbedcrypto7t64:amd64 (2.28.8-1) ... Selecting previously unselected package librist4:amd64. Preparing to unpack .../161-librist4_0.2.10+dfsg-2_amd64.deb ... Unpacking librist4:amd64 (0.2.10+dfsg-2) ... Selecting previously unselected package libsrt1.5-gnutls:amd64. Preparing to unpack .../162-libsrt1.5-gnutls_1.5.3-1+b2_amd64.deb ... Unpacking libsrt1.5-gnutls:amd64 (1.5.3-1+b2) ... Selecting previously unselected package libkrb5support0:amd64. Preparing to unpack .../163-libkrb5support0_1.20.1-6+b1_amd64.deb ... Unpacking libkrb5support0:amd64 (1.20.1-6+b1) ... Selecting previously unselected package libcom-err2:amd64. Preparing to unpack .../164-libcom-err2_1.47.1-1_amd64.deb ... Unpacking libcom-err2:amd64 (1.47.1-1) ... Selecting previously unselected package libk5crypto3:amd64. Preparing to unpack .../165-libk5crypto3_1.20.1-6+b1_amd64.deb ... Unpacking libk5crypto3:amd64 (1.20.1-6+b1) ... Selecting previously unselected package libkeyutils1:amd64. Preparing to unpack .../166-libkeyutils1_1.6.3-3_amd64.deb ... Unpacking libkeyutils1:amd64 (1.6.3-3) ... Selecting previously unselected package libkrb5-3:amd64. Preparing to unpack .../167-libkrb5-3_1.20.1-6+b1_amd64.deb ... Unpacking libkrb5-3:amd64 (1.20.1-6+b1) ... Selecting previously unselected package libgssapi-krb5-2:amd64. Preparing to unpack .../168-libgssapi-krb5-2_1.20.1-6+b1_amd64.deb ... Unpacking libgssapi-krb5-2:amd64 (1.20.1-6+b1) ... Selecting previously unselected package libssh-gcrypt-4:amd64. Preparing to unpack .../169-libssh-gcrypt-4_0.10.6-2+b1_amd64.deb ... Unpacking libssh-gcrypt-4:amd64 (0.10.6-2+b1) ... Selecting previously unselected package libnorm1t64:amd64. Preparing to unpack .../170-libnorm1t64_1.5.9+dfsg-3.1_amd64.deb ... Unpacking libnorm1t64:amd64 (1.5.9+dfsg-3.1) ... Selecting previously unselected package libpgm-5.3-0t64:amd64. Preparing to unpack .../171-libpgm-5.3-0t64_5.3.128~dfsg-2.1_amd64.deb ... Unpacking libpgm-5.3-0t64:amd64 (5.3.128~dfsg-2.1) ... Selecting previously unselected package libsodium23:amd64. Preparing to unpack .../172-libsodium23_1.0.18-1+b1_amd64.deb ... Unpacking libsodium23:amd64 (1.0.18-1+b1) ... Selecting previously unselected package libzmq5:amd64. Preparing to unpack .../173-libzmq5_4.3.5-1+b2_amd64.deb ... Unpacking libzmq5:amd64 (4.3.5-1+b2) ... Selecting previously unselected package libavformat60:amd64. Preparing to unpack .../174-libavformat60_7%3a6.1.1-4+b1_amd64.deb ... Unpacking libavformat60:amd64 (7:6.1.1-4+b1) ... Selecting previously unselected package libgav1-1:amd64. Preparing to unpack .../175-libgav1-1_0.19.0-2+b1_amd64.deb ... Unpacking libgav1-1:amd64 (0.19.0-2+b1) ... Selecting previously unselected package libyuv0:amd64. Preparing to unpack .../176-libyuv0_0.0.1888.20240509-4_amd64.deb ... Unpacking libyuv0:amd64 (0.0.1888.20240509-4) ... Selecting previously unselected package libavif16:amd64. Preparing to unpack .../177-libavif16_1.0.4-3_amd64.deb ... Unpacking libavif16:amd64 (1.0.4-3) ... Selecting previously unselected package libbenchmark1.8.3:amd64. Preparing to unpack .../178-libbenchmark1.8.3_1.8.3-3_amd64.deb ... Unpacking libbenchmark1.8.3:amd64 (1.8.3-3) ... Selecting previously unselected package libblosc1:amd64. Preparing to unpack .../179-libblosc1_1.21.5+ds-1+b1_amd64.deb ... Unpacking libblosc1:amd64 (1.21.5+ds-1+b1) ... Selecting previously unselected package libcap2-bin. Preparing to unpack .../180-libcap2-bin_1%3a2.66-5_amd64.deb ... Unpacking libcap2-bin (1:2.66-5) ... Selecting previously unselected package libsasl2-modules-db:amd64. Preparing to unpack .../181-libsasl2-modules-db_2.1.28+dfsg1-6_amd64.deb ... Unpacking libsasl2-modules-db:amd64 (2.1.28+dfsg1-6) ... Selecting previously unselected package libsasl2-2:amd64. Preparing to unpack .../182-libsasl2-2_2.1.28+dfsg1-6_amd64.deb ... Unpacking libsasl2-2:amd64 (2.1.28+dfsg1-6) ... Selecting previously unselected package libldap-2.5-0:amd64. Preparing to unpack .../183-libldap-2.5-0_2.5.17+dfsg-1_amd64.deb ... Unpacking libldap-2.5-0:amd64 (2.5.17+dfsg-1) ... Selecting previously unselected package libnghttp2-14:amd64. Preparing to unpack .../184-libnghttp2-14_1.61.0-1+b1_amd64.deb ... Unpacking libnghttp2-14:amd64 (1.61.0-1+b1) ... Selecting previously unselected package libpsl5t64:amd64. Preparing to unpack .../185-libpsl5t64_0.21.2-1.1_amd64.deb ... Unpacking libpsl5t64:amd64 (0.21.2-1.1) ... Selecting previously unselected package librtmp1:amd64. Preparing to unpack .../186-librtmp1_2.4+20151223.gitfa8646d.1-2+b4_amd64.deb ... Unpacking librtmp1:amd64 (2.4+20151223.gitfa8646d.1-2+b4) ... Selecting previously unselected package libssh2-1t64:amd64. Preparing to unpack .../187-libssh2-1t64_1.11.0-5_amd64.deb ... Unpacking libssh2-1t64:amd64 (1.11.0-5) ... Selecting previously unselected package libcurl3t64-gnutls:amd64. Preparing to unpack .../188-libcurl3t64-gnutls_8.8.0-1_amd64.deb ... Unpacking libcurl3t64-gnutls:amd64 (8.8.0-1) ... Selecting previously unselected package libcfitsio10t64:amd64. Preparing to unpack .../189-libcfitsio10t64_4.3.1-1.1+b1_amd64.deb ... Unpacking libcfitsio10t64:amd64 (4.3.1-1.1+b1) ... Selecting previously unselected package libcharls2:amd64. Preparing to unpack .../190-libcharls2_2.4.2-2+b1_amd64.deb ... Unpacking libcharls2:amd64 (2.4.2-2+b1) ... Selecting previously unselected package libcpuinfo0:amd64. Preparing to unpack .../191-libcpuinfo0_0.0~git20230113.6481e8b-2_amd64.deb ... Unpacking libcpuinfo0:amd64 (0.0~git20230113.6481e8b-2) ... Selecting previously unselected package libcurl4t64:amd64. Preparing to unpack .../192-libcurl4t64_8.8.0-1_amd64.deb ... Unpacking libcurl4t64:amd64 (8.8.0-1) ... Selecting previously unselected package libdbus-1-3:amd64. Preparing to unpack .../193-libdbus-1-3_1.14.10-4+b1_amd64.deb ... Unpacking libdbus-1-3:amd64 (1.14.10-4+b1) ... Selecting previously unselected package libraw1394-11:amd64. Preparing to unpack .../194-libraw1394-11_2.1.2-2+b1_amd64.deb ... Unpacking libraw1394-11:amd64 (2.1.2-2+b1) ... Selecting previously unselected package libusb-1.0-0:amd64. Preparing to unpack .../195-libusb-1.0-0_2%3a1.0.27-1_amd64.deb ... Unpacking libusb-1.0-0:amd64 (2:1.0.27-1) ... Selecting previously unselected package libdc1394-25:amd64. Preparing to unpack .../196-libdc1394-25_2.2.6-4+b1_amd64.deb ... Unpacking libdc1394-25:amd64 (2.2.6-4+b1) ... Selecting previously unselected package libde265-0:amd64. Preparing to unpack .../197-libde265-0_1.0.15-1+b1_amd64.deb ... Unpacking libde265-0:amd64 (1.0.15-1+b1) ... Selecting previously unselected package libdnnl3:amd64. Preparing to unpack .../198-libdnnl3_3.1.1-2_amd64.deb ... Unpacking libdnnl3:amd64 (3.1.1-2) ... Selecting previously unselected package libdouble-conversion3:amd64. Preparing to unpack .../199-libdouble-conversion3_3.3.0-1+b1_amd64.deb ... Unpacking libdouble-conversion3:amd64 (3.3.0-1+b1) ... Selecting previously unselected package libdrm-nouveau2:amd64. Preparing to unpack .../200-libdrm-nouveau2_2.4.120-2_amd64.deb ... Unpacking libdrm-nouveau2:amd64 (2.4.120-2) ... Selecting previously unselected package libdrm-radeon1:amd64. Preparing to unpack .../201-libdrm-radeon1_2.4.120-2_amd64.deb ... Unpacking libdrm-radeon1:amd64 (2.4.120-2) ... Selecting previously unselected package libdw1t64:amd64. Preparing to unpack .../202-libdw1t64_0.191-1+b1_amd64.deb ... Unpacking libdw1t64:amd64 (0.191-1+b1) ... Selecting previously unselected package libwayland-server0:amd64. Preparing to unpack .../203-libwayland-server0_1.22.0-2.1+b1_amd64.deb ... Unpacking libwayland-server0:amd64 (1.22.0-2.1+b1) ... Selecting previously unselected package libxcb-randr0:amd64. Preparing to unpack .../204-libxcb-randr0_1.17.0-2_amd64.deb ... Unpacking libxcb-randr0:amd64 (1.17.0-2) ... Selecting previously unselected package libgbm1:amd64. Preparing to unpack .../205-libgbm1_24.0.8-1_amd64.deb ... Unpacking libgbm1:amd64 (24.0.8-1) ... Selecting previously unselected package libglapi-mesa:amd64. Preparing to unpack .../206-libglapi-mesa_24.0.8-1_amd64.deb ... Unpacking libglapi-mesa:amd64 (24.0.8-1) ... Selecting previously unselected package libxcb-dri2-0:amd64. Preparing to unpack .../207-libxcb-dri2-0_1.17.0-2_amd64.deb ... Unpacking libxcb-dri2-0:amd64 (1.17.0-2) ... Selecting previously unselected package libxcb-present0:amd64. Preparing to unpack .../208-libxcb-present0_1.17.0-2_amd64.deb ... Unpacking libxcb-present0:amd64 (1.17.0-2) ... Selecting previously unselected package libxcb-sync1:amd64. Preparing to unpack .../209-libxcb-sync1_1.17.0-2_amd64.deb ... Unpacking libxcb-sync1:amd64 (1.17.0-2) ... Selecting previously unselected package libxcb-xfixes0:amd64. Preparing to unpack .../210-libxcb-xfixes0_1.17.0-2_amd64.deb ... Unpacking libxcb-xfixes0:amd64 (1.17.0-2) ... Selecting previously unselected package libxshmfence1:amd64. Preparing to unpack .../211-libxshmfence1_1.3-1+b1_amd64.deb ... Unpacking libxshmfence1:amd64 (1.3-1+b1) ... Selecting previously unselected package libegl-mesa0:amd64. Preparing to unpack .../212-libegl-mesa0_24.0.8-1_amd64.deb ... Unpacking libegl-mesa0:amd64 (24.0.8-1) ... Selecting previously unselected package libevdev2:amd64. Preparing to unpack .../213-libevdev2_1.13.1+dfsg-1+b1_amd64.deb ... Unpacking libevdev2:amd64 (1.13.1+dfsg-1+b1) ... Selecting previously unselected package libevent-core-2.1-7t64:amd64. Preparing to unpack .../214-libevent-core-2.1-7t64_2.1.12-stable-10_amd64.deb ... Unpacking libevent-core-2.1-7t64:amd64 (2.1.12-stable-10) ... Selecting previously unselected package libevent-pthreads-2.1-7t64:amd64. Preparing to unpack .../215-libevent-pthreads-2.1-7t64_2.1.12-stable-10_amd64.deb ... Unpacking libevent-pthreads-2.1-7t64:amd64 (2.1.12-stable-10) ... Selecting previously unselected package libexif12:amd64. Preparing to unpack .../216-libexif12_0.6.24-1+b1_amd64.deb ... Unpacking libexif12:amd64 (0.6.24-1+b1) ... Selecting previously unselected package libpsm-infinipath1. Preparing to unpack .../217-libpsm-infinipath1_3.3+20.604758e7-6.3_amd64.deb ... Unpacking libpsm-infinipath1 (3.3+20.604758e7-6.3) ... Selecting previously unselected package libpsm2-2. Preparing to unpack .../218-libpsm2-2_11.2.185-2_amd64.deb ... Unpacking libpsm2-2 (11.2.185-2) ... Selecting previously unselected package librdmacm1t64:amd64. Preparing to unpack .../219-librdmacm1t64_50.0-2+b1_amd64.deb ... Unpacking librdmacm1t64:amd64 (50.0-2+b1) ... Selecting previously unselected package libfabric1:amd64. Preparing to unpack .../220-libfabric1_1.17.0-3+b1_amd64.deb ... Unpacking libfabric1:amd64 (1.17.0-3+b1) ... Selecting previously unselected package libfmt9:amd64. Preparing to unpack .../221-libfmt9_9.1.0+ds1-2_amd64.deb ... Unpacking libfmt9:amd64 (9.1.0+ds1-2) ... Selecting previously unselected package libminizip1t64:amd64. Preparing to unpack .../222-libminizip1t64_1%3a1.3.dfsg+really1.3.1-1_amd64.deb ... Unpacking libminizip1t64:amd64 (1:1.3.dfsg+really1.3.1-1) ... Selecting previously unselected package libfreexl1:amd64. Preparing to unpack .../223-libfreexl1_2.0.0-1+b2_amd64.deb ... Unpacking libfreexl1:amd64 (2.0.0-1+b2) ... Selecting previously unselected package libfyba0t64:amd64. Preparing to unpack .../224-libfyba0t64_4.1.1-11_amd64.deb ... Unpacking libfyba0t64:amd64 (4.1.1-11) ... Selecting previously unselected package libheif-plugin-dav1d:amd64. Preparing to unpack .../225-libheif-plugin-dav1d_1.17.6-1+b2_amd64.deb ... Unpacking libheif-plugin-dav1d:amd64 (1.17.6-1+b2) ... Selecting previously unselected package libheif-plugin-libde265:amd64. Preparing to unpack .../226-libheif-plugin-libde265_1.17.6-1+b2_amd64.deb ... Unpacking libheif-plugin-libde265:amd64 (1.17.6-1+b2) ... Selecting previously unselected package libheif1:amd64. Preparing to unpack .../227-libheif1_1.17.6-1+b2_amd64.deb ... Unpacking libheif1:amd64 (1.17.6-1+b2) ... Selecting previously unselected package libxpm4:amd64. Preparing to unpack .../228-libxpm4_1%3a3.5.17-1+b1_amd64.deb ... Unpacking libxpm4:amd64 (1:3.5.17-1+b1) ... Selecting previously unselected package libgd3:amd64. Preparing to unpack .../229-libgd3_2.3.3-9+b3_amd64.deb ... Unpacking libgd3:amd64 (2.3.3-9+b3) ... Selecting previously unselected package libgeos3.12.1t64:amd64. Preparing to unpack .../230-libgeos3.12.1t64_3.12.1-3_amd64.deb ... Unpacking libgeos3.12.1t64:amd64 (3.12.1-3) ... Selecting previously unselected package libgeos-c1t64:amd64. Preparing to unpack .../231-libgeos-c1t64_3.12.1-3_amd64.deb ... Unpacking libgeos-c1t64:amd64 (3.12.1-3) ... Selecting previously unselected package proj-data. Preparing to unpack .../232-proj-data_9.4.0-1_all.deb ... Unpacking proj-data (9.4.0-1) ... Selecting previously unselected package libproj25:amd64. Preparing to unpack .../233-libproj25_9.4.0-1+b1_amd64.deb ... Unpacking libproj25:amd64 (9.4.0-1+b1) ... Selecting previously unselected package libgeotiff5:amd64. Preparing to unpack .../234-libgeotiff5_1.7.3-1_amd64.deb ... Unpacking libgeotiff5:amd64 (1.7.3-1) ... Selecting previously unselected package libgif7:amd64. Preparing to unpack .../235-libgif7_5.2.2-1_amd64.deb ... Unpacking libgif7:amd64 (5.2.2-1) ... Selecting previously unselected package libsz2:amd64. Preparing to unpack .../236-libsz2_1.1.3-1_amd64.deb ... Unpacking libsz2:amd64 (1.1.3-1) ... Selecting previously unselected package libhdf4-0-alt:amd64. Preparing to unpack .../237-libhdf4-0-alt_4.3.0-1_amd64.deb ... Unpacking libhdf4-0-alt:amd64 (4.3.0-1) ... Selecting previously unselected package libhdf5-103-1t64:amd64. Preparing to unpack .../238-libhdf5-103-1t64_1.10.10+repack-3.3_amd64.deb ... Unpacking libhdf5-103-1t64:amd64 (1.10.10+repack-3.3) ... Selecting previously unselected package libjson-c5:amd64. Preparing to unpack .../239-libjson-c5_0.17-1+b1_amd64.deb ... Unpacking libjson-c5:amd64 (0.17-1+b1) ... Selecting previously unselected package liburiparser1:amd64. Preparing to unpack .../240-liburiparser1_0.9.7+dfsg-2+b1_amd64.deb ... Unpacking liburiparser1:amd64 (0.9.7+dfsg-2+b1) ... Selecting previously unselected package libkmlbase1t64:amd64. Preparing to unpack .../241-libkmlbase1t64_1.3.0-12_amd64.deb ... Unpacking libkmlbase1t64:amd64 (1.3.0-12) ... Selecting previously unselected package libkmldom1t64:amd64. Preparing to unpack .../242-libkmldom1t64_1.3.0-12_amd64.deb ... Unpacking libkmldom1t64:amd64 (1.3.0-12) ... Selecting previously unselected package libkmlengine1t64:amd64. Preparing to unpack .../243-libkmlengine1t64_1.3.0-12_amd64.deb ... Unpacking libkmlengine1t64:amd64 (1.3.0-12) ... Selecting previously unselected package mysql-common. Preparing to unpack .../244-mysql-common_5.8+1.1.0_all.deb ... Unpacking mysql-common (5.8+1.1.0) ... Selecting previously unselected package mariadb-common. Preparing to unpack .../245-mariadb-common_1%3a10.11.8-1_all.deb ... Unpacking mariadb-common (1:10.11.8-1) ... Selecting previously unselected package libmariadb3:amd64. Preparing to unpack .../246-libmariadb3_1%3a10.11.8-1_amd64.deb ... Unpacking libmariadb3:amd64 (1:10.11.8-1) ... Selecting previously unselected package libhdf5-hl-100t64:amd64. Preparing to unpack .../247-libhdf5-hl-100t64_1.10.10+repack-3.3_amd64.deb ... Unpacking libhdf5-hl-100t64:amd64 (1.10.10+repack-3.3) ... Selecting previously unselected package libnetcdf19t64:amd64. Preparing to unpack .../248-libnetcdf19t64_1%3a4.9.2-6_amd64.deb ... Unpacking libnetcdf19t64:amd64 (1:4.9.2-6) ... Selecting previously unselected package libltdl7:amd64. Preparing to unpack .../249-libltdl7_2.4.7-7+b1_amd64.deb ... Unpacking libltdl7:amd64 (2.4.7-7+b1) ... Selecting previously unselected package libodbc2:amd64. Preparing to unpack .../250-libodbc2_2.3.12-1+b2_amd64.deb ... Unpacking libodbc2:amd64 (2.3.12-1+b2) ... Selecting previously unselected package unixodbc-common. Preparing to unpack .../251-unixodbc-common_2.3.12-1_all.deb ... Unpacking unixodbc-common (2.3.12-1) ... Selecting previously unselected package libodbcinst2:amd64. Preparing to unpack .../252-libodbcinst2_2.3.12-1+b2_amd64.deb ... Unpacking libodbcinst2:amd64 (2.3.12-1+b2) ... Selecting previously unselected package libtirpc-common. Preparing to unpack .../253-libtirpc-common_1.3.4+ds-1.3_all.deb ... Unpacking libtirpc-common (1.3.4+ds-1.3) ... Selecting previously unselected package libtirpc3t64:amd64. Preparing to unpack .../254-libtirpc3t64_1.3.4+ds-1.3_amd64.deb ... Adding 'diversion of /lib/x86_64-linux-gnu/libtirpc.so.3 to /lib/x86_64-linux-gnu/libtirpc.so.3.usr-is-merged by libtirpc3t64' Adding 'diversion of /lib/x86_64-linux-gnu/libtirpc.so.3.0.0 to /lib/x86_64-linux-gnu/libtirpc.so.3.0.0.usr-is-merged by libtirpc3t64' Unpacking libtirpc3t64:amd64 (1.3.4+ds-1.3) ... Selecting previously unselected package libogdi4.1:amd64. Preparing to unpack .../255-libogdi4.1_4.1.1+ds-4_amd64.deb ... Unpacking libogdi4.1:amd64 (4.1.1+ds-4) ... Selecting previously unselected package libnspr4:amd64. Preparing to unpack .../256-libnspr4_2%3a4.35-1.1+b1_amd64.deb ... Unpacking libnspr4:amd64 (2:4.35-1.1+b1) ... Selecting previously unselected package libnss3:amd64. Preparing to unpack .../257-libnss3_2%3a3.100-1_amd64.deb ... Unpacking libnss3:amd64 (2:3.100-1) ... Selecting previously unselected package libpoppler134:amd64. Preparing to unpack .../258-libpoppler134_24.02.0-5_amd64.deb ... Unpacking libpoppler134:amd64 (24.02.0-5) ... Selecting previously unselected package libpq5:amd64. Preparing to unpack .../259-libpq5_16.3-1_amd64.deb ... Unpacking libpq5:amd64 (16.3-1) ... Selecting previously unselected package libqhull-r8.0:amd64. Preparing to unpack .../260-libqhull-r8.0_2020.2-6+b1_amd64.deb ... Unpacking libqhull-r8.0:amd64 (2020.2-6+b1) ... Selecting previously unselected package librttopo1:amd64. Preparing to unpack .../261-librttopo1_1.1.0-3+b1_amd64.deb ... Unpacking librttopo1:amd64 (1.1.0-3+b1) ... Selecting previously unselected package libspatialite8t64:amd64. Preparing to unpack .../262-libspatialite8t64_5.1.0-3+b1_amd64.deb ... Unpacking libspatialite8t64:amd64 (5.1.0-3+b1) ... Selecting previously unselected package libxerces-c3.2t64:amd64. Preparing to unpack .../263-libxerces-c3.2t64_3.2.4+debian-1.3_amd64.deb ... Unpacking libxerces-c3.2t64:amd64 (3.2.4+debian-1.3) ... Selecting previously unselected package libgdal35:amd64. Preparing to unpack .../264-libgdal35_3.9.0+dfsg-1_amd64.deb ... Unpacking libgdal35:amd64 (3.9.0+dfsg-1) ... Selecting previously unselected package libsocket++1:amd64. Preparing to unpack .../265-libsocket++1_1.12.13+git20131030.5d039ba-1+b1_amd64.deb ... Unpacking libsocket++1:amd64 (1.12.13+git20131030.5d039ba-1+b1) ... Selecting previously unselected package libgdcm3.0t64:amd64. Preparing to unpack .../266-libgdcm3.0t64_3.0.24-1+b1_amd64.deb ... Unpacking libgdcm3.0t64:amd64 (3.0.24-1+b1) ... Selecting previously unselected package libglvnd0:amd64. Preparing to unpack .../267-libglvnd0_1.7.0-1+b1_amd64.deb ... Unpacking libglvnd0:amd64 (1.7.0-1+b1) ... Selecting previously unselected package libxcb-glx0:amd64. Preparing to unpack .../268-libxcb-glx0_1.17.0-2_amd64.deb ... Unpacking libxcb-glx0:amd64 (1.17.0-2) ... Selecting previously unselected package libxxf86vm1:amd64. Preparing to unpack .../269-libxxf86vm1_1%3a1.1.4-1+b2_amd64.deb ... Unpacking libxxf86vm1:amd64 (1:1.1.4-1+b2) ... Selecting previously unselected package libvulkan1:amd64. Preparing to unpack .../270-libvulkan1_1.3.280.0-1_amd64.deb ... Unpacking libvulkan1:amd64 (1.3.280.0-1) ... Selecting previously unselected package libsensors-config. Preparing to unpack .../271-libsensors-config_1%3a3.6.0-9_all.deb ... Unpacking libsensors-config (1:3.6.0-9) ... Selecting previously unselected package libsensors5:amd64. Preparing to unpack .../272-libsensors5_1%3a3.6.0-9_amd64.deb ... Unpacking libsensors5:amd64 (1:3.6.0-9) ... Selecting previously unselected package libgl1-mesa-dri:amd64. Preparing to unpack .../273-libgl1-mesa-dri_24.0.8-1_amd64.deb ... Unpacking libgl1-mesa-dri:amd64 (24.0.8-1) ... Selecting previously unselected package libglx-mesa0:amd64. Preparing to unpack .../274-libglx-mesa0_24.0.8-1_amd64.deb ... Unpacking libglx-mesa0:amd64 (24.0.8-1) ... Selecting previously unselected package libglx0:amd64. Preparing to unpack .../275-libglx0_1.7.0-1+b1_amd64.deb ... Unpacking libglx0:amd64 (1.7.0-1+b1) ... Selecting previously unselected package libgl1:amd64. Preparing to unpack .../276-libgl1_1.7.0-1+b1_amd64.deb ... Unpacking libgl1:amd64 (1.7.0-1+b1) ... Selecting previously unselected package libhiredis1.1.0:amd64. Preparing to unpack .../277-libhiredis1.1.0_1.2.0-6+b2_amd64.deb ... Unpacking libhiredis1.1.0:amd64 (1.2.0-6+b2) ... Selecting previously unselected package libhwloc15:amd64. Preparing to unpack .../278-libhwloc15_2.10.0-1+b1_amd64.deb ... Unpacking libhwloc15:amd64 (2.10.0-1+b1) ... Selecting previously unselected package libmunge2:amd64. Preparing to unpack .../279-libmunge2_0.5.15-4_amd64.deb ... Unpacking libmunge2:amd64 (0.5.15-4) ... Selecting previously unselected package libxnvctrl0:amd64. Preparing to unpack .../280-libxnvctrl0_535.171.04-1_amd64.deb ... Unpacking libxnvctrl0:amd64 (535.171.04-1) ... Selecting previously unselected package libhwloc-plugins:amd64. Preparing to unpack .../281-libhwloc-plugins_2.10.0-1+b1_amd64.deb ... Unpacking libhwloc-plugins:amd64 (2.10.0-1+b1) ... Selecting previously unselected package libpmix2t64:amd64. Preparing to unpack .../282-libpmix2t64_5.0.2-3_amd64.deb ... Unpacking libpmix2t64:amd64 (5.0.2-3) ... Selecting previously unselected package libucx0:amd64. Preparing to unpack .../283-libucx0_1.16.0+ds-5_amd64.deb ... Unpacking libucx0:amd64 (1.16.0+ds-5) ... Selecting previously unselected package libopenmpi3t64:amd64. Preparing to unpack .../284-libopenmpi3t64_4.1.6-13.3_amd64.deb ... Unpacking libopenmpi3t64:amd64 (4.1.6-13.3) ... Selecting previously unselected package libgloo0. Preparing to unpack .../285-libgloo0_0.0~git20230519.597accf-2+b2_amd64.deb ... Unpacking libgloo0 (0.0~git20230519.597accf-2+b2) ... Selecting previously unselected package libgphoto2-port12t64:amd64. Preparing to unpack .../286-libgphoto2-port12t64_2.5.31-2.1+b1_amd64.deb ... Unpacking libgphoto2-port12t64:amd64 (2.5.31-2.1+b1) ... Selecting previously unselected package libgphoto2-6t64:amd64. Preparing to unpack .../287-libgphoto2-6t64_2.5.31-2.1+b1_amd64.deb ... Unpacking libgphoto2-6t64:amd64 (2.5.31-2.1+b1) ... Selecting previously unselected package libunwind8:amd64. Preparing to unpack .../288-libunwind8_1.6.2-3+b1_amd64.deb ... Unpacking libunwind8:amd64 (1.6.2-3+b1) ... Selecting previously unselected package libgstreamer1.0-0:amd64. Preparing to unpack .../289-libgstreamer1.0-0_1.24.3-1_amd64.deb ... Unpacking libgstreamer1.0-0:amd64 (1.24.3-1) ... Selecting previously unselected package liborc-0.4-0t64:amd64. Preparing to unpack .../290-liborc-0.4-0t64_1%3a0.4.38-1_amd64.deb ... Unpacking liborc-0.4-0t64:amd64 (1:0.4.38-1) ... Selecting previously unselected package libgstreamer-plugins-base1.0-0:amd64. Preparing to unpack .../291-libgstreamer-plugins-base1.0-0_1.24.3-1_amd64.deb ... Unpacking libgstreamer-plugins-base1.0-0:amd64 (1.24.3-1) ... Selecting previously unselected package libgudev-1.0-0:amd64. Preparing to unpack .../292-libgudev-1.0-0_238-5_amd64.deb ... Unpacking libgudev-1.0-0:amd64 (238-5) ... Selecting previously unselected package x11-common. Preparing to unpack .../293-x11-common_1%3a7.7+23_all.deb ... Unpacking x11-common (1:7.7+23) ... Selecting previously unselected package libice6:amd64. Preparing to unpack .../294-libice6_2%3a1.0.10-1+b1_amd64.deb ... Unpacking libice6:amd64 (2:1.0.10-1+b1) ... Selecting previously unselected package libimath-3-1-29t64:amd64. Preparing to unpack .../295-libimath-3-1-29t64_3.1.9-3.1+b1_amd64.deb ... Unpacking libimath-3-1-29t64:amd64 (3.1.9-3.1+b1) ... Selecting previously unselected package libwacom-common. Preparing to unpack .../296-libwacom-common_2.10.0-2_all.deb ... Unpacking libwacom-common (2.10.0-2) ... Selecting previously unselected package libwacom9:amd64. Preparing to unpack .../297-libwacom9_2.10.0-2_amd64.deb ... Unpacking libwacom9:amd64 (2.10.0-2) ... Selecting previously unselected package libinput-bin. Preparing to unpack .../298-libinput-bin_1.25.0-1+b2_amd64.deb ... Unpacking libinput-bin (1.25.0-1+b2) ... Selecting previously unselected package libmtdev1t64:amd64. Preparing to unpack .../299-libmtdev1t64_1.1.6-1.2_amd64.deb ... Unpacking libmtdev1t64:amd64 (1.1.6-1.2) ... Selecting previously unselected package libinput10:amd64. Preparing to unpack .../300-libinput10_1.25.0-1+b2_amd64.deb ... Unpacking libinput10:amd64 (1.25.0-1+b2) ... Selecting previously unselected package liblept5:amd64. Preparing to unpack .../301-liblept5_1.82.0-3+b4_amd64.deb ... Unpacking liblept5:amd64 (1.82.0-3+b4) ... Selecting previously unselected package libleveldb1d:amd64. Preparing to unpack .../302-libleveldb1d_1.23-5+b1_amd64.deb ... Unpacking libleveldb1d:amd64 (1.23-5+b1) ... Selecting previously unselected package liblmdb0:amd64. Preparing to unpack .../303-liblmdb0_0.9.31-1+b1_amd64.deb ... Unpacking liblmdb0:amd64 (0.9.31-1+b1) ... Selecting previously unselected package libmd4c0:amd64. Preparing to unpack .../304-libmd4c0_0.4.8-1+b1_amd64.deb ... Unpacking libmd4c0:amd64 (0.4.8-1+b1) ... Selecting previously unselected package libprotobuf32t64:amd64. Preparing to unpack .../305-libprotobuf32t64_3.21.12-8.2_amd64.deb ... Unpacking libprotobuf32t64:amd64 (3.21.12-8.2) ... Selecting previously unselected package libonnx1t64:amd64. Preparing to unpack .../306-libonnx1t64_1.14.1-2.1+b1_amd64.deb ... Unpacking libonnx1t64:amd64 (1.14.1-2.1+b1) ... Selecting previously unselected package libtbbmalloc2:amd64. Preparing to unpack .../307-libtbbmalloc2_2021.11.0-2_amd64.deb ... Unpacking libtbbmalloc2:amd64 (2021.11.0-2) ... Selecting previously unselected package libtbbbind-2-5:amd64. Preparing to unpack .../308-libtbbbind-2-5_2021.11.0-2_amd64.deb ... Unpacking libtbbbind-2-5:amd64 (2021.11.0-2) ... Selecting previously unselected package libtbb12:amd64. Preparing to unpack .../309-libtbb12_2021.11.0-2_amd64.deb ... Unpacking libtbb12:amd64 (2021.11.0-2) ... Selecting previously unselected package libopencv-core406t64:amd64. Preparing to unpack .../310-libopencv-core406t64_4.6.0+dfsg-13.1+b3_amd64.deb ... Unpacking libopencv-core406t64:amd64 (4.6.0+dfsg-13.1+b3) ... Selecting previously unselected package libopencv-flann406t64:amd64. Preparing to unpack .../311-libopencv-flann406t64_4.6.0+dfsg-13.1+b3_amd64.deb ... Unpacking libopencv-flann406t64:amd64 (4.6.0+dfsg-13.1+b3) ... Selecting previously unselected package libopencv-imgproc406t64:amd64. Preparing to unpack .../312-libopencv-imgproc406t64_4.6.0+dfsg-13.1+b3_amd64.deb ... Unpacking libopencv-imgproc406t64:amd64 (4.6.0+dfsg-13.1+b3) ... Selecting previously unselected package libopencv-features2d406t64:amd64. Preparing to unpack .../313-libopencv-features2d406t64_4.6.0+dfsg-13.1+b3_amd64.deb ... Unpacking libopencv-features2d406t64:amd64 (4.6.0+dfsg-13.1+b3) ... Selecting previously unselected package libopencv-calib3d406t64:amd64. Preparing to unpack .../314-libopencv-calib3d406t64_4.6.0+dfsg-13.1+b3_amd64.deb ... Unpacking libopencv-calib3d406t64:amd64 (4.6.0+dfsg-13.1+b3) ... Selecting previously unselected package libopencv-dnn406t64:amd64. Preparing to unpack .../315-libopencv-dnn406t64_4.6.0+dfsg-13.1+b3_amd64.deb ... Unpacking libopencv-dnn406t64:amd64 (4.6.0+dfsg-13.1+b3) ... Selecting previously unselected package libopengl0:amd64. Preparing to unpack .../316-libopengl0_1.7.0-1+b1_amd64.deb ... Unpacking libopengl0:amd64 (1.7.0-1+b1) ... Selecting previously unselected package libpcre2-16-0:amd64. Preparing to unpack .../317-libpcre2-16-0_10.42-4+b1_amd64.deb ... Unpacking libpcre2-16-0:amd64 (10.42-4+b1) ... Selecting previously unselected package libqt5core5t64:amd64. Preparing to unpack .../318-libqt5core5t64_5.15.13+dfsg-2_amd64.deb ... Unpacking libqt5core5t64:amd64 (5.15.13+dfsg-2) ... Selecting previously unselected package libegl1:amd64. Preparing to unpack .../319-libegl1_1.7.0-1+b1_amd64.deb ... Unpacking libegl1:amd64 (1.7.0-1+b1) ... Selecting previously unselected package libqt5dbus5t64:amd64. Preparing to unpack .../320-libqt5dbus5t64_5.15.13+dfsg-2_amd64.deb ... Unpacking libqt5dbus5t64:amd64 (5.15.13+dfsg-2) ... Selecting previously unselected package libqt5network5t64:amd64. Preparing to unpack .../321-libqt5network5t64_5.15.13+dfsg-2_amd64.deb ... Unpacking libqt5network5t64:amd64 (5.15.13+dfsg-2) ... Selecting previously unselected package libsm6:amd64. Preparing to unpack .../322-libsm6_2%3a1.2.3-1+b1_amd64.deb ... Unpacking libsm6:amd64 (2:1.2.3-1+b1) ... Selecting previously unselected package libxcb-icccm4:amd64. Preparing to unpack .../323-libxcb-icccm4_0.4.1-1.1+b1_amd64.deb ... Unpacking libxcb-icccm4:amd64 (0.4.1-1.1+b1) ... Selecting previously unselected package libxcb-util1:amd64. Preparing to unpack .../324-libxcb-util1_0.4.0-1+b1_amd64.deb ... Unpacking libxcb-util1:amd64 (0.4.0-1+b1) ... Selecting previously unselected package libxcb-image0:amd64. Preparing to unpack .../325-libxcb-image0_0.4.0-2+b1_amd64.deb ... Unpacking libxcb-image0:amd64 (0.4.0-2+b1) ... Selecting previously unselected package libxcb-keysyms1:amd64. Preparing to unpack .../326-libxcb-keysyms1_0.4.0-1+b2_amd64.deb ... Unpacking libxcb-keysyms1:amd64 (0.4.0-1+b2) ... Selecting previously unselected package libxcb-render-util0:amd64. Preparing to unpack .../327-libxcb-render-util0_0.3.9-1+b1_amd64.deb ... Unpacking libxcb-render-util0:amd64 (0.3.9-1+b1) ... Selecting previously unselected package libxcb-shape0:amd64. Preparing to unpack .../328-libxcb-shape0_1.17.0-2_amd64.deb ... Unpacking libxcb-shape0:amd64 (1.17.0-2) ... Selecting previously unselected package libxcb-xinerama0:amd64. Preparing to unpack .../329-libxcb-xinerama0_1.17.0-2_amd64.deb ... Unpacking libxcb-xinerama0:amd64 (1.17.0-2) ... Selecting previously unselected package libxcb-xinput0:amd64. Preparing to unpack .../330-libxcb-xinput0_1.17.0-2_amd64.deb ... Unpacking libxcb-xinput0:amd64 (1.17.0-2) ... Selecting previously unselected package libxcb-xkb1:amd64. Preparing to unpack .../331-libxcb-xkb1_1.17.0-2_amd64.deb ... Unpacking libxcb-xkb1:amd64 (1.17.0-2) ... Selecting previously unselected package xkb-data. Preparing to unpack .../332-xkb-data_2.41-2_all.deb ... Unpacking xkb-data (2.41-2) ... Selecting previously unselected package libxkbcommon0:amd64. Preparing to unpack .../333-libxkbcommon0_1.6.0-1+b1_amd64.deb ... Unpacking libxkbcommon0:amd64 (1.6.0-1+b1) ... Selecting previously unselected package libxkbcommon-x11-0:amd64. Preparing to unpack .../334-libxkbcommon-x11-0_1.6.0-1+b1_amd64.deb ... Unpacking libxkbcommon-x11-0:amd64 (1.6.0-1+b1) ... Selecting previously unselected package libqt5gui5t64:amd64. Preparing to unpack .../335-libqt5gui5t64_5.15.13+dfsg-2_amd64.deb ... Unpacking libqt5gui5t64:amd64 (5.15.13+dfsg-2) ... Selecting previously unselected package libqt5widgets5t64:amd64. Preparing to unpack .../336-libqt5widgets5t64_5.15.13+dfsg-2_amd64.deb ... Unpacking libqt5widgets5t64:amd64 (5.15.13+dfsg-2) ... Selecting previously unselected package libqt5opengl5t64:amd64. Preparing to unpack .../337-libqt5opengl5t64_5.15.13+dfsg-2_amd64.deb ... Unpacking libqt5opengl5t64:amd64 (5.15.13+dfsg-2) ... Selecting previously unselected package libqt5test5t64:amd64. Preparing to unpack .../338-libqt5test5t64_5.15.13+dfsg-2_amd64.deb ... Unpacking libqt5test5t64:amd64 (5.15.13+dfsg-2) ... Selecting previously unselected package libopencv-highgui406t64:amd64. Preparing to unpack .../339-libopencv-highgui406t64_4.6.0+dfsg-13.1+b3_amd64.deb ... Unpacking libopencv-highgui406t64:amd64 (4.6.0+dfsg-13.1+b3) ... Selecting previously unselected package libopenexr-3-1-30:amd64. Preparing to unpack .../340-libopenexr-3-1-30_3.1.5-5.1+b2_amd64.deb ... Unpacking libopenexr-3-1-30:amd64 (3.1.5-5.1+b2) ... Selecting previously unselected package libopencv-imgcodecs406t64:amd64. Preparing to unpack .../341-libopencv-imgcodecs406t64_4.6.0+dfsg-13.1+b3_amd64.deb ... Unpacking libopencv-imgcodecs406t64:amd64 (4.6.0+dfsg-13.1+b3) ... Selecting previously unselected package libopencv-ml406t64:amd64. Preparing to unpack .../342-libopencv-ml406t64_4.6.0+dfsg-13.1+b3_amd64.deb ... Unpacking libopencv-ml406t64:amd64 (4.6.0+dfsg-13.1+b3) ... Selecting previously unselected package libopencv-objdetect406t64:amd64. Preparing to unpack .../343-libopencv-objdetect406t64_4.6.0+dfsg-13.1+b3_amd64.deb ... Unpacking libopencv-objdetect406t64:amd64 (4.6.0+dfsg-13.1+b3) ... Selecting previously unselected package libopencv-video406t64:amd64. Preparing to unpack .../344-libopencv-video406t64_4.6.0+dfsg-13.1+b3_amd64.deb ... Unpacking libopencv-video406t64:amd64 (4.6.0+dfsg-13.1+b3) ... Selecting previously unselected package libtesseract5:amd64. Preparing to unpack .../345-libtesseract5_5.3.4-1.1+b1_amd64.deb ... Unpacking libtesseract5:amd64 (5.3.4-1.1+b1) ... Selecting previously unselected package libopencv-contrib406t64:amd64. Preparing to unpack .../346-libopencv-contrib406t64_4.6.0+dfsg-13.1+b3_amd64.deb ... Unpacking libopencv-contrib406t64:amd64 (4.6.0+dfsg-13.1+b3) ... Selecting previously unselected package libswscale7:amd64. Preparing to unpack .../347-libswscale7_7%3a6.1.1-4+b1_amd64.deb ... Unpacking libswscale7:amd64 (7:6.1.1-4+b1) ... Selecting previously unselected package libopencv-videoio406t64:amd64. Preparing to unpack .../348-libopencv-videoio406t64_4.6.0+dfsg-13.1+b3_amd64.deb ... Unpacking libopencv-videoio406t64:amd64 (4.6.0+dfsg-13.1+b3) ... Selecting previously unselected package libpthreadpool0:amd64. Preparing to unpack .../349-libpthreadpool0_0.0~git20210507.1787867-2+b1_amd64.deb ... Unpacking libpthreadpool0:amd64 (0.0~git20210507.1787867-2+b1) ... Selecting previously unselected package libpython3.12-stdlib:amd64. Preparing to unpack .../350-libpython3.12-stdlib_3.12.3-1_amd64.deb ... Unpacking libpython3.12-stdlib:amd64 (3.12.3-1) ... Selecting previously unselected package libsleef3:amd64. Preparing to unpack .../351-libsleef3_3.5.1-3_amd64.deb ... Unpacking libsleef3:amd64 (3.5.1-3) ... Selecting previously unselected package libuv1t64:amd64. Preparing to unpack .../352-libuv1t64_1.48.0-4_amd64.deb ... Unpacking libuv1t64:amd64 (1.48.0-4) ... Selecting previously unselected package libtensorpipe0:amd64. Preparing to unpack .../353-libtensorpipe0_0.0~git20220513.bb1473a-5+b2_amd64.deb ... Unpacking libtensorpipe0:amd64 (0.0~git20220513.bb1473a-5+b2) ... Selecting previously unselected package libxnnpack0. Preparing to unpack .../354-libxnnpack0_0.0~git20221221.51a9875-1_amd64.deb ... Unpacking libxnnpack0 (0.0~git20221221.51a9875-1) ... Selecting previously unselected package libtorch2.1:amd64. Preparing to unpack .../355-libtorch2.1_2.1.2+dfsg-4_amd64.deb ... Unpacking libtorch2.1:amd64 (2.1.2+dfsg-4) ... Selecting previously unselected package libtorch-test. Preparing to unpack .../356-libtorch-test_2.1.2+dfsg-4_amd64.deb ... Unpacking libtorch-test (2.1.2+dfsg-4) ... Selecting previously unselected package libyaml-0-2:amd64. Preparing to unpack .../357-libyaml-0-2_0.2.5-1+b1_amd64.deb ... Unpacking libyaml-0-2:amd64 (0.2.5-1+b1) ... Selecting previously unselected package python3.12. Preparing to unpack .../358-python3.12_3.12.3-1_amd64.deb ... Unpacking python3.12 (3.12.3-1) ... Selecting previously unselected package python3-all. Preparing to unpack .../359-python3-all_3.11.8-1_amd64.deb ... Unpacking python3-all (3.11.8-1) ... Selecting previously unselected package python3-six. Preparing to unpack .../360-python3-six_1.16.0-6_all.deb ... Unpacking python3-six (1.16.0-6) ... Selecting previously unselected package python3-astunparse. Preparing to unpack .../361-python3-astunparse_1.6.3-2_all.deb ... Unpacking python3-astunparse (1.6.3-2) ... Selecting previously unselected package python3-attr. Preparing to unpack .../362-python3-attr_23.2.0-2_all.deb ... Unpacking python3-attr (23.2.0-2) ... Selecting previously unselected package python3-certifi. Preparing to unpack .../363-python3-certifi_2023.11.17-1_all.deb ... Unpacking python3-certifi (2023.11.17-1) ... Selecting previously unselected package python3-chardet. Preparing to unpack .../364-python3-chardet_5.2.0+dfsg-1_all.deb ... Unpacking python3-chardet (5.2.0+dfsg-1) ... Selecting previously unselected package python3-charset-normalizer. Preparing to unpack .../365-python3-charset-normalizer_3.3.2-1_all.deb ... Unpacking python3-charset-normalizer (3.3.2-1) ... Selecting previously unselected package python3-dateutil. Preparing to unpack .../366-python3-dateutil_2.9.0-2_all.deb ... Unpacking python3-dateutil (2.9.0-2) ... Selecting previously unselected package python3-sortedcontainers. Preparing to unpack .../367-python3-sortedcontainers_2.4.0-2_all.deb ... Unpacking python3-sortedcontainers (2.4.0-2) ... Selecting previously unselected package python3-hypothesis. Preparing to unpack .../368-python3-hypothesis_6.102.6-1_all.deb ... Unpacking python3-hypothesis (6.102.6-1) ... Selecting previously unselected package python3-expecttest. Preparing to unpack .../369-python3-expecttest_0.1.5-1_all.deb ... Unpacking python3-expecttest (0.1.5-1) ... Selecting previously unselected package python3-filelock. Preparing to unpack .../370-python3-filelock_3.14.0-1_all.deb ... Unpacking python3-filelock (3.14.0-1) ... Selecting previously unselected package python3-fsspec. Preparing to unpack .../371-python3-fsspec_2024.3.1-1_all.deb ... Unpacking python3-fsspec (2024.3.1-1) ... Selecting previously unselected package python3-idna. Preparing to unpack .../372-python3-idna_3.6-2_all.deb ... Unpacking python3-idna (3.6-2) ... Selecting previously unselected package python3-iniconfig. Preparing to unpack .../373-python3-iniconfig_1.1.1-2_all.deb ... Unpacking python3-iniconfig (1.1.1-2) ... Selecting previously unselected package python3-markupsafe. Preparing to unpack .../374-python3-markupsafe_2.1.5-1_amd64.deb ... Unpacking python3-markupsafe (2.1.5-1) ... Selecting previously unselected package python3-jinja2. Preparing to unpack .../375-python3-jinja2_3.1.3-1_all.deb ... Unpacking python3-jinja2 (3.1.3-1) ... Selecting previously unselected package python3-mpmath. Preparing to unpack .../376-python3-mpmath_1.3.0-1_all.deb ... Unpacking python3-mpmath (1.3.0-1) ... Selecting previously unselected package python3-networkx. Preparing to unpack .../377-python3-networkx_3.2.1-4_all.deb ... Unpacking python3-networkx (3.2.1-4) ... Selecting previously unselected package python3-numpy. Preparing to unpack .../378-python3-numpy_1%3a1.26.4+ds-10_amd64.deb ... Unpacking python3-numpy (1:1.26.4+ds-10) ... Selecting previously unselected package python3-packaging. Preparing to unpack .../379-python3-packaging_24.0-1_all.deb ... Unpacking python3-packaging (24.0-1) ... Selecting previously unselected package python3-pluggy. Preparing to unpack .../380-python3-pluggy_1.5.0-1_all.deb ... Unpacking python3-pluggy (1.5.0-1) ... Selecting previously unselected package python3-psutil. Preparing to unpack .../381-python3-psutil_5.9.8-2_amd64.deb ... Unpacking python3-psutil (5.9.8-2) ... Selecting previously unselected package python3-pytest. Preparing to unpack .../382-python3-pytest_8.2.1-1_all.deb ... Unpacking python3-pytest (8.2.1-1) ... Selecting previously unselected package python3-urllib3. Preparing to unpack .../383-python3-urllib3_1.26.18-2_all.deb ... Unpacking python3-urllib3 (1.26.18-2) ... Selecting previously unselected package python3-requests. Preparing to unpack .../384-python3-requests_2.31.0+dfsg-2_all.deb ... Unpacking python3-requests (2.31.0+dfsg-2) ... Selecting previously unselected package python3-sympy. Preparing to unpack .../385-python3-sympy_1.12-8_all.deb ... Unpacking python3-sympy (1.12-8) ... Selecting previously unselected package python3-typing-extensions. Preparing to unpack .../386-python3-typing-extensions_4.12.0-1_all.deb ... Unpacking python3-typing-extensions (4.12.0-1) ... Selecting previously unselected package python3-yaml. Preparing to unpack .../387-python3-yaml_6.0.1-2_amd64.deb ... Unpacking python3-yaml (6.0.1-2) ... Selecting previously unselected package python3-torch. Preparing to unpack .../388-python3-torch_2.1.2+dfsg-4_amd64.deb ... Unpacking python3-torch (2.1.2+dfsg-4) ... Setting up libgme0:amd64 (0.6.3-7+b1) ... Setting up libchromaprint1:amd64 (1.5.1-5) ... Setting up libhwy1t64:amd64 (1.1.0-1) ... Setting up media-types (10.1.0) ... Setting up libpipeline1:amd64 (1.5.7-2) ... Setting up liblmdb0:amd64 (0.9.31-1+b1) ... Setting up libgraphite2-3:amd64 (1.3.14-2) ... Setting up liblcms2-2:amd64 (2.14-2+b1) ... Setting up libtbbmalloc2:amd64 (2021.11.0-2) ... Setting up libpixman-1-0:amd64 (0.42.2-1+b1) ... Setting up libudfread0:amd64 (1.1.2-1+b1) ... Setting up libnorm1t64:amd64 (1.5.9+dfsg-3.1) ... Setting up libsharpyuv0:amd64 (1.4.0-0.1) ... Setting up libwayland-server0:amd64 (1.22.0-2.1+b1) ... Setting up libaom3:amd64 (3.8.2-2) ... Setting up libpciaccess0:amd64 (0.17-3+b1) ... Setting up mysql-common (5.8+1.1.0) ... update-alternatives: using /etc/mysql/my.cnf.fallback to provide /etc/mysql/my.cnf (my.cnf) in auto mode Setting up libprotobuf32t64:amd64 (3.21.12-8.2) ... Setting up librabbitmq4:amd64 (0.11.0-1+b2) ... Setting up libxau6:amd64 (1:1.0.9-1+b1) ... Setting up libdouble-conversion3:amd64 (3.3.0-1+b1) ... Setting up libraw1394-11:amd64 (2.1.2-2+b1) ... Setting up libkeyutils1:amd64 (1.6.3-3) ... Setting up libsodium23:amd64 (1.0.18-1+b1) ... Setting up libicu72:amd64 (72.1-4+b1) ... Setting up libogg0:amd64 (1.3.5-3+b1) ... Setting up liblerc4:amd64 (4.0.0+ds-4+b1) ... Setting up libspeex1:amd64 (1.2.1-2+b1) ... Setting up proj-data (9.4.0-1) ... Setting up libshine3:amd64 (3.1.1-2+b1) ... Setting up bsdextrautils (2.40.1-2) ... Setting up libx264-164:amd64 (2:0.164.3108+git31e19f9-1) ... Setting up libtwolame0:amd64 (0.4.0-2+b1) ... Setting up libmbedcrypto7t64:amd64 (2.28.8-1) ... Setting up libbenchmark1.8.3:amd64 (1.8.3-3) ... Setting up libdatrie1:amd64 (0.2.13-3) ... Setting up libmagic-mgc (1:5.45-3) ... Setting up libgsm1:amd64 (1.0.22-1+b1) ... Setting up libcharls2:amd64 (2.4.2-2+b1) ... Setting up libgeos3.12.1t64:amd64 (3.12.1-3) ... Setting up libsoxr0:amd64 (0.1.3-4+b1) ... Setting up libarchive-zip-perl (1.68-1) ... Setting up libyaml-0-2:amd64 (0.2.5-1+b1) ... Setting up libglvnd0:amd64 (1.7.0-1+b1) ... Setting up libtirpc-common (1.3.4+ds-1.3) ... Setting up libcodec2-1.2:amd64 (1.2.0-2+b1) ... Setting up libgeos-c1t64:amd64 (3.12.1-3) ... Setting up libdebhelper-perl (13.15.3) ... Setting up libbrotli1:amd64 (1.1.0-2+b3) ... Setting up libgdk-pixbuf2.0-common (2.42.12+dfsg-1) ... Setting up libuv1t64:amd64 (1.48.0-4) ... Setting up libmagic1t64:amd64 (1:5.45-3) ... Setting up libpython3.12-minimal:amd64 (3.12.3-1) ... Setting up x11-common (1:7.7+23) ... invoke-rc.d: could not determine current runlevel Setting up X socket directories... /tmp/.X11-unix /tmp/.ICE-unix. Setting up libsensors-config (1:3.6.0-9) ... Setting up libpsl5t64:amd64 (0.21.2-1.1) ... Setting up libnghttp2-14:amd64 (1.61.0-1+b1) ... Setting up libdeflate0:amd64 (1.20-1) ... Setting up gettext-base (0.21-14+b1) ... Setting up m4 (1.4.19-4) ... Setting up libqhull-r8.0:amd64 (2020.2-6+b1) ... Setting up xkb-data (2.41-2) ... Setting up libsvtav1enc1d1:amd64 (1.7.0+dfsg-2+b1) ... Setting up libcom-err2:amd64 (1.47.1-1) ... Setting up file (1:5.45-3) ... Setting up libsleef3:amd64 (3.5.1-3) ... Setting up libmpg123-0t64:amd64 (1.32.6-3) ... Setting up libcjson1:amd64 (1.7.17-2) ... Setting up libxvidcore4:amd64 (2:1.3.7-1+b1) ... Setting up libunwind8:amd64 (1.6.2-3+b1) ... Setting up libjbig0:amd64 (2.1-6.1+b1) ... Setting up librav1e0:amd64 (0.7.1-2) ... Setting up libpcre2-16-0:amd64 (10.42-4+b1) ... Setting up libaec0:amd64 (1.1.3-1) ... Setting up gdal-data (3.9.0+dfsg-1) ... Setting up libopengl0:amd64 (1.7.0-1+b1) ... Setting up libelf1t64:amd64 (0.191-1+b1) ... Setting up libpthreadpool0:amd64 (0.0~git20210507.1787867-2+b1) ... Setting up libsnappy1v5:amd64 (1.2.1-1) ... Setting up liborc-0.4-0t64:amd64 (1:0.4.38-1) ... Setting up libkrb5support0:amd64 (1.20.1-6+b1) ... Setting up libdw1t64:amd64 (0.191-1+b1) ... Setting up libsasl2-modules-db:amd64 (2.1.28+dfsg1-6) ... Setting up librist4:amd64 (0.2.10+dfsg-2) ... Setting up tzdata (2024a-4) ... Current default time zone: 'Etc/UTC' Local time is now: Mon Jun 30 06:16:43 UTC 2025. Universal Time is now: Mon Jun 30 06:16:43 UTC 2025. Run 'dpkg-reconfigure tzdata' if you wish to change it. Setting up libcap2-bin (1:2.66-5) ... Setting up mariadb-common (1:10.11.8-1) ... update-alternatives: using /etc/mysql/mariadb.cnf to provide /etc/mysql/my.cnf (my.cnf) in auto mode Setting up libpgm-5.3-0t64:amd64 (5.3.128~dfsg-2.1) ... Setting up autotools-dev (20220109.1) ... Setting up libz3-4:amd64 (4.8.12-3.1+b2) ... Setting up libglib2.0-0t64:amd64 (2.80.2-2) ... No schema files found: doing nothing. Setting up libblas3:amd64 (3.12.0-3) ... update-alternatives: using /usr/lib/x86_64-linux-gnu/blas/libblas.so.3 to provide /usr/lib/x86_64-linux-gnu/libblas.so.3 (libblas.so.3-x86_64-linux-gnu) in auto mode Setting up libmunge2:amd64 (0.5.15-4) ... Setting up libjpeg62-turbo:amd64 (1:2.1.5-3) ... Setting up libva2:amd64 (2.21.0-1) ... Setting up libx11-data (2:1.8.7-1) ... Setting up libnspr4:amd64 (2:4.35-1.1+b1) ... Setting up librtmp1:amd64 (2.4+20151223.gitfa8646d.1-2+b4) ... Setting up libtensorpipe0:amd64 (0.0~git20220513.bb1473a-5+b2) ... Setting up libdbus-1-3:amd64 (1.14.10-4+b1) ... Setting up libfribidi0:amd64 (1.0.13-3+b1) ... Setting up libopus0:amd64 (1.4-1+b1) ... Setting up libexif12:amd64 (0.6.24-1+b1) ... Setting up fonts-dejavu-mono (2.37-8) ... Setting up libpng16-16t64:amd64 (1.6.43-5) ... Setting up libhwloc15:amd64 (2.10.0-1+b1) ... Setting up libimath-3-1-29t64:amd64 (3.1.9-3.1+b1) ... Setting up libvorbis0a:amd64 (1.3.7-2) ... Setting up autopoint (0.21-14) ... Setting up libmariadb3:amd64 (1:10.11.8-1) ... Setting up fonts-dejavu-core (2.37-8) ... Setting up unixodbc-common (2.3.12-1) ... Setting up libsocket++1:amd64 (1.12.13+git20131030.5d039ba-1+b1) ... Setting up libsensors5:amd64 (1:3.6.0-9) ... Setting up libjxl0.7:amd64 (0.7.0-10.2+b3) ... Setting up libk5crypto3:amd64 (1.20.1-6+b1) ... Setting up libltdl7:amd64 (2.4.7-7+b1) ... Setting up libglapi-mesa:amd64 (24.0.8-1) ... Setting up libsasl2-2:amd64 (2.1.28+dfsg1-6) ... Setting up libgfortran5:amd64 (14.1.0-1) ... Setting up libvulkan1:amd64 (1.3.280.0-1) ... Setting up autoconf (2.71-3) ... Setting up libcpuinfo0:amd64 (0.0~git20230113.6481e8b-2) ... Setting up libwebp7:amd64 (1.4.0-0.1) ... Setting up libfmt9:amd64 (9.1.0+ds1-2) ... Setting up libgif7:amd64 (5.2.2-1) ... Setting up libodbc2:amd64 (2.3.12-1+b2) ... Setting up liburiparser1:amd64 (0.9.7+dfsg-2+b1) ... Setting up libnuma1:amd64 (2.0.18-1) ... Setting up libfyba0t64:amd64 (4.1.1-11) ... Setting up libvpx9:amd64 (1.14.0-2) ... Setting up dwz (0.15-1+b1) ... Setting up librttopo1:amd64 (1.1.0-3+b1) ... Setting up libsrt1.5-gnutls:amd64 (1.5.3-1+b2) ... Setting up libdav1d7:amd64 (1.4.2-1) ... Setting up libxnnpack0 (0.0~git20221221.51a9875-1) ... Setting up libmtdev1t64:amd64 (1.1.6-1.2) ... Setting up sensible-utils (0.0.22) ... Setting up libminizip1t64:amd64 (1:1.3.dfsg+really1.3.1-1) ... Setting up ocl-icd-libopencl1:amd64 (2.3.2-1+b1) ... Setting up libxshmfence1:amd64 (1.3-1+b1) ... Setting up libtiff6:amd64 (4.5.1+git230720-4) ... Setting up libuchardet0:amd64 (0.0.8-1+b1) ... Setting up libblosc1:amd64 (1.21.5+ds-1+b1) ... Setting up libnl-3-200:amd64 (3.7.0-0.3) ... Setting up libpsm2-2 (11.2.185-2) ... Setting up libmd4c0:amd64 (0.4.8-1+b1) ... Setting up libopenjp2-7:amd64 (2.5.0-2+b3) ... Setting up libthai-data (0.1.29-2) ... Setting up libonnx1t64:amd64 (1.14.1-2.1+b1) ... Setting up netbase (6.4) ... Setting up libabsl20230802:amd64 (20230802.1-4) ... Setting up libkrb5-3:amd64 (1.20.1-6+b1) ... Setting up libevent-core-2.1-7t64:amd64 (2.1.12-stable-10) ... Setting up libusb-1.0-0:amd64 (2:1.0.27-1) ... Setting up libpsm-infinipath1 (3.3+20.604758e7-6.3) ... update-alternatives: using /usr/lib/libpsm1/libpsm_infinipath.so.1.16 to provide /usr/lib/x86_64-linux-gnu/libpsm_infinipath.so.1 (libpsm_infinipath.so.1) in auto mode Setting up libssh2-1t64:amd64 (1.11.0-5) ... Setting up libde265-0:amd64 (1.0.15-1+b1) ... Setting up libkmlbase1t64:amd64 (1.3.0-12) ... Setting up openssl (3.2.1-3) ... Setting up libwebpmux3:amd64 (1.4.0-0.1) ... Setting up libbsd0:amd64 (0.12.2-1) ... Setting up libdnnl3:amd64 (3.1.1-2) ... Setting up libdrm-common (2.4.120-2) ... Setting up libyuv0:amd64 (0.0.1888.20240509-4) ... Setting up libhiredis1.1.0:amd64 (1.2.0-6+b2) ... Setting up libjson-c5:amd64 (0.17-1+b1) ... Setting up libevdev2:amd64 (1.13.1+dfsg-1+b1) ... Setting up readline-common (8.2-4) ... Setting up libxml2:amd64 (2.12.7+dfsg-2) ... Setting up iso-codes (4.16.0-1) ... Setting up libgudev-1.0-0:amd64 (238-5) ... Setting up libzvbi-common (0.2.42-2) ... Setting up libgstreamer1.0-0:amd64 (1.24.3-1) ... Setcap worked! gst-ptp-helper is not suid! Setting up libmp3lame0:amd64 (3.100-6+b2) ... Setting up libsz2:amd64 (1.1.3-1) ... Setting up libvorbisenc2:amd64 (1.3.7-2) ... Setting up gdal-plugins:amd64 (3.9.0+dfsg-1) ... Setting up libwacom-common (2.10.0-2) ... Setting up libxkbcommon0:amd64 (1.6.0-1+b1) ... Setting up libwayland-client0:amd64 (1.22.0-2.1+b1) ... Setting up automake (1:1.16.5-1.3) ... update-alternatives: using /usr/bin/automake-1.16 to provide /usr/bin/automake (automake) in auto mode Setting up libfile-stripnondeterminism-perl (1.14.0-1) ... Setting up libgdcm3.0t64:amd64 (3.0.24-1+b1) ... Setting up python3.12-minimal (3.12.3-1) ... Setting up libleveldb1d:amd64 (1.23-5+b1) ... Setting up libice6:amd64 (2:1.0.10-1+b1) ... Setting up libodbcinst2:amd64 (2.3.12-1+b2) ... Setting up libxdmcp6:amd64 (1:1.1.2-3+b1) ... Setting up liblapack3:amd64 (3.12.0-3) ... update-alternatives: using /usr/lib/x86_64-linux-gnu/lapack/liblapack.so.3 to provide /usr/lib/x86_64-linux-gnu/liblapack.so.3 (liblapack.so.3-x86_64-linux-gnu) in auto mode Setting up libxcb1:amd64 (1.17.0-2) ... Setting up gettext (0.21-14+b1) ... Setting up libarpack2t64:amd64 (3.9.1-1.1+b1) ... Setting up libxcb-xfixes0:amd64 (1.17.0-2) ... Setting up libzvbi0t64:amd64 (0.2.42-2) ... Setting up libxcb-xinput0:amd64 (1.17.0-2) ... Setting up libtool (2.4.7-7) ... Setting up libxcb-render0:amd64 (1.17.0-2) ... Setting up libwacom9:amd64 (2.10.0-2) ... Setting up libevent-pthreads-2.1-7t64:amd64 (2.1.12-stable-10) ... Setting up fontconfig-config (2.15.0-1.1) ... Setting up libxcb-glx0:amd64 (1.17.0-2) ... Setting up libedit2:amd64 (3.1-20240517-1) ... Setting up libxcb-keysyms1:amd64 (0.4.0-1+b2) ... Setting up libxcb-shape0:amd64 (1.17.0-2) ... Setting up libxcb-render-util0:amd64 (0.3.9-1+b1) ... Setting up libnss3:amd64 (2:3.100-1) ... Setting up libxcb-shm0:amd64 (1.17.0-2) ... Setting up libxcb-icccm4:amd64 (0.4.1-1.1+b1) ... Setting up libsuperlu6:amd64 (6.0.1+dfsg1-1+b1) ... Setting up libldap-2.5-0:amd64 (2.5.17+dfsg-1) ... Setting up liblept5:amd64 (1.82.0-3+b4) ... Setting up libxcb-util1:amd64 (0.4.0-1+b1) ... Setting up libinput-bin (1.25.0-1+b2) ... Setting up libxcb-xkb1:amd64 (1.17.0-2) ... Setting up libxcb-image0:amd64 (0.4.0-2+b1) ... Setting up libtbbbind-2-5:amd64 (2021.11.0-2) ... Setting up intltool-debian (0.35.0+20060710.6) ... Setting up libnl-route-3-200:amd64 (3.7.0-0.3) ... Setting up libxcb-present0:amd64 (1.17.0-2) ... Setting up libkmldom1t64:amd64 (1.3.0-12) ... Setting up dh-autoreconf (20) ... Setting up libthai0:amd64 (0.1.29-2) ... Setting up ca-certificates (20240203) ... Updating certificates in /etc/ssl/certs... 146 added, 0 removed; done. Setting up libvorbisfile3:amd64 (1.3.7-2) ... Setting up libxcb-xinerama0:amd64 (1.17.0-2) ... Setting up libllvm17t64:amd64 (1:17.0.6-12) ... Setting up libfreetype6:amd64 (2.13.2+dfsg-1+b4) ... Setting up libxcb-sync1:amd64 (1.17.0-2) ... Setting up libopenexr-3-1-30:amd64 (3.1.5-5.1+b2) ... Setting up shared-mime-info (2.4-4) ... Setting up libxkbcommon-x11-0:amd64 (1.6.0-1+b1) ... Setting up libdc1394-25:amd64 (2.2.6-4+b1) ... Setting up libgssapi-krb5-2:amd64 (1.20.1-6+b1) ... Setting up libgav1-1:amd64 (0.19.0-2+b1) ... Setting up libhdf4-0-alt:amd64 (4.3.0-1) ... Setting up libx265-199:amd64 (3.5-2+b1) ... Setting up libreadline8t64:amd64 (8.2-4) ... Setting up libxcb-dri2-0:amd64 (1.17.0-2) ... Setting up dh-strip-nondeterminism (1.14.0-1) ... Setting up libdrm2:amd64 (2.4.120-2) ... Setting up libfreexl1:amd64 (2.0.0-1+b2) ... Setting up libva-drm2:amd64 (2.21.0-1) ... Setting up groff-base (1.23.0-4) ... Setting up libxcb-randr0:amd64 (1.17.0-2) ... Setting up libx11-6:amd64 (2:1.8.7-1+b1) ... Setting up libharfbuzz0b:amd64 (8.3.0-2+b1) ... Setting up libgdk-pixbuf-2.0-0:amd64 (2.42.12+dfsg-1) ... Setting up libgphoto2-port12t64:amd64 (2.5.31-2.1+b1) ... Setting up libamd-comgr2:amd64 (6.0+git20231212.4510c28+dfsg-3+b1) ... Setting up libfontconfig1:amd64 (2.15.0-1.1) ... Setting up libbluray2:amd64 (1:1.3.4-1+b1) ... Setting up libsm6:amd64 (2:1.2.3-1+b1) ... Setting up libarchive13t64:amd64 (3.7.2-2) ... Setting up libopenmpt0t64:amd64 (0.7.7-1) ... Setting up libarmadillo12 (1:12.8.2+dfsg-1+b1) ... Setting up libdrm-amdgpu1:amd64 (2.4.120-2) ... Setting up libssh-gcrypt-4:amd64 (0.10.6-2+b1) ... Setting up libxcb-dri3-0:amd64 (1.17.0-2) ... Setting up libinput10:amd64 (1.25.0-1+b2) ... Setting up libx11-xcb1:amd64 (2:1.8.7-1+b1) ... Setting up libibverbs1:amd64 (50.0-2+b1) ... Setting up fontconfig (2.15.0-1.1) ... Regenerating fonts cache... done. Setting up libavif16:amd64 (1.0.4-3) ... Setting up libdrm-nouveau2:amd64 (2.4.120-2) ... Setting up libzmq5:amd64 (4.3.5-1+b2) ... Setting up libpython3.12-stdlib:amd64 (3.12.3-1) ... Setting up libxpm4:amd64 (1:3.5.17-1+b1) ... Setting up libxrender1:amd64 (1:0.9.10-1.1+b1) ... Setting up libcurl4t64:amd64 (8.8.0-1) ... Setting up libtirpc3t64:amd64 (1.3.4+ds-1.3) ... Setting up libgbm1:amd64 (24.0.8-1) ... Setting up ibverbs-providers:amd64 (50.0-2+b1) ... Setting up libogdi4.1:amd64 (4.1.1+ds-4) ... Setting up libdrm-radeon1:amd64 (2.4.120-2) ... Setting up po-debconf (1.0.21+nmu1) ... Setting up libpython3.11-stdlib:amd64 (3.11.9-1) ... Setting up python3.12 (3.12.3-1) ... Setting up libpango-1.0-0:amd64 (1.52.2+ds-1) ... Setting up libdrm-intel1:amd64 (2.4.120-2) ... Setting up libgl1-mesa-dri:amd64 (24.0.8-1) ... Setting up libpq5:amd64 (16.3-1) ... Setting up libcurl3t64-gnutls:amd64 (8.8.0-1) ... Setting up libxext6:amd64 (2:1.3.4-1+b1) ... Setting up libgstreamer-plugins-base1.0-0:amd64 (1.24.3-1) ... Setting up libtbb12:amd64 (2021.11.0-2) ... Setting up libkmlengine1t64:amd64 (1.3.0-12) ... Setting up libxerces-c3.2t64:amd64 (3.2.4+debian-1.3) ... Setting up man-db (2.12.1-1) ... Not building database; man-db/auto-update is not 'true'. Setting up libcairo2:amd64 (1.18.0-3+b1) ... Setting up libxxf86vm1:amd64 (1:1.1.4-1+b2) ... Setting up libxnvctrl0:amd64 (535.171.04-1) ... Setting up libqt5core5t64:amd64 (5.15.13+dfsg-2) ... Setting up libegl-mesa0:amd64 (24.0.8-1) ... Setting up libcfitsio10t64:amd64 (4.3.1-1.1+b1) ... Setting up libxfixes3:amd64 (1:6.0.0-2+b1) ... Setting up libtesseract5:amd64 (5.3.4-1.1+b1) ... Setting up libvdpau1:amd64 (1.5-3) ... Setting up libtheora0:amd64 (1.1.1+dfsg.1-16.1+b2) ... Setting up libegl1:amd64 (1.7.0-1+b1) ... Setting up librdmacm1t64:amd64 (50.0-2+b1) ... Setting up libcairo-gobject2:amd64 (1.18.0-3+b1) ... Setting up libpangoft2-1.0-0:amd64 (1.52.2+ds-1) ... Setting up libhdf5-103-1t64:amd64 (1.10.10+repack-3.3) ... Setting up libva-x11-2:amd64 (2.21.0-1) ... Setting up libhsakmt1:amd64 (5.7.0-1) ... Setting up libpangocairo-1.0-0:amd64 (1.52.2+ds-1) ... Setting up libpython3-stdlib:amd64 (3.11.8-1) ... Setting up libfabric1:amd64 (1.17.0-3+b1) ... Setting up libhdf5-hl-100t64:amd64 (1.10.10+repack-3.3) ... Setting up python3.11 (3.11.9-1) ... Setting up libnetcdf19t64:amd64 (1:4.9.2-6) ... Setting up libqt5dbus5t64:amd64 (5.15.13+dfsg-2) ... Setting up libglx-mesa0:amd64 (24.0.8-1) ... Setting up libvpl2 (2023.3.0-1) ... Setting up libglx0:amd64 (1.7.0-1+b1) ... Setting up libproj25:amd64 (9.4.0-1+b1) ... Setting up libpoppler134:amd64 (24.02.0-5) ... Setting up libqt5network5t64:amd64 (5.15.13+dfsg-2) ... Setting up debhelper (13.15.3) ... Setting up libavutil58:amd64 (7:6.1.1-4+b1) ... Setting up python3 (3.11.8-1) ... Setting up python3-sortedcontainers (2.4.0-2) ... Setting up libqt5test5t64:amd64 (5.15.13+dfsg-2) ... Setting up libhwloc-plugins:amd64 (2.10.0-1+b1) ... Setting up python3-markupsafe (2.1.5-1) ... Setting up python3-psutil (5.9.8-2) ... Setting up libgeotiff5:amd64 (1.7.3-1) ... Setting up librsvg2-2:amd64 (2.58.0+dfsg-1) ... Setting up python3-six (1.16.0-6) ... Setting up python3-jinja2 (3.1.3-1) ... Setting up python3-packaging (24.0-1) ... Setting up libgl1:amd64 (1.7.0-1+b1) ... Setting up python3-certifi (2023.11.17-1) ... Setting up libswresample4:amd64 (7:6.1.1-4+b1) ... Setting up python3-idna (3.6-2) ... Setting up python3-typing-extensions (4.12.0-1) ... Setting up libpmix2t64:amd64 (5.0.2-3) ... Setting up python3-urllib3 (1.26.18-2) ... Setting up python3-pluggy (1.5.0-1) ... Setting up libavcodec60:amd64 (7:6.1.1-4+b1) ... Setting up libhsa-runtime64-1 (5.7.1-2) ... Setting up python3-dateutil (2.9.0-2) ... Setting up python3-mpmath (1.3.0-1) ... Setting up python3-lib2to3 (3.12.3-3.1) ... Setting up libopencv-core406t64:amd64 (4.6.0+dfsg-13.1+b3) ... Setting up libswscale7:amd64 (7:6.1.1-4+b1) ... Setting up libspatialite8t64:amd64 (5.1.0-3+b1) ... Setting up python3-pkg-resources (68.1.2-2) ... Setting up python3-distutils (3.12.3-3.1) ... python3.12: can't get files for byte-compilation Setting up python3-iniconfig (1.1.1-2) ... Setting up python3-sympy (1.12-8) ... Setting up python3-attr (23.2.0-2) ... Setting up python3-filelock (3.14.0-1) ... Setting up python3-astunparse (1.6.3-2) ... Setting up python3-setuptools (68.1.2-2) ... Setting up python3-charset-normalizer (3.3.2-1) ... Setting up python3-pytest (8.2.1-1) ... Setting up python3-hypothesis (6.102.6-1) ... Setting up python3-fsspec (2024.3.1-1) ... Setting up python3-all (3.11.8-1) ... Setting up python3-yaml (6.0.1-2) ... Setting up libopencv-flann406t64:amd64 (4.6.0+dfsg-13.1+b3) ... Setting up libavformat60:amd64 (7:6.1.1-4+b1) ... Setting up python3-networkx (3.2.1-4) ... Setting up libqt5gui5t64:amd64 (5.15.13+dfsg-2) ... Setting up libopencv-ml406t64:amd64 (4.6.0+dfsg-13.1+b3) ... Setting up python3-chardet (5.2.0+dfsg-1) ... Setting up libamdhip64-5 (5.7.1-3) ... Setting up python3-requests (2.31.0+dfsg-2) ... Setting up libopencv-imgproc406t64:amd64 (4.6.0+dfsg-13.1+b3) ... Setting up python3-numpy (1:1.26.4+ds-10) ... Setting up python3-expecttest (0.1.5-1) ... Setting up dh-python (6.20240422) ... Setting up libucx0:amd64 (1.16.0+ds-5) ... Setting up libopencv-dnn406t64:amd64 (4.6.0+dfsg-13.1+b3) ... Setting up libqt5widgets5t64:amd64 (5.15.13+dfsg-2) ... Setting up libopencv-features2d406t64:amd64 (4.6.0+dfsg-13.1+b3) ... Setting up libopenmpi3t64:amd64 (4.1.6-13.3) ... Setting up libqt5opengl5t64:amd64 (5.15.13+dfsg-2) ... Setting up libopencv-calib3d406t64:amd64 (4.6.0+dfsg-13.1+b3) ... Setting up libopencv-video406t64:amd64 (4.6.0+dfsg-13.1+b3) ... Setting up libgloo0 (0.0~git20230519.597accf-2+b2) ... Setting up libopencv-highgui406t64:amd64 (4.6.0+dfsg-13.1+b3) ... Setting up libopencv-objdetect406t64:amd64 (4.6.0+dfsg-13.1+b3) ... Setting up libheif-plugin-dav1d:amd64 (1.17.6-1+b2) ... Setting up libheif1:amd64 (1.17.6-1+b2) ... Setting up libgd3:amd64 (2.3.3-9+b3) ... Setting up libgdal35:amd64 (3.9.0+dfsg-1) ... Setting up libheif-plugin-libde265:amd64 (1.17.6-1+b2) ... Setting up libopencv-imgcodecs406t64:amd64 (4.6.0+dfsg-13.1+b3) ... Setting up libopencv-contrib406t64:amd64 (4.6.0+dfsg-13.1+b3) ... Setting up libgphoto2-6t64:amd64 (2.5.31-2.1+b1) ... No diversion 'diversion of /lib/udev/hwdb.d/20-libgphoto2-6.hwdb to /lib/udev/hwdb.d/20-libgphoto2-6.hwdb.usr-is-merged by usr-is-merged', none removed. No diversion 'diversion of /lib/udev/rules.d/60-libgphoto2-6.rules to /lib/udev/rules.d/60-libgphoto2-6.rules.usr-is-merged by usr-is-merged', none removed. Setting up libopencv-videoio406t64:amd64 (4.6.0+dfsg-13.1+b3) ... Setting up libtorch2.1:amd64 (2.1.2+dfsg-4) ... Setting up libtorch-test (2.1.2+dfsg-4) ... Setting up python3-torch (2.1.2+dfsg-4) ... Processing triggers for libc-bin (2.38-11) ... Processing triggers for ca-certificates (20240203) ... Updating certificates in /etc/ssl/certs... 0 added, 0 removed; done. Running hooks in /etc/ca-certificates/update.d... done. 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 I: Building the package I: Running cd /build/reproducible-path/python-array-api-compat-1.4/ && 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 > ../python-array-api-compat_1.4-1_source.changes dpkg-buildpackage: info: source package python-array-api-compat dpkg-buildpackage: info: source version 1.4-1 dpkg-buildpackage: info: source distribution unstable dpkg-buildpackage: info: source changed by Andreas Tille dpkg-source --before-build . dpkg-buildpackage: info: host architecture amd64 debian/rules clean dh clean --with python3 --buildsystem=pybuild dh_auto_clean -O--buildsystem=pybuild I: pybuild base:311: python3.12 setup.py clean running clean removing '/build/reproducible-path/python-array-api-compat-1.4/.pybuild/cpython3_3.12_array_api_compat/build' (and everything under it) 'build/bdist.linux-x86_64' does not exist -- can't clean it 'build/scripts-3.12' does not exist -- can't clean it I: pybuild base:311: python3.11 setup.py clean running clean removing '/build/reproducible-path/python-array-api-compat-1.4/.pybuild/cpython3_3.11_array_api_compat/build' (and everything under it) 'build/bdist.linux-x86_64' does not exist -- can't clean it 'build/scripts-3.11' does not exist -- can't clean it dh_autoreconf_clean -O--buildsystem=pybuild dh_clean -O--buildsystem=pybuild debian/rules binary dh binary --with python3 --buildsystem=pybuild dh_update_autotools_config -O--buildsystem=pybuild dh_autoreconf -O--buildsystem=pybuild dh_auto_configure -O--buildsystem=pybuild I: pybuild base:311: python3.12 setup.py config running config I: pybuild base:311: python3.11 setup.py config running config dh_auto_build -O--buildsystem=pybuild I: pybuild base:311: /usr/bin/python3.12 setup.py build running build running build_py creating /build/reproducible-path/python-array-api-compat-1.4/.pybuild/cpython3_3.12_array_api_compat/build/array_api_compat copying array_api_compat/_internal.py -> /build/reproducible-path/python-array-api-compat-1.4/.pybuild/cpython3_3.12_array_api_compat/build/array_api_compat copying array_api_compat/__init__.py -> /build/reproducible-path/python-array-api-compat-1.4/.pybuild/cpython3_3.12_array_api_compat/build/array_api_compat creating /build/reproducible-path/python-array-api-compat-1.4/.pybuild/cpython3_3.12_array_api_compat/build/array_api_compat/common copying array_api_compat/common/_aliases.py -> /build/reproducible-path/python-array-api-compat-1.4/.pybuild/cpython3_3.12_array_api_compat/build/array_api_compat/common copying array_api_compat/common/_helpers.py -> /build/reproducible-path/python-array-api-compat-1.4/.pybuild/cpython3_3.12_array_api_compat/build/array_api_compat/common copying array_api_compat/common/_linalg.py -> /build/reproducible-path/python-array-api-compat-1.4/.pybuild/cpython3_3.12_array_api_compat/build/array_api_compat/common copying array_api_compat/common/__init__.py -> /build/reproducible-path/python-array-api-compat-1.4/.pybuild/cpython3_3.12_array_api_compat/build/array_api_compat/common copying array_api_compat/common/_typing.py -> /build/reproducible-path/python-array-api-compat-1.4/.pybuild/cpython3_3.12_array_api_compat/build/array_api_compat/common creating /build/reproducible-path/python-array-api-compat-1.4/.pybuild/cpython3_3.12_array_api_compat/build/array_api_compat/cupy copying array_api_compat/cupy/_aliases.py -> /build/reproducible-path/python-array-api-compat-1.4/.pybuild/cpython3_3.12_array_api_compat/build/array_api_compat/cupy copying array_api_compat/cupy/linalg.py -> /build/reproducible-path/python-array-api-compat-1.4/.pybuild/cpython3_3.12_array_api_compat/build/array_api_compat/cupy copying array_api_compat/cupy/__init__.py -> /build/reproducible-path/python-array-api-compat-1.4/.pybuild/cpython3_3.12_array_api_compat/build/array_api_compat/cupy copying array_api_compat/cupy/_typing.py -> /build/reproducible-path/python-array-api-compat-1.4/.pybuild/cpython3_3.12_array_api_compat/build/array_api_compat/cupy creating /build/reproducible-path/python-array-api-compat-1.4/.pybuild/cpython3_3.12_array_api_compat/build/array_api_compat/numpy copying array_api_compat/numpy/_aliases.py -> /build/reproducible-path/python-array-api-compat-1.4/.pybuild/cpython3_3.12_array_api_compat/build/array_api_compat/numpy copying array_api_compat/numpy/linalg.py -> /build/reproducible-path/python-array-api-compat-1.4/.pybuild/cpython3_3.12_array_api_compat/build/array_api_compat/numpy copying array_api_compat/numpy/__init__.py -> /build/reproducible-path/python-array-api-compat-1.4/.pybuild/cpython3_3.12_array_api_compat/build/array_api_compat/numpy copying array_api_compat/numpy/_typing.py -> /build/reproducible-path/python-array-api-compat-1.4/.pybuild/cpython3_3.12_array_api_compat/build/array_api_compat/numpy creating /build/reproducible-path/python-array-api-compat-1.4/.pybuild/cpython3_3.12_array_api_compat/build/array_api_compat/torch copying array_api_compat/torch/_aliases.py -> /build/reproducible-path/python-array-api-compat-1.4/.pybuild/cpython3_3.12_array_api_compat/build/array_api_compat/torch copying array_api_compat/torch/linalg.py -> /build/reproducible-path/python-array-api-compat-1.4/.pybuild/cpython3_3.12_array_api_compat/build/array_api_compat/torch copying array_api_compat/torch/__init__.py -> /build/reproducible-path/python-array-api-compat-1.4/.pybuild/cpython3_3.12_array_api_compat/build/array_api_compat/torch I: pybuild base:311: /usr/bin/python3 setup.py build running build running build_py creating /build/reproducible-path/python-array-api-compat-1.4/.pybuild/cpython3_3.11_array_api_compat/build/array_api_compat copying array_api_compat/_internal.py -> /build/reproducible-path/python-array-api-compat-1.4/.pybuild/cpython3_3.11_array_api_compat/build/array_api_compat copying array_api_compat/__init__.py -> /build/reproducible-path/python-array-api-compat-1.4/.pybuild/cpython3_3.11_array_api_compat/build/array_api_compat creating /build/reproducible-path/python-array-api-compat-1.4/.pybuild/cpython3_3.11_array_api_compat/build/array_api_compat/common copying array_api_compat/common/_aliases.py -> /build/reproducible-path/python-array-api-compat-1.4/.pybuild/cpython3_3.11_array_api_compat/build/array_api_compat/common copying array_api_compat/common/_helpers.py -> /build/reproducible-path/python-array-api-compat-1.4/.pybuild/cpython3_3.11_array_api_compat/build/array_api_compat/common copying array_api_compat/common/_linalg.py -> /build/reproducible-path/python-array-api-compat-1.4/.pybuild/cpython3_3.11_array_api_compat/build/array_api_compat/common copying array_api_compat/common/__init__.py -> /build/reproducible-path/python-array-api-compat-1.4/.pybuild/cpython3_3.11_array_api_compat/build/array_api_compat/common copying array_api_compat/common/_typing.py -> /build/reproducible-path/python-array-api-compat-1.4/.pybuild/cpython3_3.11_array_api_compat/build/array_api_compat/common creating /build/reproducible-path/python-array-api-compat-1.4/.pybuild/cpython3_3.11_array_api_compat/build/array_api_compat/cupy copying array_api_compat/cupy/_aliases.py -> /build/reproducible-path/python-array-api-compat-1.4/.pybuild/cpython3_3.11_array_api_compat/build/array_api_compat/cupy copying array_api_compat/cupy/linalg.py -> /build/reproducible-path/python-array-api-compat-1.4/.pybuild/cpython3_3.11_array_api_compat/build/array_api_compat/cupy copying array_api_compat/cupy/__init__.py -> /build/reproducible-path/python-array-api-compat-1.4/.pybuild/cpython3_3.11_array_api_compat/build/array_api_compat/cupy copying array_api_compat/cupy/_typing.py -> /build/reproducible-path/python-array-api-compat-1.4/.pybuild/cpython3_3.11_array_api_compat/build/array_api_compat/cupy creating /build/reproducible-path/python-array-api-compat-1.4/.pybuild/cpython3_3.11_array_api_compat/build/array_api_compat/numpy copying array_api_compat/numpy/_aliases.py -> /build/reproducible-path/python-array-api-compat-1.4/.pybuild/cpython3_3.11_array_api_compat/build/array_api_compat/numpy copying array_api_compat/numpy/linalg.py -> /build/reproducible-path/python-array-api-compat-1.4/.pybuild/cpython3_3.11_array_api_compat/build/array_api_compat/numpy copying array_api_compat/numpy/__init__.py -> /build/reproducible-path/python-array-api-compat-1.4/.pybuild/cpython3_3.11_array_api_compat/build/array_api_compat/numpy copying array_api_compat/numpy/_typing.py -> /build/reproducible-path/python-array-api-compat-1.4/.pybuild/cpython3_3.11_array_api_compat/build/array_api_compat/numpy creating /build/reproducible-path/python-array-api-compat-1.4/.pybuild/cpython3_3.11_array_api_compat/build/array_api_compat/torch copying array_api_compat/torch/_aliases.py -> /build/reproducible-path/python-array-api-compat-1.4/.pybuild/cpython3_3.11_array_api_compat/build/array_api_compat/torch copying array_api_compat/torch/linalg.py -> /build/reproducible-path/python-array-api-compat-1.4/.pybuild/cpython3_3.11_array_api_compat/build/array_api_compat/torch copying array_api_compat/torch/__init__.py -> /build/reproducible-path/python-array-api-compat-1.4/.pybuild/cpython3_3.11_array_api_compat/build/array_api_compat/torch dh_auto_test -O--buildsystem=pybuild I: pybuild base:311: cd /build/reproducible-path/python-array-api-compat-1.4/.pybuild/cpython3_3.12_array_api_compat/build; python3.12 -m pytest --ignore tests/test_vendoring.py ============================= test session starts ============================== platform linux -- Python 3.12.3, pytest-8.2.1, pluggy-1.5.0 rootdir: /build/reproducible-path/python-array-api-compat-1.4 plugins: hypothesis-6.102.6 collected 27 items tests/test_array_namespace.py s.Fs.F.F. [ 33%] tests/test_common.py s.F [ 44%] tests/test_isdtype.py s.Fs.Fs.Fs.Fs.F [100%] =================================== FAILURES =================================== _______________________ test_array_namespace[None-torch] _______________________ library = 'torch', api_version = None @pytest.mark.parametrize("library", ["cupy", "numpy", "torch"]) @pytest.mark.parametrize("api_version", [None, '2021.12']) def test_array_namespace(library, api_version): > lib = import_(library) tests/test_array_namespace.py:12: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ tests/_helpers.py:8: in import_ return import_module(library) /usr/lib/python3.12/importlib/__init__.py:90: in import_module return _bootstrap._gcd_import(name[level:], package, level) :1387: in _gcd_import ??? :1360: in _find_and_load ??? :1331: in _find_and_load_unlocked ??? :935: in _load_unlocked ??? :995: in exec_module ??? :488: in _call_with_frames_removed ??? _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ r""" The torch package contains data structures for multi-dimensional tensors and defines mathematical operations over these tensors. Additionally, it provides many utilities for efficient serialization of Tensors and arbitrary types, and other useful utilities. It has a CUDA counterpart, that enables you to run your tensor computations on an NVIDIA GPU with compute capability >= 3.0. """ import math import os import sys import platform import textwrap import ctypes import inspect # multipy/deploy is setting this import before importing torch, this is the most # reliable way we have to detect if we're running within deploy. # https://github.com/pytorch/multipy/blob/d60f34ad38c371e441fe7ffdb77a3c3dda5a5d19/multipy/runtime/interpreter/interpreter_impl.cpp#L134-L137 def _running_with_deploy(): return sys.modules.get("torch._meta_registrations", None) is object from ._utils import _import_dotted_name, classproperty from ._utils_internal import get_file_path, prepare_multiprocessing_environment, \ USE_RTLD_GLOBAL_WITH_LIBTORCH, USE_GLOBAL_DEPS # TODO(torch_deploy) figure out how to freeze version.py in fbcode build if _running_with_deploy(): __version__ = "torch-deploy-1.8" else: from .torch_version import __version__ as __version__ from typing import Any, Callable, Dict, Optional, Set, Tuple, Type, TYPE_CHECKING, Union, List import builtins __all__ = [ 'typename', 'is_tensor', 'is_storage', 'set_default_tensor_type', 'set_default_device', 'set_rng_state', 'get_rng_state', 'manual_seed', 'initial_seed', 'seed', 'save', 'load', 'set_printoptions', 'chunk', 'split', 'stack', 'matmul', 'no_grad', 'enable_grad', 'rand', 'randn', 'inference_mode', 'DoubleStorage', 'FloatStorage', 'LongStorage', 'IntStorage', 'ShortStorage', 'CharStorage', 'ByteStorage', 'BoolStorage', 'TypedStorage', 'UntypedStorage', 'DoubleTensor', 'FloatTensor', 'LongTensor', 'IntTensor', 'ShortTensor', 'CharTensor', 'ByteTensor', 'BoolTensor', 'Tensor', 'lobpcg', 'use_deterministic_algorithms', 'are_deterministic_algorithms_enabled', 'is_deterministic_algorithms_warn_only_enabled', 'set_deterministic_debug_mode', 'get_deterministic_debug_mode', 'set_float32_matmul_precision', 'get_float32_matmul_precision', 'set_warn_always', 'is_warn_always_enabled', 'SymInt', 'SymFloat', 'SymBool', 'sym_not', 'sym_int', 'sym_float', 'sym_max', 'sym_min', 'compile', 'vmap', 'export', ] ################################################################################ # Load the extension module ################################################################################ if sys.platform == 'win32': pfiles_path = os.getenv('ProgramFiles', 'C:\\Program Files') py_dll_path = os.path.join(sys.exec_prefix, 'Library', 'bin') th_dll_path = os.path.join(os.path.dirname(__file__), 'lib') # When users create a virtualenv that inherits the base environment, # we will need to add the corresponding library directory into # DLL search directories. Otherwise, it will rely on `PATH` which # is dependent on user settings. if sys.exec_prefix != sys.base_exec_prefix: base_py_dll_path = os.path.join(sys.base_exec_prefix, 'Library', 'bin') else: base_py_dll_path = '' dll_paths = list(filter(os.path.exists, [th_dll_path, py_dll_path, base_py_dll_path])) if all(not os.path.exists(os.path.join(p, 'nvToolsExt64_1.dll')) for p in dll_paths): nvtoolsext_dll_path = os.path.join( os.getenv('NVTOOLSEXT_PATH', os.path.join(pfiles_path, 'NVIDIA Corporation', 'NvToolsExt')), 'bin', 'x64') else: nvtoolsext_dll_path = '' from .version import cuda as cuda_version import glob if cuda_version and all(not glob.glob(os.path.join(p, 'cudart64*.dll')) for p in dll_paths): cuda_version_1 = cuda_version.replace('.', '_') cuda_path_var = 'CUDA_PATH_V' + cuda_version_1 default_path = os.path.join(pfiles_path, 'NVIDIA GPU Computing Toolkit', 'CUDA', 'v' + cuda_version) cuda_path = os.path.join(os.getenv(cuda_path_var, default_path), 'bin') else: cuda_path = '' dll_paths.extend(filter(os.path.exists, [nvtoolsext_dll_path, cuda_path])) kernel32 = ctypes.WinDLL('kernel32.dll', use_last_error=True) with_load_library_flags = hasattr(kernel32, 'AddDllDirectory') prev_error_mode = kernel32.SetErrorMode(0x0001) kernel32.LoadLibraryW.restype = ctypes.c_void_p if with_load_library_flags: kernel32.LoadLibraryExW.restype = ctypes.c_void_p for dll_path in dll_paths: os.add_dll_directory(dll_path) try: ctypes.CDLL('vcruntime140.dll') ctypes.CDLL('msvcp140.dll') ctypes.CDLL('vcruntime140_1.dll') except OSError: print('''Microsoft Visual C++ Redistributable is not installed, this may lead to the DLL load failure. It can be downloaded at https://aka.ms/vs/16/release/vc_redist.x64.exe''') dlls = glob.glob(os.path.join(th_dll_path, '*.dll')) path_patched = False for dll in dlls: is_loaded = False if with_load_library_flags: res = kernel32.LoadLibraryExW(dll, None, 0x00001100) last_error = ctypes.get_last_error() if res is None and last_error != 126: err = ctypes.WinError(last_error) err.strerror += f' Error loading "{dll}" or one of its dependencies.' raise err elif res is not None: is_loaded = True if not is_loaded: if not path_patched: os.environ['PATH'] = ';'.join(dll_paths + [os.environ['PATH']]) path_patched = True res = kernel32.LoadLibraryW(dll) if res is None: err = ctypes.WinError(ctypes.get_last_error()) err.strerror += f' Error loading "{dll}" or one of its dependencies.' raise err kernel32.SetErrorMode(prev_error_mode) def _preload_cuda_deps(lib_folder, lib_name): """Preloads cuda deps if they could not be found otherwise.""" # Should only be called on Linux if default path resolution have failed assert platform.system() == 'Linux', 'Should only be called on Linux' import glob lib_path = None for path in sys.path: nvidia_path = os.path.join(path, 'nvidia') if not os.path.exists(nvidia_path): continue candidate_lib_paths = glob.glob(os.path.join(nvidia_path, lib_folder, 'lib', lib_name)) if candidate_lib_paths and not lib_path: lib_path = candidate_lib_paths[0] if lib_path: break if not lib_path: raise ValueError(f"{lib_name} not found in the system path {sys.path}") ctypes.CDLL(lib_path) # See Note [Global dependencies] def _load_global_deps() -> None: if _running_with_deploy() or platform.system() == 'Windows': return lib_name = 'libtorch_global_deps' + ('.dylib' if platform.system() == 'Darwin' else '.so') here = os.path.abspath(__file__) lib_path = os.path.join(os.path.dirname(here), 'lib', lib_name) try: ctypes.CDLL(lib_path, mode=ctypes.RTLD_GLOBAL) except OSError as err: # Can only happen for wheel with cuda libs as PYPI deps # As PyTorch is not purelib, but nvidia-*-cu12 is cuda_libs: Dict[str, str] = { 'cublas': 'libcublas.so.*[0-9]', 'cudnn': 'libcudnn.so.*[0-9]', 'cuda_nvrtc': 'libnvrtc.so.*[0-9]', 'cuda_runtime': 'libcudart.so.*[0-9]', 'cuda_cupti': 'libcupti.so.*[0-9]', 'cufft': 'libcufft.so.*[0-9]', 'curand': 'libcurand.so.*[0-9]', 'cusolver': 'libcusolver.so.*[0-9]', 'cusparse': 'libcusparse.so.*[0-9]', 'nccl': 'libnccl.so.*[0-9]', 'nvtx': 'libnvToolsExt.so.*[0-9]', } is_cuda_lib_err = [lib for lib in cuda_libs.values() if(lib.split('.')[0] in err.args[0])] if not is_cuda_lib_err: raise err for lib_folder, lib_name in cuda_libs.items(): _preload_cuda_deps(lib_folder, lib_name) ctypes.CDLL(lib_path, mode=ctypes.RTLD_GLOBAL) if (USE_RTLD_GLOBAL_WITH_LIBTORCH or os.getenv('TORCH_USE_RTLD_GLOBAL')) and \ (_running_with_deploy() or platform.system() != 'Windows'): # Do it the hard way. You might want to load libtorch with RTLD_GLOBAL in a # few circumstances: # # 1. You're in a build environment (e.g., fbcode) where # libtorch_global_deps is not available, but you still need # to get mkl to link in with RTLD_GLOBAL or it will just # not work. # # 2. You're trying to run PyTorch under UBSAN and you need # to ensure that only one copy of libtorch is loaded, so # vptr checks work properly # # If you're using this setting, you must verify that all the libraries # you load consistently use the same libstdc++, or you may have # mysterious segfaults. # old_flags = sys.getdlopenflags() sys.setdlopenflags(os.RTLD_GLOBAL | os.RTLD_LAZY) from torch._C import * # noqa: F403 sys.setdlopenflags(old_flags) del old_flags else: # Easy way. You want this most of the time, because it will prevent # C++ symbols from libtorch clobbering C++ symbols from other # libraries, leading to mysterious segfaults. # # If building in an environment where libtorch_global_deps isn't available # like parts of fbsource, but where RTLD_GLOBAL causes segfaults, you will # want USE_RTLD_GLOBAL_WITH_LIBTORCH = False and USE_GLOBAL_DEPS = False # # See Note [Global dependencies] if USE_GLOBAL_DEPS: _load_global_deps() from torch._C import * # noqa: F403 # Appease the type checker; ordinarily this binding is inserted by the # torch._C module initialization code in C if TYPE_CHECKING: import torch._C as _C class SymInt: """ Like an int (including magic methods), but redirects all operations on the wrapped node. This is used in particular to symbolically record operations in the symbolic shape workflow. """ def __init__(self, node): # This field MUST be named node; C++ binding code assumes that this # class has a field named node that stores SymNode self.node = node def __bool__(self): return builtins.bool(self != 0) def __int__(self): return self.node.int_() def __index__(self): return self.node.int_() # Magic methods installed by torch.fx.experimental.symbolic_shapes def __eq__(self, other: object) -> builtins.bool: raise AssertionError("type stub not overridden") def __lt__(self, other) -> builtins.bool: raise AssertionError("type stub not overridden") def __gt__(self, other) -> builtins.bool: raise AssertionError("type stub not overridden") def __le__(self, other) -> builtins.bool: raise AssertionError("type stub not overridden") def __ge__(self, other) -> builtins.bool: raise AssertionError("type stub not overridden") def __sym_max__(self, other): raise AssertionError("type stub not overridden") def __sym_min__(self, other): raise AssertionError("type stub not overridden") def __sym_float__(self): raise AssertionError("type stub not overridden") def __repr__(self): return str(self.node) class SymFloat: """ Like an float (including magic methods), but redirects all operations on the wrapped node. This is used in particular to symbolically record operations in the symbolic shape workflow. """ def __init__(self, node): # This field MUST be named node; C++ binding code assumes that this # class has a field named node that stores SymNode self.node = node def __bool__(self): return self.node.bool_() # Magic methods installed by torch.fx.experimental.symbolic_shapes def __eq__(self, other: object) -> builtins.bool: raise AssertionError("type stub not overridden") def __lt__(self, other) -> builtins.bool: raise AssertionError("type stub not overridden") def __gt__(self, other) -> builtins.bool: raise AssertionError("type stub not overridden") def __le__(self, other) -> builtins.bool: raise AssertionError("type stub not overridden") def __ge__(self, other) -> builtins.bool: raise AssertionError("type stub not overridden") def __sym_max__(self, other): raise AssertionError("type stub not overridden") def __sym_min__(self, other): raise AssertionError("type stub not overridden") def __sym_int__(self): raise AssertionError("type stub not overridden") def __repr__(self): return self.node.str() class SymBool: """ Like an bool (including magic methods), but redirects all operations on the wrapped node. This is used in particular to symbolically record operations in the symbolic shape workflow. Unlike regular bools, regular boolean operators will force extra guards instead of symbolically evaluate. Use the bitwise operators instead to handle this. """ def __init__(self, node): # This field MUST be named node; C++ binding code assumes that this # class has a field named node that stores SymNode self.node = node def __bool__(self): return self.node.bool_() def __int__(self): return builtins.int(self.node.bool_()) # Magic methods installed by torch.fx.experimental.symbolic_shapes def __and__(self, other) -> "SymBool": raise AssertionError("type stub not overridden") def __or__(self, other) -> "SymBool": raise AssertionError("type stub not overridden") # We very carefully define __sym_not__, and not a number of other # plausible alternatives: # # - We do not override __not__ because this is not a real magic # method; you cannot override the meaning of the not builtin in # Python. We use the name 'sym_not' to clarify that in user code you # cannot use the builtin not or operator.not_ or operator.__not__ and # hit this magic method; you must use our custom sym_not operator. # # - We do not override the __invert__ method because SymBool is # meant to be usable in situations where bool is expected. However, # bitwise negation ~a does the wrong thing with booleans (because # bool is a subclass of int, so ~1 = -2 which is not falseish.) # This would be a giant footgun, so we get around it by defining # our own operator. Note that bitwise and/or do the right thing, # so we reuse the conventional operators there for readability. # def __sym_not__(self) -> "SymBool": raise AssertionError("type stub not overridden") def __repr__(self): return self.node.str() def sym_not(a): r""" SymInt-aware utility for logical negation. Args: a (SymBool or bool): Object to negate """ if hasattr(a, '__sym_not__'): return a.__sym_not__() return not a def sym_float(a): r""" SymInt-aware utility for float casting. Args: a (SymInt, SymFloat, or object): Object to cast """ if isinstance(a, SymFloat): return a elif hasattr(a, '__sym_float__'): return a.__sym_float__() return py_float(a) # type: ignore[operator] def sym_int(a): r""" SymInt-aware utility for int casting. Args: a (SymInt, SymFloat, or object): Object to cast """ if isinstance(a, SymInt): return a elif isinstance(a, SymFloat): return math.floor(a) if a >= 0 else math.ceil(a) # type: ignore[arg-type, call-overload] return py_int(a) # type: ignore[operator] def sym_max(a, b): """ SymInt-aware utility for max().""" if isinstance(a, (SymInt, SymFloat)): return a.__sym_max__(b) elif isinstance(b, (SymInt, SymFloat)): # NB: If you actually care about preserving output type exactly # if you do something like max(0, 0.0), it is NOT sound to treat # min/max as commutative return b.__sym_max__(a) return builtins.max(a, b) # type: ignore[operator] def sym_min(a, b): """ SymInt-aware utility for max().""" if isinstance(a, (SymInt, SymFloat)): return a.__sym_min__(b) elif isinstance(b, (SymInt, SymFloat)): return b.__sym_min__(a) return builtins.min(a, b) # type: ignore[operator] # Check to see if we can load C extensions, and if not provide some guidance # on what the problem might be. try: # _initExtension is chosen (arbitrarily) as a sentinel. from torch._C import _initExtension except ImportError: import torch._C as _C_for_compiled_check # The __file__ check only works for Python 3.7 and above. if _C_for_compiled_check.__file__ is None: > raise ImportError(textwrap.dedent(''' Failed to load PyTorch C extensions: It appears that PyTorch has loaded the `torch/_C` folder of the PyTorch repository rather than the C extensions which are expected in the `torch._C` namespace. This can occur when using the `install` workflow. e.g. $ python setup.py install && python -c "import torch" This error can generally be solved using the `develop` workflow $ python setup.py develop && python -c "import torch" # This should succeed or by running Python from a different directory. ''').strip()) from None E ImportError: Failed to load PyTorch C extensions: E It appears that PyTorch has loaded the `torch/_C` folder E of the PyTorch repository rather than the C extensions which E are expected in the `torch._C` namespace. This can occur when E using the `install` workflow. e.g. E $ python setup.py install && python -c "import torch" E E This error can generally be solved using the `develop` workflow E $ python setup.py develop && python -c "import torch" # This should succeed E or by running Python from a different directory. /usr/lib/python3/dist-packages/torch/__init__.py:451: ImportError _____________________ test_array_namespace[2021.12-torch] ______________________ library = 'torch', api_version = '2021.12' @pytest.mark.parametrize("library", ["cupy", "numpy", "torch"]) @pytest.mark.parametrize("api_version", [None, '2021.12']) def test_array_namespace(library, api_version): > lib = import_(library) tests/test_array_namespace.py:12: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ tests/_helpers.py:8: in import_ return import_module(library) /usr/lib/python3.12/importlib/__init__.py:90: in import_module return _bootstrap._gcd_import(name[level:], package, level) :1387: in _gcd_import ??? :1360: in _find_and_load ??? :1331: in _find_and_load_unlocked ??? :935: in _load_unlocked ??? :995: in exec_module ??? :488: in _call_with_frames_removed ??? _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ r""" The torch package contains data structures for multi-dimensional tensors and defines mathematical operations over these tensors. Additionally, it provides many utilities for efficient serialization of Tensors and arbitrary types, and other useful utilities. It has a CUDA counterpart, that enables you to run your tensor computations on an NVIDIA GPU with compute capability >= 3.0. """ import math import os import sys import platform import textwrap import ctypes import inspect # multipy/deploy is setting this import before importing torch, this is the most # reliable way we have to detect if we're running within deploy. # https://github.com/pytorch/multipy/blob/d60f34ad38c371e441fe7ffdb77a3c3dda5a5d19/multipy/runtime/interpreter/interpreter_impl.cpp#L134-L137 def _running_with_deploy(): return sys.modules.get("torch._meta_registrations", None) is object from ._utils import _import_dotted_name, classproperty from ._utils_internal import get_file_path, prepare_multiprocessing_environment, \ USE_RTLD_GLOBAL_WITH_LIBTORCH, USE_GLOBAL_DEPS # TODO(torch_deploy) figure out how to freeze version.py in fbcode build if _running_with_deploy(): __version__ = "torch-deploy-1.8" else: from .torch_version import __version__ as __version__ from typing import Any, Callable, Dict, Optional, Set, Tuple, Type, TYPE_CHECKING, Union, List import builtins __all__ = [ 'typename', 'is_tensor', 'is_storage', 'set_default_tensor_type', 'set_default_device', 'set_rng_state', 'get_rng_state', 'manual_seed', 'initial_seed', 'seed', 'save', 'load', 'set_printoptions', 'chunk', 'split', 'stack', 'matmul', 'no_grad', 'enable_grad', 'rand', 'randn', 'inference_mode', 'DoubleStorage', 'FloatStorage', 'LongStorage', 'IntStorage', 'ShortStorage', 'CharStorage', 'ByteStorage', 'BoolStorage', 'TypedStorage', 'UntypedStorage', 'DoubleTensor', 'FloatTensor', 'LongTensor', 'IntTensor', 'ShortTensor', 'CharTensor', 'ByteTensor', 'BoolTensor', 'Tensor', 'lobpcg', 'use_deterministic_algorithms', 'are_deterministic_algorithms_enabled', 'is_deterministic_algorithms_warn_only_enabled', 'set_deterministic_debug_mode', 'get_deterministic_debug_mode', 'set_float32_matmul_precision', 'get_float32_matmul_precision', 'set_warn_always', 'is_warn_always_enabled', 'SymInt', 'SymFloat', 'SymBool', 'sym_not', 'sym_int', 'sym_float', 'sym_max', 'sym_min', 'compile', 'vmap', 'export', ] ################################################################################ # Load the extension module ################################################################################ if sys.platform == 'win32': pfiles_path = os.getenv('ProgramFiles', 'C:\\Program Files') py_dll_path = os.path.join(sys.exec_prefix, 'Library', 'bin') th_dll_path = os.path.join(os.path.dirname(__file__), 'lib') # When users create a virtualenv that inherits the base environment, # we will need to add the corresponding library directory into # DLL search directories. Otherwise, it will rely on `PATH` which # is dependent on user settings. if sys.exec_prefix != sys.base_exec_prefix: base_py_dll_path = os.path.join(sys.base_exec_prefix, 'Library', 'bin') else: base_py_dll_path = '' dll_paths = list(filter(os.path.exists, [th_dll_path, py_dll_path, base_py_dll_path])) if all(not os.path.exists(os.path.join(p, 'nvToolsExt64_1.dll')) for p in dll_paths): nvtoolsext_dll_path = os.path.join( os.getenv('NVTOOLSEXT_PATH', os.path.join(pfiles_path, 'NVIDIA Corporation', 'NvToolsExt')), 'bin', 'x64') else: nvtoolsext_dll_path = '' from .version import cuda as cuda_version import glob if cuda_version and all(not glob.glob(os.path.join(p, 'cudart64*.dll')) for p in dll_paths): cuda_version_1 = cuda_version.replace('.', '_') cuda_path_var = 'CUDA_PATH_V' + cuda_version_1 default_path = os.path.join(pfiles_path, 'NVIDIA GPU Computing Toolkit', 'CUDA', 'v' + cuda_version) cuda_path = os.path.join(os.getenv(cuda_path_var, default_path), 'bin') else: cuda_path = '' dll_paths.extend(filter(os.path.exists, [nvtoolsext_dll_path, cuda_path])) kernel32 = ctypes.WinDLL('kernel32.dll', use_last_error=True) with_load_library_flags = hasattr(kernel32, 'AddDllDirectory') prev_error_mode = kernel32.SetErrorMode(0x0001) kernel32.LoadLibraryW.restype = ctypes.c_void_p if with_load_library_flags: kernel32.LoadLibraryExW.restype = ctypes.c_void_p for dll_path in dll_paths: os.add_dll_directory(dll_path) try: ctypes.CDLL('vcruntime140.dll') ctypes.CDLL('msvcp140.dll') ctypes.CDLL('vcruntime140_1.dll') except OSError: print('''Microsoft Visual C++ Redistributable is not installed, this may lead to the DLL load failure. It can be downloaded at https://aka.ms/vs/16/release/vc_redist.x64.exe''') dlls = glob.glob(os.path.join(th_dll_path, '*.dll')) path_patched = False for dll in dlls: is_loaded = False if with_load_library_flags: res = kernel32.LoadLibraryExW(dll, None, 0x00001100) last_error = ctypes.get_last_error() if res is None and last_error != 126: err = ctypes.WinError(last_error) err.strerror += f' Error loading "{dll}" or one of its dependencies.' raise err elif res is not None: is_loaded = True if not is_loaded: if not path_patched: os.environ['PATH'] = ';'.join(dll_paths + [os.environ['PATH']]) path_patched = True res = kernel32.LoadLibraryW(dll) if res is None: err = ctypes.WinError(ctypes.get_last_error()) err.strerror += f' Error loading "{dll}" or one of its dependencies.' raise err kernel32.SetErrorMode(prev_error_mode) def _preload_cuda_deps(lib_folder, lib_name): """Preloads cuda deps if they could not be found otherwise.""" # Should only be called on Linux if default path resolution have failed assert platform.system() == 'Linux', 'Should only be called on Linux' import glob lib_path = None for path in sys.path: nvidia_path = os.path.join(path, 'nvidia') if not os.path.exists(nvidia_path): continue candidate_lib_paths = glob.glob(os.path.join(nvidia_path, lib_folder, 'lib', lib_name)) if candidate_lib_paths and not lib_path: lib_path = candidate_lib_paths[0] if lib_path: break if not lib_path: raise ValueError(f"{lib_name} not found in the system path {sys.path}") ctypes.CDLL(lib_path) # See Note [Global dependencies] def _load_global_deps() -> None: if _running_with_deploy() or platform.system() == 'Windows': return lib_name = 'libtorch_global_deps' + ('.dylib' if platform.system() == 'Darwin' else '.so') here = os.path.abspath(__file__) lib_path = os.path.join(os.path.dirname(here), 'lib', lib_name) try: ctypes.CDLL(lib_path, mode=ctypes.RTLD_GLOBAL) except OSError as err: # Can only happen for wheel with cuda libs as PYPI deps # As PyTorch is not purelib, but nvidia-*-cu12 is cuda_libs: Dict[str, str] = { 'cublas': 'libcublas.so.*[0-9]', 'cudnn': 'libcudnn.so.*[0-9]', 'cuda_nvrtc': 'libnvrtc.so.*[0-9]', 'cuda_runtime': 'libcudart.so.*[0-9]', 'cuda_cupti': 'libcupti.so.*[0-9]', 'cufft': 'libcufft.so.*[0-9]', 'curand': 'libcurand.so.*[0-9]', 'cusolver': 'libcusolver.so.*[0-9]', 'cusparse': 'libcusparse.so.*[0-9]', 'nccl': 'libnccl.so.*[0-9]', 'nvtx': 'libnvToolsExt.so.*[0-9]', } is_cuda_lib_err = [lib for lib in cuda_libs.values() if(lib.split('.')[0] in err.args[0])] if not is_cuda_lib_err: raise err for lib_folder, lib_name in cuda_libs.items(): _preload_cuda_deps(lib_folder, lib_name) ctypes.CDLL(lib_path, mode=ctypes.RTLD_GLOBAL) if (USE_RTLD_GLOBAL_WITH_LIBTORCH or os.getenv('TORCH_USE_RTLD_GLOBAL')) and \ (_running_with_deploy() or platform.system() != 'Windows'): # Do it the hard way. You might want to load libtorch with RTLD_GLOBAL in a # few circumstances: # # 1. You're in a build environment (e.g., fbcode) where # libtorch_global_deps is not available, but you still need # to get mkl to link in with RTLD_GLOBAL or it will just # not work. # # 2. You're trying to run PyTorch under UBSAN and you need # to ensure that only one copy of libtorch is loaded, so # vptr checks work properly # # If you're using this setting, you must verify that all the libraries # you load consistently use the same libstdc++, or you may have # mysterious segfaults. # old_flags = sys.getdlopenflags() sys.setdlopenflags(os.RTLD_GLOBAL | os.RTLD_LAZY) from torch._C import * # noqa: F403 sys.setdlopenflags(old_flags) del old_flags else: # Easy way. You want this most of the time, because it will prevent # C++ symbols from libtorch clobbering C++ symbols from other # libraries, leading to mysterious segfaults. # # If building in an environment where libtorch_global_deps isn't available # like parts of fbsource, but where RTLD_GLOBAL causes segfaults, you will # want USE_RTLD_GLOBAL_WITH_LIBTORCH = False and USE_GLOBAL_DEPS = False # # See Note [Global dependencies] if USE_GLOBAL_DEPS: _load_global_deps() from torch._C import * # noqa: F403 # Appease the type checker; ordinarily this binding is inserted by the # torch._C module initialization code in C if TYPE_CHECKING: import torch._C as _C class SymInt: """ Like an int (including magic methods), but redirects all operations on the wrapped node. This is used in particular to symbolically record operations in the symbolic shape workflow. """ def __init__(self, node): # This field MUST be named node; C++ binding code assumes that this # class has a field named node that stores SymNode self.node = node def __bool__(self): return builtins.bool(self != 0) def __int__(self): return self.node.int_() def __index__(self): return self.node.int_() # Magic methods installed by torch.fx.experimental.symbolic_shapes def __eq__(self, other: object) -> builtins.bool: raise AssertionError("type stub not overridden") def __lt__(self, other) -> builtins.bool: raise AssertionError("type stub not overridden") def __gt__(self, other) -> builtins.bool: raise AssertionError("type stub not overridden") def __le__(self, other) -> builtins.bool: raise AssertionError("type stub not overridden") def __ge__(self, other) -> builtins.bool: raise AssertionError("type stub not overridden") def __sym_max__(self, other): raise AssertionError("type stub not overridden") def __sym_min__(self, other): raise AssertionError("type stub not overridden") def __sym_float__(self): raise AssertionError("type stub not overridden") def __repr__(self): return str(self.node) class SymFloat: """ Like an float (including magic methods), but redirects all operations on the wrapped node. This is used in particular to symbolically record operations in the symbolic shape workflow. """ def __init__(self, node): # This field MUST be named node; C++ binding code assumes that this # class has a field named node that stores SymNode self.node = node def __bool__(self): return self.node.bool_() # Magic methods installed by torch.fx.experimental.symbolic_shapes def __eq__(self, other: object) -> builtins.bool: raise AssertionError("type stub not overridden") def __lt__(self, other) -> builtins.bool: raise AssertionError("type stub not overridden") def __gt__(self, other) -> builtins.bool: raise AssertionError("type stub not overridden") def __le__(self, other) -> builtins.bool: raise AssertionError("type stub not overridden") def __ge__(self, other) -> builtins.bool: raise AssertionError("type stub not overridden") def __sym_max__(self, other): raise AssertionError("type stub not overridden") def __sym_min__(self, other): raise AssertionError("type stub not overridden") def __sym_int__(self): raise AssertionError("type stub not overridden") def __repr__(self): return self.node.str() class SymBool: """ Like an bool (including magic methods), but redirects all operations on the wrapped node. This is used in particular to symbolically record operations in the symbolic shape workflow. Unlike regular bools, regular boolean operators will force extra guards instead of symbolically evaluate. Use the bitwise operators instead to handle this. """ def __init__(self, node): # This field MUST be named node; C++ binding code assumes that this # class has a field named node that stores SymNode self.node = node def __bool__(self): return self.node.bool_() def __int__(self): return builtins.int(self.node.bool_()) # Magic methods installed by torch.fx.experimental.symbolic_shapes def __and__(self, other) -> "SymBool": raise AssertionError("type stub not overridden") def __or__(self, other) -> "SymBool": raise AssertionError("type stub not overridden") # We very carefully define __sym_not__, and not a number of other # plausible alternatives: # # - We do not override __not__ because this is not a real magic # method; you cannot override the meaning of the not builtin in # Python. We use the name 'sym_not' to clarify that in user code you # cannot use the builtin not or operator.not_ or operator.__not__ and # hit this magic method; you must use our custom sym_not operator. # # - We do not override the __invert__ method because SymBool is # meant to be usable in situations where bool is expected. However, # bitwise negation ~a does the wrong thing with booleans (because # bool is a subclass of int, so ~1 = -2 which is not falseish.) # This would be a giant footgun, so we get around it by defining # our own operator. Note that bitwise and/or do the right thing, # so we reuse the conventional operators there for readability. # def __sym_not__(self) -> "SymBool": raise AssertionError("type stub not overridden") def __repr__(self): return self.node.str() def sym_not(a): r""" SymInt-aware utility for logical negation. Args: a (SymBool or bool): Object to negate """ if hasattr(a, '__sym_not__'): return a.__sym_not__() return not a def sym_float(a): r""" SymInt-aware utility for float casting. Args: a (SymInt, SymFloat, or object): Object to cast """ if isinstance(a, SymFloat): return a elif hasattr(a, '__sym_float__'): return a.__sym_float__() return py_float(a) # type: ignore[operator] def sym_int(a): r""" SymInt-aware utility for int casting. Args: a (SymInt, SymFloat, or object): Object to cast """ if isinstance(a, SymInt): return a elif isinstance(a, SymFloat): return math.floor(a) if a >= 0 else math.ceil(a) # type: ignore[arg-type, call-overload] return py_int(a) # type: ignore[operator] def sym_max(a, b): """ SymInt-aware utility for max().""" if isinstance(a, (SymInt, SymFloat)): return a.__sym_max__(b) elif isinstance(b, (SymInt, SymFloat)): # NB: If you actually care about preserving output type exactly # if you do something like max(0, 0.0), it is NOT sound to treat # min/max as commutative return b.__sym_max__(a) return builtins.max(a, b) # type: ignore[operator] def sym_min(a, b): """ SymInt-aware utility for max().""" if isinstance(a, (SymInt, SymFloat)): return a.__sym_min__(b) elif isinstance(b, (SymInt, SymFloat)): return b.__sym_min__(a) return builtins.min(a, b) # type: ignore[operator] # Check to see if we can load C extensions, and if not provide some guidance # on what the problem might be. try: # _initExtension is chosen (arbitrarily) as a sentinel. from torch._C import _initExtension except ImportError: import torch._C as _C_for_compiled_check # The __file__ check only works for Python 3.7 and above. if _C_for_compiled_check.__file__ is None: > raise ImportError(textwrap.dedent(''' Failed to load PyTorch C extensions: It appears that PyTorch has loaded the `torch/_C` folder of the PyTorch repository rather than the C extensions which are expected in the `torch._C` namespace. This can occur when using the `install` workflow. e.g. $ python setup.py install && python -c "import torch" This error can generally be solved using the `develop` workflow $ python setup.py develop && python -c "import torch" # This should succeed or by running Python from a different directory. ''').strip()) from None E ImportError: Failed to load PyTorch C extensions: E It appears that PyTorch has loaded the `torch/_C` folder E of the PyTorch repository rather than the C extensions which E are expected in the `torch._C` namespace. This can occur when E using the `install` workflow. e.g. E $ python setup.py install && python -c "import torch" E E This error can generally be solved using the `develop` workflow E $ python setup.py develop && python -c "import torch" # This should succeed E or by running Python from a different directory. /usr/lib/python3/dist-packages/torch/__init__.py:451: ImportError _________________________ test_array_namespace_errors __________________________ def test_array_namespace_errors(): pytest.raises(TypeError, lambda: array_namespace([1])) pytest.raises(TypeError, lambda: array_namespace()) import numpy as np > import torch tests/test_array_namespace.py:34: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ r""" The torch package contains data structures for multi-dimensional tensors and defines mathematical operations over these tensors. Additionally, it provides many utilities for efficient serialization of Tensors and arbitrary types, and other useful utilities. It has a CUDA counterpart, that enables you to run your tensor computations on an NVIDIA GPU with compute capability >= 3.0. """ import math import os import sys import platform import textwrap import ctypes import inspect # multipy/deploy is setting this import before importing torch, this is the most # reliable way we have to detect if we're running within deploy. # https://github.com/pytorch/multipy/blob/d60f34ad38c371e441fe7ffdb77a3c3dda5a5d19/multipy/runtime/interpreter/interpreter_impl.cpp#L134-L137 def _running_with_deploy(): return sys.modules.get("torch._meta_registrations", None) is object from ._utils import _import_dotted_name, classproperty from ._utils_internal import get_file_path, prepare_multiprocessing_environment, \ USE_RTLD_GLOBAL_WITH_LIBTORCH, USE_GLOBAL_DEPS # TODO(torch_deploy) figure out how to freeze version.py in fbcode build if _running_with_deploy(): __version__ = "torch-deploy-1.8" else: from .torch_version import __version__ as __version__ from typing import Any, Callable, Dict, Optional, Set, Tuple, Type, TYPE_CHECKING, Union, List import builtins __all__ = [ 'typename', 'is_tensor', 'is_storage', 'set_default_tensor_type', 'set_default_device', 'set_rng_state', 'get_rng_state', 'manual_seed', 'initial_seed', 'seed', 'save', 'load', 'set_printoptions', 'chunk', 'split', 'stack', 'matmul', 'no_grad', 'enable_grad', 'rand', 'randn', 'inference_mode', 'DoubleStorage', 'FloatStorage', 'LongStorage', 'IntStorage', 'ShortStorage', 'CharStorage', 'ByteStorage', 'BoolStorage', 'TypedStorage', 'UntypedStorage', 'DoubleTensor', 'FloatTensor', 'LongTensor', 'IntTensor', 'ShortTensor', 'CharTensor', 'ByteTensor', 'BoolTensor', 'Tensor', 'lobpcg', 'use_deterministic_algorithms', 'are_deterministic_algorithms_enabled', 'is_deterministic_algorithms_warn_only_enabled', 'set_deterministic_debug_mode', 'get_deterministic_debug_mode', 'set_float32_matmul_precision', 'get_float32_matmul_precision', 'set_warn_always', 'is_warn_always_enabled', 'SymInt', 'SymFloat', 'SymBool', 'sym_not', 'sym_int', 'sym_float', 'sym_max', 'sym_min', 'compile', 'vmap', 'export', ] ################################################################################ # Load the extension module ################################################################################ if sys.platform == 'win32': pfiles_path = os.getenv('ProgramFiles', 'C:\\Program Files') py_dll_path = os.path.join(sys.exec_prefix, 'Library', 'bin') th_dll_path = os.path.join(os.path.dirname(__file__), 'lib') # When users create a virtualenv that inherits the base environment, # we will need to add the corresponding library directory into # DLL search directories. Otherwise, it will rely on `PATH` which # is dependent on user settings. if sys.exec_prefix != sys.base_exec_prefix: base_py_dll_path = os.path.join(sys.base_exec_prefix, 'Library', 'bin') else: base_py_dll_path = '' dll_paths = list(filter(os.path.exists, [th_dll_path, py_dll_path, base_py_dll_path])) if all(not os.path.exists(os.path.join(p, 'nvToolsExt64_1.dll')) for p in dll_paths): nvtoolsext_dll_path = os.path.join( os.getenv('NVTOOLSEXT_PATH', os.path.join(pfiles_path, 'NVIDIA Corporation', 'NvToolsExt')), 'bin', 'x64') else: nvtoolsext_dll_path = '' from .version import cuda as cuda_version import glob if cuda_version and all(not glob.glob(os.path.join(p, 'cudart64*.dll')) for p in dll_paths): cuda_version_1 = cuda_version.replace('.', '_') cuda_path_var = 'CUDA_PATH_V' + cuda_version_1 default_path = os.path.join(pfiles_path, 'NVIDIA GPU Computing Toolkit', 'CUDA', 'v' + cuda_version) cuda_path = os.path.join(os.getenv(cuda_path_var, default_path), 'bin') else: cuda_path = '' dll_paths.extend(filter(os.path.exists, [nvtoolsext_dll_path, cuda_path])) kernel32 = ctypes.WinDLL('kernel32.dll', use_last_error=True) with_load_library_flags = hasattr(kernel32, 'AddDllDirectory') prev_error_mode = kernel32.SetErrorMode(0x0001) kernel32.LoadLibraryW.restype = ctypes.c_void_p if with_load_library_flags: kernel32.LoadLibraryExW.restype = ctypes.c_void_p for dll_path in dll_paths: os.add_dll_directory(dll_path) try: ctypes.CDLL('vcruntime140.dll') ctypes.CDLL('msvcp140.dll') ctypes.CDLL('vcruntime140_1.dll') except OSError: print('''Microsoft Visual C++ Redistributable is not installed, this may lead to the DLL load failure. It can be downloaded at https://aka.ms/vs/16/release/vc_redist.x64.exe''') dlls = glob.glob(os.path.join(th_dll_path, '*.dll')) path_patched = False for dll in dlls: is_loaded = False if with_load_library_flags: res = kernel32.LoadLibraryExW(dll, None, 0x00001100) last_error = ctypes.get_last_error() if res is None and last_error != 126: err = ctypes.WinError(last_error) err.strerror += f' Error loading "{dll}" or one of its dependencies.' raise err elif res is not None: is_loaded = True if not is_loaded: if not path_patched: os.environ['PATH'] = ';'.join(dll_paths + [os.environ['PATH']]) path_patched = True res = kernel32.LoadLibraryW(dll) if res is None: err = ctypes.WinError(ctypes.get_last_error()) err.strerror += f' Error loading "{dll}" or one of its dependencies.' raise err kernel32.SetErrorMode(prev_error_mode) def _preload_cuda_deps(lib_folder, lib_name): """Preloads cuda deps if they could not be found otherwise.""" # Should only be called on Linux if default path resolution have failed assert platform.system() == 'Linux', 'Should only be called on Linux' import glob lib_path = None for path in sys.path: nvidia_path = os.path.join(path, 'nvidia') if not os.path.exists(nvidia_path): continue candidate_lib_paths = glob.glob(os.path.join(nvidia_path, lib_folder, 'lib', lib_name)) if candidate_lib_paths and not lib_path: lib_path = candidate_lib_paths[0] if lib_path: break if not lib_path: raise ValueError(f"{lib_name} not found in the system path {sys.path}") ctypes.CDLL(lib_path) # See Note [Global dependencies] def _load_global_deps() -> None: if _running_with_deploy() or platform.system() == 'Windows': return lib_name = 'libtorch_global_deps' + ('.dylib' if platform.system() == 'Darwin' else '.so') here = os.path.abspath(__file__) lib_path = os.path.join(os.path.dirname(here), 'lib', lib_name) try: ctypes.CDLL(lib_path, mode=ctypes.RTLD_GLOBAL) except OSError as err: # Can only happen for wheel with cuda libs as PYPI deps # As PyTorch is not purelib, but nvidia-*-cu12 is cuda_libs: Dict[str, str] = { 'cublas': 'libcublas.so.*[0-9]', 'cudnn': 'libcudnn.so.*[0-9]', 'cuda_nvrtc': 'libnvrtc.so.*[0-9]', 'cuda_runtime': 'libcudart.so.*[0-9]', 'cuda_cupti': 'libcupti.so.*[0-9]', 'cufft': 'libcufft.so.*[0-9]', 'curand': 'libcurand.so.*[0-9]', 'cusolver': 'libcusolver.so.*[0-9]', 'cusparse': 'libcusparse.so.*[0-9]', 'nccl': 'libnccl.so.*[0-9]', 'nvtx': 'libnvToolsExt.so.*[0-9]', } is_cuda_lib_err = [lib for lib in cuda_libs.values() if(lib.split('.')[0] in err.args[0])] if not is_cuda_lib_err: raise err for lib_folder, lib_name in cuda_libs.items(): _preload_cuda_deps(lib_folder, lib_name) ctypes.CDLL(lib_path, mode=ctypes.RTLD_GLOBAL) if (USE_RTLD_GLOBAL_WITH_LIBTORCH or os.getenv('TORCH_USE_RTLD_GLOBAL')) and \ (_running_with_deploy() or platform.system() != 'Windows'): # Do it the hard way. You might want to load libtorch with RTLD_GLOBAL in a # few circumstances: # # 1. You're in a build environment (e.g., fbcode) where # libtorch_global_deps is not available, but you still need # to get mkl to link in with RTLD_GLOBAL or it will just # not work. # # 2. You're trying to run PyTorch under UBSAN and you need # to ensure that only one copy of libtorch is loaded, so # vptr checks work properly # # If you're using this setting, you must verify that all the libraries # you load consistently use the same libstdc++, or you may have # mysterious segfaults. # old_flags = sys.getdlopenflags() sys.setdlopenflags(os.RTLD_GLOBAL | os.RTLD_LAZY) from torch._C import * # noqa: F403 sys.setdlopenflags(old_flags) del old_flags else: # Easy way. You want this most of the time, because it will prevent # C++ symbols from libtorch clobbering C++ symbols from other # libraries, leading to mysterious segfaults. # # If building in an environment where libtorch_global_deps isn't available # like parts of fbsource, but where RTLD_GLOBAL causes segfaults, you will # want USE_RTLD_GLOBAL_WITH_LIBTORCH = False and USE_GLOBAL_DEPS = False # # See Note [Global dependencies] if USE_GLOBAL_DEPS: _load_global_deps() from torch._C import * # noqa: F403 # Appease the type checker; ordinarily this binding is inserted by the # torch._C module initialization code in C if TYPE_CHECKING: import torch._C as _C class SymInt: """ Like an int (including magic methods), but redirects all operations on the wrapped node. This is used in particular to symbolically record operations in the symbolic shape workflow. """ def __init__(self, node): # This field MUST be named node; C++ binding code assumes that this # class has a field named node that stores SymNode self.node = node def __bool__(self): return builtins.bool(self != 0) def __int__(self): return self.node.int_() def __index__(self): return self.node.int_() # Magic methods installed by torch.fx.experimental.symbolic_shapes def __eq__(self, other: object) -> builtins.bool: raise AssertionError("type stub not overridden") def __lt__(self, other) -> builtins.bool: raise AssertionError("type stub not overridden") def __gt__(self, other) -> builtins.bool: raise AssertionError("type stub not overridden") def __le__(self, other) -> builtins.bool: raise AssertionError("type stub not overridden") def __ge__(self, other) -> builtins.bool: raise AssertionError("type stub not overridden") def __sym_max__(self, other): raise AssertionError("type stub not overridden") def __sym_min__(self, other): raise AssertionError("type stub not overridden") def __sym_float__(self): raise AssertionError("type stub not overridden") def __repr__(self): return str(self.node) class SymFloat: """ Like an float (including magic methods), but redirects all operations on the wrapped node. This is used in particular to symbolically record operations in the symbolic shape workflow. """ def __init__(self, node): # This field MUST be named node; C++ binding code assumes that this # class has a field named node that stores SymNode self.node = node def __bool__(self): return self.node.bool_() # Magic methods installed by torch.fx.experimental.symbolic_shapes def __eq__(self, other: object) -> builtins.bool: raise AssertionError("type stub not overridden") def __lt__(self, other) -> builtins.bool: raise AssertionError("type stub not overridden") def __gt__(self, other) -> builtins.bool: raise AssertionError("type stub not overridden") def __le__(self, other) -> builtins.bool: raise AssertionError("type stub not overridden") def __ge__(self, other) -> builtins.bool: raise AssertionError("type stub not overridden") def __sym_max__(self, other): raise AssertionError("type stub not overridden") def __sym_min__(self, other): raise AssertionError("type stub not overridden") def __sym_int__(self): raise AssertionError("type stub not overridden") def __repr__(self): return self.node.str() class SymBool: """ Like an bool (including magic methods), but redirects all operations on the wrapped node. This is used in particular to symbolically record operations in the symbolic shape workflow. Unlike regular bools, regular boolean operators will force extra guards instead of symbolically evaluate. Use the bitwise operators instead to handle this. """ def __init__(self, node): # This field MUST be named node; C++ binding code assumes that this # class has a field named node that stores SymNode self.node = node def __bool__(self): return self.node.bool_() def __int__(self): return builtins.int(self.node.bool_()) # Magic methods installed by torch.fx.experimental.symbolic_shapes def __and__(self, other) -> "SymBool": raise AssertionError("type stub not overridden") def __or__(self, other) -> "SymBool": raise AssertionError("type stub not overridden") # We very carefully define __sym_not__, and not a number of other # plausible alternatives: # # - We do not override __not__ because this is not a real magic # method; you cannot override the meaning of the not builtin in # Python. We use the name 'sym_not' to clarify that in user code you # cannot use the builtin not or operator.not_ or operator.__not__ and # hit this magic method; you must use our custom sym_not operator. # # - We do not override the __invert__ method because SymBool is # meant to be usable in situations where bool is expected. However, # bitwise negation ~a does the wrong thing with booleans (because # bool is a subclass of int, so ~1 = -2 which is not falseish.) # This would be a giant footgun, so we get around it by defining # our own operator. Note that bitwise and/or do the right thing, # so we reuse the conventional operators there for readability. # def __sym_not__(self) -> "SymBool": raise AssertionError("type stub not overridden") def __repr__(self): return self.node.str() def sym_not(a): r""" SymInt-aware utility for logical negation. Args: a (SymBool or bool): Object to negate """ if hasattr(a, '__sym_not__'): return a.__sym_not__() return not a def sym_float(a): r""" SymInt-aware utility for float casting. Args: a (SymInt, SymFloat, or object): Object to cast """ if isinstance(a, SymFloat): return a elif hasattr(a, '__sym_float__'): return a.__sym_float__() return py_float(a) # type: ignore[operator] def sym_int(a): r""" SymInt-aware utility for int casting. Args: a (SymInt, SymFloat, or object): Object to cast """ if isinstance(a, SymInt): return a elif isinstance(a, SymFloat): return math.floor(a) if a >= 0 else math.ceil(a) # type: ignore[arg-type, call-overload] return py_int(a) # type: ignore[operator] def sym_max(a, b): """ SymInt-aware utility for max().""" if isinstance(a, (SymInt, SymFloat)): return a.__sym_max__(b) elif isinstance(b, (SymInt, SymFloat)): # NB: If you actually care about preserving output type exactly # if you do something like max(0, 0.0), it is NOT sound to treat # min/max as commutative return b.__sym_max__(a) return builtins.max(a, b) # type: ignore[operator] def sym_min(a, b): """ SymInt-aware utility for max().""" if isinstance(a, (SymInt, SymFloat)): return a.__sym_min__(b) elif isinstance(b, (SymInt, SymFloat)): return b.__sym_min__(a) return builtins.min(a, b) # type: ignore[operator] # Check to see if we can load C extensions, and if not provide some guidance # on what the problem might be. try: # _initExtension is chosen (arbitrarily) as a sentinel. from torch._C import _initExtension except ImportError: import torch._C as _C_for_compiled_check # The __file__ check only works for Python 3.7 and above. if _C_for_compiled_check.__file__ is None: > raise ImportError(textwrap.dedent(''' Failed to load PyTorch C extensions: It appears that PyTorch has loaded the `torch/_C` folder of the PyTorch repository rather than the C extensions which are expected in the `torch._C` namespace. This can occur when using the `install` workflow. e.g. $ python setup.py install && python -c "import torch" This error can generally be solved using the `develop` workflow $ python setup.py develop && python -c "import torch" # This should succeed or by running Python from a different directory. ''').strip()) from None E ImportError: Failed to load PyTorch C extensions: E It appears that PyTorch has loaded the `torch/_C` folder E of the PyTorch repository rather than the C extensions which E are expected in the `torch._C` namespace. This can occur when E using the `install` workflow. e.g. E $ python setup.py install && python -c "import torch" E E This error can generally be solved using the `develop` workflow E $ python setup.py develop && python -c "import torch" # This should succeed E or by running Python from a different directory. /usr/lib/python3/dist-packages/torch/__init__.py:451: ImportError __________________________ test_to_device_host[torch] __________________________ library = 'torch' @pytest.mark.parametrize("library", ["cupy", "numpy", "torch"]) def test_to_device_host(library): # different libraries have different semantics # for DtoH transfers; ensure that we support a portable # shim for common array libs # see: https://github.com/scipy/scipy/issues/18286#issuecomment-1527552919 > xp = import_('array_api_compat.' + library) tests/test_common.py:14: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ tests/_helpers.py:8: in import_ return import_module(library) /usr/lib/python3.12/importlib/__init__.py:90: in import_module return _bootstrap._gcd_import(name[level:], package, level) :1387: in _gcd_import ??? :1360: in _find_and_load ??? :1331: in _find_and_load_unlocked ??? :935: in _load_unlocked ??? :995: in exec_module ??? :488: in _call_with_frames_removed ??? array_api_compat/torch/__init__.py:1: in from torch import * _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ r""" The torch package contains data structures for multi-dimensional tensors and defines mathematical operations over these tensors. Additionally, it provides many utilities for efficient serialization of Tensors and arbitrary types, and other useful utilities. It has a CUDA counterpart, that enables you to run your tensor computations on an NVIDIA GPU with compute capability >= 3.0. """ import math import os import sys import platform import textwrap import ctypes import inspect # multipy/deploy is setting this import before importing torch, this is the most # reliable way we have to detect if we're running within deploy. # https://github.com/pytorch/multipy/blob/d60f34ad38c371e441fe7ffdb77a3c3dda5a5d19/multipy/runtime/interpreter/interpreter_impl.cpp#L134-L137 def _running_with_deploy(): return sys.modules.get("torch._meta_registrations", None) is object from ._utils import _import_dotted_name, classproperty from ._utils_internal import get_file_path, prepare_multiprocessing_environment, \ USE_RTLD_GLOBAL_WITH_LIBTORCH, USE_GLOBAL_DEPS # TODO(torch_deploy) figure out how to freeze version.py in fbcode build if _running_with_deploy(): __version__ = "torch-deploy-1.8" else: from .torch_version import __version__ as __version__ from typing import Any, Callable, Dict, Optional, Set, Tuple, Type, TYPE_CHECKING, Union, List import builtins __all__ = [ 'typename', 'is_tensor', 'is_storage', 'set_default_tensor_type', 'set_default_device', 'set_rng_state', 'get_rng_state', 'manual_seed', 'initial_seed', 'seed', 'save', 'load', 'set_printoptions', 'chunk', 'split', 'stack', 'matmul', 'no_grad', 'enable_grad', 'rand', 'randn', 'inference_mode', 'DoubleStorage', 'FloatStorage', 'LongStorage', 'IntStorage', 'ShortStorage', 'CharStorage', 'ByteStorage', 'BoolStorage', 'TypedStorage', 'UntypedStorage', 'DoubleTensor', 'FloatTensor', 'LongTensor', 'IntTensor', 'ShortTensor', 'CharTensor', 'ByteTensor', 'BoolTensor', 'Tensor', 'lobpcg', 'use_deterministic_algorithms', 'are_deterministic_algorithms_enabled', 'is_deterministic_algorithms_warn_only_enabled', 'set_deterministic_debug_mode', 'get_deterministic_debug_mode', 'set_float32_matmul_precision', 'get_float32_matmul_precision', 'set_warn_always', 'is_warn_always_enabled', 'SymInt', 'SymFloat', 'SymBool', 'sym_not', 'sym_int', 'sym_float', 'sym_max', 'sym_min', 'compile', 'vmap', 'export', ] ################################################################################ # Load the extension module ################################################################################ if sys.platform == 'win32': pfiles_path = os.getenv('ProgramFiles', 'C:\\Program Files') py_dll_path = os.path.join(sys.exec_prefix, 'Library', 'bin') th_dll_path = os.path.join(os.path.dirname(__file__), 'lib') # When users create a virtualenv that inherits the base environment, # we will need to add the corresponding library directory into # DLL search directories. Otherwise, it will rely on `PATH` which # is dependent on user settings. if sys.exec_prefix != sys.base_exec_prefix: base_py_dll_path = os.path.join(sys.base_exec_prefix, 'Library', 'bin') else: base_py_dll_path = '' dll_paths = list(filter(os.path.exists, [th_dll_path, py_dll_path, base_py_dll_path])) if all(not os.path.exists(os.path.join(p, 'nvToolsExt64_1.dll')) for p in dll_paths): nvtoolsext_dll_path = os.path.join( os.getenv('NVTOOLSEXT_PATH', os.path.join(pfiles_path, 'NVIDIA Corporation', 'NvToolsExt')), 'bin', 'x64') else: nvtoolsext_dll_path = '' from .version import cuda as cuda_version import glob if cuda_version and all(not glob.glob(os.path.join(p, 'cudart64*.dll')) for p in dll_paths): cuda_version_1 = cuda_version.replace('.', '_') cuda_path_var = 'CUDA_PATH_V' + cuda_version_1 default_path = os.path.join(pfiles_path, 'NVIDIA GPU Computing Toolkit', 'CUDA', 'v' + cuda_version) cuda_path = os.path.join(os.getenv(cuda_path_var, default_path), 'bin') else: cuda_path = '' dll_paths.extend(filter(os.path.exists, [nvtoolsext_dll_path, cuda_path])) kernel32 = ctypes.WinDLL('kernel32.dll', use_last_error=True) with_load_library_flags = hasattr(kernel32, 'AddDllDirectory') prev_error_mode = kernel32.SetErrorMode(0x0001) kernel32.LoadLibraryW.restype = ctypes.c_void_p if with_load_library_flags: kernel32.LoadLibraryExW.restype = ctypes.c_void_p for dll_path in dll_paths: os.add_dll_directory(dll_path) try: ctypes.CDLL('vcruntime140.dll') ctypes.CDLL('msvcp140.dll') ctypes.CDLL('vcruntime140_1.dll') except OSError: print('''Microsoft Visual C++ Redistributable is not installed, this may lead to the DLL load failure. It can be downloaded at https://aka.ms/vs/16/release/vc_redist.x64.exe''') dlls = glob.glob(os.path.join(th_dll_path, '*.dll')) path_patched = False for dll in dlls: is_loaded = False if with_load_library_flags: res = kernel32.LoadLibraryExW(dll, None, 0x00001100) last_error = ctypes.get_last_error() if res is None and last_error != 126: err = ctypes.WinError(last_error) err.strerror += f' Error loading "{dll}" or one of its dependencies.' raise err elif res is not None: is_loaded = True if not is_loaded: if not path_patched: os.environ['PATH'] = ';'.join(dll_paths + [os.environ['PATH']]) path_patched = True res = kernel32.LoadLibraryW(dll) if res is None: err = ctypes.WinError(ctypes.get_last_error()) err.strerror += f' Error loading "{dll}" or one of its dependencies.' raise err kernel32.SetErrorMode(prev_error_mode) def _preload_cuda_deps(lib_folder, lib_name): """Preloads cuda deps if they could not be found otherwise.""" # Should only be called on Linux if default path resolution have failed assert platform.system() == 'Linux', 'Should only be called on Linux' import glob lib_path = None for path in sys.path: nvidia_path = os.path.join(path, 'nvidia') if not os.path.exists(nvidia_path): continue candidate_lib_paths = glob.glob(os.path.join(nvidia_path, lib_folder, 'lib', lib_name)) if candidate_lib_paths and not lib_path: lib_path = candidate_lib_paths[0] if lib_path: break if not lib_path: raise ValueError(f"{lib_name} not found in the system path {sys.path}") ctypes.CDLL(lib_path) # See Note [Global dependencies] def _load_global_deps() -> None: if _running_with_deploy() or platform.system() == 'Windows': return lib_name = 'libtorch_global_deps' + ('.dylib' if platform.system() == 'Darwin' else '.so') here = os.path.abspath(__file__) lib_path = os.path.join(os.path.dirname(here), 'lib', lib_name) try: ctypes.CDLL(lib_path, mode=ctypes.RTLD_GLOBAL) except OSError as err: # Can only happen for wheel with cuda libs as PYPI deps # As PyTorch is not purelib, but nvidia-*-cu12 is cuda_libs: Dict[str, str] = { 'cublas': 'libcublas.so.*[0-9]', 'cudnn': 'libcudnn.so.*[0-9]', 'cuda_nvrtc': 'libnvrtc.so.*[0-9]', 'cuda_runtime': 'libcudart.so.*[0-9]', 'cuda_cupti': 'libcupti.so.*[0-9]', 'cufft': 'libcufft.so.*[0-9]', 'curand': 'libcurand.so.*[0-9]', 'cusolver': 'libcusolver.so.*[0-9]', 'cusparse': 'libcusparse.so.*[0-9]', 'nccl': 'libnccl.so.*[0-9]', 'nvtx': 'libnvToolsExt.so.*[0-9]', } is_cuda_lib_err = [lib for lib in cuda_libs.values() if(lib.split('.')[0] in err.args[0])] if not is_cuda_lib_err: raise err for lib_folder, lib_name in cuda_libs.items(): _preload_cuda_deps(lib_folder, lib_name) ctypes.CDLL(lib_path, mode=ctypes.RTLD_GLOBAL) if (USE_RTLD_GLOBAL_WITH_LIBTORCH or os.getenv('TORCH_USE_RTLD_GLOBAL')) and \ (_running_with_deploy() or platform.system() != 'Windows'): # Do it the hard way. You might want to load libtorch with RTLD_GLOBAL in a # few circumstances: # # 1. You're in a build environment (e.g., fbcode) where # libtorch_global_deps is not available, but you still need # to get mkl to link in with RTLD_GLOBAL or it will just # not work. # # 2. You're trying to run PyTorch under UBSAN and you need # to ensure that only one copy of libtorch is loaded, so # vptr checks work properly # # If you're using this setting, you must verify that all the libraries # you load consistently use the same libstdc++, or you may have # mysterious segfaults. # old_flags = sys.getdlopenflags() sys.setdlopenflags(os.RTLD_GLOBAL | os.RTLD_LAZY) from torch._C import * # noqa: F403 sys.setdlopenflags(old_flags) del old_flags else: # Easy way. You want this most of the time, because it will prevent # C++ symbols from libtorch clobbering C++ symbols from other # libraries, leading to mysterious segfaults. # # If building in an environment where libtorch_global_deps isn't available # like parts of fbsource, but where RTLD_GLOBAL causes segfaults, you will # want USE_RTLD_GLOBAL_WITH_LIBTORCH = False and USE_GLOBAL_DEPS = False # # See Note [Global dependencies] if USE_GLOBAL_DEPS: _load_global_deps() from torch._C import * # noqa: F403 # Appease the type checker; ordinarily this binding is inserted by the # torch._C module initialization code in C if TYPE_CHECKING: import torch._C as _C class SymInt: """ Like an int (including magic methods), but redirects all operations on the wrapped node. This is used in particular to symbolically record operations in the symbolic shape workflow. """ def __init__(self, node): # This field MUST be named node; C++ binding code assumes that this # class has a field named node that stores SymNode self.node = node def __bool__(self): return builtins.bool(self != 0) def __int__(self): return self.node.int_() def __index__(self): return self.node.int_() # Magic methods installed by torch.fx.experimental.symbolic_shapes def __eq__(self, other: object) -> builtins.bool: raise AssertionError("type stub not overridden") def __lt__(self, other) -> builtins.bool: raise AssertionError("type stub not overridden") def __gt__(self, other) -> builtins.bool: raise AssertionError("type stub not overridden") def __le__(self, other) -> builtins.bool: raise AssertionError("type stub not overridden") def __ge__(self, other) -> builtins.bool: raise AssertionError("type stub not overridden") def __sym_max__(self, other): raise AssertionError("type stub not overridden") def __sym_min__(self, other): raise AssertionError("type stub not overridden") def __sym_float__(self): raise AssertionError("type stub not overridden") def __repr__(self): return str(self.node) class SymFloat: """ Like an float (including magic methods), but redirects all operations on the wrapped node. This is used in particular to symbolically record operations in the symbolic shape workflow. """ def __init__(self, node): # This field MUST be named node; C++ binding code assumes that this # class has a field named node that stores SymNode self.node = node def __bool__(self): return self.node.bool_() # Magic methods installed by torch.fx.experimental.symbolic_shapes def __eq__(self, other: object) -> builtins.bool: raise AssertionError("type stub not overridden") def __lt__(self, other) -> builtins.bool: raise AssertionError("type stub not overridden") def __gt__(self, other) -> builtins.bool: raise AssertionError("type stub not overridden") def __le__(self, other) -> builtins.bool: raise AssertionError("type stub not overridden") def __ge__(self, other) -> builtins.bool: raise AssertionError("type stub not overridden") def __sym_max__(self, other): raise AssertionError("type stub not overridden") def __sym_min__(self, other): raise AssertionError("type stub not overridden") def __sym_int__(self): raise AssertionError("type stub not overridden") def __repr__(self): return self.node.str() class SymBool: """ Like an bool (including magic methods), but redirects all operations on the wrapped node. This is used in particular to symbolically record operations in the symbolic shape workflow. Unlike regular bools, regular boolean operators will force extra guards instead of symbolically evaluate. Use the bitwise operators instead to handle this. """ def __init__(self, node): # This field MUST be named node; C++ binding code assumes that this # class has a field named node that stores SymNode self.node = node def __bool__(self): return self.node.bool_() def __int__(self): return builtins.int(self.node.bool_()) # Magic methods installed by torch.fx.experimental.symbolic_shapes def __and__(self, other) -> "SymBool": raise AssertionError("type stub not overridden") def __or__(self, other) -> "SymBool": raise AssertionError("type stub not overridden") # We very carefully define __sym_not__, and not a number of other # plausible alternatives: # # - We do not override __not__ because this is not a real magic # method; you cannot override the meaning of the not builtin in # Python. We use the name 'sym_not' to clarify that in user code you # cannot use the builtin not or operator.not_ or operator.__not__ and # hit this magic method; you must use our custom sym_not operator. # # - We do not override the __invert__ method because SymBool is # meant to be usable in situations where bool is expected. However, # bitwise negation ~a does the wrong thing with booleans (because # bool is a subclass of int, so ~1 = -2 which is not falseish.) # This would be a giant footgun, so we get around it by defining # our own operator. Note that bitwise and/or do the right thing, # so we reuse the conventional operators there for readability. # def __sym_not__(self) -> "SymBool": raise AssertionError("type stub not overridden") def __repr__(self): return self.node.str() def sym_not(a): r""" SymInt-aware utility for logical negation. Args: a (SymBool or bool): Object to negate """ if hasattr(a, '__sym_not__'): return a.__sym_not__() return not a def sym_float(a): r""" SymInt-aware utility for float casting. Args: a (SymInt, SymFloat, or object): Object to cast """ if isinstance(a, SymFloat): return a elif hasattr(a, '__sym_float__'): return a.__sym_float__() return py_float(a) # type: ignore[operator] def sym_int(a): r""" SymInt-aware utility for int casting. Args: a (SymInt, SymFloat, or object): Object to cast """ if isinstance(a, SymInt): return a elif isinstance(a, SymFloat): return math.floor(a) if a >= 0 else math.ceil(a) # type: ignore[arg-type, call-overload] return py_int(a) # type: ignore[operator] def sym_max(a, b): """ SymInt-aware utility for max().""" if isinstance(a, (SymInt, SymFloat)): return a.__sym_max__(b) elif isinstance(b, (SymInt, SymFloat)): # NB: If you actually care about preserving output type exactly # if you do something like max(0, 0.0), it is NOT sound to treat # min/max as commutative return b.__sym_max__(a) return builtins.max(a, b) # type: ignore[operator] def sym_min(a, b): """ SymInt-aware utility for max().""" if isinstance(a, (SymInt, SymFloat)): return a.__sym_min__(b) elif isinstance(b, (SymInt, SymFloat)): return b.__sym_min__(a) return builtins.min(a, b) # type: ignore[operator] # Check to see if we can load C extensions, and if not provide some guidance # on what the problem might be. try: # _initExtension is chosen (arbitrarily) as a sentinel. from torch._C import _initExtension except ImportError: import torch._C as _C_for_compiled_check # The __file__ check only works for Python 3.7 and above. if _C_for_compiled_check.__file__ is None: > raise ImportError(textwrap.dedent(''' Failed to load PyTorch C extensions: It appears that PyTorch has loaded the `torch/_C` folder of the PyTorch repository rather than the C extensions which are expected in the `torch._C` namespace. This can occur when using the `install` workflow. e.g. $ python setup.py install && python -c "import torch" This error can generally be solved using the `develop` workflow $ python setup.py develop && python -c "import torch" # This should succeed or by running Python from a different directory. ''').strip()) from None E ImportError: Failed to load PyTorch C extensions: E It appears that PyTorch has loaded the `torch/_C` folder E of the PyTorch repository rather than the C extensions which E are expected in the `torch._C` namespace. This can occur when E using the `install` workflow. e.g. E $ python setup.py install && python -c "import torch" E E This error can generally be solved using the `develop` workflow E $ python setup.py develop && python -c "import torch" # This should succeed E or by running Python from a different directory. /usr/lib/python3/dist-packages/torch/__init__.py:451: ImportError _______________________ test_isdtype_spec_dtypes[torch] ________________________ library = 'torch' @pytest.mark.parametrize("library", ["cupy", "numpy", "torch"]) def test_isdtype_spec_dtypes(library): > xp = import_('array_api_compat.' + library) tests/test_isdtype.py:69: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ tests/_helpers.py:8: in import_ return import_module(library) /usr/lib/python3.12/importlib/__init__.py:90: in import_module return _bootstrap._gcd_import(name[level:], package, level) :1387: in _gcd_import ??? :1360: in _find_and_load ??? :1331: in _find_and_load_unlocked ??? :935: in _load_unlocked ??? :995: in exec_module ??? :488: in _call_with_frames_removed ??? array_api_compat/torch/__init__.py:1: in from torch import * _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ r""" The torch package contains data structures for multi-dimensional tensors and defines mathematical operations over these tensors. Additionally, it provides many utilities for efficient serialization of Tensors and arbitrary types, and other useful utilities. It has a CUDA counterpart, that enables you to run your tensor computations on an NVIDIA GPU with compute capability >= 3.0. """ import math import os import sys import platform import textwrap import ctypes import inspect # multipy/deploy is setting this import before importing torch, this is the most # reliable way we have to detect if we're running within deploy. # https://github.com/pytorch/multipy/blob/d60f34ad38c371e441fe7ffdb77a3c3dda5a5d19/multipy/runtime/interpreter/interpreter_impl.cpp#L134-L137 def _running_with_deploy(): return sys.modules.get("torch._meta_registrations", None) is object from ._utils import _import_dotted_name, classproperty from ._utils_internal import get_file_path, prepare_multiprocessing_environment, \ USE_RTLD_GLOBAL_WITH_LIBTORCH, USE_GLOBAL_DEPS # TODO(torch_deploy) figure out how to freeze version.py in fbcode build if _running_with_deploy(): __version__ = "torch-deploy-1.8" else: from .torch_version import __version__ as __version__ from typing import Any, Callable, Dict, Optional, Set, Tuple, Type, TYPE_CHECKING, Union, List import builtins __all__ = [ 'typename', 'is_tensor', 'is_storage', 'set_default_tensor_type', 'set_default_device', 'set_rng_state', 'get_rng_state', 'manual_seed', 'initial_seed', 'seed', 'save', 'load', 'set_printoptions', 'chunk', 'split', 'stack', 'matmul', 'no_grad', 'enable_grad', 'rand', 'randn', 'inference_mode', 'DoubleStorage', 'FloatStorage', 'LongStorage', 'IntStorage', 'ShortStorage', 'CharStorage', 'ByteStorage', 'BoolStorage', 'TypedStorage', 'UntypedStorage', 'DoubleTensor', 'FloatTensor', 'LongTensor', 'IntTensor', 'ShortTensor', 'CharTensor', 'ByteTensor', 'BoolTensor', 'Tensor', 'lobpcg', 'use_deterministic_algorithms', 'are_deterministic_algorithms_enabled', 'is_deterministic_algorithms_warn_only_enabled', 'set_deterministic_debug_mode', 'get_deterministic_debug_mode', 'set_float32_matmul_precision', 'get_float32_matmul_precision', 'set_warn_always', 'is_warn_always_enabled', 'SymInt', 'SymFloat', 'SymBool', 'sym_not', 'sym_int', 'sym_float', 'sym_max', 'sym_min', 'compile', 'vmap', 'export', ] ################################################################################ # Load the extension module ################################################################################ if sys.platform == 'win32': pfiles_path = os.getenv('ProgramFiles', 'C:\\Program Files') py_dll_path = os.path.join(sys.exec_prefix, 'Library', 'bin') th_dll_path = os.path.join(os.path.dirname(__file__), 'lib') # When users create a virtualenv that inherits the base environment, # we will need to add the corresponding library directory into # DLL search directories. Otherwise, it will rely on `PATH` which # is dependent on user settings. if sys.exec_prefix != sys.base_exec_prefix: base_py_dll_path = os.path.join(sys.base_exec_prefix, 'Library', 'bin') else: base_py_dll_path = '' dll_paths = list(filter(os.path.exists, [th_dll_path, py_dll_path, base_py_dll_path])) if all(not os.path.exists(os.path.join(p, 'nvToolsExt64_1.dll')) for p in dll_paths): nvtoolsext_dll_path = os.path.join( os.getenv('NVTOOLSEXT_PATH', os.path.join(pfiles_path, 'NVIDIA Corporation', 'NvToolsExt')), 'bin', 'x64') else: nvtoolsext_dll_path = '' from .version import cuda as cuda_version import glob if cuda_version and all(not glob.glob(os.path.join(p, 'cudart64*.dll')) for p in dll_paths): cuda_version_1 = cuda_version.replace('.', '_') cuda_path_var = 'CUDA_PATH_V' + cuda_version_1 default_path = os.path.join(pfiles_path, 'NVIDIA GPU Computing Toolkit', 'CUDA', 'v' + cuda_version) cuda_path = os.path.join(os.getenv(cuda_path_var, default_path), 'bin') else: cuda_path = '' dll_paths.extend(filter(os.path.exists, [nvtoolsext_dll_path, cuda_path])) kernel32 = ctypes.WinDLL('kernel32.dll', use_last_error=True) with_load_library_flags = hasattr(kernel32, 'AddDllDirectory') prev_error_mode = kernel32.SetErrorMode(0x0001) kernel32.LoadLibraryW.restype = ctypes.c_void_p if with_load_library_flags: kernel32.LoadLibraryExW.restype = ctypes.c_void_p for dll_path in dll_paths: os.add_dll_directory(dll_path) try: ctypes.CDLL('vcruntime140.dll') ctypes.CDLL('msvcp140.dll') ctypes.CDLL('vcruntime140_1.dll') except OSError: print('''Microsoft Visual C++ Redistributable is not installed, this may lead to the DLL load failure. It can be downloaded at https://aka.ms/vs/16/release/vc_redist.x64.exe''') dlls = glob.glob(os.path.join(th_dll_path, '*.dll')) path_patched = False for dll in dlls: is_loaded = False if with_load_library_flags: res = kernel32.LoadLibraryExW(dll, None, 0x00001100) last_error = ctypes.get_last_error() if res is None and last_error != 126: err = ctypes.WinError(last_error) err.strerror += f' Error loading "{dll}" or one of its dependencies.' raise err elif res is not None: is_loaded = True if not is_loaded: if not path_patched: os.environ['PATH'] = ';'.join(dll_paths + [os.environ['PATH']]) path_patched = True res = kernel32.LoadLibraryW(dll) if res is None: err = ctypes.WinError(ctypes.get_last_error()) err.strerror += f' Error loading "{dll}" or one of its dependencies.' raise err kernel32.SetErrorMode(prev_error_mode) def _preload_cuda_deps(lib_folder, lib_name): """Preloads cuda deps if they could not be found otherwise.""" # Should only be called on Linux if default path resolution have failed assert platform.system() == 'Linux', 'Should only be called on Linux' import glob lib_path = None for path in sys.path: nvidia_path = os.path.join(path, 'nvidia') if not os.path.exists(nvidia_path): continue candidate_lib_paths = glob.glob(os.path.join(nvidia_path, lib_folder, 'lib', lib_name)) if candidate_lib_paths and not lib_path: lib_path = candidate_lib_paths[0] if lib_path: break if not lib_path: raise ValueError(f"{lib_name} not found in the system path {sys.path}") ctypes.CDLL(lib_path) # See Note [Global dependencies] def _load_global_deps() -> None: if _running_with_deploy() or platform.system() == 'Windows': return lib_name = 'libtorch_global_deps' + ('.dylib' if platform.system() == 'Darwin' else '.so') here = os.path.abspath(__file__) lib_path = os.path.join(os.path.dirname(here), 'lib', lib_name) try: ctypes.CDLL(lib_path, mode=ctypes.RTLD_GLOBAL) except OSError as err: # Can only happen for wheel with cuda libs as PYPI deps # As PyTorch is not purelib, but nvidia-*-cu12 is cuda_libs: Dict[str, str] = { 'cublas': 'libcublas.so.*[0-9]', 'cudnn': 'libcudnn.so.*[0-9]', 'cuda_nvrtc': 'libnvrtc.so.*[0-9]', 'cuda_runtime': 'libcudart.so.*[0-9]', 'cuda_cupti': 'libcupti.so.*[0-9]', 'cufft': 'libcufft.so.*[0-9]', 'curand': 'libcurand.so.*[0-9]', 'cusolver': 'libcusolver.so.*[0-9]', 'cusparse': 'libcusparse.so.*[0-9]', 'nccl': 'libnccl.so.*[0-9]', 'nvtx': 'libnvToolsExt.so.*[0-9]', } is_cuda_lib_err = [lib for lib in cuda_libs.values() if(lib.split('.')[0] in err.args[0])] if not is_cuda_lib_err: raise err for lib_folder, lib_name in cuda_libs.items(): _preload_cuda_deps(lib_folder, lib_name) ctypes.CDLL(lib_path, mode=ctypes.RTLD_GLOBAL) if (USE_RTLD_GLOBAL_WITH_LIBTORCH or os.getenv('TORCH_USE_RTLD_GLOBAL')) and \ (_running_with_deploy() or platform.system() != 'Windows'): # Do it the hard way. You might want to load libtorch with RTLD_GLOBAL in a # few circumstances: # # 1. You're in a build environment (e.g., fbcode) where # libtorch_global_deps is not available, but you still need # to get mkl to link in with RTLD_GLOBAL or it will just # not work. # # 2. You're trying to run PyTorch under UBSAN and you need # to ensure that only one copy of libtorch is loaded, so # vptr checks work properly # # If you're using this setting, you must verify that all the libraries # you load consistently use the same libstdc++, or you may have # mysterious segfaults. # old_flags = sys.getdlopenflags() sys.setdlopenflags(os.RTLD_GLOBAL | os.RTLD_LAZY) from torch._C import * # noqa: F403 sys.setdlopenflags(old_flags) del old_flags else: # Easy way. You want this most of the time, because it will prevent # C++ symbols from libtorch clobbering C++ symbols from other # libraries, leading to mysterious segfaults. # # If building in an environment where libtorch_global_deps isn't available # like parts of fbsource, but where RTLD_GLOBAL causes segfaults, you will # want USE_RTLD_GLOBAL_WITH_LIBTORCH = False and USE_GLOBAL_DEPS = False # # See Note [Global dependencies] if USE_GLOBAL_DEPS: _load_global_deps() from torch._C import * # noqa: F403 # Appease the type checker; ordinarily this binding is inserted by the # torch._C module initialization code in C if TYPE_CHECKING: import torch._C as _C class SymInt: """ Like an int (including magic methods), but redirects all operations on the wrapped node. This is used in particular to symbolically record operations in the symbolic shape workflow. """ def __init__(self, node): # This field MUST be named node; C++ binding code assumes that this # class has a field named node that stores SymNode self.node = node def __bool__(self): return builtins.bool(self != 0) def __int__(self): return self.node.int_() def __index__(self): return self.node.int_() # Magic methods installed by torch.fx.experimental.symbolic_shapes def __eq__(self, other: object) -> builtins.bool: raise AssertionError("type stub not overridden") def __lt__(self, other) -> builtins.bool: raise AssertionError("type stub not overridden") def __gt__(self, other) -> builtins.bool: raise AssertionError("type stub not overridden") def __le__(self, other) -> builtins.bool: raise AssertionError("type stub not overridden") def __ge__(self, other) -> builtins.bool: raise AssertionError("type stub not overridden") def __sym_max__(self, other): raise AssertionError("type stub not overridden") def __sym_min__(self, other): raise AssertionError("type stub not overridden") def __sym_float__(self): raise AssertionError("type stub not overridden") def __repr__(self): return str(self.node) class SymFloat: """ Like an float (including magic methods), but redirects all operations on the wrapped node. This is used in particular to symbolically record operations in the symbolic shape workflow. """ def __init__(self, node): # This field MUST be named node; C++ binding code assumes that this # class has a field named node that stores SymNode self.node = node def __bool__(self): return self.node.bool_() # Magic methods installed by torch.fx.experimental.symbolic_shapes def __eq__(self, other: object) -> builtins.bool: raise AssertionError("type stub not overridden") def __lt__(self, other) -> builtins.bool: raise AssertionError("type stub not overridden") def __gt__(self, other) -> builtins.bool: raise AssertionError("type stub not overridden") def __le__(self, other) -> builtins.bool: raise AssertionError("type stub not overridden") def __ge__(self, other) -> builtins.bool: raise AssertionError("type stub not overridden") def __sym_max__(self, other): raise AssertionError("type stub not overridden") def __sym_min__(self, other): raise AssertionError("type stub not overridden") def __sym_int__(self): raise AssertionError("type stub not overridden") def __repr__(self): return self.node.str() class SymBool: """ Like an bool (including magic methods), but redirects all operations on the wrapped node. This is used in particular to symbolically record operations in the symbolic shape workflow. Unlike regular bools, regular boolean operators will force extra guards instead of symbolically evaluate. Use the bitwise operators instead to handle this. """ def __init__(self, node): # This field MUST be named node; C++ binding code assumes that this # class has a field named node that stores SymNode self.node = node def __bool__(self): return self.node.bool_() def __int__(self): return builtins.int(self.node.bool_()) # Magic methods installed by torch.fx.experimental.symbolic_shapes def __and__(self, other) -> "SymBool": raise AssertionError("type stub not overridden") def __or__(self, other) -> "SymBool": raise AssertionError("type stub not overridden") # We very carefully define __sym_not__, and not a number of other # plausible alternatives: # # - We do not override __not__ because this is not a real magic # method; you cannot override the meaning of the not builtin in # Python. We use the name 'sym_not' to clarify that in user code you # cannot use the builtin not or operator.not_ or operator.__not__ and # hit this magic method; you must use our custom sym_not operator. # # - We do not override the __invert__ method because SymBool is # meant to be usable in situations where bool is expected. However, # bitwise negation ~a does the wrong thing with booleans (because # bool is a subclass of int, so ~1 = -2 which is not falseish.) # This would be a giant footgun, so we get around it by defining # our own operator. Note that bitwise and/or do the right thing, # so we reuse the conventional operators there for readability. # def __sym_not__(self) -> "SymBool": raise AssertionError("type stub not overridden") def __repr__(self): return self.node.str() def sym_not(a): r""" SymInt-aware utility for logical negation. Args: a (SymBool or bool): Object to negate """ if hasattr(a, '__sym_not__'): return a.__sym_not__() return not a def sym_float(a): r""" SymInt-aware utility for float casting. Args: a (SymInt, SymFloat, or object): Object to cast """ if isinstance(a, SymFloat): return a elif hasattr(a, '__sym_float__'): return a.__sym_float__() return py_float(a) # type: ignore[operator] def sym_int(a): r""" SymInt-aware utility for int casting. Args: a (SymInt, SymFloat, or object): Object to cast """ if isinstance(a, SymInt): return a elif isinstance(a, SymFloat): return math.floor(a) if a >= 0 else math.ceil(a) # type: ignore[arg-type, call-overload] return py_int(a) # type: ignore[operator] def sym_max(a, b): """ SymInt-aware utility for max().""" if isinstance(a, (SymInt, SymFloat)): return a.__sym_max__(b) elif isinstance(b, (SymInt, SymFloat)): # NB: If you actually care about preserving output type exactly # if you do something like max(0, 0.0), it is NOT sound to treat # min/max as commutative return b.__sym_max__(a) return builtins.max(a, b) # type: ignore[operator] def sym_min(a, b): """ SymInt-aware utility for max().""" if isinstance(a, (SymInt, SymFloat)): return a.__sym_min__(b) elif isinstance(b, (SymInt, SymFloat)): return b.__sym_min__(a) return builtins.min(a, b) # type: ignore[operator] # Check to see if we can load C extensions, and if not provide some guidance # on what the problem might be. try: # _initExtension is chosen (arbitrarily) as a sentinel. from torch._C import _initExtension except ImportError: import torch._C as _C_for_compiled_check # The __file__ check only works for Python 3.7 and above. if _C_for_compiled_check.__file__ is None: > raise ImportError(textwrap.dedent(''' Failed to load PyTorch C extensions: It appears that PyTorch has loaded the `torch/_C` folder of the PyTorch repository rather than the C extensions which are expected in the `torch._C` namespace. This can occur when using the `install` workflow. e.g. $ python setup.py install && python -c "import torch" This error can generally be solved using the `develop` workflow $ python setup.py develop && python -c "import torch" # This should succeed or by running Python from a different directory. ''').strip()) from None E ImportError: Failed to load PyTorch C extensions: E It appears that PyTorch has loaded the `torch/_C` folder E of the PyTorch repository rather than the C extensions which E are expected in the `torch._C` namespace. This can occur when E using the `install` workflow. e.g. E $ python setup.py install && python -c "import torch" E E This error can generally be solved using the `develop` workflow E $ python setup.py develop && python -c "import torch" # This should succeed E or by running Python from a different directory. /usr/lib/python3/dist-packages/torch/__init__.py:451: ImportError ________________ test_isdtype_additional_dtypes[float16-torch] _________________ library = 'torch', dtype_ = 'float16' @pytest.mark.parametrize("library", ["cupy", "numpy", "torch"]) @pytest.mark.parametrize("dtype_", additional_dtypes) def test_isdtype_additional_dtypes(library, dtype_): > xp = import_('array_api_compat.' + library) tests/test_isdtype.py:104: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ tests/_helpers.py:8: in import_ return import_module(library) /usr/lib/python3.12/importlib/__init__.py:90: in import_module return _bootstrap._gcd_import(name[level:], package, level) :1387: in _gcd_import ??? :1360: in _find_and_load ??? :1331: in _find_and_load_unlocked ??? :935: in _load_unlocked ??? :995: in exec_module ??? :488: in _call_with_frames_removed ??? array_api_compat/torch/__init__.py:1: in from torch import * _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ r""" The torch package contains data structures for multi-dimensional tensors and defines mathematical operations over these tensors. Additionally, it provides many utilities for efficient serialization of Tensors and arbitrary types, and other useful utilities. It has a CUDA counterpart, that enables you to run your tensor computations on an NVIDIA GPU with compute capability >= 3.0. """ import math import os import sys import platform import textwrap import ctypes import inspect # multipy/deploy is setting this import before importing torch, this is the most # reliable way we have to detect if we're running within deploy. # https://github.com/pytorch/multipy/blob/d60f34ad38c371e441fe7ffdb77a3c3dda5a5d19/multipy/runtime/interpreter/interpreter_impl.cpp#L134-L137 def _running_with_deploy(): return sys.modules.get("torch._meta_registrations", None) is object from ._utils import _import_dotted_name, classproperty from ._utils_internal import get_file_path, prepare_multiprocessing_environment, \ USE_RTLD_GLOBAL_WITH_LIBTORCH, USE_GLOBAL_DEPS # TODO(torch_deploy) figure out how to freeze version.py in fbcode build if _running_with_deploy(): __version__ = "torch-deploy-1.8" else: from .torch_version import __version__ as __version__ from typing import Any, Callable, Dict, Optional, Set, Tuple, Type, TYPE_CHECKING, Union, List import builtins __all__ = [ 'typename', 'is_tensor', 'is_storage', 'set_default_tensor_type', 'set_default_device', 'set_rng_state', 'get_rng_state', 'manual_seed', 'initial_seed', 'seed', 'save', 'load', 'set_printoptions', 'chunk', 'split', 'stack', 'matmul', 'no_grad', 'enable_grad', 'rand', 'randn', 'inference_mode', 'DoubleStorage', 'FloatStorage', 'LongStorage', 'IntStorage', 'ShortStorage', 'CharStorage', 'ByteStorage', 'BoolStorage', 'TypedStorage', 'UntypedStorage', 'DoubleTensor', 'FloatTensor', 'LongTensor', 'IntTensor', 'ShortTensor', 'CharTensor', 'ByteTensor', 'BoolTensor', 'Tensor', 'lobpcg', 'use_deterministic_algorithms', 'are_deterministic_algorithms_enabled', 'is_deterministic_algorithms_warn_only_enabled', 'set_deterministic_debug_mode', 'get_deterministic_debug_mode', 'set_float32_matmul_precision', 'get_float32_matmul_precision', 'set_warn_always', 'is_warn_always_enabled', 'SymInt', 'SymFloat', 'SymBool', 'sym_not', 'sym_int', 'sym_float', 'sym_max', 'sym_min', 'compile', 'vmap', 'export', ] ################################################################################ # Load the extension module ################################################################################ if sys.platform == 'win32': pfiles_path = os.getenv('ProgramFiles', 'C:\\Program Files') py_dll_path = os.path.join(sys.exec_prefix, 'Library', 'bin') th_dll_path = os.path.join(os.path.dirname(__file__), 'lib') # When users create a virtualenv that inherits the base environment, # we will need to add the corresponding library directory into # DLL search directories. Otherwise, it will rely on `PATH` which # is dependent on user settings. if sys.exec_prefix != sys.base_exec_prefix: base_py_dll_path = os.path.join(sys.base_exec_prefix, 'Library', 'bin') else: base_py_dll_path = '' dll_paths = list(filter(os.path.exists, [th_dll_path, py_dll_path, base_py_dll_path])) if all(not os.path.exists(os.path.join(p, 'nvToolsExt64_1.dll')) for p in dll_paths): nvtoolsext_dll_path = os.path.join( os.getenv('NVTOOLSEXT_PATH', os.path.join(pfiles_path, 'NVIDIA Corporation', 'NvToolsExt')), 'bin', 'x64') else: nvtoolsext_dll_path = '' from .version import cuda as cuda_version import glob if cuda_version and all(not glob.glob(os.path.join(p, 'cudart64*.dll')) for p in dll_paths): cuda_version_1 = cuda_version.replace('.', '_') cuda_path_var = 'CUDA_PATH_V' + cuda_version_1 default_path = os.path.join(pfiles_path, 'NVIDIA GPU Computing Toolkit', 'CUDA', 'v' + cuda_version) cuda_path = os.path.join(os.getenv(cuda_path_var, default_path), 'bin') else: cuda_path = '' dll_paths.extend(filter(os.path.exists, [nvtoolsext_dll_path, cuda_path])) kernel32 = ctypes.WinDLL('kernel32.dll', use_last_error=True) with_load_library_flags = hasattr(kernel32, 'AddDllDirectory') prev_error_mode = kernel32.SetErrorMode(0x0001) kernel32.LoadLibraryW.restype = ctypes.c_void_p if with_load_library_flags: kernel32.LoadLibraryExW.restype = ctypes.c_void_p for dll_path in dll_paths: os.add_dll_directory(dll_path) try: ctypes.CDLL('vcruntime140.dll') ctypes.CDLL('msvcp140.dll') ctypes.CDLL('vcruntime140_1.dll') except OSError: print('''Microsoft Visual C++ Redistributable is not installed, this may lead to the DLL load failure. It can be downloaded at https://aka.ms/vs/16/release/vc_redist.x64.exe''') dlls = glob.glob(os.path.join(th_dll_path, '*.dll')) path_patched = False for dll in dlls: is_loaded = False if with_load_library_flags: res = kernel32.LoadLibraryExW(dll, None, 0x00001100) last_error = ctypes.get_last_error() if res is None and last_error != 126: err = ctypes.WinError(last_error) err.strerror += f' Error loading "{dll}" or one of its dependencies.' raise err elif res is not None: is_loaded = True if not is_loaded: if not path_patched: os.environ['PATH'] = ';'.join(dll_paths + [os.environ['PATH']]) path_patched = True res = kernel32.LoadLibraryW(dll) if res is None: err = ctypes.WinError(ctypes.get_last_error()) err.strerror += f' Error loading "{dll}" or one of its dependencies.' raise err kernel32.SetErrorMode(prev_error_mode) def _preload_cuda_deps(lib_folder, lib_name): """Preloads cuda deps if they could not be found otherwise.""" # Should only be called on Linux if default path resolution have failed assert platform.system() == 'Linux', 'Should only be called on Linux' import glob lib_path = None for path in sys.path: nvidia_path = os.path.join(path, 'nvidia') if not os.path.exists(nvidia_path): continue candidate_lib_paths = glob.glob(os.path.join(nvidia_path, lib_folder, 'lib', lib_name)) if candidate_lib_paths and not lib_path: lib_path = candidate_lib_paths[0] if lib_path: break if not lib_path: raise ValueError(f"{lib_name} not found in the system path {sys.path}") ctypes.CDLL(lib_path) # See Note [Global dependencies] def _load_global_deps() -> None: if _running_with_deploy() or platform.system() == 'Windows': return lib_name = 'libtorch_global_deps' + ('.dylib' if platform.system() == 'Darwin' else '.so') here = os.path.abspath(__file__) lib_path = os.path.join(os.path.dirname(here), 'lib', lib_name) try: ctypes.CDLL(lib_path, mode=ctypes.RTLD_GLOBAL) except OSError as err: # Can only happen for wheel with cuda libs as PYPI deps # As PyTorch is not purelib, but nvidia-*-cu12 is cuda_libs: Dict[str, str] = { 'cublas': 'libcublas.so.*[0-9]', 'cudnn': 'libcudnn.so.*[0-9]', 'cuda_nvrtc': 'libnvrtc.so.*[0-9]', 'cuda_runtime': 'libcudart.so.*[0-9]', 'cuda_cupti': 'libcupti.so.*[0-9]', 'cufft': 'libcufft.so.*[0-9]', 'curand': 'libcurand.so.*[0-9]', 'cusolver': 'libcusolver.so.*[0-9]', 'cusparse': 'libcusparse.so.*[0-9]', 'nccl': 'libnccl.so.*[0-9]', 'nvtx': 'libnvToolsExt.so.*[0-9]', } is_cuda_lib_err = [lib for lib in cuda_libs.values() if(lib.split('.')[0] in err.args[0])] if not is_cuda_lib_err: raise err for lib_folder, lib_name in cuda_libs.items(): _preload_cuda_deps(lib_folder, lib_name) ctypes.CDLL(lib_path, mode=ctypes.RTLD_GLOBAL) if (USE_RTLD_GLOBAL_WITH_LIBTORCH or os.getenv('TORCH_USE_RTLD_GLOBAL')) and \ (_running_with_deploy() or platform.system() != 'Windows'): # Do it the hard way. You might want to load libtorch with RTLD_GLOBAL in a # few circumstances: # # 1. You're in a build environment (e.g., fbcode) where # libtorch_global_deps is not available, but you still need # to get mkl to link in with RTLD_GLOBAL or it will just # not work. # # 2. You're trying to run PyTorch under UBSAN and you need # to ensure that only one copy of libtorch is loaded, so # vptr checks work properly # # If you're using this setting, you must verify that all the libraries # you load consistently use the same libstdc++, or you may have # mysterious segfaults. # old_flags = sys.getdlopenflags() sys.setdlopenflags(os.RTLD_GLOBAL | os.RTLD_LAZY) from torch._C import * # noqa: F403 sys.setdlopenflags(old_flags) del old_flags else: # Easy way. You want this most of the time, because it will prevent # C++ symbols from libtorch clobbering C++ symbols from other # libraries, leading to mysterious segfaults. # # If building in an environment where libtorch_global_deps isn't available # like parts of fbsource, but where RTLD_GLOBAL causes segfaults, you will # want USE_RTLD_GLOBAL_WITH_LIBTORCH = False and USE_GLOBAL_DEPS = False # # See Note [Global dependencies] if USE_GLOBAL_DEPS: _load_global_deps() from torch._C import * # noqa: F403 # Appease the type checker; ordinarily this binding is inserted by the # torch._C module initialization code in C if TYPE_CHECKING: import torch._C as _C class SymInt: """ Like an int (including magic methods), but redirects all operations on the wrapped node. This is used in particular to symbolically record operations in the symbolic shape workflow. """ def __init__(self, node): # This field MUST be named node; C++ binding code assumes that this # class has a field named node that stores SymNode self.node = node def __bool__(self): return builtins.bool(self != 0) def __int__(self): return self.node.int_() def __index__(self): return self.node.int_() # Magic methods installed by torch.fx.experimental.symbolic_shapes def __eq__(self, other: object) -> builtins.bool: raise AssertionError("type stub not overridden") def __lt__(self, other) -> builtins.bool: raise AssertionError("type stub not overridden") def __gt__(self, other) -> builtins.bool: raise AssertionError("type stub not overridden") def __le__(self, other) -> builtins.bool: raise AssertionError("type stub not overridden") def __ge__(self, other) -> builtins.bool: raise AssertionError("type stub not overridden") def __sym_max__(self, other): raise AssertionError("type stub not overridden") def __sym_min__(self, other): raise AssertionError("type stub not overridden") def __sym_float__(self): raise AssertionError("type stub not overridden") def __repr__(self): return str(self.node) class SymFloat: """ Like an float (including magic methods), but redirects all operations on the wrapped node. This is used in particular to symbolically record operations in the symbolic shape workflow. """ def __init__(self, node): # This field MUST be named node; C++ binding code assumes that this # class has a field named node that stores SymNode self.node = node def __bool__(self): return self.node.bool_() # Magic methods installed by torch.fx.experimental.symbolic_shapes def __eq__(self, other: object) -> builtins.bool: raise AssertionError("type stub not overridden") def __lt__(self, other) -> builtins.bool: raise AssertionError("type stub not overridden") def __gt__(self, other) -> builtins.bool: raise AssertionError("type stub not overridden") def __le__(self, other) -> builtins.bool: raise AssertionError("type stub not overridden") def __ge__(self, other) -> builtins.bool: raise AssertionError("type stub not overridden") def __sym_max__(self, other): raise AssertionError("type stub not overridden") def __sym_min__(self, other): raise AssertionError("type stub not overridden") def __sym_int__(self): raise AssertionError("type stub not overridden") def __repr__(self): return self.node.str() class SymBool: """ Like an bool (including magic methods), but redirects all operations on the wrapped node. This is used in particular to symbolically record operations in the symbolic shape workflow. Unlike regular bools, regular boolean operators will force extra guards instead of symbolically evaluate. Use the bitwise operators instead to handle this. """ def __init__(self, node): # This field MUST be named node; C++ binding code assumes that this # class has a field named node that stores SymNode self.node = node def __bool__(self): return self.node.bool_() def __int__(self): return builtins.int(self.node.bool_()) # Magic methods installed by torch.fx.experimental.symbolic_shapes def __and__(self, other) -> "SymBool": raise AssertionError("type stub not overridden") def __or__(self, other) -> "SymBool": raise AssertionError("type stub not overridden") # We very carefully define __sym_not__, and not a number of other # plausible alternatives: # # - We do not override __not__ because this is not a real magic # method; you cannot override the meaning of the not builtin in # Python. We use the name 'sym_not' to clarify that in user code you # cannot use the builtin not or operator.not_ or operator.__not__ and # hit this magic method; you must use our custom sym_not operator. # # - We do not override the __invert__ method because SymBool is # meant to be usable in situations where bool is expected. However, # bitwise negation ~a does the wrong thing with booleans (because # bool is a subclass of int, so ~1 = -2 which is not falseish.) # This would be a giant footgun, so we get around it by defining # our own operator. Note that bitwise and/or do the right thing, # so we reuse the conventional operators there for readability. # def __sym_not__(self) -> "SymBool": raise AssertionError("type stub not overridden") def __repr__(self): return self.node.str() def sym_not(a): r""" SymInt-aware utility for logical negation. Args: a (SymBool or bool): Object to negate """ if hasattr(a, '__sym_not__'): return a.__sym_not__() return not a def sym_float(a): r""" SymInt-aware utility for float casting. Args: a (SymInt, SymFloat, or object): Object to cast """ if isinstance(a, SymFloat): return a elif hasattr(a, '__sym_float__'): return a.__sym_float__() return py_float(a) # type: ignore[operator] def sym_int(a): r""" SymInt-aware utility for int casting. Args: a (SymInt, SymFloat, or object): Object to cast """ if isinstance(a, SymInt): return a elif isinstance(a, SymFloat): return math.floor(a) if a >= 0 else math.ceil(a) # type: ignore[arg-type, call-overload] return py_int(a) # type: ignore[operator] def sym_max(a, b): """ SymInt-aware utility for max().""" if isinstance(a, (SymInt, SymFloat)): return a.__sym_max__(b) elif isinstance(b, (SymInt, SymFloat)): # NB: If you actually care about preserving output type exactly # if you do something like max(0, 0.0), it is NOT sound to treat # min/max as commutative return b.__sym_max__(a) return builtins.max(a, b) # type: ignore[operator] def sym_min(a, b): """ SymInt-aware utility for max().""" if isinstance(a, (SymInt, SymFloat)): return a.__sym_min__(b) elif isinstance(b, (SymInt, SymFloat)): return b.__sym_min__(a) return builtins.min(a, b) # type: ignore[operator] # Check to see if we can load C extensions, and if not provide some guidance # on what the problem might be. try: # _initExtension is chosen (arbitrarily) as a sentinel. from torch._C import _initExtension except ImportError: import torch._C as _C_for_compiled_check # The __file__ check only works for Python 3.7 and above. if _C_for_compiled_check.__file__ is None: > raise ImportError(textwrap.dedent(''' Failed to load PyTorch C extensions: It appears that PyTorch has loaded the `torch/_C` folder of the PyTorch repository rather than the C extensions which are expected in the `torch._C` namespace. This can occur when using the `install` workflow. e.g. $ python setup.py install && python -c "import torch" This error can generally be solved using the `develop` workflow $ python setup.py develop && python -c "import torch" # This should succeed or by running Python from a different directory. ''').strip()) from None E ImportError: Failed to load PyTorch C extensions: E It appears that PyTorch has loaded the `torch/_C` folder E of the PyTorch repository rather than the C extensions which E are expected in the `torch._C` namespace. This can occur when E using the `install` workflow. e.g. E $ python setup.py install && python -c "import torch" E E This error can generally be solved using the `develop` workflow E $ python setup.py develop && python -c "import torch" # This should succeed E or by running Python from a different directory. /usr/lib/python3/dist-packages/torch/__init__.py:451: ImportError ________________ test_isdtype_additional_dtypes[float128-torch] ________________ library = 'torch', dtype_ = 'float128' @pytest.mark.parametrize("library", ["cupy", "numpy", "torch"]) @pytest.mark.parametrize("dtype_", additional_dtypes) def test_isdtype_additional_dtypes(library, dtype_): > xp = import_('array_api_compat.' + library) tests/test_isdtype.py:104: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ tests/_helpers.py:8: in import_ return import_module(library) /usr/lib/python3.12/importlib/__init__.py:90: in import_module return _bootstrap._gcd_import(name[level:], package, level) :1387: in _gcd_import ??? :1360: in _find_and_load ??? :1331: in _find_and_load_unlocked ??? :935: in _load_unlocked ??? :995: in exec_module ??? :488: in _call_with_frames_removed ??? array_api_compat/torch/__init__.py:1: in from torch import * _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ r""" The torch package contains data structures for multi-dimensional tensors and defines mathematical operations over these tensors. Additionally, it provides many utilities for efficient serialization of Tensors and arbitrary types, and other useful utilities. It has a CUDA counterpart, that enables you to run your tensor computations on an NVIDIA GPU with compute capability >= 3.0. """ import math import os import sys import platform import textwrap import ctypes import inspect # multipy/deploy is setting this import before importing torch, this is the most # reliable way we have to detect if we're running within deploy. # https://github.com/pytorch/multipy/blob/d60f34ad38c371e441fe7ffdb77a3c3dda5a5d19/multipy/runtime/interpreter/interpreter_impl.cpp#L134-L137 def _running_with_deploy(): return sys.modules.get("torch._meta_registrations", None) is object from ._utils import _import_dotted_name, classproperty from ._utils_internal import get_file_path, prepare_multiprocessing_environment, \ USE_RTLD_GLOBAL_WITH_LIBTORCH, USE_GLOBAL_DEPS # TODO(torch_deploy) figure out how to freeze version.py in fbcode build if _running_with_deploy(): __version__ = "torch-deploy-1.8" else: from .torch_version import __version__ as __version__ from typing import Any, Callable, Dict, Optional, Set, Tuple, Type, TYPE_CHECKING, Union, List import builtins __all__ = [ 'typename', 'is_tensor', 'is_storage', 'set_default_tensor_type', 'set_default_device', 'set_rng_state', 'get_rng_state', 'manual_seed', 'initial_seed', 'seed', 'save', 'load', 'set_printoptions', 'chunk', 'split', 'stack', 'matmul', 'no_grad', 'enable_grad', 'rand', 'randn', 'inference_mode', 'DoubleStorage', 'FloatStorage', 'LongStorage', 'IntStorage', 'ShortStorage', 'CharStorage', 'ByteStorage', 'BoolStorage', 'TypedStorage', 'UntypedStorage', 'DoubleTensor', 'FloatTensor', 'LongTensor', 'IntTensor', 'ShortTensor', 'CharTensor', 'ByteTensor', 'BoolTensor', 'Tensor', 'lobpcg', 'use_deterministic_algorithms', 'are_deterministic_algorithms_enabled', 'is_deterministic_algorithms_warn_only_enabled', 'set_deterministic_debug_mode', 'get_deterministic_debug_mode', 'set_float32_matmul_precision', 'get_float32_matmul_precision', 'set_warn_always', 'is_warn_always_enabled', 'SymInt', 'SymFloat', 'SymBool', 'sym_not', 'sym_int', 'sym_float', 'sym_max', 'sym_min', 'compile', 'vmap', 'export', ] ################################################################################ # Load the extension module ################################################################################ if sys.platform == 'win32': pfiles_path = os.getenv('ProgramFiles', 'C:\\Program Files') py_dll_path = os.path.join(sys.exec_prefix, 'Library', 'bin') th_dll_path = os.path.join(os.path.dirname(__file__), 'lib') # When users create a virtualenv that inherits the base environment, # we will need to add the corresponding library directory into # DLL search directories. Otherwise, it will rely on `PATH` which # is dependent on user settings. if sys.exec_prefix != sys.base_exec_prefix: base_py_dll_path = os.path.join(sys.base_exec_prefix, 'Library', 'bin') else: base_py_dll_path = '' dll_paths = list(filter(os.path.exists, [th_dll_path, py_dll_path, base_py_dll_path])) if all(not os.path.exists(os.path.join(p, 'nvToolsExt64_1.dll')) for p in dll_paths): nvtoolsext_dll_path = os.path.join( os.getenv('NVTOOLSEXT_PATH', os.path.join(pfiles_path, 'NVIDIA Corporation', 'NvToolsExt')), 'bin', 'x64') else: nvtoolsext_dll_path = '' from .version import cuda as cuda_version import glob if cuda_version and all(not glob.glob(os.path.join(p, 'cudart64*.dll')) for p in dll_paths): cuda_version_1 = cuda_version.replace('.', '_') cuda_path_var = 'CUDA_PATH_V' + cuda_version_1 default_path = os.path.join(pfiles_path, 'NVIDIA GPU Computing Toolkit', 'CUDA', 'v' + cuda_version) cuda_path = os.path.join(os.getenv(cuda_path_var, default_path), 'bin') else: cuda_path = '' dll_paths.extend(filter(os.path.exists, [nvtoolsext_dll_path, cuda_path])) kernel32 = ctypes.WinDLL('kernel32.dll', use_last_error=True) with_load_library_flags = hasattr(kernel32, 'AddDllDirectory') prev_error_mode = kernel32.SetErrorMode(0x0001) kernel32.LoadLibraryW.restype = ctypes.c_void_p if with_load_library_flags: kernel32.LoadLibraryExW.restype = ctypes.c_void_p for dll_path in dll_paths: os.add_dll_directory(dll_path) try: ctypes.CDLL('vcruntime140.dll') ctypes.CDLL('msvcp140.dll') ctypes.CDLL('vcruntime140_1.dll') except OSError: print('''Microsoft Visual C++ Redistributable is not installed, this may lead to the DLL load failure. It can be downloaded at https://aka.ms/vs/16/release/vc_redist.x64.exe''') dlls = glob.glob(os.path.join(th_dll_path, '*.dll')) path_patched = False for dll in dlls: is_loaded = False if with_load_library_flags: res = kernel32.LoadLibraryExW(dll, None, 0x00001100) last_error = ctypes.get_last_error() if res is None and last_error != 126: err = ctypes.WinError(last_error) err.strerror += f' Error loading "{dll}" or one of its dependencies.' raise err elif res is not None: is_loaded = True if not is_loaded: if not path_patched: os.environ['PATH'] = ';'.join(dll_paths + [os.environ['PATH']]) path_patched = True res = kernel32.LoadLibraryW(dll) if res is None: err = ctypes.WinError(ctypes.get_last_error()) err.strerror += f' Error loading "{dll}" or one of its dependencies.' raise err kernel32.SetErrorMode(prev_error_mode) def _preload_cuda_deps(lib_folder, lib_name): """Preloads cuda deps if they could not be found otherwise.""" # Should only be called on Linux if default path resolution have failed assert platform.system() == 'Linux', 'Should only be called on Linux' import glob lib_path = None for path in sys.path: nvidia_path = os.path.join(path, 'nvidia') if not os.path.exists(nvidia_path): continue candidate_lib_paths = glob.glob(os.path.join(nvidia_path, lib_folder, 'lib', lib_name)) if candidate_lib_paths and not lib_path: lib_path = candidate_lib_paths[0] if lib_path: break if not lib_path: raise ValueError(f"{lib_name} not found in the system path {sys.path}") ctypes.CDLL(lib_path) # See Note [Global dependencies] def _load_global_deps() -> None: if _running_with_deploy() or platform.system() == 'Windows': return lib_name = 'libtorch_global_deps' + ('.dylib' if platform.system() == 'Darwin' else '.so') here = os.path.abspath(__file__) lib_path = os.path.join(os.path.dirname(here), 'lib', lib_name) try: ctypes.CDLL(lib_path, mode=ctypes.RTLD_GLOBAL) except OSError as err: # Can only happen for wheel with cuda libs as PYPI deps # As PyTorch is not purelib, but nvidia-*-cu12 is cuda_libs: Dict[str, str] = { 'cublas': 'libcublas.so.*[0-9]', 'cudnn': 'libcudnn.so.*[0-9]', 'cuda_nvrtc': 'libnvrtc.so.*[0-9]', 'cuda_runtime': 'libcudart.so.*[0-9]', 'cuda_cupti': 'libcupti.so.*[0-9]', 'cufft': 'libcufft.so.*[0-9]', 'curand': 'libcurand.so.*[0-9]', 'cusolver': 'libcusolver.so.*[0-9]', 'cusparse': 'libcusparse.so.*[0-9]', 'nccl': 'libnccl.so.*[0-9]', 'nvtx': 'libnvToolsExt.so.*[0-9]', } is_cuda_lib_err = [lib for lib in cuda_libs.values() if(lib.split('.')[0] in err.args[0])] if not is_cuda_lib_err: raise err for lib_folder, lib_name in cuda_libs.items(): _preload_cuda_deps(lib_folder, lib_name) ctypes.CDLL(lib_path, mode=ctypes.RTLD_GLOBAL) if (USE_RTLD_GLOBAL_WITH_LIBTORCH or os.getenv('TORCH_USE_RTLD_GLOBAL')) and \ (_running_with_deploy() or platform.system() != 'Windows'): # Do it the hard way. You might want to load libtorch with RTLD_GLOBAL in a # few circumstances: # # 1. You're in a build environment (e.g., fbcode) where # libtorch_global_deps is not available, but you still need # to get mkl to link in with RTLD_GLOBAL or it will just # not work. # # 2. You're trying to run PyTorch under UBSAN and you need # to ensure that only one copy of libtorch is loaded, so # vptr checks work properly # # If you're using this setting, you must verify that all the libraries # you load consistently use the same libstdc++, or you may have # mysterious segfaults. # old_flags = sys.getdlopenflags() sys.setdlopenflags(os.RTLD_GLOBAL | os.RTLD_LAZY) from torch._C import * # noqa: F403 sys.setdlopenflags(old_flags) del old_flags else: # Easy way. You want this most of the time, because it will prevent # C++ symbols from libtorch clobbering C++ symbols from other # libraries, leading to mysterious segfaults. # # If building in an environment where libtorch_global_deps isn't available # like parts of fbsource, but where RTLD_GLOBAL causes segfaults, you will # want USE_RTLD_GLOBAL_WITH_LIBTORCH = False and USE_GLOBAL_DEPS = False # # See Note [Global dependencies] if USE_GLOBAL_DEPS: _load_global_deps() from torch._C import * # noqa: F403 # Appease the type checker; ordinarily this binding is inserted by the # torch._C module initialization code in C if TYPE_CHECKING: import torch._C as _C class SymInt: """ Like an int (including magic methods), but redirects all operations on the wrapped node. This is used in particular to symbolically record operations in the symbolic shape workflow. """ def __init__(self, node): # This field MUST be named node; C++ binding code assumes that this # class has a field named node that stores SymNode self.node = node def __bool__(self): return builtins.bool(self != 0) def __int__(self): return self.node.int_() def __index__(self): return self.node.int_() # Magic methods installed by torch.fx.experimental.symbolic_shapes def __eq__(self, other: object) -> builtins.bool: raise AssertionError("type stub not overridden") def __lt__(self, other) -> builtins.bool: raise AssertionError("type stub not overridden") def __gt__(self, other) -> builtins.bool: raise AssertionError("type stub not overridden") def __le__(self, other) -> builtins.bool: raise AssertionError("type stub not overridden") def __ge__(self, other) -> builtins.bool: raise AssertionError("type stub not overridden") def __sym_max__(self, other): raise AssertionError("type stub not overridden") def __sym_min__(self, other): raise AssertionError("type stub not overridden") def __sym_float__(self): raise AssertionError("type stub not overridden") def __repr__(self): return str(self.node) class SymFloat: """ Like an float (including magic methods), but redirects all operations on the wrapped node. This is used in particular to symbolically record operations in the symbolic shape workflow. """ def __init__(self, node): # This field MUST be named node; C++ binding code assumes that this # class has a field named node that stores SymNode self.node = node def __bool__(self): return self.node.bool_() # Magic methods installed by torch.fx.experimental.symbolic_shapes def __eq__(self, other: object) -> builtins.bool: raise AssertionError("type stub not overridden") def __lt__(self, other) -> builtins.bool: raise AssertionError("type stub not overridden") def __gt__(self, other) -> builtins.bool: raise AssertionError("type stub not overridden") def __le__(self, other) -> builtins.bool: raise AssertionError("type stub not overridden") def __ge__(self, other) -> builtins.bool: raise AssertionError("type stub not overridden") def __sym_max__(self, other): raise AssertionError("type stub not overridden") def __sym_min__(self, other): raise AssertionError("type stub not overridden") def __sym_int__(self): raise AssertionError("type stub not overridden") def __repr__(self): return self.node.str() class SymBool: """ Like an bool (including magic methods), but redirects all operations on the wrapped node. This is used in particular to symbolically record operations in the symbolic shape workflow. Unlike regular bools, regular boolean operators will force extra guards instead of symbolically evaluate. Use the bitwise operators instead to handle this. """ def __init__(self, node): # This field MUST be named node; C++ binding code assumes that this # class has a field named node that stores SymNode self.node = node def __bool__(self): return self.node.bool_() def __int__(self): return builtins.int(self.node.bool_()) # Magic methods installed by torch.fx.experimental.symbolic_shapes def __and__(self, other) -> "SymBool": raise AssertionError("type stub not overridden") def __or__(self, other) -> "SymBool": raise AssertionError("type stub not overridden") # We very carefully define __sym_not__, and not a number of other # plausible alternatives: # # - We do not override __not__ because this is not a real magic # method; you cannot override the meaning of the not builtin in # Python. We use the name 'sym_not' to clarify that in user code you # cannot use the builtin not or operator.not_ or operator.__not__ and # hit this magic method; you must use our custom sym_not operator. # # - We do not override the __invert__ method because SymBool is # meant to be usable in situations where bool is expected. However, # bitwise negation ~a does the wrong thing with booleans (because # bool is a subclass of int, so ~1 = -2 which is not falseish.) # This would be a giant footgun, so we get around it by defining # our own operator. Note that bitwise and/or do the right thing, # so we reuse the conventional operators there for readability. # def __sym_not__(self) -> "SymBool": raise AssertionError("type stub not overridden") def __repr__(self): return self.node.str() def sym_not(a): r""" SymInt-aware utility for logical negation. Args: a (SymBool or bool): Object to negate """ if hasattr(a, '__sym_not__'): return a.__sym_not__() return not a def sym_float(a): r""" SymInt-aware utility for float casting. Args: a (SymInt, SymFloat, or object): Object to cast """ if isinstance(a, SymFloat): return a elif hasattr(a, '__sym_float__'): return a.__sym_float__() return py_float(a) # type: ignore[operator] def sym_int(a): r""" SymInt-aware utility for int casting. Args: a (SymInt, SymFloat, or object): Object to cast """ if isinstance(a, SymInt): return a elif isinstance(a, SymFloat): return math.floor(a) if a >= 0 else math.ceil(a) # type: ignore[arg-type, call-overload] return py_int(a) # type: ignore[operator] def sym_max(a, b): """ SymInt-aware utility for max().""" if isinstance(a, (SymInt, SymFloat)): return a.__sym_max__(b) elif isinstance(b, (SymInt, SymFloat)): # NB: If you actually care about preserving output type exactly # if you do something like max(0, 0.0), it is NOT sound to treat # min/max as commutative return b.__sym_max__(a) return builtins.max(a, b) # type: ignore[operator] def sym_min(a, b): """ SymInt-aware utility for max().""" if isinstance(a, (SymInt, SymFloat)): return a.__sym_min__(b) elif isinstance(b, (SymInt, SymFloat)): return b.__sym_min__(a) return builtins.min(a, b) # type: ignore[operator] # Check to see if we can load C extensions, and if not provide some guidance # on what the problem might be. try: # _initExtension is chosen (arbitrarily) as a sentinel. from torch._C import _initExtension except ImportError: import torch._C as _C_for_compiled_check # The __file__ check only works for Python 3.7 and above. if _C_for_compiled_check.__file__ is None: > raise ImportError(textwrap.dedent(''' Failed to load PyTorch C extensions: It appears that PyTorch has loaded the `torch/_C` folder of the PyTorch repository rather than the C extensions which are expected in the `torch._C` namespace. This can occur when using the `install` workflow. e.g. $ python setup.py install && python -c "import torch" This error can generally be solved using the `develop` workflow $ python setup.py develop && python -c "import torch" # This should succeed or by running Python from a different directory. ''').strip()) from None E ImportError: Failed to load PyTorch C extensions: E It appears that PyTorch has loaded the `torch/_C` folder E of the PyTorch repository rather than the C extensions which E are expected in the `torch._C` namespace. This can occur when E using the `install` workflow. e.g. E $ python setup.py install && python -c "import torch" E E This error can generally be solved using the `develop` workflow E $ python setup.py develop && python -c "import torch" # This should succeed E or by running Python from a different directory. /usr/lib/python3/dist-packages/torch/__init__.py:451: ImportError _______________ test_isdtype_additional_dtypes[complex256-torch] _______________ library = 'torch', dtype_ = 'complex256' @pytest.mark.parametrize("library", ["cupy", "numpy", "torch"]) @pytest.mark.parametrize("dtype_", additional_dtypes) def test_isdtype_additional_dtypes(library, dtype_): > xp = import_('array_api_compat.' + library) tests/test_isdtype.py:104: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ tests/_helpers.py:8: in import_ return import_module(library) /usr/lib/python3.12/importlib/__init__.py:90: in import_module return _bootstrap._gcd_import(name[level:], package, level) :1387: in _gcd_import ??? :1360: in _find_and_load ??? :1331: in _find_and_load_unlocked ??? :935: in _load_unlocked ??? :995: in exec_module ??? :488: in _call_with_frames_removed ??? array_api_compat/torch/__init__.py:1: in from torch import * _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ r""" The torch package contains data structures for multi-dimensional tensors and defines mathematical operations over these tensors. Additionally, it provides many utilities for efficient serialization of Tensors and arbitrary types, and other useful utilities. It has a CUDA counterpart, that enables you to run your tensor computations on an NVIDIA GPU with compute capability >= 3.0. """ import math import os import sys import platform import textwrap import ctypes import inspect # multipy/deploy is setting this import before importing torch, this is the most # reliable way we have to detect if we're running within deploy. # https://github.com/pytorch/multipy/blob/d60f34ad38c371e441fe7ffdb77a3c3dda5a5d19/multipy/runtime/interpreter/interpreter_impl.cpp#L134-L137 def _running_with_deploy(): return sys.modules.get("torch._meta_registrations", None) is object from ._utils import _import_dotted_name, classproperty from ._utils_internal import get_file_path, prepare_multiprocessing_environment, \ USE_RTLD_GLOBAL_WITH_LIBTORCH, USE_GLOBAL_DEPS # TODO(torch_deploy) figure out how to freeze version.py in fbcode build if _running_with_deploy(): __version__ = "torch-deploy-1.8" else: from .torch_version import __version__ as __version__ from typing import Any, Callable, Dict, Optional, Set, Tuple, Type, TYPE_CHECKING, Union, List import builtins __all__ = [ 'typename', 'is_tensor', 'is_storage', 'set_default_tensor_type', 'set_default_device', 'set_rng_state', 'get_rng_state', 'manual_seed', 'initial_seed', 'seed', 'save', 'load', 'set_printoptions', 'chunk', 'split', 'stack', 'matmul', 'no_grad', 'enable_grad', 'rand', 'randn', 'inference_mode', 'DoubleStorage', 'FloatStorage', 'LongStorage', 'IntStorage', 'ShortStorage', 'CharStorage', 'ByteStorage', 'BoolStorage', 'TypedStorage', 'UntypedStorage', 'DoubleTensor', 'FloatTensor', 'LongTensor', 'IntTensor', 'ShortTensor', 'CharTensor', 'ByteTensor', 'BoolTensor', 'Tensor', 'lobpcg', 'use_deterministic_algorithms', 'are_deterministic_algorithms_enabled', 'is_deterministic_algorithms_warn_only_enabled', 'set_deterministic_debug_mode', 'get_deterministic_debug_mode', 'set_float32_matmul_precision', 'get_float32_matmul_precision', 'set_warn_always', 'is_warn_always_enabled', 'SymInt', 'SymFloat', 'SymBool', 'sym_not', 'sym_int', 'sym_float', 'sym_max', 'sym_min', 'compile', 'vmap', 'export', ] ################################################################################ # Load the extension module ################################################################################ if sys.platform == 'win32': pfiles_path = os.getenv('ProgramFiles', 'C:\\Program Files') py_dll_path = os.path.join(sys.exec_prefix, 'Library', 'bin') th_dll_path = os.path.join(os.path.dirname(__file__), 'lib') # When users create a virtualenv that inherits the base environment, # we will need to add the corresponding library directory into # DLL search directories. Otherwise, it will rely on `PATH` which # is dependent on user settings. if sys.exec_prefix != sys.base_exec_prefix: base_py_dll_path = os.path.join(sys.base_exec_prefix, 'Library', 'bin') else: base_py_dll_path = '' dll_paths = list(filter(os.path.exists, [th_dll_path, py_dll_path, base_py_dll_path])) if all(not os.path.exists(os.path.join(p, 'nvToolsExt64_1.dll')) for p in dll_paths): nvtoolsext_dll_path = os.path.join( os.getenv('NVTOOLSEXT_PATH', os.path.join(pfiles_path, 'NVIDIA Corporation', 'NvToolsExt')), 'bin', 'x64') else: nvtoolsext_dll_path = '' from .version import cuda as cuda_version import glob if cuda_version and all(not glob.glob(os.path.join(p, 'cudart64*.dll')) for p in dll_paths): cuda_version_1 = cuda_version.replace('.', '_') cuda_path_var = 'CUDA_PATH_V' + cuda_version_1 default_path = os.path.join(pfiles_path, 'NVIDIA GPU Computing Toolkit', 'CUDA', 'v' + cuda_version) cuda_path = os.path.join(os.getenv(cuda_path_var, default_path), 'bin') else: cuda_path = '' dll_paths.extend(filter(os.path.exists, [nvtoolsext_dll_path, cuda_path])) kernel32 = ctypes.WinDLL('kernel32.dll', use_last_error=True) with_load_library_flags = hasattr(kernel32, 'AddDllDirectory') prev_error_mode = kernel32.SetErrorMode(0x0001) kernel32.LoadLibraryW.restype = ctypes.c_void_p if with_load_library_flags: kernel32.LoadLibraryExW.restype = ctypes.c_void_p for dll_path in dll_paths: os.add_dll_directory(dll_path) try: ctypes.CDLL('vcruntime140.dll') ctypes.CDLL('msvcp140.dll') ctypes.CDLL('vcruntime140_1.dll') except OSError: print('''Microsoft Visual C++ Redistributable is not installed, this may lead to the DLL load failure. It can be downloaded at https://aka.ms/vs/16/release/vc_redist.x64.exe''') dlls = glob.glob(os.path.join(th_dll_path, '*.dll')) path_patched = False for dll in dlls: is_loaded = False if with_load_library_flags: res = kernel32.LoadLibraryExW(dll, None, 0x00001100) last_error = ctypes.get_last_error() if res is None and last_error != 126: err = ctypes.WinError(last_error) err.strerror += f' Error loading "{dll}" or one of its dependencies.' raise err elif res is not None: is_loaded = True if not is_loaded: if not path_patched: os.environ['PATH'] = ';'.join(dll_paths + [os.environ['PATH']]) path_patched = True res = kernel32.LoadLibraryW(dll) if res is None: err = ctypes.WinError(ctypes.get_last_error()) err.strerror += f' Error loading "{dll}" or one of its dependencies.' raise err kernel32.SetErrorMode(prev_error_mode) def _preload_cuda_deps(lib_folder, lib_name): """Preloads cuda deps if they could not be found otherwise.""" # Should only be called on Linux if default path resolution have failed assert platform.system() == 'Linux', 'Should only be called on Linux' import glob lib_path = None for path in sys.path: nvidia_path = os.path.join(path, 'nvidia') if not os.path.exists(nvidia_path): continue candidate_lib_paths = glob.glob(os.path.join(nvidia_path, lib_folder, 'lib', lib_name)) if candidate_lib_paths and not lib_path: lib_path = candidate_lib_paths[0] if lib_path: break if not lib_path: raise ValueError(f"{lib_name} not found in the system path {sys.path}") ctypes.CDLL(lib_path) # See Note [Global dependencies] def _load_global_deps() -> None: if _running_with_deploy() or platform.system() == 'Windows': return lib_name = 'libtorch_global_deps' + ('.dylib' if platform.system() == 'Darwin' else '.so') here = os.path.abspath(__file__) lib_path = os.path.join(os.path.dirname(here), 'lib', lib_name) try: ctypes.CDLL(lib_path, mode=ctypes.RTLD_GLOBAL) except OSError as err: # Can only happen for wheel with cuda libs as PYPI deps # As PyTorch is not purelib, but nvidia-*-cu12 is cuda_libs: Dict[str, str] = { 'cublas': 'libcublas.so.*[0-9]', 'cudnn': 'libcudnn.so.*[0-9]', 'cuda_nvrtc': 'libnvrtc.so.*[0-9]', 'cuda_runtime': 'libcudart.so.*[0-9]', 'cuda_cupti': 'libcupti.so.*[0-9]', 'cufft': 'libcufft.so.*[0-9]', 'curand': 'libcurand.so.*[0-9]', 'cusolver': 'libcusolver.so.*[0-9]', 'cusparse': 'libcusparse.so.*[0-9]', 'nccl': 'libnccl.so.*[0-9]', 'nvtx': 'libnvToolsExt.so.*[0-9]', } is_cuda_lib_err = [lib for lib in cuda_libs.values() if(lib.split('.')[0] in err.args[0])] if not is_cuda_lib_err: raise err for lib_folder, lib_name in cuda_libs.items(): _preload_cuda_deps(lib_folder, lib_name) ctypes.CDLL(lib_path, mode=ctypes.RTLD_GLOBAL) if (USE_RTLD_GLOBAL_WITH_LIBTORCH or os.getenv('TORCH_USE_RTLD_GLOBAL')) and \ (_running_with_deploy() or platform.system() != 'Windows'): # Do it the hard way. You might want to load libtorch with RTLD_GLOBAL in a # few circumstances: # # 1. You're in a build environment (e.g., fbcode) where # libtorch_global_deps is not available, but you still need # to get mkl to link in with RTLD_GLOBAL or it will just # not work. # # 2. You're trying to run PyTorch under UBSAN and you need # to ensure that only one copy of libtorch is loaded, so # vptr checks work properly # # If you're using this setting, you must verify that all the libraries # you load consistently use the same libstdc++, or you may have # mysterious segfaults. # old_flags = sys.getdlopenflags() sys.setdlopenflags(os.RTLD_GLOBAL | os.RTLD_LAZY) from torch._C import * # noqa: F403 sys.setdlopenflags(old_flags) del old_flags else: # Easy way. You want this most of the time, because it will prevent # C++ symbols from libtorch clobbering C++ symbols from other # libraries, leading to mysterious segfaults. # # If building in an environment where libtorch_global_deps isn't available # like parts of fbsource, but where RTLD_GLOBAL causes segfaults, you will # want USE_RTLD_GLOBAL_WITH_LIBTORCH = False and USE_GLOBAL_DEPS = False # # See Note [Global dependencies] if USE_GLOBAL_DEPS: _load_global_deps() from torch._C import * # noqa: F403 # Appease the type checker; ordinarily this binding is inserted by the # torch._C module initialization code in C if TYPE_CHECKING: import torch._C as _C class SymInt: """ Like an int (including magic methods), but redirects all operations on the wrapped node. This is used in particular to symbolically record operations in the symbolic shape workflow. """ def __init__(self, node): # This field MUST be named node; C++ binding code assumes that this # class has a field named node that stores SymNode self.node = node def __bool__(self): return builtins.bool(self != 0) def __int__(self): return self.node.int_() def __index__(self): return self.node.int_() # Magic methods installed by torch.fx.experimental.symbolic_shapes def __eq__(self, other: object) -> builtins.bool: raise AssertionError("type stub not overridden") def __lt__(self, other) -> builtins.bool: raise AssertionError("type stub not overridden") def __gt__(self, other) -> builtins.bool: raise AssertionError("type stub not overridden") def __le__(self, other) -> builtins.bool: raise AssertionError("type stub not overridden") def __ge__(self, other) -> builtins.bool: raise AssertionError("type stub not overridden") def __sym_max__(self, other): raise AssertionError("type stub not overridden") def __sym_min__(self, other): raise AssertionError("type stub not overridden") def __sym_float__(self): raise AssertionError("type stub not overridden") def __repr__(self): return str(self.node) class SymFloat: """ Like an float (including magic methods), but redirects all operations on the wrapped node. This is used in particular to symbolically record operations in the symbolic shape workflow. """ def __init__(self, node): # This field MUST be named node; C++ binding code assumes that this # class has a field named node that stores SymNode self.node = node def __bool__(self): return self.node.bool_() # Magic methods installed by torch.fx.experimental.symbolic_shapes def __eq__(self, other: object) -> builtins.bool: raise AssertionError("type stub not overridden") def __lt__(self, other) -> builtins.bool: raise AssertionError("type stub not overridden") def __gt__(self, other) -> builtins.bool: raise AssertionError("type stub not overridden") def __le__(self, other) -> builtins.bool: raise AssertionError("type stub not overridden") def __ge__(self, other) -> builtins.bool: raise AssertionError("type stub not overridden") def __sym_max__(self, other): raise AssertionError("type stub not overridden") def __sym_min__(self, other): raise AssertionError("type stub not overridden") def __sym_int__(self): raise AssertionError("type stub not overridden") def __repr__(self): return self.node.str() class SymBool: """ Like an bool (including magic methods), but redirects all operations on the wrapped node. This is used in particular to symbolically record operations in the symbolic shape workflow. Unlike regular bools, regular boolean operators will force extra guards instead of symbolically evaluate. Use the bitwise operators instead to handle this. """ def __init__(self, node): # This field MUST be named node; C++ binding code assumes that this # class has a field named node that stores SymNode self.node = node def __bool__(self): return self.node.bool_() def __int__(self): return builtins.int(self.node.bool_()) # Magic methods installed by torch.fx.experimental.symbolic_shapes def __and__(self, other) -> "SymBool": raise AssertionError("type stub not overridden") def __or__(self, other) -> "SymBool": raise AssertionError("type stub not overridden") # We very carefully define __sym_not__, and not a number of other # plausible alternatives: # # - We do not override __not__ because this is not a real magic # method; you cannot override the meaning of the not builtin in # Python. We use the name 'sym_not' to clarify that in user code you # cannot use the builtin not or operator.not_ or operator.__not__ and # hit this magic method; you must use our custom sym_not operator. # # - We do not override the __invert__ method because SymBool is # meant to be usable in situations where bool is expected. However, # bitwise negation ~a does the wrong thing with booleans (because # bool is a subclass of int, so ~1 = -2 which is not falseish.) # This would be a giant footgun, so we get around it by defining # our own operator. Note that bitwise and/or do the right thing, # so we reuse the conventional operators there for readability. # def __sym_not__(self) -> "SymBool": raise AssertionError("type stub not overridden") def __repr__(self): return self.node.str() def sym_not(a): r""" SymInt-aware utility for logical negation. Args: a (SymBool or bool): Object to negate """ if hasattr(a, '__sym_not__'): return a.__sym_not__() return not a def sym_float(a): r""" SymInt-aware utility for float casting. Args: a (SymInt, SymFloat, or object): Object to cast """ if isinstance(a, SymFloat): return a elif hasattr(a, '__sym_float__'): return a.__sym_float__() return py_float(a) # type: ignore[operator] def sym_int(a): r""" SymInt-aware utility for int casting. Args: a (SymInt, SymFloat, or object): Object to cast """ if isinstance(a, SymInt): return a elif isinstance(a, SymFloat): return math.floor(a) if a >= 0 else math.ceil(a) # type: ignore[arg-type, call-overload] return py_int(a) # type: ignore[operator] def sym_max(a, b): """ SymInt-aware utility for max().""" if isinstance(a, (SymInt, SymFloat)): return a.__sym_max__(b) elif isinstance(b, (SymInt, SymFloat)): # NB: If you actually care about preserving output type exactly # if you do something like max(0, 0.0), it is NOT sound to treat # min/max as commutative return b.__sym_max__(a) return builtins.max(a, b) # type: ignore[operator] def sym_min(a, b): """ SymInt-aware utility for max().""" if isinstance(a, (SymInt, SymFloat)): return a.__sym_min__(b) elif isinstance(b, (SymInt, SymFloat)): return b.__sym_min__(a) return builtins.min(a, b) # type: ignore[operator] # Check to see if we can load C extensions, and if not provide some guidance # on what the problem might be. try: # _initExtension is chosen (arbitrarily) as a sentinel. from torch._C import _initExtension except ImportError: import torch._C as _C_for_compiled_check # The __file__ check only works for Python 3.7 and above. if _C_for_compiled_check.__file__ is None: > raise ImportError(textwrap.dedent(''' Failed to load PyTorch C extensions: It appears that PyTorch has loaded the `torch/_C` folder of the PyTorch repository rather than the C extensions which are expected in the `torch._C` namespace. This can occur when using the `install` workflow. e.g. $ python setup.py install && python -c "import torch" This error can generally be solved using the `develop` workflow $ python setup.py develop && python -c "import torch" # This should succeed or by running Python from a different directory. ''').strip()) from None E ImportError: Failed to load PyTorch C extensions: E It appears that PyTorch has loaded the `torch/_C` folder E of the PyTorch repository rather than the C extensions which E are expected in the `torch._C` namespace. This can occur when E using the `install` workflow. e.g. E $ python setup.py install && python -c "import torch" E E This error can generally be solved using the `develop` workflow E $ python setup.py develop && python -c "import torch" # This should succeed E or by running Python from a different directory. /usr/lib/python3/dist-packages/torch/__init__.py:451: ImportError ________________ test_isdtype_additional_dtypes[bfloat16-torch] ________________ library = 'torch', dtype_ = 'bfloat16' @pytest.mark.parametrize("library", ["cupy", "numpy", "torch"]) @pytest.mark.parametrize("dtype_", additional_dtypes) def test_isdtype_additional_dtypes(library, dtype_): > xp = import_('array_api_compat.' + library) tests/test_isdtype.py:104: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ tests/_helpers.py:8: in import_ return import_module(library) /usr/lib/python3.12/importlib/__init__.py:90: in import_module return _bootstrap._gcd_import(name[level:], package, level) :1387: in _gcd_import ??? :1360: in _find_and_load ??? :1331: in _find_and_load_unlocked ??? :935: in _load_unlocked ??? :995: in exec_module ??? :488: in _call_with_frames_removed ??? array_api_compat/torch/__init__.py:1: in from torch import * _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ r""" The torch package contains data structures for multi-dimensional tensors and defines mathematical operations over these tensors. Additionally, it provides many utilities for efficient serialization of Tensors and arbitrary types, and other useful utilities. It has a CUDA counterpart, that enables you to run your tensor computations on an NVIDIA GPU with compute capability >= 3.0. """ import math import os import sys import platform import textwrap import ctypes import inspect # multipy/deploy is setting this import before importing torch, this is the most # reliable way we have to detect if we're running within deploy. # https://github.com/pytorch/multipy/blob/d60f34ad38c371e441fe7ffdb77a3c3dda5a5d19/multipy/runtime/interpreter/interpreter_impl.cpp#L134-L137 def _running_with_deploy(): return sys.modules.get("torch._meta_registrations", None) is object from ._utils import _import_dotted_name, classproperty from ._utils_internal import get_file_path, prepare_multiprocessing_environment, \ USE_RTLD_GLOBAL_WITH_LIBTORCH, USE_GLOBAL_DEPS # TODO(torch_deploy) figure out how to freeze version.py in fbcode build if _running_with_deploy(): __version__ = "torch-deploy-1.8" else: from .torch_version import __version__ as __version__ from typing import Any, Callable, Dict, Optional, Set, Tuple, Type, TYPE_CHECKING, Union, List import builtins __all__ = [ 'typename', 'is_tensor', 'is_storage', 'set_default_tensor_type', 'set_default_device', 'set_rng_state', 'get_rng_state', 'manual_seed', 'initial_seed', 'seed', 'save', 'load', 'set_printoptions', 'chunk', 'split', 'stack', 'matmul', 'no_grad', 'enable_grad', 'rand', 'randn', 'inference_mode', 'DoubleStorage', 'FloatStorage', 'LongStorage', 'IntStorage', 'ShortStorage', 'CharStorage', 'ByteStorage', 'BoolStorage', 'TypedStorage', 'UntypedStorage', 'DoubleTensor', 'FloatTensor', 'LongTensor', 'IntTensor', 'ShortTensor', 'CharTensor', 'ByteTensor', 'BoolTensor', 'Tensor', 'lobpcg', 'use_deterministic_algorithms', 'are_deterministic_algorithms_enabled', 'is_deterministic_algorithms_warn_only_enabled', 'set_deterministic_debug_mode', 'get_deterministic_debug_mode', 'set_float32_matmul_precision', 'get_float32_matmul_precision', 'set_warn_always', 'is_warn_always_enabled', 'SymInt', 'SymFloat', 'SymBool', 'sym_not', 'sym_int', 'sym_float', 'sym_max', 'sym_min', 'compile', 'vmap', 'export', ] ################################################################################ # Load the extension module ################################################################################ if sys.platform == 'win32': pfiles_path = os.getenv('ProgramFiles', 'C:\\Program Files') py_dll_path = os.path.join(sys.exec_prefix, 'Library', 'bin') th_dll_path = os.path.join(os.path.dirname(__file__), 'lib') # When users create a virtualenv that inherits the base environment, # we will need to add the corresponding library directory into # DLL search directories. Otherwise, it will rely on `PATH` which # is dependent on user settings. if sys.exec_prefix != sys.base_exec_prefix: base_py_dll_path = os.path.join(sys.base_exec_prefix, 'Library', 'bin') else: base_py_dll_path = '' dll_paths = list(filter(os.path.exists, [th_dll_path, py_dll_path, base_py_dll_path])) if all(not os.path.exists(os.path.join(p, 'nvToolsExt64_1.dll')) for p in dll_paths): nvtoolsext_dll_path = os.path.join( os.getenv('NVTOOLSEXT_PATH', os.path.join(pfiles_path, 'NVIDIA Corporation', 'NvToolsExt')), 'bin', 'x64') else: nvtoolsext_dll_path = '' from .version import cuda as cuda_version import glob if cuda_version and all(not glob.glob(os.path.join(p, 'cudart64*.dll')) for p in dll_paths): cuda_version_1 = cuda_version.replace('.', '_') cuda_path_var = 'CUDA_PATH_V' + cuda_version_1 default_path = os.path.join(pfiles_path, 'NVIDIA GPU Computing Toolkit', 'CUDA', 'v' + cuda_version) cuda_path = os.path.join(os.getenv(cuda_path_var, default_path), 'bin') else: cuda_path = '' dll_paths.extend(filter(os.path.exists, [nvtoolsext_dll_path, cuda_path])) kernel32 = ctypes.WinDLL('kernel32.dll', use_last_error=True) with_load_library_flags = hasattr(kernel32, 'AddDllDirectory') prev_error_mode = kernel32.SetErrorMode(0x0001) kernel32.LoadLibraryW.restype = ctypes.c_void_p if with_load_library_flags: kernel32.LoadLibraryExW.restype = ctypes.c_void_p for dll_path in dll_paths: os.add_dll_directory(dll_path) try: ctypes.CDLL('vcruntime140.dll') ctypes.CDLL('msvcp140.dll') ctypes.CDLL('vcruntime140_1.dll') except OSError: print('''Microsoft Visual C++ Redistributable is not installed, this may lead to the DLL load failure. It can be downloaded at https://aka.ms/vs/16/release/vc_redist.x64.exe''') dlls = glob.glob(os.path.join(th_dll_path, '*.dll')) path_patched = False for dll in dlls: is_loaded = False if with_load_library_flags: res = kernel32.LoadLibraryExW(dll, None, 0x00001100) last_error = ctypes.get_last_error() if res is None and last_error != 126: err = ctypes.WinError(last_error) err.strerror += f' Error loading "{dll}" or one of its dependencies.' raise err elif res is not None: is_loaded = True if not is_loaded: if not path_patched: os.environ['PATH'] = ';'.join(dll_paths + [os.environ['PATH']]) path_patched = True res = kernel32.LoadLibraryW(dll) if res is None: err = ctypes.WinError(ctypes.get_last_error()) err.strerror += f' Error loading "{dll}" or one of its dependencies.' raise err kernel32.SetErrorMode(prev_error_mode) def _preload_cuda_deps(lib_folder, lib_name): """Preloads cuda deps if they could not be found otherwise.""" # Should only be called on Linux if default path resolution have failed assert platform.system() == 'Linux', 'Should only be called on Linux' import glob lib_path = None for path in sys.path: nvidia_path = os.path.join(path, 'nvidia') if not os.path.exists(nvidia_path): continue candidate_lib_paths = glob.glob(os.path.join(nvidia_path, lib_folder, 'lib', lib_name)) if candidate_lib_paths and not lib_path: lib_path = candidate_lib_paths[0] if lib_path: break if not lib_path: raise ValueError(f"{lib_name} not found in the system path {sys.path}") ctypes.CDLL(lib_path) # See Note [Global dependencies] def _load_global_deps() -> None: if _running_with_deploy() or platform.system() == 'Windows': return lib_name = 'libtorch_global_deps' + ('.dylib' if platform.system() == 'Darwin' else '.so') here = os.path.abspath(__file__) lib_path = os.path.join(os.path.dirname(here), 'lib', lib_name) try: ctypes.CDLL(lib_path, mode=ctypes.RTLD_GLOBAL) except OSError as err: # Can only happen for wheel with cuda libs as PYPI deps # As PyTorch is not purelib, but nvidia-*-cu12 is cuda_libs: Dict[str, str] = { 'cublas': 'libcublas.so.*[0-9]', 'cudnn': 'libcudnn.so.*[0-9]', 'cuda_nvrtc': 'libnvrtc.so.*[0-9]', 'cuda_runtime': 'libcudart.so.*[0-9]', 'cuda_cupti': 'libcupti.so.*[0-9]', 'cufft': 'libcufft.so.*[0-9]', 'curand': 'libcurand.so.*[0-9]', 'cusolver': 'libcusolver.so.*[0-9]', 'cusparse': 'libcusparse.so.*[0-9]', 'nccl': 'libnccl.so.*[0-9]', 'nvtx': 'libnvToolsExt.so.*[0-9]', } is_cuda_lib_err = [lib for lib in cuda_libs.values() if(lib.split('.')[0] in err.args[0])] if not is_cuda_lib_err: raise err for lib_folder, lib_name in cuda_libs.items(): _preload_cuda_deps(lib_folder, lib_name) ctypes.CDLL(lib_path, mode=ctypes.RTLD_GLOBAL) if (USE_RTLD_GLOBAL_WITH_LIBTORCH or os.getenv('TORCH_USE_RTLD_GLOBAL')) and \ (_running_with_deploy() or platform.system() != 'Windows'): # Do it the hard way. You might want to load libtorch with RTLD_GLOBAL in a # few circumstances: # # 1. You're in a build environment (e.g., fbcode) where # libtorch_global_deps is not available, but you still need # to get mkl to link in with RTLD_GLOBAL or it will just # not work. # # 2. You're trying to run PyTorch under UBSAN and you need # to ensure that only one copy of libtorch is loaded, so # vptr checks work properly # # If you're using this setting, you must verify that all the libraries # you load consistently use the same libstdc++, or you may have # mysterious segfaults. # old_flags = sys.getdlopenflags() sys.setdlopenflags(os.RTLD_GLOBAL | os.RTLD_LAZY) from torch._C import * # noqa: F403 sys.setdlopenflags(old_flags) del old_flags else: # Easy way. You want this most of the time, because it will prevent # C++ symbols from libtorch clobbering C++ symbols from other # libraries, leading to mysterious segfaults. # # If building in an environment where libtorch_global_deps isn't available # like parts of fbsource, but where RTLD_GLOBAL causes segfaults, you will # want USE_RTLD_GLOBAL_WITH_LIBTORCH = False and USE_GLOBAL_DEPS = False # # See Note [Global dependencies] if USE_GLOBAL_DEPS: _load_global_deps() from torch._C import * # noqa: F403 # Appease the type checker; ordinarily this binding is inserted by the # torch._C module initialization code in C if TYPE_CHECKING: import torch._C as _C class SymInt: """ Like an int (including magic methods), but redirects all operations on the wrapped node. This is used in particular to symbolically record operations in the symbolic shape workflow. """ def __init__(self, node): # This field MUST be named node; C++ binding code assumes that this # class has a field named node that stores SymNode self.node = node def __bool__(self): return builtins.bool(self != 0) def __int__(self): return self.node.int_() def __index__(self): return self.node.int_() # Magic methods installed by torch.fx.experimental.symbolic_shapes def __eq__(self, other: object) -> builtins.bool: raise AssertionError("type stub not overridden") def __lt__(self, other) -> builtins.bool: raise AssertionError("type stub not overridden") def __gt__(self, other) -> builtins.bool: raise AssertionError("type stub not overridden") def __le__(self, other) -> builtins.bool: raise AssertionError("type stub not overridden") def __ge__(self, other) -> builtins.bool: raise AssertionError("type stub not overridden") def __sym_max__(self, other): raise AssertionError("type stub not overridden") def __sym_min__(self, other): raise AssertionError("type stub not overridden") def __sym_float__(self): raise AssertionError("type stub not overridden") def __repr__(self): return str(self.node) class SymFloat: """ Like an float (including magic methods), but redirects all operations on the wrapped node. This is used in particular to symbolically record operations in the symbolic shape workflow. """ def __init__(self, node): # This field MUST be named node; C++ binding code assumes that this # class has a field named node that stores SymNode self.node = node def __bool__(self): return self.node.bool_() # Magic methods installed by torch.fx.experimental.symbolic_shapes def __eq__(self, other: object) -> builtins.bool: raise AssertionError("type stub not overridden") def __lt__(self, other) -> builtins.bool: raise AssertionError("type stub not overridden") def __gt__(self, other) -> builtins.bool: raise AssertionError("type stub not overridden") def __le__(self, other) -> builtins.bool: raise AssertionError("type stub not overridden") def __ge__(self, other) -> builtins.bool: raise AssertionError("type stub not overridden") def __sym_max__(self, other): raise AssertionError("type stub not overridden") def __sym_min__(self, other): raise AssertionError("type stub not overridden") def __sym_int__(self): raise AssertionError("type stub not overridden") def __repr__(self): return self.node.str() class SymBool: """ Like an bool (including magic methods), but redirects all operations on the wrapped node. This is used in particular to symbolically record operations in the symbolic shape workflow. Unlike regular bools, regular boolean operators will force extra guards instead of symbolically evaluate. Use the bitwise operators instead to handle this. """ def __init__(self, node): # This field MUST be named node; C++ binding code assumes that this # class has a field named node that stores SymNode self.node = node def __bool__(self): return self.node.bool_() def __int__(self): return builtins.int(self.node.bool_()) # Magic methods installed by torch.fx.experimental.symbolic_shapes def __and__(self, other) -> "SymBool": raise AssertionError("type stub not overridden") def __or__(self, other) -> "SymBool": raise AssertionError("type stub not overridden") # We very carefully define __sym_not__, and not a number of other # plausible alternatives: # # - We do not override __not__ because this is not a real magic # method; you cannot override the meaning of the not builtin in # Python. We use the name 'sym_not' to clarify that in user code you # cannot use the builtin not or operator.not_ or operator.__not__ and # hit this magic method; you must use our custom sym_not operator. # # - We do not override the __invert__ method because SymBool is # meant to be usable in situations where bool is expected. However, # bitwise negation ~a does the wrong thing with booleans (because # bool is a subclass of int, so ~1 = -2 which is not falseish.) # This would be a giant footgun, so we get around it by defining # our own operator. Note that bitwise and/or do the right thing, # so we reuse the conventional operators there for readability. # def __sym_not__(self) -> "SymBool": raise AssertionError("type stub not overridden") def __repr__(self): return self.node.str() def sym_not(a): r""" SymInt-aware utility for logical negation. Args: a (SymBool or bool): Object to negate """ if hasattr(a, '__sym_not__'): return a.__sym_not__() return not a def sym_float(a): r""" SymInt-aware utility for float casting. Args: a (SymInt, SymFloat, or object): Object to cast """ if isinstance(a, SymFloat): return a elif hasattr(a, '__sym_float__'): return a.__sym_float__() return py_float(a) # type: ignore[operator] def sym_int(a): r""" SymInt-aware utility for int casting. Args: a (SymInt, SymFloat, or object): Object to cast """ if isinstance(a, SymInt): return a elif isinstance(a, SymFloat): return math.floor(a) if a >= 0 else math.ceil(a) # type: ignore[arg-type, call-overload] return py_int(a) # type: ignore[operator] def sym_max(a, b): """ SymInt-aware utility for max().""" if isinstance(a, (SymInt, SymFloat)): return a.__sym_max__(b) elif isinstance(b, (SymInt, SymFloat)): # NB: If you actually care about preserving output type exactly # if you do something like max(0, 0.0), it is NOT sound to treat # min/max as commutative return b.__sym_max__(a) return builtins.max(a, b) # type: ignore[operator] def sym_min(a, b): """ SymInt-aware utility for max().""" if isinstance(a, (SymInt, SymFloat)): return a.__sym_min__(b) elif isinstance(b, (SymInt, SymFloat)): return b.__sym_min__(a) return builtins.min(a, b) # type: ignore[operator] # Check to see if we can load C extensions, and if not provide some guidance # on what the problem might be. try: # _initExtension is chosen (arbitrarily) as a sentinel. from torch._C import _initExtension except ImportError: import torch._C as _C_for_compiled_check # The __file__ check only works for Python 3.7 and above. if _C_for_compiled_check.__file__ is None: > raise ImportError(textwrap.dedent(''' Failed to load PyTorch C extensions: It appears that PyTorch has loaded the `torch/_C` folder of the PyTorch repository rather than the C extensions which are expected in the `torch._C` namespace. This can occur when using the `install` workflow. e.g. $ python setup.py install && python -c "import torch" This error can generally be solved using the `develop` workflow $ python setup.py develop && python -c "import torch" # This should succeed or by running Python from a different directory. ''').strip()) from None E ImportError: Failed to load PyTorch C extensions: E It appears that PyTorch has loaded the `torch/_C` folder E of the PyTorch repository rather than the C extensions which E are expected in the `torch._C` namespace. This can occur when E using the `install` workflow. e.g. E $ python setup.py install && python -c "import torch" E E This error can generally be solved using the `develop` workflow E $ python setup.py develop && python -c "import torch" # This should succeed E or by running Python from a different directory. /usr/lib/python3/dist-packages/torch/__init__.py:451: ImportError =========================== short test summary info ============================ FAILED tests/test_array_namespace.py::test_array_namespace[None-torch] - Impo... FAILED tests/test_array_namespace.py::test_array_namespace[2021.12-torch] - I... FAILED tests/test_array_namespace.py::test_array_namespace_errors - ImportErr... FAILED tests/test_common.py::test_to_device_host[torch] - ImportError: Failed... FAILED tests/test_isdtype.py::test_isdtype_spec_dtypes[torch] - ImportError: ... FAILED tests/test_isdtype.py::test_isdtype_additional_dtypes[float16-torch] FAILED tests/test_isdtype.py::test_isdtype_additional_dtypes[float128-torch] FAILED tests/test_isdtype.py::test_isdtype_additional_dtypes[complex256-torch] FAILED tests/test_isdtype.py::test_isdtype_additional_dtypes[bfloat16-torch] =================== 9 failed, 10 passed, 8 skipped in 1.37s ==================== E: pybuild pybuild:389: test: plugin distutils failed with: exit code=1: cd /build/reproducible-path/python-array-api-compat-1.4/.pybuild/cpython3_3.12_array_api_compat/build; python3.12 -m pytest --ignore tests/test_vendoring.py I: pybuild base:311: cd /build/reproducible-path/python-array-api-compat-1.4/.pybuild/cpython3_3.11_array_api_compat/build; python3.11 -m pytest --ignore tests/test_vendoring.py ============================= test session starts ============================== platform linux -- Python 3.11.9, pytest-8.2.1, pluggy-1.5.0 rootdir: /build/reproducible-path/python-array-api-compat-1.4 plugins: hypothesis-6.102.6 collected 27 items tests/test_array_namespace.py s..s..... [ 33%] tests/test_common.py s.. [ 44%] tests/test_isdtype.py s..s..s..s..s.. [100%] ======================== 19 passed, 8 skipped in 2.22s ========================= dh_auto_test: error: pybuild --test --test-pytest -i python{version} -p "3.12 3.11" returned exit code 13 make: *** [debian/rules:9: binary] Error 25 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/2605677 and its subdirectories Mon May 27 23:55:06 UTC 2024 W: No second build log, what happened?