#68618 closed defect (fixed)

py37-orjson: error[E0560]: struct `pyo3_ffi::PyTypeObject` has no field named `tp_vectorcall`

Reported by: cooljeanius (Eric Gallager) Owned by: tobypeterson
Priority: Normal Milestone:
Component: ports Version: 2.8.1
Keywords: Cc: tobypeterson
Port: py37-orjson

Description

attempting to upgrade py37-orjson results in the following error:

   Compiling pyo3-ffi v0.20.0
   Compiling orjson v3.9.10 (/opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_macports_release_tarballs_ports_python_py-orjson/py37-orjson/work/orjson-3.9.10)
   Compiling beef v0.5.2
   Compiling compact_str v0.7.1
   Compiling arrayvec v0.7.4
error[E0560]: struct `pyo3_ffi::PyTypeObject` has no field named `tp_vectorcall`
  --> src/ffi/fragment.rs:98:9
   |
98 |         tp_vectorcall: None,
   |         ^^^^^^^^^^^^^ `pyo3_ffi::PyTypeObject` does not have this field
   |
   = note: available fields are: `ob_base`, `tp_name`, `tp_basicsize`, `tp_itemsize`, `tp_dealloc` ... and 43 others

error[E0560]: struct `pyo3_ffi::PyTypeObject` has no field named `tp_vectorcall_offset`
   --> src/ffi/fragment.rs:103:9
    |
103 |         tp_vectorcall_offset: 0,
    |         ^^^^^^^^^^^^^^^^^^^^ `pyo3_ffi::PyTypeObject` does not have this field
    |
    = note: available fields are: `ob_base`, `tp_name`, `tp_basicsize`, `tp_itemsize`, `tp_dealloc` ... and 43 others

error[E0425]: cannot find function, tuple struct or tuple variant `PyVectorcall_NARGS` in this scope
   --> src/lib.rs:308:20
    |
308 |     let num_args = PyVectorcall_NARGS(nargs as usize);
    |                    ^^^^^^^^^^^^^^^^^^ not found in this scope

Some errors have detailed explanations: E0425, E0560.
For more information about an error, try `rustc --explain E0425`.
error: could not compile `orjson` (lib) due to 3 previous errors
💥 maturin failed
  Caused by: Failed to build a native library through cargo
  Caused by: Cargo build finished with "exit status: 101": `CARGO_ENCODED_RUSTFLAGS="--remap-path-prefix=/opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_macports_release_tarballs_ports_python_py-orjson/py37-orjson/work/orjson-3.9.10=\u{1f}--remap-path-prefix=/opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_macports_release_tarballs_ports_python_py-orjson/py37-orjson/work/.home/.cargo=" PYO3_ENVIRONMENT_SIGNATURE="cpython-3.7-64bit" PYO3_PYTHON="/opt/local/Library/Frameworks/Python.framework/Versions/3.7/bin/python3.7" PYTHON_SYS_EXECUTABLE="/opt/local/Library/Frameworks/Python.framework/Versions/3.7/bin/python3.7" "cargo" "rustc" "--target" "x86_64-apple-darwin" "--message-format" "json-render-diagnostics" "--manifest-path" "/opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_macports_release_tarballs_ports_python_py-orjson/py37-orjson/work/orjson-3.9.10/Cargo.toml" "--release" "--lib" "--" "-C" "link-arg=-undefined" "-C" "link-arg=dynamic_lookup" "-C" "link-args=-Wl,-install_name,@rpath/orjson.cpython-37m-darwin.so"`
Error: command ['maturin-3.7', 'pep517', 'build-wheel', '-i', '/opt/local/Library/Frameworks/Python.framework/Versions/3.7/bin/python3.7', '--compatibility', 'off'] returned non-zero exit status 1

ERROR Backend subprocess exited when trying to invoke build_wheel
Command failed:  cd "/opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_macports_release_tarballs_ports_python_py-orjson/py37-orjson/work/orjson-3.9.10" && /opt/local/Library/Frameworks/Python.framework/Versions/3.7/bin/python3.7 -m build --no-isolation --wheel --outdir /opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_macports_release_tarballs_ports_python_py-orjson/py37-orjson/work 
Exit code: 1
Error: Failed to build py37-orjson: command execution failed
DEBUG: Error code: CHILDSTATUS 81119 1
DEBUG: Backtrace: command execution failed
    while executing
"system {*}$notty {*}$callback {*}$nice $fullcmdstring"
    invoked from within
"command_exec -callback portprogress::target_progress_callback build"
    (procedure "portbuild::build_main" line 8)
    invoked from within
"$procedure $targetname"

The 3.9.8 release notes explicitly said that they dropped support for Python 3.7, so I guess this was to be expected: https://github.com/ijl/orjson/releases/tag/3.9.8 I still have py37-orjson @3.9.7_0 installed, so maybe just pin it to that version?

Attachments (1)

py37-orjson_main.log (40.4 KB) - added by cooljeanius (Eric Gallager) 12 months ago.
main.log for py37-orjson

Download all attachments as: .zip

Change History (3)

Changed 12 months ago by cooljeanius (Eric Gallager)

Attachment: py37-orjson_main.log added

main.log for py37-orjson

comment:1 Changed 12 months ago by tobypeterson

Sorry about this. Nothing depends on py37-orjson, will remove.

comment:2 Changed 12 months ago by tobypeterson

Owner: set to tobypeterson
Resolution: fixed
Status: newclosed

In 66cf6f23f08f5ccf31782935612144c1752e4b5c/macports-ports (master):

py-orjson: remove python 3.7 support

fixes #68618

Note: See TracTickets for help on using tickets.