I am following this book to do an hardware-check on a esp32 like mentioned on this page in the book.
When running cargo run
I get a really long error that basically starts with this
error: linking with `cc` failed: exit status: 1
I have gcc installed. If I do which cc
I get this
kronix@nixos:~/esp/std-training/intro/hardware-check/ > which cc
/run/current-system/sw/bin/cc
So I have gcc installed but cargo doesn’t find it?
What should I do to make it work?
Thanks in advance!
bwolf
November 22, 2024, 3:53pm
2
Please provide us the detailed setup how you do what you do and detailed error output of the commands you run. it seems you’re trying to link to some library which is not available in your “setup” which is hopefully a nix-shell.
1 Like
After switching my setup to a nix-shell that looks like that
{ pkgs ? import <nixpkgs> {} }:
pkgs.mkShell {
# nativeBuildInputs is usually what you want -- tools you need to run
nativeBuildInputs = with pkgs.buildPackages; [
gcc
espflash
rustup
rustc
rustfmt
cargo
];
}
I still get the same error.
Here is the full error https://pastebin.com/N9jKUikN
Is anyone able to help me?
bwolf
November 24, 2024, 10:08pm
5
Unfortunately not yet. The link you posted with the error details is dead (404). I’m not sure what this error is.
bwolf
November 24, 2024, 10:26pm
6
I quickly tried with mkShell { packages = with pkgs; [ espflash rustup python3 ]; };
, followed by rustup default stable
and failed. Unfortunately I do not know the book, and the required tooling (besides Rust).
Here the error I got: Error: Could not install esp-idf
I haven’t used it myself (I have tried to avoid the framework), but maybe GitHub - mirrexagon/nixpkgs-esp-dev: Nix flake and overlay for ESP8266 and ESP32 development. is what you need here?
1 Like
Here is a shorten version of the error containing the important.
kronix@nixos:~/repos/std-training/intro/hardware-check/ > sudo cargo run
Compiling compiler_builtins v0.1.109
Compiling proc-macro2 v1.0.92
Compiling unicode-ident v1.0.14
Compiling libc v0.2.155
Compiling memchr v2.5.0
Compiling std v0.0.0 (/root/.rustup/toolchains/nightly-2024-06-30-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/std)
Compiling memchr v2.7.4
Compiling serde v1.0.215
Compiling libc v0.2.164
Compiling bitflags v2.6.0
Compiling crossbeam-utils v0.8.20
Compiling rustix v0.38.41
Compiling syn v1.0.109
Compiling glob v0.3.1
Compiling nix v0.29.0
Compiling anyhow v1.0.86
Compiling rustversion v1.0.18
Compiling prettyplease v0.2.25
Compiling thiserror v1.0.69
Compiling serde_json v1.0.133
Compiling cvt v0.1.2
error: linking with `cc` failed: exit status: 1
|
= note: LC_ALL="C" PATH="/root/.rustup/toolchains/nightly-2024-06-30-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/bin:/root/.rustup/toolchains/nightly-2024-06-30-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/bin/self-contained:/root/.rustup/toolchains/nightly-2024-06-30-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/bin:/root/.rustup/toolchains/nightly-2024-06-30-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/bin/self-contained:/root/.rustup/toolchains/nightly-2024-06-30-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/bin:/root/.rustup/toolchains/nightly-2024-06-30-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/bin/self-contained:/root/.cargo/bin:/nix/store/rsl5pj2xkhbrpfw60w8asz6ln27lv5fc-kitty-0.37.0/bin:/nix/store/ym0d0c1hpxinxvr2qrfg1d1b9wnz6i71-imagemagick-7.1.1-40/bin:/nix/store/inpspwqhgpld2zdk89hra7xjh3nxll2x-ncurses-6.4.20221231-dev/bin:/run/wrappers/bin:/home/kronix/.local/share/flatpak/exports/bin:/var/lib/flatpak/exports/bin:/home/kronix/.nix-profile/bin:/nix/profile/bin:/home/kronix/.local/state/nix/profile/bin:/etc/profiles/per-user/kronix/bin:/nix/var/nix/profiles/default/bin:/run/current-system/sw/bin" VSLANG="1033" "cc" "-m64" "/tmp/rustclqGHxz/symbols.o" "/home/kronix/repos/std-training/intro/hardware-check/target/debug/build/serde_json-88b0886fbad617b3/build_script_build-88b0886fbad617b3.build_script_build.5dce32d6959309e0-cgu.0.rcgu.o" "/home/kronix/repos/std-training/intro/hardware-check/target/debug/build/serde_json-88b0886fbad617b3/build_script_build-88b0886fbad617b3.375gqbyzdmeoofumj5iwt7lxv.rcgu.o" "-Wl,--as-needed" "-L" "/home/kronix/repos/std-training/intro/hardware-check/target/debug/deps" "-L" "/root/.rustup/toolchains/nightly-2024-06-30-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib" "-Wl,-Bstatic" "/root/.rustup/toolchains/nightly-2024-06-30-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib/libstd-c6c045f3358c0b22.rlib" "/root/.rustup/toolchains/nightly-2024-06-30-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib/libpanic_unwind-5c2158c1682442e0.rlib" "/root/.rustup/toolchains/nightly-2024-06-30-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib/libobject-404d0b40d67de09f.rlib" "/root/.rustup/toolchains/nightly-2024-06-30-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib/libmemchr-e07eeabf48db885c.rlib" "/root/.rustup/toolchains/nightly-2024-06-30-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib/libaddr2line-c92423f648579064.rlib" "/root/.rustup/toolchains/nightly-2024-06-30-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib/libgimli-8dab5299a97564ae.rlib" "/root/.rustup/toolchains/nightly-2024-06-30-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib/librustc_demangle-65891f932666bb65.rlib" "/root/.rustup/toolchains/nightly-2024-06-30-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib/libstd_detect-b2634d236d77b88a.rlib" "/root/.rustup/toolchains/nightly-2024-06-30-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib/libhashbrown-38ef4997455a5e72.rlib" "/root/.rustup/toolchains/nightly-2024-06-30-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib/librustc_std_workspace_alloc-b2e6b39d803e65fe.rlib" "/root/.rustup/toolchains/nightly-2024-06-30-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib/libminiz_oxide-0864893dee726241.rlib" "/root/.rustup/toolchains/nightly-2024-06-30-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib/libadler-e599f337a82d59c4.rlib" "/root/.rustup/toolchains/nightly-2024-06-30-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib/libunwind-acbe32895031f6bc.rlib" "/root/.rustup/toolchains/nightly-2024-06-30-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib/libcfg_if-e21e611894cf2844.rlib" "/root/.rustup/toolchains/nightly-2024-06-30-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib/liblibc-7b90a2705bcf265b.rlib" "/root/.rustup/toolchains/nightly-2024-06-30-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib/liballoc-1f7e19b44251c73e.rlib" "/root/.rustup/toolchains/nightly-2024-06-30-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib/librustc_std_workspace_core-f72b956e24d1de70.rlib" "/root/.rustup/toolchains/nightly-2024-06-30-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib/libcore-632ae0f28c5e55ff.rlib" "/root/.rustup/toolchains/nightly-2024-06-30-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib/libcompiler_builtins-4d7d16bbf0636a40.rlib" "-Wl,-Bdynamic" "-lgcc_s" "-lutil" "-lrt" "-lpthread" "-lm" "-ldl" "-lc" "-B/root/.rustup/toolchains/nightly-2024-06-30-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/bin/gcc-ld" "-B/root/.rustup/toolchains/nightly-2024-06-30-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/bin/gcc-ld" "-B/root/.rustup/toolchains/nightly-2024-06-30-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/bin/gcc-ld" "-fuse-ld=lld" "-Wl,--eh-frame-hdr" "-Wl,-z,noexecstack" "-L" "/root/.rustup/toolchains/nightly-2024-06-30-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib" "-L" "/root/.rustup/toolchains/nightly-2024-06-30-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib/self-contained" "-o" "/home/kronix/repos/std-training/intro/hardware-check/target/debug/build/serde_json-88b0886fbad617b3/build_script_build-88b0886fbad617b3" "-Wl,--gc-sections" "-pie" "-Wl,-z,relro,-z,now" "-nodefaultlibs"
= note: /nix/store/d1hc6cf5xdsak1r71af8l0aqvli0d0nc-rustup-1.27.1/nix-support/ld-wrapper.sh: line 19: /nix/store/d1hc6cf5xdsak1r71af8l0aqvli0d0nc-rustup-1.27.1/nix-support/darwin-sdk-setup.bash: No such file or directory
collect2: error: ld returned 1 exit status
error: linking with `cc` failed: exit status: 1
|
= note: LC_ALL="C" PATH="/root/.rustup/toolchains/nightly-2024-06-30-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/bin:/root/.rustup/toolchains/nightly-2024-06-30-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/bin/self-contained:/root/.rustup/toolchains/nightly-2024-06-30-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/bin:/root/.rustup/toolchains/nightly-2024-06-30-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/bin/self-contained:/root/.rustup/toolchains/nightly-2024-06-30-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/bin:/root/.rustup/toolchains/nightly-2024-06-30-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/bin/self-contained:/root/.cargo/bin:/nix/store/rsl5pj2xkhbrpfw60w8asz6ln27lv5fc-kitty-0.37.0/bin:/nix/store/ym0d0c1hpxinxvr2qrfg1d1b9wnz6i71-imagemagick-7.1.1-40/bin:/nix/store/inpspwqhgpld2zdk89hra7xjh3nxll2x-ncurses-6.4.20221231-dev/bin:/run/wrappers/bin:/home/kronix/.local/share/flatpak/exports/bin:/var/lib/flatpak/exports/bin:/home/kronix/.nix-profile/bin:/nix/profile/bin:/home/kronix/.local/state/nix/profile/bin:/etc/profiles/per-user/kronix/bin:/nix/var/nix/profiles/default/bin:/run/current-system/sw/bin" VSLANG="1033" "cc" "-m64" "/tmp/rustcwwbcs4/symbols.o" "/home/kronix/repos/std-training/intro/hardware-check/target/debug/build/prettyplease-b8d8e94d88d194d3/build_script_build-b8d8e94d88d194d3.build_script_build.d67b0f4f5024a3a4-cgu.0.rcgu.o" "/home/kronix/repos/std-training/intro/hardware-check/target/debug/build/prettyplease-b8d8e94d88d194d3/build_script_build-b8d8e94d88d194d3.1bu753qmnqxdpre145a3a9c7i.rcgu.o" "-Wl,--as-needed" "-L" "/home/kronix/repos/std-training/intro/hardware-check/target/debug/deps" "-L" "/root/.rustup/toolchains/nightly-2024-06-30-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib" "-Wl,-Bstatic" "/root/.rustup/toolchains/nightly-2024-06-30-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib/libstd-c6c045f3358c0b22.rlib" "/root/.rustup/toolchains/nightly-2024-06-30-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib/libpanic_unwind-5c2158c1682442e0.rlib" "/root/.rustup/toolchains/nightly-2024-06-30-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib/libobject-404d0b40d67de09f.rlib" "/root/.rustup/toolchains/nightly-2024-06-30-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib/libmemchr-e07eeabf48db885c.rlib" "/root/.rustup/toolchains/nightly-2024-06-30-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib/libaddr2line-c92423f648579064.rlib" "/root/.rustup/toolchains/nightly-2024-06-30-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib/libgimli-8dab5299a97564ae.rlib" "/root/.rustup/toolchains/nightly-2024-06-30-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib/librustc_demangle-65891f932666bb65.rlib" "/root/.rustup/toolchains/nightly-2024-06-30-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib/libstd_detect-b2634d236d77b88a.rlib" "/root/.rustup/toolchains/nightly-2024-06-30-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib/libhashbrown-38ef4997455a5e72.rlib" "/root/.rustup/toolchains/nightly-2024-06-30-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib/librustc_std_workspace_alloc-b2e6b39d803e65fe.rlib" "/root/.rustup/toolchains/nightly-2024-06-30-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib/libminiz_oxide-0864893dee726241.rlib" "/root/.rustup/toolchains/nightly-2024-06-30-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib/libadler-e599f337a82d59c4.rlib" "/root/.rustup/toolchains/nightly-2024-06-30-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib/libunwind-acbe32895031f6bc.rlib" "/root/.rustup/toolchains/nightly-2024-06-30-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib/libcfg_if-e21e611894cf2844.rlib" "/root/.rustup/toolchains/nightly-2024-06-30-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib/liblibc-7b90a2705bcf265b.rlib" "/root/.rustup/toolchains/nightly-2024-06-30-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib/liballoc-1f7e19b44251c73e.rlib" "/root/.rustup/toolchains/nightly-2024-06-30-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib/librustc_std_workspace_core-f72b956e24d1de70.rlib" "/root/.rustup/toolchains/nightly-2024-06-30-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib/libcore-632ae0f28c5e55ff.rlib" "/root/.rustup/toolchains/nightly-2024-06-30-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib/libcompiler_builtins-4d7d16bbf0636a40.rlib" "-Wl,-Bdynamic" "-lgcc_s" "-lutil" "-lrt" "-lpthread" "-lm" "-ldl" "-lc" "-B/root/.rustup/toolchains/nightly-2024-06-30-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/bin/gcc-ld" "-B/root/.rustup/toolchains/nightly-2024-06-30-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/bin/gcc-ld" "-B/root/.rustup/toolchains/nightly-2024-06-30-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/bin/gcc-ld" "-fuse-ld=lld" "-Wl,--eh-frame-hdr" "-Wl,-z,noexecstack" "-L" "/root/.rustup/toolchains/nightly-2024-06-30-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib" "-L" "/root/.rustup/toolchains/nightly-2024-06-30-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib/self-contained" "-o" "/home/kronix/repos/std-training/intro/hardware-check/target/debug/build/prettyplease-b8d8e94d88d194d3/build_script_build-b8d8e94d88d194d3" "-Wl,--gc-sections" "-pie" "-Wl,-z,relro,-z,now" "-nodefaultlibs"
= note: /nix/store/d1hc6cf5xdsak1r71af8l0aqvli0d0nc-rustup-1.27.1/nix-support/ld-wrapper.sh: line 19: /nix/store/d1hc6cf5xdsak1r71af8l0aqvli0d0nc-rustup-1.27.1/nix-support/darwin-sdk-setup.bash: No such file or directory
collect2: error: ld returned 1 exit status
Compiling libloading v0.8.5
error: could not compile `serde_json` (build script) due to 1 previous error
warning: build failed, waiting for other jobs to finish...
It still does not work … help please
mastoca
November 29, 2024, 6:20pm
10
are you setup to build multiple arch? you may building x86 instead of aarch. You may want to look at Cross compiling - crane for some inspiration.
Okay so I think found the issue after DAYS of trying to know what’s wrong (turns out I am just an idiot that does not know enough about nixos).
Sadly, I have no idea how to solve it because I am kind of clueless on how NixOS actually works.
So basically the program I am trying to execute links the some dependencies using the cc crate .
But the Dependencies that the program tries to link to is located in its own folder.
So for example if the program is in the ./
path the dependencies are in ./target/debug/deps
. Here is a list of them:
aho_corasick-d5aca9f7c08bf60b.d libbitflags-2a54fc7d8f815a15.rmeta libglobset-ae6c0f6f76efe997.rlib libminimal_lexical-e151350e321c70ab.rlib libunicode_ident-566ae5b002464345.rmeta
bitflags-2a54fc7d8f815a15.d libbitflags-560efdb99b117eef.rlib libglobset-ae6c0f6f76efe997.rmeta libminimal_lexical-e151350e321c70ab.rmeta libwalkdir-099221edb7b94a9e.rlib
bitflags-560efdb99b117eef.d libbitflags-560efdb99b117eef.rmeta libheck-3520df16d0133e7b.rlib libnom-48e4e1234102c37d.rlib libwalkdir-099221edb7b94a9e.rmeta
bstr-92b9b5e670edb974.d libbstr-92b9b5e670edb974.rlib libheck-3520df16d0133e7b.rmeta libnom-48e4e1234102c37d.rmeta linux_raw_sys-b77fbec2cd3ef233.d
cc-10dd158761ac3c07.d libbstr-92b9b5e670edb974.rmeta libhome-851362b92a3a2561.rlib libnormpath-51197513a2e969f1.rlib log-b6b1a89bf87ced53.d
cexpr-32bd8c1a46a43010.d libcc-10dd158761ac3c07.rlib libhome-851362b92a3a2561.rmeta libnormpath-51197513a2e969f1.rmeta memchr-c7ff0286392b94eb.d
cfg_aliases-63f6440762ade88f.d libcc-10dd158761ac3c07.rmeta libitertools-6b19e61de85dad77.rlib libonce_cell-6dc575c335e8f5a1.rlib minimal_lexical-e151350e321c70ab.d
cfg_if-57bf25c23e31efdb.d libcexpr-32bd8c1a46a43010.rlib libitertools-6b19e61de85dad77.rmeta libonce_cell-6dc575c335e8f5a1.rmeta nom-48e4e1234102c37d.d
cmake-57d6b1e953932e68.d libcexpr-32bd8c1a46a43010.rmeta libitoa-1607da79744ca1f9.rlib libregex-5a18276622f1d513.rlib normpath-51197513a2e969f1.d
cvt-dd2eb4e239b73be1.d libcfg_aliases-63f6440762ade88f.rlib libitoa-1607da79744ca1f9.rmeta libregex-5a18276622f1d513.rmeta once_cell-6dc575c335e8f5a1.d
either-1262fa0ff94c8630.d libcfg_aliases-63f6440762ade88f.rmeta liblazycell-c2a1b2911705803e.rlib libregex_automata-a6ad24e60cdfcf84.rlib regex-5a18276622f1d513.d
fastrand-70b0ba7e632a0cd4.d libcfg_if-57bf25c23e31efdb.rlib liblazycell-c2a1b2911705803e.rmeta libregex_automata-a6ad24e60cdfcf84.rmeta regex_automata-a6ad24e60cdfcf84.d
glob-001115221c71ed95.d libcfg_if-57bf25c23e31efdb.rmeta liblazy_static-7af2f34f8b124b26.rlib libregex_syntax-eddb13b0f2ea78f9.rlib regex_syntax-eddb13b0f2ea78f9.d
globset-ae6c0f6f76efe997.d libcmake-57d6b1e953932e68.rlib liblazy_static-7af2f34f8b124b26.rmeta libregex_syntax-eddb13b0f2ea78f9.rmeta rustc_hash-449b4f68ddd88550.d
heck-3520df16d0133e7b.d libcmake-57d6b1e953932e68.rmeta liblibloading-054a21082cc39ce4.rlib librustc_hash-449b4f68ddd88550.rlib ryu-2ae7af5af0bb88e0.d
home-851362b92a3a2561.d libcvt-dd2eb4e239b73be1.rlib liblibloading-054a21082cc39ce4.rmeta librustc_hash-449b4f68ddd88550.rmeta same_file-3c36b17025d91add.d
itertools-6b19e61de85dad77.d libcvt-dd2eb4e239b73be1.rmeta liblinux_raw_sys-b77fbec2cd3ef233.rlib libryu-2ae7af5af0bb88e0.rlib shlex-655cc32f79200f17.d
itoa-1607da79744ca1f9.d libeither-1262fa0ff94c8630.rlib liblinux_raw_sys-b77fbec2cd3ef233.rmeta libryu-2ae7af5af0bb88e0.rmeta unicode_ident-566ae5b002464345.d
lazycell-c2a1b2911705803e.d libeither-1262fa0ff94c8630.rmeta libloading-054a21082cc39ce4.d libsame_file-3c36b17025d91add.rlib walkdir-099221edb7b94a9e.d
lazy_static-7af2f34f8b124b26.d libfastrand-70b0ba7e632a0cd4.rlib liblog-b6b1a89bf87ced53.rlib libsame_file-3c36b17025d91add.rmeta
libaho_corasick-d5aca9f7c08bf60b.rlib libfastrand-70b0ba7e632a0cd4.rmeta liblog-b6b1a89bf87ced53.rmeta libshlex-655cc32f79200f17.rlib
libaho_corasick-d5aca9f7c08bf60b.rmeta libglob-001115221c71ed95.rlib libmemchr-c7ff0286392b94eb.rlib libshlex-655cc32f79200f17.rmeta
libbitflags-2a54fc7d8f815a15.rlib libglob-001115221c71ed95.rmeta libmemchr-c7ff0286392b94eb.rmeta libunicode_ident-566ae5b002464345.rlib
These files also link to files in /root/.cargo/registry/src/...
(I have no idea way though…)
And as far as I am aware, NixOS puts files inside /nix/store
, therefore the program can’t link to the files it needs, because they are in completely different locations, I think?
Can someone explain the concept of /nix/store
a little bit better or reference some learning material?
Anyways what do I do in such situation where the program need these dependencies? Can I include the dependencies in the /nix/store
? Or how to get the programming running with its dependencies? Not only in this case, but more generally. Like what do I do if I want my program to have dependencies etc?
bwolf
December 8, 2024, 10:08pm
12
Just a few ideas. These dependencies are all Rust crates (of course this a Rust project). Building a Rust project is typically done with buildRustPackage
(see Nixpkgs Reference Manual ) or with one of the alternative tools like Naersk.
I think what you are trying to achieve is maybe a bit too advanced for a Nix newbie. Wouldn’t it be better if you try first simpler problems like building hello world first with C and then with Rust before you try such an ambitious project like ESP programming with Rust on NixOS? I mean with the hello world approach you would learn step by step and get quickly results and positive results. Sorry for being off-topic, these are just my 2 cents.
1 Like
Thanks for the response!
Wouldn’t it be better if you try first simpler problems like building hello world first with C and then with Rust before you try such an ambitious project like ESP programming with Rust on NixOS?
I actually know c and rust pretty okay and coding on an ESP32 is my so called “next step”. The only problem is that I am a complete NixOS newbie (like you said).
These dependencies are all Rust crates (of course this a Rust project)
The ESP32 rust project actually depends on some C files, therefore the project wont compile, because of linking issues between the C files and the project. My solution is going to be to ditch NixOS for the development of the ESP32 and just use a devcontainer instead.
I really appreciate all the friendly help and Tips I got in this forum, especially from you.
So, thank you very much for you patience and your Help <3 !
I wish you all an amazing day.
3 Likes