Open art-den opened 8 months ago
can you post the full build logs, preferably with -v
added for more verbosity
I think you need to do
# Cross.toml
[build.env]
volumes = ["_T=/mnt/ramdisk/target_astralite"]
If you mount the target dir in docker, can the container stat the executable? I suspect not, docker doesn't follow symlinks.
docker run --rm -v /home/denis/Projects/astra_lite/target/x86_64-unknown-linux-gnu/release/astra_lite:/home/denis/Projects/astra_lite/target/x86_64-unknown-linux-gnu/release/astra_lite-it ubuntu:20.04 ls -la /home/denis/Projects/astra_lite/
The output for command
denis@denis-xubuntu:~/Projects/astra_lite$ cross-util -v run --target x86_64-unknown-linux-gnu -- "stat /home/denis/Projects/astra_lite/target/x86_64-unknown-linux-gnu/release/astra_lite"
is
+ /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-unknown-linux-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 buildx build --progress auto --label 'org.cross-rs.for-cross-target=x86_64-unknown-linux-gnu' --label 'org.cross-rs.runs-with=x86_64-unknown-linux-gnu' --label 'org.cross-rs.workspace_root=/home/denis/Projects/astra_lite' --tag localhost/cross-rs/cross-custom-astra_lite:x86_64-unknown-linux-gnu-5f8ae-pre-build --build-arg 'CROSS_CMD=dpkg --add-architecture $CROSS_DEB_ARCH
apt-get update
DEBIAN_FRONTEND=noninteractive TZ=Etc/UTC apt-get -y install tzdata
apt-get install -y libgtk-3-dev:$CROSS_DEB_ARCH dpkg dpkg-dev' --build-arg 'CROSS_DEB_ARCH=amd64' --file /home/denis/Projects/astra_lite/target/x86_64-unknown-linux-gnu/Dockerfile.x86_64-unknown-linux-gnu-custom /home/denis/Projects/astra_lite
STEP 1/4: FROM ghcr.io/cross-rs/x86_64-unknown-linux-gnu:main
STEP 2/4: ARG CROSS_DEB_ARCH=
--> Using cache acb6e470cd0039f71852bf18f3773780e7a175d1bc2124090dd802858f2c66b2
--> acb6e470cd0
STEP 3/4: ARG CROSS_CMD
--> Using cache f156e32a61b80c63e683d7a1193849318bfe5b02ebb64d7d21596fe9047eacfd
--> f156e32a61b
STEP 4/4: RUN eval "${CROSS_CMD}"
--> Using cache 811de8be035be1123a4eca7ea7841fb0085442ac83a3c57d9d2c447128f30a64
COMMIT localhost/cross-rs/cross-custom-astra_lite:x86_64-unknown-linux-gnu-5f8ae-pre-build
--> 811de8be035
Successfully tagged localhost/cross-rs/cross-custom-astra_lite:x86_64-unknown-linux-gnu-5f8ae-pre-build
Successfully tagged localhost/cross-rs/cross-custom-astra_lite_release:x86_64-unknown-linux-gnu-40e28-pre-build
811de8be035be1123a4eca7ea7841fb0085442ac83a3c57d9d2c447128f30a64
+ /usr/bin/podman run --userns host -e 'XARGO_HOME=/home/denis/.xargo' -e 'CARGO_HOME=/home/denis/.cargo' -e 'CROSS_RUST_SYSROOT=/home/denis/.rustup/toolchains/stable-x86_64-unknown-linux-gnu' -e 'CARGO_TARGET_DIR=/target' -e 'CROSS_RUNNER=' -e TERM -e 'USER=denis' -e 'CROSS_RUSTC_MAJOR_VERSION=1' -e 'CROSS_RUSTC_MINOR_VERSION=0' -e 'CROSS_RUSTC_PATCH_VERSION=0' --name cross-stable-x86_64-unknown-linux-gnu-8ded4-82e1608df-x86_64-unknown-linux-gnu-5f8ae-1707071806142 --rm -v /home/denis/.xargo:/home/denis/.xargo:z -v /home/denis/.cargo:/home/denis/.cargo:z -v /home/denis/.cargo/bin -v /home/denis/Projects/astra_lite:/home/denis/Projects/astra_lite:z -v /home/denis/.rustup/toolchains/stable-x86_64-unknown-linux-gnu:/home/denis/.rustup/toolchains/stable-x86_64-unknown-linux-gnu:z,ro -v /home/denis/Projects/astra_lite/target:/target:z -w /home/denis/Projects/astra_lite -t localhost/cross-rs/cross-custom-astra_lite:x86_64-unknown-linux-gnu-5f8ae-pre-build sh -c 'PATH="$PATH":"/home/denis/.rustup/toolchains/stable-x86_64-unknown-linux-gnu/bin" sh -c '\''stat /home/denis/Projects/astra_lite/target/x86_64-unknown-linux-gnu/release/astra_lite'\'''
stat: cannot stat '/home/denis/Projects/astra_lite/target/x86_64-unknown-linux-gnu/release/astra_lite': No such file or directory
If this is podman/docker problem I'll just not use symlinks in the target
folder path
Checklist
Describe your issue
My project's
target
directory is symlink to ramdisk folderI have no problem with building project by
cross build
. After successfulcross build
I executeand I got error
If to run
stat /home/denis/Projects/astra_lite/target/x86_64-unknown-linux-gnu/release/astra_lite
directly everything is Ok:PS: and I have no problems at all if
target
directory is not symlinkWhat target(s) are you cross-compiling for?
No response
Which operating system is the host (e.g computer cross is on) running?
What architecture is the host?
What container engine is cross using?
cross version
cross 0.2.5 (db4761b 2024-01-31)
Example
No response
Additional information / notes
No response