simba icon indicating copy to clipboard operation
simba copied to clipboard

Compile from linux guest with a mount to a Windows 11 host

Open plopidou opened this issue 7 months ago • 0 comments

Hello!

I know the setup is somewhat... bizarre, but still posting here in case someone knows! :)

  • Host: Windows 11
  • VirtualBox 7.16
  • Guest: Rocky Linux 9 5.14.0-503.40.1.el9_5.x86_64
  • Rust on guest: 1.85 stable
  • Cargo v1.85
  • target x86_64-unknown-linux-gnu
  • edition 2024 in Cargo.toml

A quick test 100% local to the guest of course works: $ cd /tmp $ cargo new simba_test $ cd simba_test $ vi Cargo.toml ## and add simba="0.9.0" $ cargo build -r

--> all good!

However, when the target directory is inside a mount (and with simba a dependency of nalgebra):

$ findmnt
<snip>
├─/home                                 /dev/mapper/rl_vbox-home
│                                                  xfs        rw,relatime,attr2,inode64,logbufs=8,logbsize=32k,noquota
│ ├─/home/joe/web                       gal        vboxsf     rw,nodev,relatime,iocharset=utf8,uid=0,gid=0
│ ├─/home/joe/adj                       gal        vboxsf     rw,nodev,relatime,iocharset=utf8,uid=0,gid=0
│ └─/home/joe/tsk                       gal        vboxsf     rw,nodev,relatime,iocharset=utf8,uid=0,gid=0

</snip>

then cargo build -r (actually invoked via maturin but that does not seem to be the issue) results in:

   Compiling nalgebra v0.33.2
     Running `/home/joe/.rustup/toolchains/stable-x86_64-unknown-linux-gnu/bin/rustc --crate-name nalgebra --edition=2018 /home/joe/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/nalgebra-0.33.2/src/lib.rs --error-format=json --json=diagnostic-rendered-ansi,artifacts,future-incompat --diagnostic-width=158 --crate-type lib --emit=dep-info,metadata,link -C opt-level=3 -C linker-plugin-lto -C codegen-units=1 --cfg 'feature="default"' --cfg 'feature="macros"' --cfg 'feature="matrixmultiply"' --cfg 'feature="nalgebra-macros"' --cfg 'feature="std"' --check-cfg 'cfg(docsrs,test)' --check-cfg 'cfg(feature, values("alga", "alloc", "arbitrary", "bytemuck", "compare", "convert-bytemuck", "convert-glam014", "convert-glam015", "convert-glam016", "convert-glam017", "convert-glam018", "convert-glam019", "convert-glam020", "convert-glam021", "convert-glam022", "convert-glam023", "convert-glam024", "convert-glam025", "convert-glam027", "convert-glam028", "convert-glam029", "convert-mint", "debug", "default", "glam014", "glam015", "glam016", "glam017", "glam018", "glam019", "glam020", "glam021", "glam022", "glam023", "glam024", "glam025", "glam027", "glam028", "glam029", "io", "libm", "libm-force", "macros", "matrixcompare-core", "matrixmultiply", "mint", "nalgebra-macros", "pest", "pest_derive", "proptest", "proptest-support", "quickcheck", "rand", "rand-no-std", "rand-package", "rand_distr", "rayon", "rkyv", "rkyv-safe-deser", "rkyv-serialize", "rkyv-serialize-no-std", "serde", "serde-serialize", "serde-serialize-no-std", "slow-tests", "sparse", "std"))' -C metadata=8173ce445259d2bc -C extra-filename=-a09e9538a34023b9 --out-dir /home/joe/adj/gal/rust/target/x86_64-unknown-linux-gnu/release/deps --target x86_64-unknown-linux-gnu -C strip=symbols -L dependency=/home/joe/adj/gal/rust/target/x86_64-unknown-linux-gnu/release/deps -L dependency=/home/joe/adj/gal/rust/target/release/deps --extern approx=/home/joe/adj/gal/rust/target/x86_64-unknown-linux-gnu/release/deps/libapprox-88470d1529b78188.rmeta --extern matrixmultiply=/home/joe/adj/gal/rust/target/x86_64-unknown-linux-gnu/release/deps/libmatrixmultiply-ef37e0e5b60c59c9.rmeta --extern nalgebra_macros=/home/joe/adj/gal/rust/target/release/deps/libnalgebra_macros-9821e64f5316fbe8.so --extern num_complex=/home/joe/adj/gal/rust/target/x86_64-unknown-linux-gnu/release/deps/libnum_complex-201ad773d593ddaa.rmeta --extern num_rational=/home/joe/adj/gal/rust/target/x86_64-unknown-linux-gnu/release/deps/libnum_rational-328dcea9732ceea3.rmeta --extern num_traits=/home/joe/adj/gal/rust/target/x86_64-unknown-linux-gnu/release/deps/libnum_traits-2a265a66dd2daa5e.rmeta --extern simba=/home/joe/adj/gal/rust/target/x86_64-unknown-linux-gnu/release/deps/libsimba-ef558ffd236854ac.rmeta --extern typenum=/home/joe/adj/gal/rust/target/x86_64-unknown-linux-gnu/release/deps/libtypenum-d6d626cb8f7af422.rmeta --cap-lints allow`
error: failed to build archive at `/home/joe/adj/gal/rust/target/x86_64-unknown-linux-gnu/release/deps/libsimba-ef558ffd236854ac.rlib`: Bad address (os error 14)

error: could not compile `simba` (lib) due to 1 previous error

Caused by:
  process didn't exit successfully: `/home/joe/.rustup/toolchains/stable-x86_64-unknown-linux-gnu/bin/rustc --crate-name simba --edition=2018 /home/joe/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/simba-0.9.0/src/lib.rs --error-format=json --json=diagnostic-rendered-ansi,artifacts,future-incompat --diagnostic-width=158 --crate-type lib --emit=dep-info,metadata,link -C opt-level=3 -C linker-plugin-lto -C codegen-units=1 --cfg 'feature="std"' --cfg 'feature="wide"' --check-cfg 'cfg(docsrs,test)' --check-cfg 'cfg(feature, values("cordic", "decimal", "default", "fixed", "libm", "libm_force", "partial_fixed_point_support", "portable_simd", "rand", "rkyv", "rkyv-serialize", "serde", "serde_serialize", "std", "wide"))' -C metadata=eaf7c074b2891ae4 -C extra-filename=-ef558ffd236854ac --out-dir /home/joe/adj/gal/rust/target/x86_64-unknown-linux-gnu/release/deps --target x86_64-unknown-linux-gnu -C strip=symbols -L dependency=/home/joe/adj/gal/rust/target/x86_64-unknown-linux-gnu/release/deps -L dependency=/home/joe/adj/gal/rust/target/release/deps --extern approx=/home/joe/adj/gal/rust/target/x86_64-unknown-linux-gnu/release/deps/libapprox-88470d1529b78188.rmeta --extern num_complex=/home/joe/adj/gal/rust/target/x86_64-unknown-linux-gnu/release/deps/libnum_complex-201ad773d593ddaa.rmeta --extern num_traits=/home/joe/adj/gal/rust/target/x86_64-unknown-linux-gnu/release/deps/libnum_traits-2a265a66dd2daa5e.rmeta --extern paste=/home/joe/adj/gal/rust/target/release/deps/libpaste-086024201cba2aae.so --extern wide=/home/joe/adj/gal/rust/target/x86_64-unknown-linux-gnu/release/deps/libwide-a39349b07455b48a.rmeta --cap-lints allow` (exit status: 1)
warning: build failed, waiting for other jobs to finish...
error: failed to build archive at `/home/joe/adj/gal/rust/target/x86_64-unknown-linux-gnu/release/deps/libnalgebra-a09e9538a34023b9.rlib`: Bad address (os error 14)

error: could not compile `nalgebra` (lib) due to 1 previous error

Caused by:
  process didn't exit successfully: `/home/joe/.rustup/toolchains/stable-x86_64-unknown-linux-gnu/bin/rustc --crate-name nalgebra --edition=2018 /home/joe/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/nalgebra-0.33.2/src/lib.rs --error-format=json --json=diagnostic-rendered-ansi,artifacts,future-incompat --diagnostic-width=158 --crate-type lib --emit=dep-info,metadata,link -C opt-level=3 -C linker-plugin-lto -C codegen-units=1 --cfg 'feature="default"' --cfg 'feature="macros"' --cfg 'feature="matrixmultiply"' --cfg 'feature="nalgebra-macros"' --cfg 'feature="std"' --check-cfg 'cfg(docsrs,test)' --check-cfg 'cfg(feature, values("alga", "alloc", "arbitrary", "bytemuck", "compare", "convert-bytemuck", "convert-glam014", "convert-glam015", "convert-glam016", "convert-glam017", "convert-glam018", "convert-glam019", "convert-glam020", "convert-glam021", "convert-glam022", "convert-glam023", "convert-glam024", "convert-glam025", "convert-glam027", "convert-glam028", "convert-glam029", "convert-mint", "debug", "default", "glam014", "glam015", "glam016", "glam017", "glam018", "glam019", "glam020", "glam021", "glam022", "glam023", "glam024", "glam025", "glam027", "glam028", "glam029", "io", "libm", "libm-force", "macros", "matrixcompare-core", "matrixmultiply", "mint", "nalgebra-macros", "pest", "pest_derive", "proptest", "proptest-support", "quickcheck", "rand", "rand-no-std", "rand-package", "rand_distr", "rayon", "rkyv", "rkyv-safe-deser", "rkyv-serialize", "rkyv-serialize-no-std", "serde", "serde-serialize", "serde-serialize-no-std", "slow-tests", "sparse", "std"))' -C metadata=8173ce445259d2bc -C extra-filename=-a09e9538a34023b9 --out-dir /home/joe/adj/gal/rust/target/x86_64-unknown-linux-gnu/release/deps --target x86_64-unknown-linux-gnu -C strip=symbols -L dependency=/home/joe/adj/gal/rust/target/x86_64-unknown-linux-gnu/release/deps -L dependency=/home/joe/adj/gal/rust/target/release/deps --extern approx=/home/joe/adj/gal/rust/target/x86_64-unknown-linux-gnu/release/deps/libapprox-88470d1529b78188.rmeta --extern matrixmultiply=/home/joe/adj/gal/rust/target/x86_64-unknown-linux-gnu/release/deps/libmatrixmultiply-ef37e0e5b60c59c9.rmeta --extern nalgebra_macros=/home/joe/adj/gal/rust/target/release/deps/libnalgebra_macros-9821e64f5316fbe8.so --extern num_complex=/home/joe/adj/gal/rust/target/x86_64-unknown-linux-gnu/release/deps/libnum_complex-201ad773d593ddaa.rmeta --extern num_rational=/home/joe/adj/gal/rust/target/x86_64-unknown-linux-gnu/release/deps/libnum_rational-328dcea9732ceea3.rmeta --extern num_traits=/home/joe/adj/gal/rust/target/x86_64-unknown-linux-gnu/release/deps/libnum_traits-2a265a66dd2daa5e.rmeta --extern simba=/home/joe/adj/gal/rust/target/x86_64-unknown-linux-gnu/release/deps/libsimba-ef558ffd236854ac.rmeta --extern typenum=/home/joe/adj/gal/rust/target/x86_64-unknown-linux-gnu/release/deps/libtypenum-d6d626cb8f7af422.rmeta --cap-lints allow` (exit status: 1)

Is there any way for me to circumvent this?

Many thanks!

plopidou avatar May 08 '25 15:05 plopidou