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
    Commented Nov 5, 2017 at 13:44
  • @ppb somehow I still get the same Missing C library: asound error after installing alsaLib
    – mherzl
    Commented Nov 5, 2017 at 15:31
  • 1
    You are welcome to submitting a pull request to nixpkgs. Please give it a try.
    – wizzup
    Commented Nov 6, 2017 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
    Commented Nov 6, 2017 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
    Commented Nov 6, 2017 at 19:05

2 Answers 2

2

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

nix:
  packages: [alsaLib]
1

Seems it's now called alsa-lib

https://search.nixos.org/packages?channel=23.05&show=alsa-lib&from=0&size=50&sort=relevance&type=packages&query=alsa-lib

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .