Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Missing manifest file issue #1469

Closed
4 of 11 tasks
makspll opened this issue Apr 4, 2024 · 5 comments
Closed
4 of 11 tasks

Missing manifest file issue #1469

makspll opened this issue Apr 4, 2024 · 5 comments

Comments

@makspll
Copy link

makspll commented Apr 4, 2024

Checklist

Describe your issue

Cross randomly stopped working in our CI at bevy_mod_scripting, as described here: houseabsolute/actions-rust-cross#15

What target(s) are you cross-compiling for?

aarch64-unknown-linux-gnu

Which operating system is the host (e.g computer cross is on) running?

  • macOS
  • Windows
  • Linux / BSD
  • other OS (specify in description)

What architecture is the host?

  • x86_64 / AMD64
  • arm32
  • arm64 (including Mac M1)

What container engine is cross using?

  • docker
  • podman
  • other container engine (specify in description)

cross version

0.2.5

Example

cross +stable test --workspace --features=lua54,rhai,teal,lua_script_api,rhai_script_api,rune --profile=ephemeral-build --target aarch64-unknown-linux-gnu -vv

in root of the workspace at: https://github.com/makspll/bevy_mod_scripting

Causes:

 error: failed to load manifest for workspace member `/project/crates/bevy_script_api`
Caused by:
  failed to load manifest for dependency `bevy_mod_scripting_lua_derive`
Caused by:
  failed to load manifest for dependency `bevy_mod_scripting`
Caused by:
  failed to read `/bevy_mod_scripting/Cargo.toml`
Caused by:
  No such file or directory (os error 2)
Error: Process completed with exit code 101.

Additional information / notes

No response

@Emilgardis
Copy link
Member

I think this is an issue of us not properly resolving workspaces, so we don't grab the correct paths.

failed to read `/bevy_mod_scripting/Cargo.toml`

looks very wrong.

This was supposed to be fixed with #684 but I think an assumption done there has been broken.

Should be fixed with #939, can you reproduce the issue with cross installed from the main branch?

@Emilgardis
Copy link
Member

@Emilgardis
Copy link
Member

Emilgardis commented Apr 4, 2024

Sorry, linked the wrong line, should be https://github.com/makspll/bevy_mod_scripting/blob/10dcca992a5bdcd172b293e54a3f6dcdbbd848f2/crates/languages/bevy_mod_scripting_lua_derive/Cargo.toml#L43

the problem is basically that you're traversing down to much, if anything it should be path = "../../..", fixing that line makes the project build for me on cross 0.2.5

@Emilgardis
Copy link
Member

Emilgardis commented Apr 4, 2024

So to summarize, cross 0.2.5 mounts the cargo workspace at /project, the manifest at $workspace/crates/languages/bevy_mod_scripting_lua_derive/Cargo.toml points to a folder that travels one folder outside the workspace, ../../../../bevy_mod_scripting. The fourth .. is / meaning the path becomes /bevy_mod_scripting which is not correct for how the workspace is mounted.

You can reproduce this issue without cross by renaming the repos folder to something else, here's me doing it on windows by renaming bevy_mod_scripting to bevy_mod_scripting_renamed

error: failed to load manifest for workspace member `G:\workspace\bevy_mod_scripting_renamed\crates\bevy_script_api`

Caused by:
  failed to load manifest for dependency `bevy_mod_scripting_lua_derive`

Caused by:
  failed to load manifest for dependency `bevy_mod_scripting`

Caused by:
  failed to read `G:\workspace\bevy_mod_scripting\Cargo.toml`

Caused by:
  The system cannot find the path specified. (os error 3)

@makspll
Copy link
Author

makspll commented Apr 4, 2024

Oh good catch! I wonder why this doesn't break on a normal build?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants