Skip to content

Building x86_64-unknown-freebsd on OS X Fails #78975

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

Closed
udf2457 opened this issue Nov 12, 2020 · 3 comments
Closed

Building x86_64-unknown-freebsd on OS X Fails #78975

udf2457 opened this issue Nov 12, 2020 · 3 comments
Labels
A-cross Area: Cross compilation

Comments

@udf2457
Copy link

udf2457 commented Nov 12, 2020

I guess this one is sort of related to #16259

% cargo build --release --target=x86_64-unknown-freebsd --verbose
       Fresh version_check v0.9.2
       Fresh subtle v2.3.0
       Fresh opaque-debug v0.3.0
       Fresh cpuid-bool v0.1.2
       Fresh cfg-if v1.0.0
       Fresh cfg-if v0.1.10
       Fresh unicode-width v0.1.8
       Fresh strsim v0.8.0
       Fresh ansi_term v0.11.0
       Fresh vec_map v0.8.2
       Fresh base64 v0.13.0
       Fresh textwrap v0.11.0
       Fresh typenum v1.12.0
       Fresh libc v0.2.80
       Fresh bitflags v1.2.1
       Fresh dirs-sys v0.3.5
       Fresh getrandom v0.2.0
       Fresh atty v0.2.14
       Fresh rpassword v5.0.0
       Fresh generic-array v0.14.4
       Fresh dirs v3.0.1
       Fresh clap v2.33.3
       Fresh crypto-mac v0.10.0
       Fresh digest v0.9.0
       Fresh block-buffer v0.9.0
       Fresh cipher v0.2.5
       Fresh hmac v0.10.1
       Fresh pbkdf2 v0.6.0
       Fresh sha2 v0.9.2
       Fresh salsa20 v0.7.2
       Fresh scrypt v0.5.0
       Fresh minisign v0.6.0
   Compiling rsign2 v0.5.6 (/Users/foobar/rsign2)
     Running `rustc --crate-name rsign src/bin/rsign/main.rs --error-format=json --json=diagnostic-rendered-ansi --crate-type bin --emit=dep-info,link -C opt-level=3 -C panic=abort -C lto -C metadata=a37a53bd37c869ec -C extra-filename=-a37a53bd37c869ec --out-dir /Users/foobar/rsign2/target/x86_64-unknown-freebsd/release/deps --target x86_64-unknown-freebsd -L dependency=/Users/foobar/rsign2/target/x86_64-unknown-freebsd/release/deps -L dependency=/Users/foobar/rsign2/target/release/deps --extern base64=/Users/foobar/rsign2/target/x86_64-unknown-freebsd/release/deps/libbase64-73f240f3f30667d0.rlib --extern clap=/Users/foobar/rsign2/target/x86_64-unknown-freebsd/release/deps/libclap-b4022481e61d52b9.rlib --extern dirs=/Users/foobar/rsign2/target/x86_64-unknown-freebsd/release/deps/libdirs-6ed9f336d8c3084b.rlib --extern minisign=/Users/foobar/rsign2/target/x86_64-unknown-freebsd/release/deps/libminisign-c4cbe3d0bb16352b.rlib`
error: linking with `cc` failed: exit code: 1
  |
  = note: "cc" "-Wl,--as-needed" "-Wl,-z,noexecstack" "-m64" "-Wl,--eh-frame-hdr" "-L" "/Users/foobar/.rustup/toolchains/stable-x86_64-apple-darwin/lib/rustlib/x86_64-unknown-freebsd/lib" "/Users/foobar/rsign2/target/x86_64-unknown-freebsd/release/deps/rsign-a37a53bd37c869ec.rsign.2qvdj8m3-cgu.0.rcgu.o" "-o" "/Users/foobar/rsign2/target/x86_64-unknown-freebsd/release/deps/rsign-a37a53bd37c869ec" "-Wl,--gc-sections" "-pie" "-Wl,-zrelro" "-Wl,-znow" "-Wl,-O1" "-nodefaultlibs" "-L" "/Users/foobar/rsign2/target/x86_64-unknown-freebsd/release/deps" "-L" "/Users/foobar/rsign2/target/release/deps" "-L" "/Users/foobar/.rustup/toolchains/stable-x86_64-apple-darwin/lib/rustlib/x86_64-unknown-freebsd/lib" "-Wl,--start-group" "-Wl,--end-group" "-Wl,-Bstatic" "/Users/foobar/.rustup/toolchains/stable-x86_64-apple-darwin/lib/rustlib/x86_64-unknown-freebsd/lib/libcompiler_builtins-3283ae690927487e.rlib" "-Wl,-Bdynamic" "-lrt" "-lutil" "-lutil" "-lexecinfo" "-lpthread" "-lgcc_s" "-lc" "-lm" "-lrt" "-lpthread" "-lrt" "-lutil" "-lutil"
  = note: clang: warning: argument unused during compilation: '-pie' [-Wunused-command-line-argument]
          ld: unknown option: --as-needed
          clang: error: linker command failed with exit code 1 (use -v to see invocation)
          

error: aborting due to previous error

error: could not compile `rsign2`.

Caused by:
  process didn't exit successfully: `rustc --crate-name rsign src/bin/rsign/main.rs --error-format=json --json=diagnostic-rendered-ansi --crate-type bin --emit=dep-info,link -C opt-level=3 -C panic=abort -C lto -C metadata=a37a53bd37c869ec -C extra-filename=-a37a53bd37c869ec --out-dir /Users/foobar/rsign2/target/x86_64-unknown-freebsd/release/deps --target x86_64-unknown-freebsd -L dependency=/Users/foobar/rsign2/target/x86_64-unknown-freebsd/release/deps -L dependency=/Users/foobar/rsign2/target/release/deps --extern base64=/Users/foobar/rsign2/target/x86_64-unknown-freebsd/release/deps/libbase64-73f240f3f30667d0.rlib --extern clap=/Users/foobar/rsign2/target/x86_64-unknown-freebsd/release/deps/libclap-b4022481e61d52b9.rlib --extern dirs=/Users/foobar/rsign2/target/x86_64-unknown-freebsd/release/deps/libdirs-6ed9f336d8c3084b.rlib --extern minisign=/Users/foobar/rsign2/target/x86_64-unknown-freebsd/release/deps/libminisign-c4cbe3d0bb16352b.rlib` (exit code: 1)
@nagisa
Copy link
Member

nagisa commented Nov 12, 2020

There's no way plain ld on MacOS is able to link and handle FreeBSD ELF binaries, is there? You may need to install the corresponding freebsd toolchain and specify it to the compiler.

@camelid camelid added the A-cross Area: Cross compilation label Nov 12, 2020
@fundon
Copy link

fundon commented Nov 13, 2020

@nagisa How to configure it on ~/.cargo/config?

@nagisa
Copy link
Member

nagisa commented Nov 13, 2020

This is a tracker for the issues in rustc and not a support forum. For support, consider posting your question on users.rlo, stackoverflow, reddit, or asking on one of the chat platforms: discord or zulip.

With regards to configuring cargo for cross-compilation there should be plenty of tutorials on the internet. this for example.

Closing as not-a-bug.

@nagisa nagisa closed this as completed Nov 13, 2020
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
A-cross Area: Cross compilation
Projects
None yet
Development

No branches or pull requests

4 participants