indygreg / indygreg/PyOxidizer
Build using new PyOxidizer against old pyembed fails
Nobody has claimed this yet.
- Dominant language
- Rust
- Stars
- 6.2k
- Forks
- 256
- PR merge metrics
- No merged PRs in 30d
Description
I deleted a build directory in an old project, and tried to rebuild with a new pyoxidizer, and it broke because pyembed was old and didnt match.
Perhaps minor versions of pyoxidizer should require pyembed from prior minor versions in old projects are re-created.
Or some other way to prevent the user watching a full build occur only to see it fail near the end.
error[E0560]: struct `config::PythonConfig` has no field named `sys_frozen`
--> /home/jayvdb/pyox/pyapp/build/target/x86_64-unknown-linux-gnu/debug/pyoxidizer/data.rs:27:9
|
27 | sys_frozen: false,
| ^^^^^^^^^^ `config::PythonConfig` does not have this field
|
= note: available fields are: `standard_io_encoding`, `standard_io_errors`, `opt_level`, `use_custom_importlib`, `filesystem_importer` ... and 16 others
error[E0560]: struct `config::PythonConfig` has no field named `sys_meipass`
--> /home/jayvdb/pyox/pyapp/build/target/x86_64-unknown-linux-gnu/debug/pyoxidizer/data.rs:28:9
|
28 | sys_meipass: false,
| ^^^^^^^^^^^ `config::PythonConfig` does not have this field
|
= note: available fields are: `standard_io_encoding`, `standard_io_errors`, `opt_level`, `use_custom_importlib`, `filesystem_importer` ... and 16 others
error: aborting due to 2 previous errors
For more information about this error, try `rustc --explain E0560`.
error: Could not compile `pyembed`
Contributor guide
No contributing guide indexed for this repository
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Reproduce the rebuild with an old project and a newer PyOxidizer, using the generated build/target/.../pyoxidizer/data.rs path and the reported pyembed compilation errors as the starting point. Determine how the old pyembed and new generated data.rs become incompatible; done means the mismatch is detected or avoided before the full build reaches compilation.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- python, rust
- Domain
- build-system
- Issue type
- Bug
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Stale
- Clarity
- Needs clarification
- Newbie friendliness
- 28/100