[package - 150amd64-default][finance/py-ccxt] Failed for py312-ccxt-4.5.78_1 in run-depends

From: <pkg-fallout_at_FreeBSD.org>
Date: Thu, 17 Sep 2026 01:04:55 UTC
You are receiving this mail as a port that you maintain
is failing to build on the FreeBSD package build server.
Please investigate the failure and submit a PR to fix
build.

Maintainer:     yuri@FreeBSD.org
Log URL:        https://pkg-status.freebsd.org/beefy23/data/150amd64-default/399e3fa08347/logs/py312-ccxt-4.5.78_1.log
Build URL:      https://pkg-status.freebsd.org/beefy23/build.html?mastername=150amd64-default&build=399e3fa08347
Log:

=>> Building finance/py-ccxt
build started at Thu Sep 17 01:04:39 UTC 2026
port directory: /usr/ports/finance/py-ccxt
package name: py312-ccxt-4.5.78_1
building for: FreeBSD 150amd64-default-job-16 15.0-RELEASE-p13 FreeBSD 15.0-RELEASE-p13 amd64
maintained by: yuri@FreeBSD.org
Makefile datestamp: -rw-r--r--  1 root wheel 2792 Sep 17 01:01 /usr/ports/finance/py-ccxt/Makefile
Ports top last git commit: 399e3fa083477b4d3580f5ad547c5b8407074c41
Ports top unclean checkout: no
Port dir last git commit: 85c58b165ec5bd6763f39aae712959e12315356e
Port dir unclean checkout: no
Poudriere version: poudriere-git-3.4.8-3-gd92fb7c0
Host OSVERSION: 1600022
Jail OSVERSION: 1500068
Job Id: 16

---Begin Environment---
SHELL=/bin/sh
OSVERSION=1500068
UNAME_v=FreeBSD 15.0-RELEASE-p13
UNAME_r=15.0-RELEASE-p13
BLOCKSIZE=K
MAIL=/var/mail/root
MM_CHARSET=UTF-8
LANG=C.UTF-8
STATUS=1
HOME=/root
PATH=/sbin:/bin:/usr/sbin:/usr/bin:/usr/local/sbin:/usr/local/bin:/root/bin
MAKE_OBJDIR_CHECK_WRITABLE=0
LOCALBASE=/usr/local
USER=root
POUDRIERE_NAME=poudriere-git
LIBEXECPREFIX=/usr/local/libexec/poudriere
POUDRIERE_VERSION=3.4.8-3-gd92fb7c0
MASTERMNT=/usr/local/poudriere/data/.m/150amd64-default/ref
LC_COLLATE=C
POUDRIERE_BUILD_TYPE=bulk
PACKAGE_BUILDING=yes
SAVED_TERM=
OUTPUT_REDIRECTED_STDERR=4
OUTPUT_REDIRECTED=1
PWD=/usr/local/poudriere/data/.m/150amd64-default/16/.p
OUTPUT_REDIRECTED_STDOUT=3
P_PORTS_FEATURES=FLAVORS SUBPACKAGES SELECTED_OPTIONS
MASTERNAME=150amd64-default
SCRIPTPREFIX=/usr/local/share/poudriere
SCRIPTNAME=bulk.sh
OLDPWD=/usr/local/poudriere/data/.m/150amd64-default/ref/.p/pool
POUDRIERE_PKGNAME=poudriere-git-3.4.8-3-gd92fb7c0
SCRIPTPATH=/usr/local/share/poudriere/bulk.sh
POUDRIEREPATH=/usr/local/bin/poudriere
---End Environment---

---Begin Poudriere Port Flags/Env---
PORT_FLAGS=
PKGENV=
FLAVOR=py312
MAKE_ARGS= FLAVOR=py312
---End Poudriere Port Flags/Env---

---Begin OPTIONS List---
---End OPTIONS List---

--MAINTAINER--
yuri@FreeBSD.org
--End MAINTAINER--

--CONFIGURE_ARGS--

--End CONFIGURE_ARGS--

--CONFIGURE_ENV--
PYTHON="/usr/local/bin/python3.12" XDG_DATA_HOME=/wrkdirs/usr/ports/finance/py-ccxt/work-py312  XDG_CONFIG_HOME=/wrkdirs/usr/ports/finance/py-ccxt/work-py312  XDG_CACHE_HOME=/wrkdirs/usr/ports/finance/py-ccxt/work-py312/.cache  HOME=/wrkdirs/usr/ports/finance/py-ccxt/work-py312 TMPDIR="/tmp" PATH=/wrkdirs/usr/ports/finance/py-ccxt/work-py312/.bin:/sbin:/bin:/usr/sbin:/usr/bin:/usr/local/sbin:/usr/local/bin:/root/bin PKG_CONFIG_LIBDIR=/wrkdirs/usr/ports/finance/py-ccxt/work-py312/.pkgconfig:/usr/local/libdata/pkgconfig:/usr/local/share/pkgconfig:/usr/libdata/pkgconfig SHELL=/bin/sh CONFIG_SHELL=/bin/sh
--End CONFIGURE_ENV--

--MAKE_ENV--
XDG_DATA_HOME=/wrkdirs/usr/ports/finance/py-ccxt/work-py312  XDG_CONFIG_HOME=/wrkdirs/usr/ports/finance/py-ccxt/work-py312  XDG_CACHE_HOME=/wrkdirs/usr/ports/finance/py-ccxt/work-py312/.cache  HOME=/wrkdirs/usr/ports/finance/py-ccxt/work-py312 TMPDIR="/tmp" PATH=/wrkdirs/usr/ports/finance/py-ccxt/work-py312/.bin:/sbin:/bin:/usr/sbin:/usr/bin:/usr/local/sbin:/usr/local/bin:/root/bin PKG_CONFIG_LIBDIR=/wrkdirs/usr/ports/finance/py-ccxt/work-py312/.pkgconfig:/usr/local/libdata/pkgconfig:/usr/local/share/pkgconfig:/usr/libdata/pkgconfig MK_DEBUG_FILES=no MK_KERNEL_SYMBOLS=no SHELL=/bin/sh NO_LINT=YES PREFIX=/usr/local  LOCALBASE=/usr/local  CC="cc" CFLAGS="-O2 -pipe  -fstack-protector-strong -fno-strict-aliasing "  CPP="cpp" CPPFLAGS=""  LDFLAGS=" " LIBS=""  CXX="c++" CXXFLAGS="-O2 -pipe -fstack-protector-strong -fno-strict-aliasing   " BSD_INSTALL_PROGRAM="install  -s -m 555"  BSD_INSTALL_LIB="install  -s -m 0644"  BSD_INSTALL_SCRIPT="install  -m 555"  BSD_INSTALL_DATA="install
  -m 0644"  BSD_INSTALL_MAN="install  -m 444"
--End MAKE_ENV--

--PLIST_SUB--
PYTHON_INCLUDEDIR=include/python3.12  PYTHON_LIBDIR=lib/python3.12  PYTHON_PLATFORM=freebsd15  PYTHON_SITELIBDIR=lib/python3.12/site-packages  PYTHON_SUFFIX=312  PYTHON_BASESUFFIX=312  PYTHON_TAG=.cpython-312  PYTHON_SOABI=.cpython-312  PYTHON_VER=3.12  PYTHON_BASEVER=3.12  PYTHON_VERSION=python3.12 PYTHON2="@comment " PYTHON3="" OSREL=15.0 PREFIX=%D LOCALBASE=/usr/local  RESETPREFIX=/usr/local LIB32DIR=lib DOCSDIR="share/doc/ccxt"  EXAMPLESDIR="share/examples/ccxt"  DATADIR="share/ccxt"  WWWDIR="www/ccxt"  ETCDIR="etc/ccxt"
--End PLIST_SUB--

--SUB_LIST--
PYTHON_INCLUDEDIR=/usr/local/include/python3.12  PYTHON_LIBDIR=/usr/local/lib/python3.12  PYTHON_PLATFORM=freebsd15  PYTHON_SITELIBDIR=/usr/local/lib/python3.12/site-packages  PYTHON_SUFFIX=312  PYTHON_BASESUFFIX=312  PYTHON_TAG=.cpython-312  PYTHON_SOABI=.cpython-312  PYTHON_VER=3.12  PYTHON_BASEVER=3.12  PYTHON_VERSION=python3.12 PYTHON2="@comment " PYTHON3="" PREFIX=/usr/local LOCALBASE=/usr/local  DATADIR=/usr/local/share/ccxt DOCSDIR=/usr/local/share/doc/ccxt EXAMPLESDIR=/usr/local/share/examples/ccxt  WWWDIR=/usr/local/www/ccxt ETCDIR=/usr/local/etc/ccxt
--End SUB_LIST--

---Begin make.conf---
USE_PACKAGE_DEPENDS=yes
BATCH=yes
WRKDIRPREFIX=/wrkdirs
PORTSDIR=/usr/ports
PACKAGES=/packages
DISTDIR=/distfiles
PACKAGE_BUILDING=yes
PACKAGE_BUILDING_FLAVORS=yes
####  ####
# XXX: We really need this but cannot use it while 'make checksum' does not
# try the next mirror on checksum failure.  It currently retries the same
# failed mirror and then fails rather then trying another.  It *does*
# try the next if the size is mismatched though.
#MASTER_SITE_FREEBSD=yes
# Build ALLOW_MAKE_JOBS_PACKAGES with 3 jobs
MAKE_JOBS_NUMBER=3
#### Misc Poudriere ####
.include "/etc/make.conf.ports_env"
GID=0
UID=0
---End make.conf---
--Resource limits--
cpu time               (seconds, -t)  unlimited
file size           (512-blocks, -f)  unlimited
data seg size           (kbytes, -d)  33554432
stack size              (kbytes, -s)  524288
core file size      (512-blocks, -c)  unlimited
max memory size         (kbytes, -m)  unlimited
locked memory           (kbytes, -l)  unlimited
max user processes              (-u)  89999
open files                      (-n)  8192
virtual mem size        (kbytes, -v)  unlimited
swap limit              (kbytes, -w)  unlimited
socket buffer size       (bytes, -b)  unlimited
pseudo-terminals                (-p)  unlimited
kqueues                         (-k)  unlimited
umtx shared locks               (-o)  unlimited
pipebuf                         (-y)  unlimited
--End resource limits--
=======================<phase: check-sanity   >============================
===== env: NO_DEPENDS=yes USER=root UID=0 GID=0
===>  License MIT accepted by the user
===========================================================================
=======================<phase: pkg-depends    >============================
===== env: USE_PACKAGE_DEPENDS_ONLY=1 USER=root UID=0 GID=0
===>   py312-ccxt-4.5.78_1 depends on file: /usr/local/sbin/pkg - not found
===>   Installing existing package /packages/All/pkg-2.8.4.pkg
[150amd64-default-job-16] Installing pkg-2.8.4...
[150amd64-default-job-16] Extracting pkg-2.8.4: .......... done
===>   py312-ccxt-4.5.78_1 depends on file: /usr/local/sbin/pkg - found
===>   Returning to build of py312-ccxt-4.5.78_1
===========================================================================
=======================<phase: fetch-depends  >============================
===== env: USE_PACKAGE_DEPENDS_ONLY=1 USER=root UID=0 GID=0
===========================================================================
=======================<phase: fetch          >============================
===== env: NO_DEPENDS=yes USER=root UID=0 GID=0
===>  License MIT accepted by the user
=> ccxt-4.5.78.tar.gz doesn't seem to exist in /portdistfiles.
=> Attempting to fetch https://files.pythonhosted.org/packages/source/c/ccxt/ccxt-4.5.78.tar.gz
ccxt-4.5.78.tar.gz                                    5863 kB   61 MBps    00s
===> Fetching all distfiles required by py312-ccxt-4.5.78_1 for building
===========================================================================
=======================<phase: checksum       >============================
===== env: NO_DEPENDS=yes USER=root UID=0 GID=0
===>  License MIT accepted by the user
===> Fetching all distfiles required by py312-ccxt-4.5.78_1 for building
=> SHA256 Checksum OK for ccxt-4.5.78.tar.gz.
===========================================================================
=======================<phase: extract-depends>============================
===== env: USE_PACKAGE_DEPENDS_ONLY=1 USER=root UID=0 GID=0
===========================================================================
=======================<phase: extract        >============================
===== env: NO_DEPENDS=yes USER=root UID=0 GID=0
===>  License MIT accepted by the user
===> Fetching all distfiles required by py312-ccxt-4.5.78_1 for building
===>  Extracting for py312-ccxt-4.5.78_1
=> SHA256 Checksum OK for ccxt-4.5.78.tar.gz.
===========================================================================
=======================<phase: patch-depends  >============================
===== env: USE_PACKAGE_DEPENDS_ONLY=1 USER=root UID=0 GID=0
===========================================================================
=======================<phase: patch          >============================
===== env: NO_DEPENDS=yes USER=root UID=0 GID=0
===>  Patching for py312-ccxt-4.5.78_1
===>  Applying FreeBSD patches for py312-ccxt-4.5.78_1 from /usr/ports/finance/py-ccxt/files
===========================================================================
=======================<phase: build-depends  >============================
===== env: USE_PACKAGE_DEPENDS_ONLY=1 USER=root UID=0 GID=0
===>   py312-ccxt-4.5.78_1 depends on package: py312-setuptools>0 - not found
===>   Installing existing package /packages/All/py312-setuptools-63.1.0_3.pkg
[150amd64-default-job-16] Installing py312-setuptools-63.1.0_3...
[150amd64-default-job-16] `-- Installing python312-3.12.14...
[150amd64-default-job-16] |   `-- Installing expat-2.8.4...
[150amd64-default-job-16] |   `-- Extracting expat-2.8.4: .......... done
[150amd64-default-job-16] |   `-- Installing gettext-runtime-1.0_1...
[150amd64-default-job-16] |   | `-- Installing indexinfo-0.3.1_1...
[150amd64-default-job-16] |   | `-- Extracting indexinfo-0.3.1_1: .... done
[150amd64-default-job-16] |   `-- Extracting gettext-runtime-1.0_1: .......... done
[150amd64-default-job-16] |   `-- Installing libffi-3.8.0...
[150amd64-default-job-16] |   `-- Extracting libffi-3.8.0: .......... done
[150amd64-default-job-16] |   `-- Installing mpdecimal-4.0.1...
[150amd64-default-job-16] |   `-- Extracting mpdecimal-4.0.1: .......... done
[150amd64-default-job-16] |   `-- Installing readline-8.3.3...
[150amd64-default-job-16] |   `-- Extracting readline-8.3.3: .......... done
[150amd64-default-job-16] `-- Extracting python312-3.12.14: .......... done
[150amd64-default-job-16] Extracting py312-setuptools-63.1.0_3: .......... done
=====
Message from python312-3.12.14:

--
<snip>
adding 'ccxt/test/base/language_specific/test_precise_instance.py'
adding 'ccxt/test/base/language_specific/test_throttler_performance.py'
adding 'ccxt/test/exchange/async/test_after_construct.py'
adding 'ccxt/test/exchange/async/test_create_order.py'
adding 'ccxt/test/exchange/async/test_features.py'
adding 'ccxt/test/exchange/async/test_fetch_accounts.py'
adding 'ccxt/test/exchange/async/test_fetch_balance.py'
adding 'ccxt/test/exchange/async/test_fetch_borrow_interest.py'
adding 'ccxt/test/exchange/async/test_fetch_closed_orders.py'
adding 'ccxt/test/exchange/async/test_fetch_currencies.py'
adding 'ccxt/test/exchange/async/test_fetch_deposit_withdrawals.py'
adding 'ccxt/test/exchange/async/test_fetch_deposits.py'
adding 'ccxt/test/exchange/async/test_fetch_funding_rate_history.py'
adding 'ccxt/test/exchange/async/test_fetch_l2_order_book.py'
adding 'ccxt/test/exchange/async/test_fetch_last_prices.py'
adding 'ccxt/test/exchange/async/test_fetch_ledger.py'
adding 'ccxt/test/exchange/async/test_fetch_ledger_entry.py'
adding 'ccxt/test/exchange/async/test_fetch_leverage_tiers.py'
adding 'ccxt/test/exchange/async/test_fetch_liquidations.py'
adding 'ccxt/test/exchange/async/test_fetch_margin_mode.py'
adding 'ccxt/test/exchange/async/test_fetch_margin_modes.py'
adding 'ccxt/test/exchange/async/test_fetch_market_leverage_tiers.py'
adding 'ccxt/test/exchange/async/test_fetch_markets.py'
adding 'ccxt/test/exchange/async/test_fetch_my_liquidations.py'
adding 'ccxt/test/exchange/async/test_fetch_my_trades.py'
adding 'ccxt/test/exchange/async/test_fetch_ohlcv.py'
adding 'ccxt/test/exchange/async/test_fetch_open_interest_history.py'
adding 'ccxt/test/exchange/async/test_fetch_open_orders.py'
adding 'ccxt/test/exchange/async/test_fetch_order_book.py'
adding 'ccxt/test/exchange/async/test_fetch_order_books.py'
adding 'ccxt/test/exchange/async/test_fetch_orders.py'
adding 'ccxt/test/exchange/async/test_fetch_positions.py'
adding 'ccxt/test/exchange/async/test_fetch_status.py'
adding 'ccxt/test/exchange/async/test_fetch_ticker.py'
adding 'ccxt/test/exchange/async/test_fetch_tickers.py'
adding 'ccxt/test/exchange/async/test_fetch_trades.py'
adding 'ccxt/test/exchange/async/test_fetch_trading_fee.py'
adding 'ccxt/test/exchange/async/test_fetch_trading_fees.py'
adding 'ccxt/test/exchange/async/test_fetch_transaction_fees.py'
adding 'ccxt/test/exchange/async/test_fetch_transfers.py'
adding 'ccxt/test/exchange/async/test_fetch_withdrawals.py'
adding 'ccxt/test/exchange/async/test_load_markets.py'
adding 'ccxt/test/exchange/async/test_proxies.py'
adding 'ccxt/test/exchange/async/test_sign_in.py'
adding 'ccxt/test/exchange/base/__init__.py'
adding 'ccxt/test/exchange/base/test_account.py'
adding 'ccxt/test/exchange/base/test_balance.py'
adding 'ccxt/test/exchange/base/test_borrow_interest.py'
adding 'ccxt/test/exchange/base/test_borrow_rate.py'
adding 'ccxt/test/exchange/base/test_currency.py'
adding 'ccxt/test/exchange/base/test_deposit_withdrawal.py'
adding 'ccxt/test/exchange/base/test_funding_rate_history.py'
adding 'ccxt/test/exchange/base/test_last_price.py'
adding 'ccxt/test/exchange/base/test_ledger_entry.py'
adding 'ccxt/test/exchange/base/test_leverage_tier.py'
adding 'ccxt/test/exchange/base/test_liquidation.py'
adding 'ccxt/test/exchange/base/test_margin_mode.py'
adding 'ccxt/test/exchange/base/test_margin_modification.py'
adding 'ccxt/test/exchange/base/test_market.py'
adding 'ccxt/test/exchange/base/test_ohlcv.py'
adding 'ccxt/test/exchange/base/test_open_interest.py'
adding 'ccxt/test/exchange/base/test_order.py'
adding 'ccxt/test/exchange/base/test_order_book.py'
adding 'ccxt/test/exchange/base/test_position.py'
adding 'ccxt/test/exchange/base/test_shared_methods.py'
adding 'ccxt/test/exchange/base/test_status.py'
adding 'ccxt/test/exchange/base/test_ticker.py'
adding 'ccxt/test/exchange/base/test_trade.py'
adding 'ccxt/test/exchange/base/test_trading_fee.py'
adding 'ccxt/test/exchange/base/test_transfer.py'
adding 'ccxt/test/exchange/sync/test_after_construct.py'
adding 'ccxt/test/exchange/sync/test_create_order.py'
adding 'ccxt/test/exchange/sync/test_features.py'
adding 'ccxt/test/exchange/sync/test_fetch_accounts.py'
adding 'ccxt/test/exchange/sync/test_fetch_balance.py'
adding 'ccxt/test/exchange/sync/test_fetch_borrow_interest.py'
adding 'ccxt/test/exchange/sync/test_fetch_closed_orders.py'
adding 'ccxt/test/exchange/sync/test_fetch_currencies.py'
adding 'ccxt/test/exchange/sync/test_fetch_deposit_withdrawals.py'
adding 'ccxt/test/exchange/sync/test_fetch_deposits.py'
adding 'ccxt/test/exchange/sync/test_fetch_funding_rate_history.py'
adding 'ccxt/test/exchange/sync/test_fetch_l2_order_book.py'
adding 'ccxt/test/exchange/sync/test_fetch_last_prices.py'
adding 'ccxt/test/exchange/sync/test_fetch_ledger.py'
adding 'ccxt/test/exchange/sync/test_fetch_ledger_entry.py'
adding 'ccxt/test/exchange/sync/test_fetch_leverage_tiers.py'
adding 'ccxt/test/exchange/sync/test_fetch_liquidations.py'
adding 'ccxt/test/exchange/sync/test_fetch_margin_mode.py'
adding 'ccxt/test/exchange/sync/test_fetch_margin_modes.py'
adding 'ccxt/test/exchange/sync/test_fetch_market_leverage_tiers.py'
adding 'ccxt/test/exchange/sync/test_fetch_markets.py'
adding 'ccxt/test/exchange/sync/test_fetch_my_liquidations.py'
adding 'ccxt/test/exchange/sync/test_fetch_my_trades.py'
adding 'ccxt/test/exchange/sync/test_fetch_ohlcv.py'
adding 'ccxt/test/exchange/sync/test_fetch_open_interest_history.py'
adding 'ccxt/test/exchange/sync/test_fetch_open_orders.py'
adding 'ccxt/test/exchange/sync/test_fetch_order_book.py'
adding 'ccxt/test/exchange/sync/test_fetch_order_books.py'
adding 'ccxt/test/exchange/sync/test_fetch_orders.py'
adding 'ccxt/test/exchange/sync/test_fetch_positions.py'
adding 'ccxt/test/exchange/sync/test_fetch_status.py'
adding 'ccxt/test/exchange/sync/test_fetch_ticker.py'
adding 'ccxt/test/exchange/sync/test_fetch_tickers.py'
adding 'ccxt/test/exchange/sync/test_fetch_trades.py'
adding 'ccxt/test/exchange/sync/test_fetch_trading_fee.py'
adding 'ccxt/test/exchange/sync/test_fetch_trading_fees.py'
adding 'ccxt/test/exchange/sync/test_fetch_transaction_fees.py'
adding 'ccxt/test/exchange/sync/test_fetch_transfers.py'
adding 'ccxt/test/exchange/sync/test_fetch_withdrawals.py'
adding 'ccxt/test/exchange/sync/test_load_markets.py'
adding 'ccxt/test/exchange/sync/test_proxies.py'
adding 'ccxt/test/exchange/sync/test_sign_in.py'
adding 'ccxt-4.5.78.dist-info/LICENSE.txt'
adding 'ccxt-4.5.78.dist-info/METADATA'
adding 'ccxt-4.5.78.dist-info/WHEEL'
adding 'ccxt-4.5.78.dist-info/top_level.txt'
adding 'ccxt-4.5.78.dist-info/RECORD'
removing python/build/bdist.freebsd-15.0-RELEASE-p13-amd64/wheel
Successfully built ccxt-4.5.78-py3-none-any.whl
===========================================================================
=======================<phase: run-depends    >============================
===== env: USE_PACKAGE_DEPENDS_ONLY=1 USER=root UID=0 GID=0
===>   py312-ccxt-4.5.78_1 depends on package: py312-aiohappyeyeballs>=2.7.1 - not found
===>   Installing existing package /packages/All/py312-aiohappyeyeballs-2.7.1.pkg
[150amd64-default-job-16] Installing py312-aiohappyeyeballs-2.7.1...
[150amd64-default-job-16] Extracting py312-aiohappyeyeballs-2.7.1: .......... done
===>   py312-ccxt-4.5.78_1 depends on package: py312-aiohappyeyeballs>=2.7.1 - found
===>   Returning to build of py312-ccxt-4.5.78_1
===>   py312-ccxt-4.5.78_1 depends on package: py312-aiohttp>=3.14.3 - not found
===>   Installing existing package /packages/All/py312-aiohttp-3.14.3.pkg
[150amd64-default-job-16] Installing py312-aiohttp-3.14.3...
[150amd64-default-job-16] `-- Installing llhttp-9.4.3...
[150amd64-default-job-16] `-- Extracting llhttp-9.4.3: .......... done
[150amd64-default-job-16] `-- Installing py312-aiosignal-1.4.0...
[150amd64-default-job-16] |   `-- Installing py312-frozenlist-1.8.0...
[150amd64-default-job-16] |   `-- Extracting py312-frozenlist-1.8.0: .......... done
[150amd64-default-job-16] |   `-- Installing py312-typing-extensions-4.16.0...
[150amd64-default-job-16] |   `-- Extracting py312-typing-extensions-4.16.0: .......... done
[150amd64-default-job-16] `-- Extracting py312-aiosignal-1.4.0: .......... done
[150amd64-default-job-16] `-- Installing py312-attrs-26.1.0...
[150amd64-default-job-16] `-- Extracting py312-attrs-26.1.0: .......... done
[150amd64-default-job-16] `-- Installing py312-multidict-6.8.0...
[150amd64-default-job-16] `-- Extracting py312-multidict-6.8.0: .......... done
[150amd64-default-job-16] `-- Installing py312-propcache-0.4.1_1...
[150amd64-default-job-16] `-- Extracting py312-propcache-0.4.1_1: .......... done
[150amd64-default-job-16] `-- Installing py312-yarl-1.24.5...
[150amd64-default-job-16] |   `-- Installing py312-idna-3.19...
[150amd64-default-job-16] |   `-- Extracting py312-idna-3.19: .......... done
[150amd64-default-job-16] `-- Extracting py312-yarl-1.24.5: .......... done
[150amd64-default-job-16] Extracting py312-aiohttp-3.14.3: .......... done
===>   py312-ccxt-4.5.78_1 depends on package: py312-aiohttp>=3.14.3 - found
===>   Returning to build of py312-ccxt-4.5.78_1
===>   py312-ccxt-4.5.78_1 depends on package: py312-aiosignal>=1.4.0 - found
===>   py312-ccxt-4.5.78_1 depends on package: py312-attrs>=26.1.0 - found
===>   py312-ccxt-4.5.78_1 depends on package: py312-certifi>=2026.6.17 - not found
===>   Installing existing package /packages/All/py312-certifi-2026.7.22.pkg
[150amd64-default-job-16] Installing py312-certifi-2026.7.22...
[150amd64-default-job-16] Extracting py312-certifi-2026.7.22: .......... done
===>   py312-ccxt-4.5.78_1 depends on package: py312-certifi>=2026.6.17 - found
===>   Returning to build of py312-ccxt-4.5.78_1
===>   py312-ccxt-4.5.78_1 depends on package: py312-cffi>=2.0.0 - not found
===>   Installing existing package /packages/All/py312-cffi-2.1.1.pkg
[150amd64-default-job-16] Installing py312-cffi-2.1.1...
[150amd64-default-job-16] `-- Installing py312-pycparser-2.23...
[150amd64-default-job-16] `-- Extracting py312-pycparser-2.23: .......... done
[150amd64-default-job-16] Extracting py312-cffi-2.1.1: .......... done
===>   py312-ccxt-4.5.78_1 depends on package: py312-cffi>=2.0.0 - found
===>   Returning to build of py312-ccxt-4.5.78_1
===>   py312-ccxt-4.5.78_1 depends on package: py312-charset-normalizer>=3.4.7 - not found
===>   Installing existing package /packages/All/py312-charset-normalizer-3.5.1.pkg
[150amd64-default-job-16] Installing py312-charset-normalizer-3.5.1...
[150amd64-default-job-16] Extracting py312-charset-normalizer-3.5.1: .......... done
===>   py312-ccxt-4.5.78_1 depends on package: py312-charset-normalizer>=3.4.7 - found
===>   Returning to build of py312-ccxt-4.5.78_1
===>   py312-ccxt-4.5.78_1 depends on package: py312-coincurve>=21.0.0 - not found
===>   Installing existing package /packages/All/py312-coincurve-21.0.0.pkg
[150amd64-default-job-16] Installing py312-coincurve-21.0.0...
[150amd64-default-job-16] `-- Installing py312-asn1crypto-1.5.1_1...
[150amd64-default-job-16] `-- Extracting py312-asn1crypto-1.5.1_1: .......... done
[150amd64-default-job-16] Extracting py312-coincurve-21.0.0: .......... done
===>   py312-ccxt-4.5.78_1 depends on package: py312-coincurve>=21.0.0 - found
===>   Returning to build of py312-ccxt-4.5.78_1
===>   py312-ccxt-4.5.78_1 depends on package: py312-frozenlist>=1.8.0 - found
===>   py312-ccxt-4.5.78_1 depends on package: py312-idna>=3.18 - found
===>   py312-ccxt-4.5.78_1 depends on package: py312-multidict>=6.7.1 - found
===>   py312-ccxt-4.5.78_1 depends on package: py312-orjson>=3.11.9 - not found
===>   Installing existing package /packages/All/py312-orjson-3.11.9_2.pkg
[150amd64-default-job-16] Installing py312-orjson-3.11.9_2...
[150amd64-default-job-16] Extracting py312-orjson-3.11.9_2: .......... done
===>   py312-ccxt-4.5.78_1 depends on package: py312-orjson>=3.11.9 - found
===>   Returning to build of py312-ccxt-4.5.78_1
===>   py312-ccxt-4.5.78_1 depends on package: py312-propcache>=0.5.2 - not found
===>   Installing existing package /packages/All/py312-propcache-0.4.1_1.pkg
[150amd64-default-job-16] Installing py312-propcache-0.4.1_1...
the most recent version of py312-propcache-0.4.1_1 is already installed
===>   py312-ccxt-4.5.78_1 depends on package: py312-propcache>=0.5.2 - not found
*** Error code 1

Stop.
make: stopped making "run-depends" in /usr/ports/finance/py-ccxt