如何用nix编译llm库

问题描述 投票:0回答:1

我尝试使用 nix 安装 llm 库

你只需要这样做:

git clone https://github.com/rustformers/llm.git
nix build

不幸的是失败了:

错误:构建器 '/nix/store/zllzqwj422zqrsl24lgr6j5y0m4c1mx7-rust-workspace-deps-unknown.drv' 失败,退出代码为 101; 最后 10 行日志: > [naersk] RUSTFLAGS: > [纳尔斯克] CARGO_BUILD_RUSTFLAGS: > [naersk] CARGO_BUILD_RUSTFLAGS(更新):--remap-path-prefix /nix/store/772s1031nnkf5b5qzw55g6nkir1k2jjc-dependency=/sources > 建筑 > 货物构建 $cargo_release -j "$NIX_BUILD_CORES" --message-format=$cargo_message_format > 错误:无法构建包

half v2.3.1
,因为它需要 rustc 1.70 或更高版本,而当前活动的 rustc 版本 是 1.69.0 > 升级到 rustc 1.70 或更高版本,或者使用 > 货物更新 -p [email protected] --precise 版本 > 其中
ver
是支持 rustc 1.69.0 的最新版本
half
> [naersk] 货物返回,退出代码 101,正在退出 要获取完整日志,请运行“nix log /nix/store/zllzqwj422zqrsl24lgr6j5y0m4c1mx7-rust-workspace-deps-unknown.drv”。

在 flake.nix 的输入中可以看到使用了 nix不稳定。

  inputs = {
    nixpkgs.url = github:nixos/nixpkgs/nixpkgs-unstable;
    naersk.url = github:nix-community/naersk;
    flake-utils.url = github:numtide/flake-utils;
  };

如果你在nix不稳定软件包列表中搜索rustc,你会发现1.70 但在 nix 稳定包列表中的 rustc 你会发现 1.69

如果输入是 nix不稳定,为什么使用 rust 1.69(来自 nix stable 的 rust)?

第一个失败的解释

rustc 包仅在 devShells.default 中使用,不在packages.default 中使用。

packages.default 是在 naersk 的帮助下从源代码构建的,可能使用 nix stable。

我就是这个意思

    nix develop -i
    cargo build --release 

应该可以工作 事实并非如此

错误:无法构建包

half v2.3.1
,因为它需要 rustc 1.70 或更高版本,而当前活动的 rustc 版本是 1.69.0 升级到 rustc 1.70 或更高版本,或者使用

确实 rustc-.版本

1.69

rust nix large-language-model
1个回答
0
投票

它解决了问题,但没有回答为什么默认使用 rust 1.69。

在薄片中添加锈迹

      packages = [ cargo rustup rustc rust-analyzer rustfmt cmake ];

然后执行

     nix develop -i
     rustup toolchain install 1.70.0
     cargo build --release

构建失败但有另一个原因

© www.soinside.com 2019 - 2024. All rights reserved.