Comments (10)
Can you reproduce it by running a debug version of maturin
so we can get a backtrace with line information? Clone the repository and run
cargo run build -i /usr/local/bin/python3.9 -m <path to rpds-py Cargo.toml>
from maturin.
FYI I'm unable to reproduce it on aarch64 FreeBSD 13.2, and I don't have a x86_64 machine so I can't investigate further.
from maturin.
I have no experience with cargo or maturin. A simple git clone of the maturin repo and "cargo run build ...." is enough?
Would it be ok to build a debug version of maturin out of the 1.2.0 release? If yes, how would I do that (something to add to the cargo build args?)? That would be easy for me, I could modify the FreeBSD port metadata (either by adding env variables for the build, or args for cargo, or patching files before the build) to generate the debug build inside the package building infrastructure and use it in the same way which generates the issue. If I simply install the prerequisites of maturin and rdps-py I will not have the same operation environment as the package building does (it runs in a very pristine environment, newly created for each build, every normal system is "polluted" compared to that).
from maturin.
A simple git clone of the maturin repo and "cargo run build ...." is enough?
Yes, provided you have rust installed.
Would it be ok to build a debug version of maturin out of the 1.2.0 release?
Sure, probably just need to add debug=True
to
Line 68 in c30d01a
RustBin("maturin", args=cargo_args, cargo_manifest_args=["--locked"], debug=True)
from maturin.
This is the complete build log with the debug version of maturin. The backtrace is at the end.
from maturin.
Thanks, the backtrace points the panic to deserialization of pyproject.toml
with toml_edit, which might indicate bug in toml_edit
so it's not directly fixable in maturin.
Can you also try the main branch using cargo run build -i /usr/local/bin/python3.9 -m <path to rpds-py Cargo.toml>
to see if it also occurs on main?
from maturin.
How do you create an official release from the git repo? I would like to generate a file like an official release to be able to use it inside the package building infrastructure. This way I can be sure I have the same execution environment.
from maturin.
You can run maturin sdist
(using maturin 1.2.x) on main branch to generate a source distribution for maturin itself.
from maturin.
Yes, the main branch as of today has the same problem. At the same time we noticed a bug in some string functions in FreeBSD (they got a SIMD optimisation recently). A fix affecting very long buffer sizes for memchr() to FreeBSD was committed yesterday. As toml is a string-heavy thing, it looks to me the likelyhood of this bug affecting toml is >0... at least it is worth a look to check if it is causing this.
I think we can close this issue, as it is in a depdendency of maturin.
from maturin.
I found the issue which caused this.
I do a cross-build of maturin for another system. The build system is an Intel Xeon. The target system is a slow AMD Athlon system. I compile for the target with cputype amdfam10 and with -fvectorize. maturin (with target amdfam10 and -fvectorize) is then run in the build on the Intel build system. If I exclude the cputype and the vectorizing switch for the maturin build, the use of it on the build system works. I have not tested if only not using one of those is enough.
So this is a compiler options + CPU arch issue, not really a code issue.
from maturin.
Related Issues (20)
- [bug] Maturin's wheel contains two copies of LICENSE when using license-file in workspace crate Cargo.toml
- data always set file permission as executable HOT 1
- Ability to specify `tool.maturin.source` similar to `tool.poetry.source` HOT 2
- generate-ci'd emscripten pytest fails before reaching module code HOT 5
- Cannot figure out how to use `--config` to override a value from the pyproject.toml HOT 2
- .sig/.crt signing artifacts no longer uploaded to Github Releases HOT 1
- What happened to `maturin new`?
- CARGO=cross uses wrong --manifest-path HOT 2
- Compile UniFFI interfaces defined in sibling libraries HOT 5
- Allow for env to silence "missing build backend" warning HOT 3
- Use user-specified library search paths in `RUSTFLAGS` in auditwheel HOT 1
- Maturin infers target is apple darwin on linux HOT 6
- Improve iOS target support
- Allow overriding python platform with `_PYTHON_HOST_PLATFORM` env var HOT 4
- RECORD file is missing entries for some files HOT 7
- Windows aarch64 build fails: "no cab files were referenced by the MSI" HOT 2
- Adapt rustc 1.79 HOT 1
- Package Independent Configuration
- Generated Github release workflow does not build wheels for Python 3.8 - 3.10 for MacOS HOT 1
- Maturin is buggy when Cargo.toml sets `license-file.workspace = true` HOT 1
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from maturin.