arvidn / libtorrent

an efficient feature complete C++ bittorrent implementation
http://libtorrent.org
Other
5.27k stars 997 forks source link

Build fails with python3.13 #7798

Open cursedgrape opened 1 week ago

cursedgrape commented 1 week ago

Please provide the following information

libtorrent version (or branch): RC_2_0

platform/architecture: macOS Monterey, 12.7.6

compiler and compiler version: clang 14.0.0

please describe what symptom you see, what you would expect to see instead and how to reproduce it.

When I run python3.12 setup.py build, it works just fine. If I use 3.13 instead, I get the error below:

% python3.13 setup.py build
running build
running build_ext
b2 version: (1, 5, 2, 1)
project-config.jam contents:
import feature ;
feature.feature libtorrent-python : on ;
using python : 3.13 : "/usr/local/opt/python@3.13/bin/python3.13" : "/usr/local/opt/python@3.13/Frameworks/Python.framework/Versions/3.13/include/python3.13" : __BLOCK_AUTODETECTION__ : <libtorrent-python>on : ".cpython-313-darwin" ;

b2 cxxstd=14 toolset=darwin deprecated-functions=on boost-link=static libtorrent-link=static crypto=openssl variant=release address-model=64 architecture=x86 python=3.13 libtorrent-python=on python-install-path=/Users/user/Desktop/libtorrent/bindings/python/build/lib.macosx-12.0-x86_64-cpython-313 install_module --project-config=/var/folders/kc/01v9rj0966517d47hv_sxhpc0000gn/T/tmptg7ka4pl
CXXFLAGS =
LDFLAGS =
OS = MACOSX
CXXFLAGS =
LDFLAGS =
warning: non-free usage requirements <visibility>hidden ignored
warning: in main-target torrent at ../../Jamfile:978
...patience...
...patience...
...patience...
...patience...
...patience...
...patience...
...found 6734 targets...
...updating 2 targets...
darwin.link.dll bin/darwin-14.0.0/release/address-model-64/architecture-x86/cxxstd-14-iso/python-3.13/libtorrent.cpython-313-darwin.so
ld: warning: directory not found for option '-L/opt/homebrew/lib'
ld: warning: directory not found for option '-L/opt/homebrew/opt/openssl/lib'
ld: warning: option -no_dead_strip_inits_and_terms is obsolete and being ignored
ld: library not found for -lboost_python313
clang: error: linker command failed with exit code 1 (use -v to see invocation)

    "g++" -dynamiclib -Wl,-single_module -install_name "libtorrent.cpython-313-darwin.so" -L"/opt/homebrew/lib" -L"/opt/homebrew/opt/openssl/lib" -L"/usr/local/opt/boost/lib" -L"/usr/local/opt/openssl/lib" -o "bin/darwin-14.0.0/release/address-model-64/architecture-x86/cxxstd-14-iso/python-3.13/libtorrent.cpython-313-darwin.so" "bin/darwin-14.0.0/release/address-model-64/architecture-x86/cxxstd-14-iso/python-3.13/src/module.o" "bin/darwin-14.0.0/release/address-model-64/architecture-x86/cxxstd-14-iso/python-3.13/src/sha1_hash.o" "bin/darwin-14.0.0/release/address-model-64/architecture-x86/cxxstd-14-iso/python-3.13/src/sha256_hash.o" "bin/darwin-14.0.0/release/address-model-64/architecture-x86/cxxstd-14-iso/python-3.13/src/info_hash.o" "bin/darwin-14.0.0/release/address-model-64/architecture-x86/cxxstd-14-iso/python-3.13/src/converters.o" "bin/darwin-14.0.0/release/address-model-64/architecture-x86/cxxstd-14-iso/python-3.13/src/create_torrent.o" "bin/darwin-14.0.0/release/address-model-64/architecture-x86/cxxstd-14-iso/python-3.13/src/fingerprint.o" "bin/darwin-14.0.0/release/address-model-64/architecture-x86/cxxstd-14-iso/python-3.13/src/utility.o" "bin/darwin-14.0.0/release/address-model-64/architecture-x86/cxxstd-14-iso/python-3.13/src/session.o" "bin/darwin-14.0.0/release/address-model-64/architecture-x86/cxxstd-14-iso/python-3.13/src/entry.o" "bin/darwin-14.0.0/release/address-model-64/architecture-x86/cxxstd-14-iso/python-3.13/src/torrent_info.o" "bin/darwin-14.0.0/release/address-model-64/architecture-x86/cxxstd-14-iso/python-3.13/src/string.o" "bin/darwin-14.0.0/release/address-model-64/architecture-x86/cxxstd-14-iso/python-3.13/src/torrent_handle.o" "bin/darwin-14.0.0/release/address-model-64/architecture-x86/cxxstd-14-iso/python-3.13/src/torrent_status.o" "bin/darwin-14.0.0/release/address-model-64/architecture-x86/cxxstd-14-iso/python-3.13/src/session_settings.o" "bin/darwin-14.0.0/release/address-model-64/architecture-x86/cxxstd-14-iso/python-3.13/src/version.o" "bin/darwin-14.0.0/release/address-model-64/architecture-x86/cxxstd-14-iso/python-3.13/src/alert.o" "bin/darwin-14.0.0/release/address-model-64/architecture-x86/cxxstd-14-iso/python-3.13/src/datetime.o" "bin/darwin-14.0.0/release/address-model-64/architecture-x86/cxxstd-14-iso/python-3.13/src/peer_info.o" "bin/darwin-14.0.0/release/address-model-64/architecture-x86/cxxstd-14-iso/python-3.13/src/ip_filter.o" "bin/darwin-14.0.0/release/address-model-64/architecture-x86/cxxstd-14-iso/python-3.13/src/magnet_uri.o" "bin/darwin-14.0.0/release/address-model-64/architecture-x86/cxxstd-14-iso/python-3.13/src/error_code.o" "bin/darwin-14.0.0/release/address-model-64/architecture-x86/cxxstd-14-iso/python-3.13/src/load_torrent.o" "../../bin/darwin-14.0.0/release/address-model-64/architecture-x86/cxxstd-14-iso/link-static/threading-multi/visibility-hidden/libtorrent-rasterbar.a" "../../deps/try_signal/bin/darwin-14.0.0/release/address-model-64/architecture-x86/cxxstd-14-iso/link-static/threading-multi/visibility-hidden/libtry_signal.a"  -lssl -lcrypto -lboost_python313 -lboost_system-mt -lssl -lcrypto  -framework CoreFoundation -framework SystemConfiguration -headerpad_max_install_names -fPIC -m64 -std=c++14 -Wl,-dead_strip -no_dead_strip_inits_and_terms -undefined dynamic_lookup

...failed darwin.link.dll bin/darwin-14.0.0/release/address-model-64/architecture-x86/cxxstd-14-iso/python-3.13/libtorrent.cpython-313-darwin.so...
...skipped <p/Users/user/Desktop/libtorrent/bindings/python/build/lib.macosx-12.0-x86_64-cpython-313>libtorrent.cpython-313-darwin.so for lack of <pbin/darwin-14.0.0/release/address-model-64/architecture-x86/cxxstd-14-iso/python-3.13>libtorrent.cpython-313-darwin.so...

...skipped 1 target...
   <p/Users/user/Desktop/libtorrent/bindings/python/build/lib.macosx-12.0-x86_64-cpython-313>libtorrent.cpython-313-darwin.so

...failed updating 1 target...
   darwin.link.dll bin/darwin-14.0.0/release/address-model-64/architecture-x86/cxxstd-14-iso/python-3.13/libtorrent.cpython-313-darwin.so
Traceback (most recent call last):
  File "/Users/user/Desktop/libtorrent/setup.py", line 6, in <module>
    runpy.run_path("setup.py")
    ~~~~~~~~~~~~~~^^^^^^^^^^^^
  File "<frozen runpy>", line 287, in run_path
  File "<frozen runpy>", line 98, in _run_module_code
  File "<frozen runpy>", line 88, in _run_code
  File "setup.py", line 505, in <module>
    setuptools.setup(
    ~~~~~~~~~~~~~~~~^
        name="libtorrent",
        ^^^^^^^^^^^^^^^^^^
    ...<13 lines>...
        ],
        ^^
    )
    ^
  File "/Users/user/Library/Python/3.13/lib/python/site-packages/setuptools/__init__.py", line 117, in setup
    return distutils.core.setup(**attrs)
           ~~~~~~~~~~~~~~~~~~~~^^^^^^^^^
  File "/Users/user/Library/Python/3.13/lib/python/site-packages/setuptools/_distutils/core.py", line 183, in setup
    return run_commands(dist)
  File "/Users/user/Library/Python/3.13/lib/python/site-packages/setuptools/_distutils/core.py", line 199, in run_commands
    dist.run_commands()
    ~~~~~~~~~~~~~~~~~^^
  File "/Users/user/Library/Python/3.13/lib/python/site-packages/setuptools/_distutils/dist.py", line 954, in run_commands
    self.run_command(cmd)
    ~~~~~~~~~~~~~~~~^^^^^
  File "/Users/user/Library/Python/3.13/lib/python/site-packages/setuptools/dist.py", line 950, in run_command
    super().run_command(command)
    ~~~~~~~~~~~~~~~~~~~^^^^^^^^^
  File "/Users/user/Library/Python/3.13/lib/python/site-packages/setuptools/_distutils/dist.py", line 973, in run_command
    cmd_obj.run()
    ~~~~~~~~~~~^^
  File "/Users/user/Library/Python/3.13/lib/python/site-packages/setuptools/_distutils/command/build.py", line 135, in run
    self.run_command(cmd_name)
    ~~~~~~~~~~~~~~~~^^^^^^^^^^
  File "/Users/user/Library/Python/3.13/lib/python/site-packages/setuptools/_distutils/cmd.py", line 316, in run_command
    self.distribution.run_command(command)
    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^
  File "/Users/user/Library/Python/3.13/lib/python/site-packages/setuptools/dist.py", line 950, in run_command
    super().run_command(command)
    ~~~~~~~~~~~~~~~~~~~^^^^^^^^^
  File "/Users/user/Library/Python/3.13/lib/python/site-packages/setuptools/_distutils/dist.py", line 973, in run_command
    cmd_obj.run()
    ~~~~~~~~~~~^^
  File "setup.py", line 348, in run
    self._build_extension_with_b2()
    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^
  File "setup.py", line 355, in _build_extension_with_b2
    subprocess.run(command, cwd=PYTHON_BINDING_DIR, check=True)
    ~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/local/Cellar/python@3.13/3.13.0_1/Frameworks/Python.framework/Versions/3.13/lib/python3.13/subprocess.py", line 577, in run
    raise CalledProcessError(retcode, process.args,
                             output=stdout, stderr=stderr)
subprocess.CalledProcessError: Command '['b2', 'cxxstd=14', 'toolset=darwin', 'deprecated-functions=on', 'boost-link=static', 'libtorrent-link=static', 'crypto=openssl', 'variant=release', 'address-model=64', 'architecture=x86', 'python=3.13', 'libtorrent-python=on', 'python-install-path=/Users/user/Desktop/libtorrent/bindings/python/build/lib.macosx-12.0-x86_64-cpython-313', 'install_module', '--project-config=/var/folders/kc/01v9rj0966517d47hv_sxhpc0000gn/T/tmptg7ka4pl']' returned non-zero exit status 1.