Nixos

我可以將軟體包 libasound2 添加到 NixOS 儲存庫嗎?

  • December 2, 2017

嘗試建構我的項目時,我發現我缺少庫asound

我的問題與執行緒中的問題相匹配,通過安裝此處libasound2列出的 debian 軟體包解決了該問題。

我正在執行NixOS,但沒有看到libasound2可通過nix-env.

還有其他方法可以安裝依賴項嗎?可以添加到 NixOS 軟體包列表中嗎?如果是這樣,我該怎麼做?


我的項目建構使用 Haskellstack和命令$ 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)。

我通過將以下內容放入stack.yaml.

nix:
 packages: [alsaLib]

引用自:https://unix.stackexchange.com/questions/402609