我可以将 libasound2 包添加到 NixOS 存储库吗?

我可以将 libasound2 包添加到 NixOS 存储库吗?

尝试构建我的项目时,我发现我缺少该库asound

我的问题与以下位置的问题相符libasound2线程,通过安装列出的debian 软件包解决了问题这里

我正在运行NixOS,但没有看到libasound2可通过安装的软件包nix-env

还有其他方法可以安装依赖项吗?可以将其添加到 NixOS 软件包列表中吗?如果是这样,我该怎么做?


我的项目构建使用 Haskell 的stack和命令$ stack build。完整输出如下所示。

$ stack build
PortMidi-0.1.5.2: configure
Progress: 1/3
--  While building package PortMidi-0.1.5.2 using:
      /home/matthew/.stack/setup-exe-cache/x86_64-linux-nix/Cabal-simple_mPHDZzAJ_1.24.2.0_ghc-8.0.2 --builddir=.stack-work/dist/x86_64-linux-nix/Cabal-1.24.2.0 configure --with-ghc=/nix/store/vs9mh0q32flklzi8hl0ksr9d3jv21399-ghc-8.0.2/bin/ghc --with-ghc-pkg=/nix/store/vs9mh0q32flklzi8hl0ksr9d3jv21399-ghc-8.0.2/bin/ghc-pkg --user --package-db=clear --package-db=global --package-db=/home/matthew/.stack/snapshots/x86_64-linux-nix/lts-9.11/8.0.2/pkgdb --package-db=/home/matthew/backup/perfectpitch/perfectpitch/.stack-work/install/x86_64-linux-nix/lts-9.11/8.0.2/pkgdb --libdir=/home/matthew/backup/perfectpitch/perfectpitch/.stack-work/install/x86_64-linux-nix/lts-9.11/8.0.2/lib --bindir=/home/matthew/backup/perfectpitch/perfectpitch/.stack-work/install/x86_64-linux-nix/lts-9.11/8.0.2/bin --datadir=/home/matthew/backup/perfectpitch/perfectpitch/.stack-work/install/x86_64-linux-nix/lts-9.11/8.0.2/share --libexecdir=/home/matthew/backup/perfectpitch/perfectpitch/.stack-work/install/x86_64-linux-nix/lts-9.11/8.0.2/libexec --sysconfdir=/home/matthew/backup/perfectpitch/perfectpitch/.stack-work/install/x86_64-linux-nix/lts-9.11/8.0.2/etc --docdir=/home/matthew/backup/perfectpitch/perfectpitch/.stack-work/install/x86_64-linux-nix/lts-9.11/8.0.2/doc/PortMidi-0.1.5.2 --htmldir=/home/matthew/backup/perfectpitch/perfectpitch/.stack-work/install/x86_64-linux-nix/lts-9.11/8.0.2/doc/PortMidi-0.1.5.2 --haddockdir=/home/matthew/backup/perfectpitch/perfectpitch/.stack-work/install/x86_64-linux-nix/lts-9.11/8.0.2/doc/PortMidi-0.1.5.2 --dependency=base=base-4.9.1.0 --extra-include-dirs=/nix/store/83413105lyc3n8pbmi2qbz3f82x06sp1-postgresql-9.5.7/include --extra-include-dirs=/nix/store/9csmflf5p58jf3h2i36x0p5b5cw3aijf-git-2.14.1/include --extra-include-dirs=/nix/store/clvw27qshazq458waarrjqj0k5qpnjkn-pkg-config-0.29/include --extra-include-dirs=/nix/store/ff6n25jbkj71kr5sbazgwa9zlngyllx7-pcre-8.40-dev/include --extra-include-dirs=/nix/store/kpa2p2p0m4xys9wdm735nw9xi4d3n5gr-zlib-1.2.11-dev/include --extra-include-dirs=/nix/store/px00dygm925m7caqwnm76xi46m2rcx4p-binutils-2.27-dev/include --extra-include-dirs=/nix/store/vs9mh0q32flklzi8hl0ksr9d3jv21399-ghc-8.0.2/include --extra-lib-dirs=/nix/store/681f2q7npfgr6394dg3yqc7mh0n2wns9-binutils-2.27-lib/lib --extra-lib-dirs=/nix/store/9csmflf5p58jf3h2i36x0p5b5cw3aijf-git-2.14.1/lib --extra-lib-dirs=/nix/store/clvw27qshazq458waarrjqj0k5qpnjkn-pkg-config-0.29/lib --extra-lib-dirs=/nix/store/fwxgxaclys016hlvk68lbl0ipx5nc95l-pcre-8.40/lib --extra-lib-dirs=/nix/store/hzl3zrsfw4wf0cwk1qw61a4k1c9b2667-postgresql-9.5.7-lib/lib --extra-lib-dirs=/nix/store/sg6ri2jj92sbv7f4rvchzr00d24pi4nq-zlib-1.2.11/lib --extra-lib-dirs=/nix/store/vs9mh0q32flklzi8hl0ksr9d3jv21399-ghc-8.0.2/lib
    Process exited with code: ExitFailure 1
    Logs have been written to: /home/matthew/backup/perfectpitch/perfectpitch/.stack-work/logs/PortMidi-0.1.5.2.log

    Configuring PortMidi-0.1.5.2...
    Cabal-simple_mPHDZzAJ_1.24.2.0_ghc-8.0.2: Missing dependency on a foreign
    library:
    * Missing C library: asound
    This problem can usually be solved by installing the system package that
    provides this library (you may need the "-dev" version). If the library is
    already installed but in a non-standard location then you can use the flags
    --extra-include-dirs= and --extra-lib-dirs= to specify where it is.

评论里建议我安装alsaLib。我尝试nix-env通过运行命令来执行此操作$ nix-env -iA nixos.alsaLib。这次尝试没有成功(我* Missing C library: asound在尝试按照此nix-env安装进行构建时遇到了相同的错误)。

答案1

我通过将以下内容放入stack.yaml.

nix:
  packages: [alsaLib]

答案2

相关内容