-
Notifications
You must be signed in to change notification settings - Fork 381
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
Running Cross in distrobox with custom RUSTUP_HOME fails #1559
Comments
Im not familiar with what a distrobox is. Can you run the command with |
distrobox is a containerized development platform. It's a dev container, but which I have essentially symlinked
sure thing. Speedylemon is the name of the project and the distrobox container ⬢ [Speedylemon] ❯ cross build -v --target x86_64-pc-windows-gnu
+ cargo metadata --format-version 1 --filter-platform x86_64-pc-windows-gnu
+ rustc --print sysroot
+ rustup toolchain list
+ rustup target list --toolchain stable-x86_64-unknown-linux-gnu
+ rustup component list --toolchain stable-x86_64-unknown-linux-gnu
+ /usr/bin/podman
+ /usr/bin/podman run --userns host -e 'PKG_CONFIG_ALLOW_CROSS=1' -e 'XARGO_HOME=/xargo' -e 'CARGO_HOME=/cargo' -e 'CARGO_TARGET_DIR=/target' -e 'CROSS_RUNNER=' -e TERM -e 'USER=nathaniel' -v /home/nathaniel/Repos/speedylemon/beetlerank:/home/nathaniel/Repos/speedylemon/beetlerank -v /home/nathaniel/Repos/speedylemon/feotui:/home/nathaniel/Repos/speedylemon/feotui --rm -v /home/nathaniel/.xargo:/xargo:z -v /opt/rust/cargo:/cargo:z -v /cargo/bin -v /home/nathaniel/Repos/speedylemon:/home/nathaniel/Repos/speedylemon:z -v /opt/rust/rustup/toolchains/stable-x86_64-unknown-linux-gnu:/rust:z,ro -v /home/nathaniel/Repos/speedylemon/target:/target:z -w /home/nathaniel/Repos/speedylemon -i -t ghcr.io/cross-rs/x86_64-pc-windows-gnu:0.2.5 sh -c 'PATH=$PATH:/rust/bin cargo build -v --target x86_64-pc-windows-gnu'
Error: statfs /opt/rust/cargo: no such file or directory
+ rustup component list --toolchain stable-x86_64-unknown-linux-gnu ⬢ [Speedylemon] ❯ cross --version
cross 0.2.5
[cross] note: Falling back to `cargo` on the host.
cargo 1.81.0 (2dbb1af80 2024-08-20) I am unsure what "host" means in this case, as ❯ cross
fish: Unknown command: cross |
it appears it does not specifically have to do with the target ⬢ [Speedylemon] ❯ cross build
Error: statfs /opt/rust/cargo: no such file or directory |
and just to be thorough: ⬢ [Speedylemon] ❯ CROSS_CONTAINER_IN_CONTAINER=true cross build
Error:
0: `podman inspect bazzite` failed with exit status: 125
Stderr:
Error: no such object: "bazzite"
Stdout:
[] The name of my container is not This is the line from |
can you try I suspect this is an issue of redirection in filesystem. Could you also show me |
The cross package that's on |
⬢ [Speedylemon] ❯ cross-util run -v --target x86_64-pc-windows-gnu -i -- bash
+ /usr/bin/podman
+ /usr/bin/podman version -f '{{ .Server.Os }},,,{{ .Server.Arch }}'
+ /usr/bin/podman info -f '{{ .Version.OsArch }}'
+ cargo metadata --format-version 1 --filter-platform x86_64-pc-windows-gnu
+ rustc --print sysroot
+ /usr/bin/podman
+ /usr/bin/podman version -f '{{ .Server.Os }},,,{{ .Server.Arch }}'
+ /usr/bin/podman info -f '{{ .Version.OsArch }}'
+ /usr/bin/podman run --userns host -e 'XARGO_HOME=/home/nathaniel/.xargo' -e 'CARGO_HOME=/opt/rust/cargo' -e 'CROSS_RUST_SYSROOT=/opt/rust/rustup/toolchains/stable-x86_64-unknown-linux-gnu' -e 'CARGO_TARGET_DIR=/target' -e 'CROSS_RUNNER=' -e TERM -e 'USER=nathaniel' -e 'CROSS_RUSTC_MAJOR_VERSION=1' -e 'CROSS_RUSTC_MINOR_VERSION=0' -e 'CROSS_RUSTC_PATCH_VERSION=0' -v /home/nathaniel/Repos/speedylemon/beetlerank:/home/nathaniel/Repos/speedylemon/beetlerank:z -v /home/nathaniel/Repos/speedylemon/feotui:/home/nathaniel/Repos/speedylemon/feotui:z --name cross-stable-x86_64-unknown-linux-gnu-af38f-eeb90cda1-x86_64-pc-windows-gnu-5e68f-1726588603760 --rm -v /home/nathaniel/.xargo:/home/nathaniel/.xargo:z -v /opt/rust/cargo:/opt/rust/cargo:z -v /opt/rust/cargo/bin -v /home/nathaniel/Repos/speedylemon:/home/nathaniel/Repos/speedylemon:z -v /opt/rust/rustup/toolchains/stable-x86_64-unknown-linux-gnu:/opt/rust/rustup/toolchains/stable-x86_64-unknown-linux-gnu:z,ro -v /home/nathaniel/Repos/speedylemon/target:/target:z -w /home/nathaniel/Repos/speedylemon -t -i ghcr.io/cross-rs/x86_64-pc-windows-gnu:main sh -c 'PATH="$PATH":"/opt/rust/rustup/toolchains/stable-x86_64-unknown-linux-gnu/bin" sh -c bash'
Error: statfs /opt/rust/rustup/toolchains/stable-x86_64-unknown-linux-gnu: no such file or directory This location does have content in it. ⬢ [Speedylemon] ❯ ls /opt/rust/rustup/toolchains/stable-x86_64-unknown-linux-gnu
bin/ etc/ lib/ libexec/ share/
⬢ [Speedylemon] ❯ /usr/bin/podman info
host:
arch: amd64
buildahVersion: 1.37.2
cgroupControllers:
- cpu
- io
- memory
- pids
cgroupManager: systemd
cgroupVersion: v2
conmon:
package: conmon-2.1.12-2.fc40.x86_64
path: /usr/bin/conmon
version: 'conmon version 2.1.12, commit: '
cpuUtilization:
idlePercent: 94.63
systemPercent: 1.38
userPercent: 3.98
cpus: 16
databaseBackend: sqlite
distribution:
codename: Holographic
distribution: bazzite
variant: bazzite
version: "40"
eventLogger: journald
freeLocks: 1975
hostname: bazzite
idMappings:
gidmap:
- container_id: 0
host_id: 1000
size: 1
- container_id: 1
host_id: 524288
size: 65536
uidmap:
- container_id: 0
host_id: 1000
size: 1
- container_id: 1
host_id: 524288
size: 65536
kernel: 6.9.12-205.fsync.fc40.x86_64
linkmode: dynamic
logDriver: journald
memFree: 6345400320
memTotal: 65098477568
networkBackend: netavark
networkBackendInfo:
backend: netavark
dns:
package: aardvark-dns-1.12.2-2.fc40.x86_64
path: /usr/libexec/podman/aardvark-dns
version: aardvark-dns 1.12.2
package: netavark-1.12.2-1.fc40.x86_64
path: /usr/libexec/podman/netavark
version: netavark 1.12.2
ociRuntime:
name: crun
package: crun-1.15-1.fc40.x86_64
path: /usr/bin/crun
version: |-
crun version 1.15
commit: e6eacaf4034e84185fd8780ac9262bbf57082278
rundir: /run/user/1000/crun
spec: 1.0.0
+SYSTEMD +SELINUX +APPARMOR +CAP +SECCOMP +EBPF +CRIU +LIBKRUN +WASM:wasmedge +YAJL
os: linux
pasta:
executable: /usr/bin/pasta
package: passt-0^20240906.g6b38f07-1.fc40.x86_64
version: |
pasta 0^20240906.g6b38f07-1.fc40.x86_64
Copyright Red Hat
GNU General Public License, version 2 or later
<https://www.gnu.org/licenses/old-licenses/gpl-2.0.html>
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.
remoteSocket:
exists: true
path: /run/user/1000/podman/podman.sock
rootlessNetworkCmd: pasta
security:
apparmorEnabled: false
capabilities: CAP_CHOWN,CAP_DAC_OVERRIDE,CAP_FOWNER,CAP_FSETID,CAP_KILL,CAP_NET_BIND_SERVICE,CAP_SETFCAP,CAP_SETGID,CAP_SETPCAP,CAP_SETUID,CAP_SYS_CHROOT
rootless: true
seccompEnabled: true
seccompProfilePath: /usr/share/containers/seccomp.json
selinuxEnabled: true
serviceIsRemote: false
slirp4netns:
executable: /usr/bin/slirp4netns
package: slirp4netns-1.2.2-2.fc40.x86_64
version: |-
slirp4netns version 1.2.2
commit: 0ee2d87523e906518d34a6b423271e4826f71faf
libslirp: 4.7.0
SLIRP_CONFIG_VERSION_MAX: 4
libseccomp: 2.5.5
swapFree: 1310453760
swapTotal: 4294963200
uptime: 45h 32m 6.00s (Approximately 1.88 days)
variant: ""
plugins:
authorization: null
log:
- k8s-file
- none
- passthrough
- journald
network:
- bridge
- macvlan
- ipvlan
volume:
- local
registries:
search:
- registry.fedoraproject.org
- registry.access.redhat.com
- docker.io
store:
configFile: /var/home/nathaniel/.config/containers/storage.conf
containerStore:
number: 4
paused: 0
running: 4
stopped: 0
graphDriverName: overlay
graphOptions: {}
graphRoot: /var/home/nathaniel/.local/share/containers/storage
graphRootAllocated: 1998694907904
graphRootUsed: 157631664128
graphStatus:
Backing Filesystem: btrfs
Native Overlay Diff: "true"
Supports d_type: "true"
Supports shifting: "false"
Supports volatile: "true"
Using metacopy: "false"
imageCopyTmpDir: /var/tmp
imageStore:
number: 16
runRoot: /run/user/1000/containers
transientStore: false
volumePath: /var/home/nathaniel/.local/share/containers/storage/volumes
version:
APIVersion: 5.2.2
Built: 1724198400
BuiltTime: Tue Aug 20 18:00:00 2024
GitCommit: ""
GoVersion: go1.22.6
Os: linux
OsArch: linux/amd64
Version: 5.2.2 ⬢ [Speedylemon] ❯ /usr/bin/podman version
Client: Podman Engine
Version: 5.2.2
API Version: 5.2.2
Go Version: go1.22.6
Built: Tue Aug 20 18:00:00 2024
OS/Arch: linux/amd64 |
I just tried re-installing rust into the default location instead of |
interesting, there shouldn't be anything like that, all paths are grabbed from rustup in path |
I wonder if maybe I just didn't set enough environment variables for moving rust into Here are the variables I set (fish shell):
|
I am trying to build for
x86_64-pc-windows-gnu
from a Linux PC using Cross. I am in a distrobox environment (fedora toolbox 40) to contain the cross-compliation stuff separate from the rest of my dev environment.my current default toolchain is
stable-x86_64-unknown-linux-gnu
I have:
CARGO_HOME=/opt/rust/cargo
RUSTUP_HOME/opt/rust/rustup
the permissions on /opt/rust are
my_user:my_user 755
When trying to run
cross build --target x86_64-pc-windows-gnu
, I get the following error:Error: statfs /opt/rust/cargo: no such file or directory
The text was updated successfully, but these errors were encountered: