Open DaAwesomeP opened 2 years ago
Hello! Just checking in on this. Would it be possible to see the logs so I can assist in troubleshooting/solving?
Build log: http://paste.debian.net/1212412/
2021-08-20T22:01:18,246 Running command /usr/bin/python3 /usr/local/lib/python3.9/dist-packages/pip/_vendor/pep517/in_process/_in_process.py prepare_metadata_for_build_wheel /tmp/tmpamj5j7f6
2021-08-20T22:01:18,543 💥 maturin failed
2021-08-20T22:01:18,544 Caused by: Cargo metadata failed. Does your crate compile with `cargo build`?
2021-08-20T22:01:18,544 Caused by: `cargo metadata` exited with an error: error: failed to parse manifest at `/tmp/pip-wheel-an5a4a92/orjson_6776aa522a6845f0b3ec3a95fba399ce/Cargo.toml`
2021-08-20T22:01:18,544 Caused by:
2021-08-20T22:01:18,544 feature `resolver` is required
2021-08-20T22:01:18,545 consider adding `cargo-features = ["resolver"]` to the manifest
The Rust version 1.48 on Debian stable is too lower for orjson to build, @bennuttall what was the reason for https://github.com/piwheels/piwheels/pull/272 may I ask?
It's explained here: https://github.com/piwheels/packages/issues/188#issuecomment-778829130
Maybe things have moved on from then?
Thanks for the pointer.
Rustup is not safe for concurrent use (see https://github.com/rust-lang/rustup/issues/988) and when used concurrently will corrupt it's working area (see https://github.com/rust-lang/rustup/issues/2417).
I think this is fine for piwheels since it's only used once for installation? If it's proxies are causing issues I guess we can just install a standalone rustc/cargo without these proxies.
Cargo uses locks for safety, but these will not scale to large numbers of users, because they are not RW locks, they are mutexes.
I don't think there will be very large concurrent Cargo builds in piwheels so it's acceptable?
Actually sorry I don't think that is an accurate representation of the issue. IIRC the problem was that that adding rustup to our deploy script meant that it installed only for the root user, not for the user that would be building the package.
That should be solvable by switching to install as the build user with su - username -c "install rust command"
?
Edit: the full command is su - piwheels -c "curl https://sh.rustup.rs -sSf | sh -s -- -y"
Thanks. I'll give it a try and see.
The rustc version is now affecting cryptography 38.0.x piwheel builds on buster as well since it requires >=1.48.
I successfully compilet orjson 3.8.6
on a Raspberry Pi Model B Plus Rev 1.2 (armv6)
How can i upload it to make it available to everyone ? !
Package name
orjson
Package version
all
PyPI URL
https://pypi.org/project/orjson/
piwheels URL
https://www.piwheels.org/project/orjson/
Python version
I am the maintainer
More information
I am unsure if it is just missing a dependency or if it can't be built directly from setup.py.
https://github.com/ijl/orjson#packaging