0

Attempting to build my project, I find that I am missing the library asound.

My issue matches the one at this thread, where the issue was solved by installing the debian package libasound2 listed here.

I am running NixOS and do not see the libasound2 package available for install via nix-env.

Is there some other way that I can install the dependency? Can it be added to the NixOS package list? If so, how do I go about doing that?


My project build uses Haskell's stack, and the command $ stack build. Full output is shown below.

$ 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.

It was suggested in the comments that I install alsaLib. I attempted this using nix-env by running the command $ nix-env -iA nixos.alsaLib. This attempt did not work (I ran into the same * Missing C library: asound error when trying to build following this nix-env install).

5
  • 1
    Try the alsaLib NixOS package.
    – ppb
    Nov 5 '17 at 13:44
  • @ppb somehow I still get the same Missing C library: asound error after installing alsaLib
    – mherzl
    Nov 5 '17 at 15:31
  • 1
    You are welcome to submitting a pull request to nixpkgs. Please give it a try.
    – wizzup
    Nov 6 '17 at 4:25
  • 1
    @mherzl how exactly are you building the package and installing the library? Under Nix / NixOS the compilers / build tools won't be able to see packages installed via nix-env or global configuration. Typically you would write a nix expression to build your project and list alsaLib in its build inputs.
    – ppb
    Nov 6 '17 at 15:21
  • 1
    @ppb I placed ` packages: [alsaLib]` under nix: in my stack.yaml file and that worked to get me past this error. Thank you!
    – mherzl
    Nov 6 '17 at 19:05
2

I got the project to build by placing the following into stack.yaml.

nix:
  packages: [alsaLib]

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.