Reputation: 1471
I'm trying to run cargo run
a simple hello world application on a M1 mac, and I got the following errors:
Error: linking with `cc` failed: exit code: 1
|
= note: "cc" "-m64" "-arch" "x86_64" "-L" "/nix/store/i693mglb2d92m1ycmq5vcsn02xgpra9d-rustc-1.52.1/lib/rustlib/x86_64-apple-darwin/lib" "/Users/hugosum/Desktop/portfolio-2021/backend/target/debug/build/libc-9d36948631c986a4/build_script_build-9d36948631c986a4.build_script_build.d32uozjy-cgu.0.rcgu.o" "/Users/hugosum/Desktop/portfolio-2021/backend/target/debug/build/libc-9d36948631c986a4/build_script_build-9d36948631c986a4.build_script_build.d32uozjy-cgu.1.rcgu.o" "/Users/hugosum/Desktop/portfolio-2021/backend/target/debug/build/libc-9d36948631c986a4/build_script_build-9d36948631c986a4.build_script_build.d32uozjy-cgu.10.rcgu.o" "/Users/hugosum/Desktop/portfolio-2021/backend/target/debug/build/libc-9d36948631c986a4/build_script_build-9d36948631c986a4.build_script_build.d32uozjy-cgu.11.rcgu.o" "/Users/hugosum/Desktop/portfolio-2021/backend/target/debug/build/libc-9d36948631c986a4/build_script_build-9d36948631c986a4.build_script_build.d32uozjy-cgu.12.rcgu.o" "/Users/hugosum/Desktop/portfolio-2021/backend/target/debug/build/libc-9d36948631c986a4/build_script_build-9d36948631c986a4.build_script_build.d32uozjy-cgu.13.rcgu.o" "/Users/hugosum/Desktop/portfolio-2021/backend/target/debug/build/libc-9d36948631c986a4/build_script_build-9d36948631c986a4.build_script_build.d32uozjy-cgu.14.rcgu.o" "/Users/hugosum/Desktop/portfolio-2021/backend/target/debug/build/libc-9d36948631c986a4/build_script_build-9d36948631c986a4.build_script_build.d32uozjy-cgu.15.rcgu.o" "/Users/hugosum/Desktop/portfolio-2021/backend/target/debug/build/libc-9d36948631c986a4/build_script_build-9d36948631c986a4.build_script_build.d32uozjy-cgu.2.rcgu.o" "/Users/hugosum/Desktop/portfolio-2021/backend/target/debug/build/libc-9d36948631c986a4/build_script_build-9d36948631c986a4.build_script_build.d32uozjy-cgu.3.rcgu.o" "/Users/hugosum/Desktop/portfolio-2021/backend/target/debug/build/libc-9d36948631c986a4/build_script_build-9d36948631c986a4.build_script_build.d32uozjy-cgu.4.rcgu.o" "/Users/hugosum/Desktop/portfolio-2021/backend/target/debug/build/libc-9d36948631c986a4/build_script_build-9d36948631c986a4.build_script_build.d32uozjy-cgu.5.rcgu.o" "/Users/hugosum/Desktop/portfolio-2021/backend/target/debug/build/libc-9d36948631c986a4/build_script_build-9d36948631c986a4.build_script_build.d32uozjy-cgu.6.rcgu.o" "/Users/hugosum/Desktop/portfolio-2021/backend/target/debug/build/libc-9d36948631c986a4/build_script_build-9d36948631c986a4.build_script_build.d32uozjy-cgu.7.rcgu.o" "/Users/hugosum/Desktop/portfolio-2021/backend/target/debug/build/libc-9d36948631c986a4/build_script_build-9d36948631c986a4.build_script_build.d32uozjy-cgu.8.rcgu.o" "/Users/hugosum/Desktop/portfolio-2021/backend/target/debug/build/libc-9d36948631c986a4/build_script_build-9d36948631c986a4.build_script_build.d32uozjy-cgu.9.rcgu.o" "-o" "/Users/hugosum/Desktop/portfolio-2021/backend/target/debug/build/libc-9d36948631c986a4/build_script_build-9d36948631c986a4" "/Users/hugosum/Desktop/portfolio-2021/backend/target/debug/build/libc-9d36948631c986a4/build_script_build-9d36948631c986a4.52gec2a5zk7hme9a.rcgu.o" "-Wl,-dead_strip" "-nodefaultlibs" "-L" "/Users/hugosum/Desktop/portfolio-2021/backend/target/debug/deps" "-L" "/nix/store/i693mglb2d92m1ycmq5vcsn02xgpra9d-rustc-1.52.1/lib/rustlib/x86_64-apple-darwin/lib" "/nix/store/i693mglb2d92m1ycmq5vcsn02xgpra9d-rustc-1.52.1/lib/rustlib/x86_64-apple-darwin/lib/libstd-351eea491abe4434.rlib" "/nix/store/i693mglb2d92m1ycmq5vcsn02xgpra9d-rustc-1.52.1/lib/rustlib/x86_64-apple-darwin/lib/libpanic_unwind-5aaa4a9e35148ca2.rlib" "/nix/store/i693mglb2d92m1ycmq5vcsn02xgpra9d-rustc-1.52.1/lib/rustlib/x86_64-apple-darwin/lib/libobject-3c363f1c75138766.rlib" "/nix/store/i693mglb2d92m1ycmq5vcsn02xgpra9d-rustc-1.52.1/lib/rustlib/x86_64-apple-darwin/lib/libaddr2line-80cce18fbd9a62fa.rlib" "/nix/store/i693mglb2d92m1ycmq5vcsn02xgpra9d-rustc-1.52.1/lib/rustlib/x86_64-apple-darwin/lib/libgimli-b559ce52f8e8c310.rlib" "/nix/store/i693mglb2d92m1ycmq5vcsn02xgpra9d-rustc-1.52.1/lib/rustlib/x86_64-apple-darwin/lib/librustc_demangle-bacdd33101496d8b.rlib" "/nix/store/i693mglb2d92m1ycmq5vcsn02xgpra9d-rustc-1.52.1/lib/rustlib/x86_64-apple-darwin/lib/libhashbrown-50c1e0544758a9b9.rlib" "/nix/store/i693mglb2d92m1ycmq5vcsn02xgpra9d-rustc-1.52.1/lib/rustlib/x86_64-apple-darwin/lib/librustc_std_workspace_alloc-400cf8ef953fa406.rlib" "/nix/store/i693mglb2d92m1ycmq5vcsn02xgpra9d-rustc-1.52.1/lib/rustlib/x86_64-apple-darwin/lib/libunwind-d523776aee41e7a3.rlib" "/nix/store/i693mglb2d92m1ycmq5vcsn02xgpra9d-rustc-1.52.1/lib/rustlib/x86_64-apple-darwin/lib/libcfg_if-0d288267983a5503.rlib" "/nix/store/i693mglb2d92m1ycmq5vcsn02xgpra9d-rustc-1.52.1/lib/rustlib/x86_64-apple-darwin/lib/liblibc-5768a81ce4924201.rlib" "/nix/store/i693mglb2d92m1ycmq5vcsn02xgpra9d-rustc-1.52.1/lib/rustlib/x86_64-apple-darwin/lib/liballoc-f050e0eba5670fa0.rlib" "/nix/store/i693mglb2d92m1ycmq5vcsn02xgpra9d-rustc-1.52.1/lib/rustlib/x86_64-apple-darwin/lib/librustc_std_workspace_core-618d97e25269c450.rlib" "/nix/store/i693mglb2d92m1ycmq5vcsn02xgpra9d-rustc-1.52.1/lib/rustlib/x86_64-apple-darwin/lib/libcore-f02aead32a1ff31d.rlib" "/nix/store/i693mglb2d92m1ycmq5vcsn02xgpra9d-rustc-1.52.1/lib/rustlib/x86_64-apple-darwin/lib/libcompiler_builtins-07b5b6ec8d6718bf.rlib" "-lSystem" "-lresolv" "-lc" "-lm" "-liconv" "-undefined" "dynamic_lookup"
= note: ld: library not found for -liconv
clang-7: error: linker command failed with exit code 1 (use -v to see invocation)
error: aborting due to previous error
error: aborting due to previous error
error: could not compile `futures-channel`
error: build failed
I have installed cargo
and rustc
through nix
, and I have tried to check for the cc
bin
❯ cc -v
clang version 7.1.0 (tags/RELEASE_710/final)
Target: x86_64-apple-darwin20.5.0
Thread model: posix
InstalledDir: /nix/store/rjy3p4j55ac4vyrmg18w2wrjgpfhsh4r-clang-7.1.0/bin
How can I fix this error?
Upvotes: 0
Views: 8609
Reputation: 1448
This is still the first Google search result for "iconv cargo nix", so I'll post the solution I found here.
I am unsure whether or not this is intended or a bug in nixpkgs, but this error pops up because libiconv
isn't included in the nix linker flags by default (you can check in $NIX_LDFLAGS
). To include it, explicitly install it, e.g. via nix-shell
:
# ↓↓↓↓↓↓↓↓
nix-shell -p libiconv -p cargo -p rustc -p rust-analyzer -p rustfmt -p clippy
Upvotes: 4