Open setoelkahfi opened 1 year ago
having the same issue all of a sudden
I ended up using cross-rs
for this purpose.
I ended up using
cross-rs
for this purpose.
unfortunately cross-rs produced binary did not work on my server due to version difference of glibc I ended up compiling the code on the server through ssh
i am having a similar issue:
/opt/homebrew/Cellar/x86_64-unknown-linux-gnu/11.2.0_1/toolchain/bin/../lib/gcc/x86_64-unknown-linux-gnu/11.2.0/../../../../x86_64-unknown-linux-gnu/bin/ld.bfd: /Users/andremarques/Desktop/cybergate/target/x86_64-unknown-linux-gnu/release/deps/libring-1a2175460e1d939d.rlib(curve25519.o):/Users/andremarques/.cargo/registry/src/index.crates.io-6f17d22bba15001f/ring-0.16.20/crypto/curve25519/curve25519.c:520: more undefined references to `__stack_chk_guard' follow
collect2: error: ld returned 1 exit status
= note: some extern
functions couldn't be found; some native libraries may need to be installed or have their path specified
= note: use the -l
flag to specify native libraries to link
= note: use the cargo:rustc-link-lib
directive to specify the native libraries to link with Cargo (see https://doc.rust-lang.org/cargo/reference/build-scripts.html#cargorustc-link-libkindname)
it was working great before... (last time i tried was 3 months ago)
If you have unexpectedly have this issue while working in a workspace you might be helped by setting resolver = "2" in Cargo.toml https://nickb.dev/blog/cargo-workspace-and-the-feature-unification-pitfall/
This resolved it for me:
RUSTFLAGS="-C link-args=-fstack-protector-all -lssp" cargo build ...
This resolved it for me:
RUSTFLAGS="-C link-args=-fstack-protector-all -lssp" cargo build ...
Does not work for me: /opt/homebrew/bin/aarch64-unknown-linux-gnu-ld.bfd: -f may not be used without -shared. I am cross compiling to aarch64-unknown-linux-gnu though.
This issue seems resolved. I can cross compile from macOS to Linux without the -fstack-protector-all
workaround with ring 0.17.5
.
Not resolved at all :/ 0.17.7 does not build on M1 here :/ With none of the workarounds :/
Just as I wrote this:
export CC_x86_64_unknown_linux_gnu=x86_64-linux-gnu-gcc
export CXX_x86_64_unknown_linux_gnu=x86_64-linux-gnu-g++
export AR_x86_64_unknown_linux_gnu=x86_64-linux-gnu-ar
fixes it :)
but it needs libssp which is included in gcc-snapshot
on ubuntu which is 5GB ...
我遇到了类似的问题:
/opt/homebrew/Cellar/x86_64-unknown-linux-gnu/11.2.0_1/toolchain/bin/../lib/gcc/x86_64-unknown-linux-gnu/11.2.0/../../../../x86_64-unknown-linux-gnu/bin/ld.bfd: /Users/andremarques/Desktop/cybergate/target/x86_64-unknown-linux-gnu/release/deps/libring-1a2175460e1d939d.rlib(curve25519.o):/Users/andremarques/.cargo/registry/src/index.crates.io-6f17d22bba15001f/ring-0.16.20/crypto/curve25519/curve25519.c:520: more undefined references to `__stack_chk_guard' follow collect2: error: ld returned 1 exit status
= 注意:
extern
找不到某些函数;可能需要安装某些本机库或指定其路径 = 注意:使用-l
标志指定要链接的本机库 = 注意:使用cargo:rustc-link-lib
指令指定要与 Cargo 链接的本机库(请参阅https://doc.rust-lang.org/cargo/reference/build-scripts.html#cargorustc-link-libkindname)
did you finaly solved this problem?
This issue still exists today when targeting x86_64-unknown-linux-gnu
from a podman build
(I assume docker is the same) on Apple Silicon
I'm trying to cross-compile a Rust lambda from an Apple M1 with no luck. I follow some tutorials on the internet (this, https://github.com/briansmith/ring/issues/1332)
What I did
rustup target add 86_64-unknown-linux-gnu
).arch -arm64 brew install SergioBenitez/osxct/x86_64-unknown-linux-gnu
..cargo/config.toml
in the project directory.arch -arm64 brew install llvm
.config.toml
content:Result:
Any pointers?