NixOS / nixpkgs

Nix Packages collection & NixOS
MIT License
17.96k stars 13.97k forks source link

Haskell library builds via cabal but not via nix #27170

Closed idontgetoutmuch closed 6 years ago

idontgetoutmuch commented 7 years ago

Issue description

This works

cabal configure
cabal build

but this doesn't

cabal2nix ./integrators.cabal --sha256="" --shell > default.nix
nix-shell --run "cabal configure"
 cabal build

Steps to reproduce

See above - building via nix gives

Building integrators-0.1.0.0...
Preprocessing library integrators-0.1.0.0...
Preprocessing executable 'Kepler' for integrators-0.1.0.0...
Linking dist/build/Kepler/Kepler ...

In file included from /var/folders/3p/m593dprn5snbjz6sc45c77f80000gn/T/ghc16437_0/ghc_1.c:1:0: error:

In file included from /nix/store/aywrg07n9wmfsr3vx58ljb8vjlf6yfai-ghc-8.0.2/lib/ghc-8.0.2/include/Rts.h:217:0: error:

/nix/store/aywrg07n9wmfsr3vx58ljb8vjlf6yfai-ghc-8.0.2/lib/ghc-8.0.2/include/rts/storage/ClosureMacros.h:505:5: error:
     warning: macro expansion producing 'defined' has undefined behavior [-Wexpansion-to-defined]
#if ZERO_SLOP_FOR_LDV_PROF || ZERO_SLOP_FOR_SANITY_CHECK
    ^

/nix/store/aywrg07n9wmfsr3vx58ljb8vjlf6yfai-ghc-8.0.2/lib/ghc-8.0.2/include/rts/storage/ClosureMacros.h:502:37: error:
     note: expanded from macro 'ZERO_SLOP_FOR_LDV_PROF'
#define ZERO_SLOP_FOR_LDV_PROF     (defined(PROFILING))
                                    ^

/nix/store/aywrg07n9wmfsr3vx58ljb8vjlf6yfai-ghc-8.0.2/lib/ghc-8.0.2/include/rts/storage/ClosureMacros.h:505:31: error:
     warning: macro expansion producing 'defined' has undefined behavior [-Wexpansion-to-defined]
#if ZERO_SLOP_FOR_LDV_PROF || ZERO_SLOP_FOR_SANITY_CHECK
                              ^

/nix/store/aywrg07n9wmfsr3vx58ljb8vjlf6yfai-ghc-8.0.2/lib/ghc-8.0.2/include/rts/storage/ClosureMacros.h:503:37: error:
     note: expanded from macro 'ZERO_SLOP_FOR_SANITY_CHECK'
#define ZERO_SLOP_FOR_SANITY_CHECK (defined(DEBUG) && !defined(THREADED_RTS))
                                    ^

/nix/store/aywrg07n9wmfsr3vx58ljb8vjlf6yfai-ghc-8.0.2/lib/ghc-8.0.2/include/rts/storage/ClosureMacros.h:505:31: error:
     warning: macro expansion producing 'defined' has undefined behavior [-Wexpansion-to-defined]

/nix/store/aywrg07n9wmfsr3vx58ljb8vjlf6yfai-ghc-8.0.2/lib/ghc-8.0.2/include/rts/storage/ClosureMacros.h:503:56: error:
     note: expanded from macro 'ZERO_SLOP_FOR_SANITY_CHECK'
#define ZERO_SLOP_FOR_SANITY_CHECK (defined(DEBUG) && !defined(THREADED_RTS))
                                                       ^

/nix/store/aywrg07n9wmfsr3vx58ljb8vjlf6yfai-ghc-8.0.2/lib/ghc-8.0.2/include/rts/storage/ClosureMacros.h:523:5: error:
     warning: macro expansion producing 'defined' has undefined behavior [-Wexpansion-to-defined]
#if ZERO_SLOP_FOR_LDV_PROF && !ZERO_SLOP_FOR_SANITY_CHECK
    ^

/nix/store/aywrg07n9wmfsr3vx58ljb8vjlf6yfai-ghc-8.0.2/lib/ghc-8.0.2/include/rts/storage/ClosureMacros.h:502:37: error:
     note: expanded from macro 'ZERO_SLOP_FOR_LDV_PROF'
#define ZERO_SLOP_FOR_LDV_PROF     (defined(PROFILING))
                                    ^

/nix/store/aywrg07n9wmfsr3vx58ljb8vjlf6yfai-ghc-8.0.2/lib/ghc-8.0.2/include/rts/storage/ClosureMacros.h:523:32: error:
     warning: macro expansion producing 'defined' has undefined behavior [-Wexpansion-to-defined]
#if ZERO_SLOP_FOR_LDV_PROF && !ZERO_SLOP_FOR_SANITY_CHECK
                               ^

/nix/store/aywrg07n9wmfsr3vx58ljb8vjlf6yfai-ghc-8.0.2/lib/ghc-8.0.2/include/rts/storage/ClosureMacros.h:503:37: error:
     note: expanded from macro 'ZERO_SLOP_FOR_SANITY_CHECK'
#define ZERO_SLOP_FOR_SANITY_CHECK (defined(DEBUG) && !defined(THREADED_RTS))
                                    ^

/nix/store/aywrg07n9wmfsr3vx58ljb8vjlf6yfai-ghc-8.0.2/lib/ghc-8.0.2/include/rts/storage/ClosureMacros.h:523:32: error:
     warning: macro expansion producing 'defined' has undefined behavior [-Wexpansion-to-defined]

/nix/store/aywrg07n9wmfsr3vx58ljb8vjlf6yfai-ghc-8.0.2/lib/ghc-8.0.2/include/rts/storage/ClosureMacros.h:503:56: error:
     note: expanded from macro 'ZERO_SLOP_FOR_SANITY_CHECK'
#define ZERO_SLOP_FOR_SANITY_CHECK (defined(DEBUG) && !defined(THREADED_RTS))
                                                       ^

/nix/store/aywrg07n9wmfsr3vx58ljb8vjlf6yfai-ghc-8.0.2/lib/ghc-8.0.2/include/rts/storage/ClosureMacros.h:552:5: error:
     warning: macro expansion producing 'defined' has undefined behavior [-Wexpansion-to-defined]
#if ZERO_SLOP_FOR_LDV_PROF && !ZERO_SLOP_FOR_SANITY_CHECK
    ^

/nix/store/aywrg07n9wmfsr3vx58ljb8vjlf6yfai-ghc-8.0.2/lib/ghc-8.0.2/include/rts/storage/ClosureMacros.h:502:37: error:
     note: expanded from macro 'ZERO_SLOP_FOR_LDV_PROF'
#define ZERO_SLOP_FOR_LDV_PROF     (defined(PROFILING))
                                    ^

/nix/store/aywrg07n9wmfsr3vx58ljb8vjlf6yfai-ghc-8.0.2/lib/ghc-8.0.2/include/rts/storage/ClosureMacros.h:552:32: error:
     warning: macro expansion producing 'defined' has undefined behavior [-Wexpansion-to-defined]
#if ZERO_SLOP_FOR_LDV_PROF && !ZERO_SLOP_FOR_SANITY_CHECK
                               ^

/nix/store/aywrg07n9wmfsr3vx58ljb8vjlf6yfai-ghc-8.0.2/lib/ghc-8.0.2/include/rts/storage/ClosureMacros.h:503:37: error:
     note: expanded from macro 'ZERO_SLOP_FOR_SANITY_CHECK'
#define ZERO_SLOP_FOR_SANITY_CHECK (defined(DEBUG) && !defined(THREADED_RTS))
                                    ^

/nix/store/aywrg07n9wmfsr3vx58ljb8vjlf6yfai-ghc-8.0.2/lib/ghc-8.0.2/include/rts/storage/ClosureMacros.h:552:32: error:
     warning: macro expansion producing 'defined' has undefined behavior [-Wexpansion-to-defined]

/nix/store/aywrg07n9wmfsr3vx58ljb8vjlf6yfai-ghc-8.0.2/lib/ghc-8.0.2/include/rts/storage/ClosureMacros.h:503:56: error:
     note: expanded from macro 'ZERO_SLOP_FOR_SANITY_CHECK'
#define ZERO_SLOP_FOR_SANITY_CHECK (defined(DEBUG) && !defined(THREADED_RTS))
                                                       ^
9 warnings generated.
ld: framework not found Cocoa
clang-4.0: error: linker command failed with exit code 1 (use -v to see invocation)
`cc' failed in phase `Linker'. (Exit code: 1)

Technical details

  System Version:   OS X 10.11.5 (15F34)
  Kernel Version:   Darwin 15.5.0
nix-env (Nix) 1.11.9
"17.09pre108299.ec9a23332f"

No such file.

jameysharp commented 7 years ago

I notice the actual error here appears to be: "ld: framework not found Cocoa". I think https://github.com/NixOS/nixpkgs/issues/6390#issuecomment-170625325 and the several comments before it should address your issue.

I found that from this section of the nixpkgs manual, which did not immediately seem like the right answer: http://nixos.org/nixpkgs/manual/#builds-on-darwin-fail-with-math.h-not-found

So I think there's more documentation that needs to be written for people using nixpkgs with Haskell on non-NixOS systems.

idontgetoutmuch commented 7 years ago

Thanks for this.

At the moment I have

{ mkDerivation, ad, base, Chart, Chart-cairo, chart-unit
, colour, data-accessor, data-default-class, diagrams-lib, foldl
, lens, linear, mwc-probability, mwc-random, numhask, parallel
, parsec, primitive, protolude, reflection, stdenv, tdigest
, template-haskell, text, vector, vector-space
}:

mkDerivation {
pname = "numeric-ode";
doCheck = false;
version = "0.1.0.0";
src = ./.;
sha256 = "98ea6e4f216f2fb4b69fff9b3a44842c38686ca685f3f55dc48c5d3fb1107be4";
˘
isLibrary = true;
isExecutable = true;
libraryHaskellDepends = [
base lens linear parallel parsec primitive template-haskell vector
 ];
executableHaskellDepends = [
ad base Chart Chart-cairo chart-unit colour data-accessor
data-default-class diagrams-lib foldl linear mwc-probability
mwc-random numhask primitive protolude reflection tdigest text
vector vector-space
 ];
description = "Integrators library";
license = stdenv.lib.licenses.bsd3;
}

And if I do

nix-shell -p haskellPackages.numeric-ode

then the executables in my .cabal file gets built

-- Initial integrators.cabal generated by cabal init. For further
-- documentation, see http://haskell.org/cabal/users-guide/

name:                numeric-ode
version:             0.1.0.0
synopsis:            Integrators library
-- description:
license:             BSD3
license-file:        LICENSE
author:              Alexander V Vershilov
maintainer:          alexander.vershilov@gmail.com
-- copyright:
category:            Math
build-type:          Simple
cabal-version:       >=1.8

library
  hs-source-dirs:   src
  exposed-modules:
    Math.Integrators
    Math.Integrators.ExplicitEuler
    Math.Integrators.ImplicitEuler
    Math.Integrators.ImplicitMidpointRule
    Math.Integrators.SympleticEuler
    Math.Integrators.StormerVerlet
    Math.Integrators.StormerVerletAlt
    Math.Integrators.RK
    Math.Integrators.Implicit
    Math.Integrators.Internal
    Math.Integrators.RK.Internal
    Math.Integrators.RK.Parser
    Math.Integrators.RK.Template
    Math.Integrators.RK.Types

  ghc-options:         -Wall
  -- other-modules:
  build-depends:       base>=4,
                       vector>=0.9 && <1.1,
                       parallel>=3.2 && <3.3,
                       parsec  == 3.1.*,
                       template-haskell,
                       linear,
                       lens,
                       primitive>=0.4 && <0.7,
                       text,
                       protolude,
                       mwc-random,
                       mwc-probability,
                       primitive,
                       ad,
                       reflection,
                       tdigest,
                       chart-unit,
                       numhask,
                       foldl

  other-extensions:    TypeFamilies
                       FlexibleContexts
                       BangPatterns
                       QuasiQuotes

executable Kepler
  hs-source-dirs:      src/Examples
  main-is:             KeplerProblem.hs
  ghc-options:
  build-depends:       base,
                       numeric-ode,
                       vector>=0.9 && <1.0,
                       vector-space>=0.8 && <0.11,
                       colour,
                       linear,
                       data-default-class,
                       diagrams-lib,
                       Chart,
                       Chart-cairo,
                       data-accessor
  default-language:    Haskell2010

executable TestChart
  hs-source-dirs:      src/Examples
  main-is:             TestChart.hs
  ghc-options:
  build-depends:       base >= 4.7 && < 5,
                       chart-unit,
                       protolude,
                       foldl,
                       text,
                       numhask,
                       -- for data examples
                       mwc-random,
                       mwc-probability,
                       primitive,
                       ad,
                       reflection,
                       tdigest
  default-language:    Haskell2010

But if I then do

nix-shell -p "haskellPackages.ghcWithPackages (pkgs: [pkgs.chart-unit pkgs.numhask pkgs.numhask-range])"

and

ghc -isrc/Examples src/Examples/TestChart.hs -v

I get

Linking src/Examples/TestChart ...
ld: framework not found Cocoa
clang-4.0: error: linker command failed with exit code 1 (use -v to see invocation)
`cc' failed in phase `Linker'. (Exit code: 1)

I can see the nix linker, /nix/store/xnxsxvlz09315wi63jbyam9p9d5c835z-clang-wrapper-4.0.0/bin/cc trying with -framework Cocoa.

If I do

echo "int main(int argc, const char **argv) {return 0;}" > cocoatest.c
clang cocoatest.c -o cocoatest -framework Cocoa

then all is well.

I tried adding

executableToolDepends = [ pkgs.darwin.apple_sdk.frameworks.Cocoa ];

to default.nix but then I get

error: undefined variable ‘pkgs’ at /Users/dom/Dropbox/Private/NumMethHaskell/numeric-ode/default.nix:25:27

Any ideas on what I should try next?

jameysharp commented 7 years ago

With the caveat that I am neither an OS X user nor a nixpkgs expert, just a fellow nix user hoping to be helpful…

Does it work if you either: 1) add pkgs to your top-level function arguments on line 1, or 2) add darwin there and use executableToolDepends = [ darwin.apple_sdk.frameworks.Cocoa ]; instead?

idontgetoutmuch commented 7 years ago

And I very much appreciate your help :)

I am still not clear what I should put where. Here's my default.nix. Do I add something to this?

{ mkDerivation, ad, base, Chart, Chart-cairo, chart-unit
, colour, data-accessor, data-default-class, diagrams-lib, foldl
, lens, linear, mwc-probability, mwc-random, numhask, parallel
, parsec, primitive, protolude, reflection, stdenv, tdigest
, template-haskell, text, vector, vector-space
}:

mkDerivation {
pname = "numeric-ode";
doCheck = false;
version = "0.1.0.0";
src = ./.;
sha256 = "98ea6e4f216f2fb4b69fff9b3a44842c38686ca685f3f55dc48c5d3fb1107be4";
isLibrary = true;
isExecutable = true;
libraryHaskellDepends = [
base lens linear parallel parsec primitive template-haskell vector
 ];
executableHaskellDepends = [
ad base Chart Chart-cairo chart-unit colour data-accessor
data-default-class diagrams-lib foldl linear mwc-probability
mwc-random numhask primitive protolude reflection tdigest text
vector vector-space
 ];
description = "Integrators library";
license = stdenv.lib.licenses.bsd3;
}

And here is my config.nix. Or do I add something to this?

{ pkgs }:
{
  allowUnfree = true;

    packageOverrides = self: rec {

      haskellPackages = self.haskellPackages.override {
        overrides = hsSelf: hsSuper: {
          numhask = hsSelf.callPackage /Users/dom/Dropbox/Private/NumMethHaskell/numhask {};
          numhask-range = hsSelf.callPackage /Users/dom/Dropbox/Private/NumMethHaskell/numhask-range {};
          chart-unit = hsSelf.callPackage /Users/dom/Dropbox/Private/NumMethHaskell/chart-unit {};
          numeric-ode = hsSelf.callPackage /Users/dom/Dropbox/Private/NumMethHaskell/numeric-ode {};
        };
      };
    };
}
jameysharp commented 7 years ago

I'm pretty sure you were right to be editing your default.nix. That mkDerivation call describes both how to compile this package and what environment it needs to run in.

Note that the whole file is a big function declaration and the variable names you can use are all pattern matched out of a dictionary/record at the beginning. For example, before it can declare that license = stdenv.lib.licenses.bsd3, it had to extract stdenv from the argument dictionary, which it does on line 4.

That's why on your first attempt you got the message:

error: undefined variable ‘pkgs’

Because you used something from inside the pkgs dictionary without telling nix where that came from.

idontgetoutmuch commented 7 years ago

Aha ok I now have (putting pkgs.darwin.apple_sdk.frameworks.Cocoa everywhere I can think of)

{ mkDerivation, ad, base, Chart, Chart-cairo, chart-unit
, colour, data-accessor, data-default-class, diagrams-cairo
, diagrams-lib, diagrams-rasterific, foldl, JuicyPixels, lens
, linear, mwc-probability, mwc-random, numhask, parallel, parsec
, primitive, protolude, reflection, stdenv, tdigest
, template-haskell, text, vector, vector-space, pkgs
}:

mkDerivation {
pname = "numeric-ode";
doCheck = false;
version = "0.1.0.0";
src = ./.;
sha256 = "98ea6e4f216f2fb4b69fff9b3a44842c38686ca685f3f55dc48c5d3fb1107be4";
executableToolDepends = [ pkgs.darwin.apple_sdk.frameworks.Cocoa ];
isLibrary = true;
isExecutable = true;
libraryHaskellDepends = [
ad base chart-unit foldl lens linear mwc-probability mwc-random
numhask parallel parsec primitive protolude reflection tdigest
template-haskell text vector
pkgs.darwin.apple_sdk.frameworks.Cocoa
 ];
executableHaskellDepends = [
ad base Chart Chart-cairo chart-unit colour data-accessor
data-default-class diagrams-cairo diagrams-lib diagrams-rasterific
foldl JuicyPixels linear mwc-probability mwc-random numhask
primitive protolude reflection tdigest text vector vector-space
pkgs.darwin.apple_sdk.frameworks.Cocoa
 ];
description = "Integrators library";
license = stdenv.lib.licenses.bsd3;
}

And I still get the error when I build inside a nix shell. OTOH the exe actually compiles when I invoke the shell.

More explicitly, this

nix-shell -p "haskellPackages.ghcWithPackages (pkgs: [pkgs.numeric-ode pkgs.chart-unit pkgs.numhask pkgs.numhask-range])"

builds the exes given in the cabal file but this

[nix-shell]$ ghc -isrc/Examples src/Examples/TestChart.hs -v

fails. For reasons I don't understand the ghc command creates

/nix/store/xnxsxvlz09315wi63jbyam9p9d5c835z-clang-wrapper-4.0.0/bin/cc  -m64 -fno-stack-protector -DTABLES_NEXT_TO_CODE -m64 -o  src/Examples/TestChart -Wl,-no_compact_unwind src/Examples/TestChart.o
src/Examples/FakeData.o
-L/Users/dom/Library/Haskell/ghc-8.0.2/lib/protolude-0.1.10/lib
-L/Users/dom/Library/Haskell/ghc-8.0.2/lib/safe-0.3.14/lib
-L/Users/dom/Library/Haskell/ghc-8.0.2/lib/mwc-probability-1.3.0/lib
-L/Users/dom/Library/Haskell/ghc-8.0.2/lib/foldl-1.3.0/lib
-L/Users/dom/Library/Haskell/ghc-8.0.2/lib/vector-builder-0.3.1/lib
-L/Users/dom/Library/Haskell/ghc-8.0.2/lib/unordered-containers-0.2.7.2/lib
-L/Users/dom/Library/Haskell/ghc-8.0.2/lib/profunctors-5.2/lib
-L/Users/dom/Library/Haskell/ghc-8.0.2/lib/mwc-random-0.13.5.0/lib
-L/Users/dom/Library/Haskell/ghc-8.0.2/lib/vector-0.12.0.0/lib
-L/Users/dom/Library/Haskell/ghc-8.0.2/lib/primitive-0.6.2.0/lib
-L/nix/store/zvn67h886dsazr86ddic039d93c3xc3r-chart-unit-0.3.2/lib/ghc-8.0.2/chart-unit-0.3.2
'-L/nix/store/43l5k8c28l0r81g0hcs9lpcvqx76h5zd-libc++-4.0.0/lib'
-L/nix/store/sdyqiw1j8pfz4ml2q7v13d4fhimipfqa-objc4-osx-10.11.6/lib
-L/nix/store/259znpj1jifi6kv3ffqxp5m2r2nanj53-tdigest-0.1/lib/ghc-8.0.2/tdigest-0.1
-L/nix/store/fprabk5qjkd5r68l85v5iry91b356kmv-vector-algorithms-0.7.0.1/lib/ghc-8.0.2/vector-algorithms-0.7.0.1
-L/nix/store/n9ha1ywpgng8yzhj65q8j11mrnq5fj9f-reducers-3.12.1/lib/ghc-8.0.2/reducers-3.12.1
-L/nix/store/npz2sxdypma7hnj98b14f8jcnk3dn4c3-numhask-range-0.0.2/lib/ghc-8.0.2/numhask-range-0.0.2
-L/nix/store/30f8g1s91kawa1gi103zxzw89744cda0-numhask-0.0.4/lib/ghc-8.0.2/numhask-0.0.4
-L/nix/store/y665p05c27h4xiry4m701vbvsrrpikb5-singletons-2.2/lib/ghc-8.0.2/singletons-2.2
-L/nix/store/6i1limix4dfnwcdyh299y1wr0mcizkq4-th-desugar-1.6/lib/ghc-8.0.2/th-desugar-1.6
-L/nix/store/swb3wv4bmw8i6a571cswy5nsvm7kq4gk-th-orphans-0.13.3/lib/ghc-8.0.2/th-orphans-0.13.3
-L/nix/store/n39gczwvr51vyq65b8jd7h6wakhcmw2i-th-reify-many-0.1.7/lib/ghc-8.0.2/th-reify-many-0.1.7
-L/nix/store/c58qi2xfwf44dzzymgvgcqwzlxjdv87w-th-lift-instances-0.1.11/lib/ghc-8.0.2/th-lift-instances-0.1.11
-L/nix/store/6h5s3w3iril5va3rqljqhcrzv4dl2py1-th-lift-0.7.7/lib/ghc-8.0.2/th-lift-0.7.7
-L/nix/store/9wdwp2pb0fxfc1srwikh655fjsqz2brs-th-expand-syns-0.4.3.0/lib/ghc-8.0.2/th-expand-syns-0.4.3.0
-L/nix/store/nayq17ig8nn7y9mhkjpp5yq68iib3d62-syb-0.6/lib/ghc-8.0.2/syb-0.6
-L/nix/store/q380873bxap815cq6p4wd8si0crcnlpa-protolude-0.1.10/lib/ghc-8.0.2/protolude-0.1.10
-L/nix/store/qw7vakm2jjwhi5zwxyb4dhibdd0l485p-safe-0.3.15/lib/ghc-8.0.2/safe-0.3.15
-L/nix/store/6glfb6n0bh6d8ihs930il7zqa7g8iraa-mwc-probability-1.3.0/lib/ghc-8.0.2/mwc-probability-1.3.0
-L/nix/store/hlw03vnxb9dmv120s20g6hk4aac869d8-formatting-6.2.4/lib/ghc-8.0.2/formatting-6.2.4
-L/nix/store/s8dzfrdd34syj60cgpcp0qw47nl4ndig-text-format-0.3.1.1/lib/ghc-8.0.2/text-format-0.3.1.1
-L/nix/store/hc09q39q676b74h433rnjl01mcn5bb17-double-conversion-2.0.2.0/lib/ghc-8.0.2/double-conversion-2.0.2.0
-L/Users/dom/Library/Haskell/ghc-8.0.2/lib/old-locale-1.0.0.7/lib
-L/nix/store/n9ipdm8ka80hqv6ghxncwj5s39sas58p-clock-0.7.2/lib/ghc-8.0.2/clock-0.7.2
-L/nix/store/h1gsnb79szqjjj1k9qqyd337kv89714c-foldl-1.2.5/lib/ghc-8.0.2/foldl-1.2.5
-L/nix/store/nr92niglyd56fysi7wzsshai2b7sqp32-mwc-random-0.13.6.0/lib/ghc-8.0.2/mwc-random-0.13.6.0
-L/nix/store/8kba4p4yny4qiagix0q45r55immsav18-math-functions-0.2.1.0/lib/ghc-8.0.2/math-functions-0.2.1.0
-L/nix/store/q9k8p6yhvwnibhk6jm6axz327sbhkx5d-vector-th-unbox-0.2.1.6/lib/ghc-8.0.2/vector-th-unbox-0.2.1.6
-L/nix/store/4c0p277gsl668ysz8zf97jf9f374v5dl-diagrams-svg-1.4.1/lib/ghc-8.0.2/diagrams-svg-1.4.1
-L/nix/store/1lz22faq254kvkrq70nfc1s5yixfcd4k-svg-builder-0.1.0.2/lib/ghc-8.0.2/svg-builder-0.1.0.2
-L/nix/store/0k2mqnn2bimyl4dazzyqjzpxvw44issn-diagrams-cairo-1.4/lib/ghc-8.0.2/diagrams-cairo-1.4
-L/nix/store/8fg7b125csnfhz0zs9b4v8hijcl6c13f-statestack-0.2.0.5/lib/ghc-8.0.2/statestack-0.2.0.5
-L/nix/store/fan6682rkfpaqg322gw1vgjhkkji18y1-split-0.2.3.2/lib/ghc-8.0.2/split-0.2.3.2
-L/nix/store/fvzsbn8q7f9j0bvf4r54kqs577kziqqh-pango-0.13.3.1/lib/ghc-8.0.2/pango-0.13.3.1
-L/nix/store/8w3qcmy7ci3l553a71ycgn33059dki2s-pango-1.40.6-dev/lib
-L/nix/store/mwp5llkh5hhlkvk1hs2jzg5488qxvyka-cairo-1.14.10-dev/lib
-L/nix/store/bxs6g6xsb6bfkcrsij6yz0nz4vl3x4ai-libXext-1.3.3-dev/lib
-L/nix/store/433zx0fri5hmzlmcfydr4p7mgnlcpj57-xextproto-7.3.0/lib
-L/nix/store/kyssv6n862zw908wqfimzc8ci2bxfph6-xproto-7.0.31/lib
-L/nix/store/zay9nj6k5wwsyzfk57x27778sd39slyc-libXau-1.0.8-dev/lib
-L/nix/store/6yx08lavl0m4lprxa3v4h8kpmxqyapg0-libXau-1.0.8/lib
-L/nix/store/ii4gprd4av4fjfqx8vjgsplkwwr47kam-libXext-1.3.3/lib
-L/nix/store/q7l6x0wl7dbjcj10hd89mjm88dxz5jxq-fontconfig-2.12.1-dev/lib
-L/nix/store/8p0gn16nimi3pwc2fb3921cmc1mnbi1n-freetype-2.7.1-dev/lib
-L/nix/store/wyrvz7gb48z0sjc9rh5kvvbgydk7fnwx-zlib-1.2.11-dev/lib
-L/nix/store/azd7m03y4j8qv3jmhk6lys5mjxjzmzc0-zlib-1.2.11/lib
-L/nix/store/vgjjfjdj1d0dga5fg9858ajc89kd0142-bzip2-1.0.6.0.1-dev/lib
-L/nix/store/75hl91l5kyxnb8vn73vyng5jhsz62gf5-bzip2-1.0.6.0.1/lib
-L/nix/store/m05p7nkfb968zp8wqqh8z0r7ad8dgvwv-libpng-apng-1.6.29-dev/lib
-L/nix/store/sh87ic0d60045147xdn7j9a3hvf167kv-libpng-apng-1.6.29/lib
-L/nix/store/8x21qwmq4ik041l8sy48v3wmp729vnbs-freetype-2.7.1/lib
-L/nix/store/ic4amjqv5k0chi2sbkyagqsvy7z95qkf-fontconfig-2.12.1-lib/lib
-L/nix/store/y9c5ykc3nq4bmzbykmbjscn5v106ynq7-expat-2.2.1-dev/lib
-L/nix/store/32hm93kmqg4zmwg51if6wfsl7jda7apf-expat-2.2.1/lib
-L/nix/store/mssdnd8ncpkdzp49ikqnbpwff03nasp4-pixman-0.34.0/lib
-L/nix/store/y9ihi4n28k0lm15ak7dkkw5imbnb7629-libXrender-0.9.10-dev/lib
-L/nix/store/6kkjk3d7n1c9ih35qz4cwv84rf7awglx-renderproto-0.11.1/lib
-L/nix/store/03nbb7388sfhp6552spv51ya43a3c1dc-libX11-1.6.5-dev/lib
-L/nix/store/8wa8z8rfbphzh062v734d91bqci2m40g-libxcb-1.12-dev/lib
-L/nix/store/v3vi8wkzl1qj71v9nkn3hxizlwnf0f4s-libxcb-1.12/lib
-L/nix/store/kc87qdcbg11j0bh3zz2d0hpa9sqxcyvc-kbproto-1.0.7/lib
-L/nix/store/dsirhkj8ks0061rjhz757lklizfynwwh-libX11-1.6.5/lib
-L/nix/store/z62y40qvj7fqwyrzrrjxivr7ql8c4350-libXrender-0.9.10/lib
-L/nix/store/43w397n63jbr0mi36c7j1lkmh517d078-xcb-util-0.4.0-dev/lib
-L/nix/store/5l14pf5kin4zpajgjl4dag4x7warzhg0-xcb-util-0.4.0/lib
-L/nix/store/3frbs0nwgihf3mmfdpgdc85p8mnxi6lz-glib-2.52.1-dev/lib
-L/nix/store/iwwpr4jmrsh1l4p2jixzg4zqlr5i0jwd-libffi-3.2.1-dev/lib
-L/nix/store/yv6gah2fz6yx24scih953kc6j8s3vqk6-libffi-3.2.1/lib
-L/nix/store/l32ggnasgcz26dzymkxqacvjs3b2am3m-libiconv-osx-10.11.6/lib
-L/nix/store/8939idyphbkssl0dp3s5kmy2339cv3l2-gettext-0.19.8/lib
-L/nix/store/m95i4f7cg9gi6cp99a256l3br1410152-glib-2.52.1/lib
-L/nix/store/zzv4cp0bma8cnl1pgn45wvqpzd4p59ln-cairo-1.14.10/lib
-L/nix/store/qc7dqc5qm7x8nwjcdnl4wrgcmhkk86ga-harfbuzz-1.4.6-dev/lib
-L/nix/store/v8vjpwz41zf114ccylaqqpf9saigb7ld-graphite2-1.3.6/lib
-L/nix/store/1sp7w2gcfk5ky3sl734v0rig86lmr3rl-harfbuzz-1.4.6/lib
-L/nix/store/f036p174xm90h3nzi7bbfy73gkwwmakx-libXft-2.3.2-dev/lib
-L/nix/store/cs3fdi8d31j5njbal2vr32jvzn3jrkdx-libXft-2.3.2/lib
-L/nix/store/705vh7mxw8sxbr4zzk2gmp2f2c75dgqm-pango-1.40.6/lib
-L/nix/store/511syz8fh8lsrn9z75rpaimhqkmqwym0-glib-0.13.4.1/lib/ghc-8.0.2/glib-0.13.4.1
-L/nix/store/h29qabq7yxlw4h566xdbh94rzvj23b9z-diagrams-lib-1.4.1.2/lib/ghc-8.0.2/diagrams-lib-1.4.1.2
-L/nix/store/cpifv2fm17f6ndinjzf5lqlak3b374q1-optparse-applicative-0.13.2.0/lib/ghc-8.0.2/optparse-applicative-0.13.2.0
-L/nix/store/fadpshj8xwhp10zg782gd601ix6b38f7-ghc-8.0.2/lib/ghc-8.0.2/process-1.4.3.0
-L/nix/store/rb4xb557wjy239czyx6qyymk11wg9k5y-intervals-0.7.2/lib/ghc-8.0.2/intervals-0.7.2
-L/nix/store/6538z5x1l87lpb3qrwqp4ifza4vqcp2v-fsnotify-0.2.1/lib/ghc-8.0.2/fsnotify-0.2.1
-L/nix/store/zh85wwv0n8s3gb409w8sb4sqip6lwgpj-unix-compat-0.4.3.1/lib/ghc-8.0.2/unix-compat-0.4.3.1
-L/nix/store/iy1q0zmqrb661mdzh6x4cf48fxs0d0j0-hfsevents-0.1.6/lib/ghc-8.0.2/hfsevents-0.1.6
-L/Users/dom/Library/Haskell/ghc-8.0.2/lib/fingertree-0.1.1.0/lib
-L/nix/store/fadpshj8xwhp10zg782gd601ix6b38f7-ghc-8.0.2/lib/ghc-8.0.2/directory-1.3.0.0
-L/Users/dom/Library/Haskell/ghc-8.0.2/lib/diagrams-solve-0.1.0.1/lib
-L/nix/store/jnfykrn6s3a06hpssw75p8dzkq1ch0fc-diagrams-core-1.4/lib/ghc-8.0.2/diagrams-core-1.4
-L/nix/store/41hv93g1gv91j3gp7w7ik6rcshz7f8sm-dual-tree-0.2.0.9/lib/ghc-8.0.2/dual-tree-0.2.0.9
-L/Users/dom/Library/Haskell/ghc-8.0.2/lib/newtype-0.2/lib
-L/nix/store/j6bcbchmsaab6bq00r2mrh3vm1vb92ls-monoid-extras-0.4.2/lib/ghc-8.0.2/monoid-extras-0.4.2
-L/Users/dom/Library/Haskell/ghc-8.0.2/lib/groups-0.4.0.0/lib
-L/Users/dom/Library/Haskell/ghc-8.0.2/lib/data-default-class-0.1.2.0/lib
-L/Users/dom/Library/Haskell/ghc-8.0.2/lib/colour-2.3.3/lib
-L/nix/store/g5ymbrzvp3d57ps7zyz22qxxvis2ddca-cairo-0.13.3.1/lib/ghc-8.0.2/cairo-0.13.3.1
-L/Users/dom/Library/Haskell/ghc-8.0.2/lib/utf8-string-1.0.1.1/lib
-L/nix/store/g97x5asvr0hf9ppb03y3qgaizsljaz2k-blaze-builder-0.4.0.2/lib/ghc-8.0.2/blaze-builder-0.4.0.2
-L/Users/dom/Library/Haskell/ghc-8.0.2/lib/bifunctors-5.4.1/lib
-L/Users/dom/Library/Haskell/ghc-8.0.2/lib/comonad-5/lib
-L/Users/dom/Library/Haskell/ghc-8.0.2/lib/distributive-0.5.2/lib
-L/Users/dom/Library/Haskell/ghc-8.0.2/lib/tagged-0.8.5/lib
-L/Users/dom/Library/Haskell/ghc-8.0.2/lib/contravariant-1.4/lib
-L/Users/dom/Library/Haskell/ghc-8.0.2/lib/void-0.7.1/lib
-L/Users/dom/Library/Haskell/ghc-8.0.2/lib/hashable-1.2.5.0/lib
-L/Users/dom/Library/Haskell/ghc-8.0.2/lib/text-1.2.2.1/lib
-L/Users/dom/Library/Haskell/ghc-8.0.2/lib/transformers-compat-0.5.1.4/lib
-L/Users/dom/Library/Haskell/ghc-8.0.2/lib/semigroups-0.18.2/lib
-L/Users/dom/Library/Haskell/ghc-8.0.2/lib/base64-bytestring-1.0.0.1/lib
-L/Users/dom/Library/Haskell/ghc-8.0.2/lib/base-prelude-1.2.0.1/lib
-L/nix/store/b9pawl2f95diakmm61jskbksfd0m8w00-base-compat-0.9.3/lib/ghc-8.0.2/base-compat-0.9.3
-L/nix/store/fadpshj8xwhp10zg782gd601ix6b38f7-ghc-8.0.2/lib/ghc-8.0.2/unix-2.7.2.1
-L/nix/store/q2a2rijdhn8nn3n7ak0413jqwljqjd3x-async-2.1.1.1/lib/ghc-8.0.2/async-2.1.1.1
-L/Users/dom/Library/Haskell/ghc-8.0.2/lib/async-2.1.1/lib
-L/nix/store/1apy62v6ni4ad0d7xq5g1qfshjjp1a3w-ansi-wl-pprint-0.6.7.3/lib/ghc-8.0.2/ansi-wl-pprint-0.6.7.3
-L/nix/store/djp4yjxscfh876n85vily8w941m20fww-ansi-terminal-0.6.3.1/lib/ghc-8.0.2/ansi-terminal-0.6.3.1
-L/nix/store/sbd69fnlx44lyn2p2ni5gay3f9nqgs4c-ad-4.3.3/lib/ghc-8.0.2/ad-4.3.3
-L/Users/dom/Library/Haskell/ghc-8.0.2/lib/erf-2.0.0.0/lib
-L/nix/store/3kkgshsc9jdjxj00k29p9yqss8m3zxv0-data-reify-0.6.1/lib/ghc-8.0.2/data-reify-0.6.1
-L/nix/store/l2mlyra73cywkjsbzg340anf5wb6q6j4-active-0.2.0.13/lib/ghc-8.0.2/active-0.2.0.13
-L/nix/store/6mv15asfsy3xs76licb13n8i3frrwzrj-linear-1.20.6/lib/ghc-8.0.2/linear-1.20.6
-L/nix/store/cksb0v3v6hazwwpwbmbbk2iv66yq3yxg-bytes-0.15.3/lib/ghc-8.0.2/bytes-0.15.3
-L/nix/store/clfyfkyghbvwhxf7bvkxnn4v9pbzq4c6-scientific-0.3.4.15/lib/ghc-8.0.2/scientific-0.3.4.15
-L/nix/store/xhjadjgmwh1cm3wim5c9s2p5gg2560if-integer-logarithms-1.0.1/lib/ghc-8.0.2/integer-logarithms-1.0.1
-L/nix/store/7z71x1240kc8yzygq5kjrqn3wm0467jd-cereal-0.5.4.0/lib/ghc-8.0.2/cereal-0.5.4.0
-L/nix/store/azmg9wkq21r15c9ci17md5f3arr2ddl4-lens-4.15.1/lib/ghc-8.0.2/lens-4.15.1
-L/nix/store/9wvgjfghfb9wybf9y9xihaycyv56fh53-unordered-containers-0.2.8.0/lib/ghc-8.0.2/unordered-containers-0.2.8.0
-L/nix/store/cp53z0crvwdxv98590lav7b2310n3652-reflection-2.1.2/lib/ghc-8.0.2/reflection-2.1.2
-L/nix/store/v864xzg5nbaszf4aam643wpv6gjhq8ir-parallel-3.2.1.1/lib/ghc-8.0.2/parallel-3.2.1.1
-L/nix/store/6m3i8l6pycc9wsp2y4d8n7l84nakcn3g-kan-extensions-5.0.2/lib/ghc-8.0.2/kan-extensions-5.0.2
-L/nix/store/bv2d3wkh99sjbmlmivflw7cgprsm36ap-adjunctions-4.3/lib/ghc-8.0.2/adjunctions-4.3
-L/nix/store/6s80g6s7jx9q0fl2cmsfb1af8hiijlmj-hashable-1.2.6.1/lib/ghc-8.0.2/hashable-1.2.6.1
-L/nix/store/hap5dj8vzw5pb651rhbnbvp71d2ajv3a-text-1.2.2.1/lib/ghc-8.0.2/text-1.2.2.1
-L/nix/store/ri52jip3nmv35hjx7h9279h05b8sfynl-free-4.12.4/lib/ghc-8.0.2/free-4.12.4
-L/nix/store/9jmnhhfbm0805i2a4d7h46wfg12q8rd5-semigroupoids-5.1/lib/ghc-8.0.2/semigroupoids-5.1
-L/nix/store/dka28v38m1xbggvyngpj3m43nrb25whm-profunctors-5.2/lib/ghc-8.0.2/profunctors-5.2
-L/Users/dom/Library/Haskell/ghc-8.0.2/lib/prelude-extras-0.4.0.3/lib
-L/nix/store/fadpshj8xwhp10zg782gd601ix6b38f7-ghc-8.0.2/lib/ghc-8.0.2/filepath-1.4.1.1
-L/nix/store/vva4fngnrqmc412hdrkm3142saz1b4zn-exceptions-0.8.3/lib/ghc-8.0.2/exceptions-0.8.3
-L/nix/store/kniy1qis3rrj4vpi356hslczxzf37s34-bifunctors-5.4.2/lib/ghc-8.0.2/bifunctors-5.4.2
-L/nix/store/82bn2x9626p8qffqm9cj6r5ya0dr6jbg-comonad-5.0.1/lib/ghc-8.0.2/comonad-5.0.1
-L/nix/store/sar5ls601763fh3c2jciljh26il3nf4i-distributive-0.5.2/lib/ghc-8.0.2/distributive-0.5.2
-L/nix/store/fgqfj9lcr2lam493d332s3gfxxpdy7x0-tagged-0.8.5/lib/ghc-8.0.2/tagged-0.8.5
-L/nix/store/fg39ln7c40nk3dfg162rvwmln2gsp8da-contravariant-1.4/lib/ghc-8.0.2/contravariant-1.4
-L/nix/store/kgwhlrvqksnzh0nlrk19pkmf5n13v5np-void-0.7.2/lib/ghc-8.0.2/void-0.7.2
-L/nix/store/1dxs8x1mxiqlclcv8yb6pmfx7riagimg-transformers-compat-0.5.1.4/lib/ghc-8.0.2/transformers-compat-0.5.1.4
-L/nix/store/lnymyav76c9q7hkn46zdq3mm0l892kjg-semigroups-0.18.2/lib/ghc-8.0.2/semigroups-0.18.2
-L/Users/dom/Library/Haskell/ghc-8.0.2/lib/base-orphans-0.5.4/lib
-L/Users/dom/Library/Haskell/ghc-8.0.2/lib/StateVar-1.1.0.4/lib
-L/Users/dom/Library/Haskell/ghc-8.0.2/lib/stm-2.4.4.1/lib
-L/nix/store/f6dv6qrhbwqnsbs80ci21fhdjb8pm0rx-QuickCheck-2.9.2/lib/ghc-8.0.2/QuickCheck-2.9.2
-L/Users/dom/Library/Haskell/ghc-8.0.2/lib/tf-random-0.5/lib
-L/nix/store/fadpshj8xwhp10zg782gd601ix6b38f7-ghc-8.0.2/lib/ghc-8.0.2/template-haskell-2.11.1.0
-L/nix/store/fadpshj8xwhp10zg782gd601ix6b38f7-ghc-8.0.2/lib/ghc-8.0.2/pretty-1.1.3.3
-L/nix/store/fadpshj8xwhp10zg782gd601ix6b38f7-ghc-8.0.2/lib/ghc-8.0.2/ghc-boot-th-8.0.2
-L/Users/dom/Library/Haskell/ghc-8.0.2/lib/random-1.1/lib
-L/nix/store/fadpshj8xwhp10zg782gd601ix6b38f7-ghc-8.0.2/lib/ghc-8.0.2/time-1.6.0.1
-L/nix/store/i90801pfdcz97sgdqykf9jyif2gc1xrb-JuicyPixels-3.2.8.2/lib/ghc-8.0.2/JuicyPixels-3.2.8.2
-L/nix/store/8g3c1xj8czqixl634dxasyb5sxj65ym0-zlib-0.6.1.2/lib/ghc-8.0.2/zlib-0.6.1.2
-L/nix/store/49vclsdx818qx91b939bjp8insz80wqy-vector-0.11.0.0/lib/ghc-8.0.2/vector-0.11.0.0
-L/Users/dom/Library/Haskell/ghc-8.0.2/lib/primitive-0.6.1.0/lib
-L/Users/dom/Library/Haskell/ghc-8.0.2/lib/mtl-2.2.1/lib
-L/nix/store/fadpshj8xwhp10zg782gd601ix6b38f7-ghc-8.0.2/lib/ghc-8.0.2/transformers-0.5.2.0
-L/nix/store/fadpshj8xwhp10zg782gd601ix6b38f7-ghc-8.0.2/lib/ghc-8.0.2/binary-0.8.3.0
-L/nix/store/fadpshj8xwhp10zg782gd601ix6b38f7-ghc-8.0.2/lib/ghc-8.0.2/containers-0.5.7.1
-L/nix/store/fadpshj8xwhp10zg782gd601ix6b38f7-ghc-8.0.2/lib/ghc-8.0.2/bytestring-0.10.8.1
-L/nix/store/fadpshj8xwhp10zg782gd601ix6b38f7-ghc-8.0.2/lib/ghc-8.0.2/deepseq-1.4.2.0
-L/nix/store/fadpshj8xwhp10zg782gd601ix6b38f7-ghc-8.0.2/lib/ghc-8.0.2/array-0.5.1.1
-L/nix/store/fadpshj8xwhp10zg782gd601ix6b38f7-ghc-8.0.2/lib/ghc-8.0.2/base-4.9.1.0
-L/nix/store/fadpshj8xwhp10zg782gd601ix6b38f7-ghc-8.0.2/lib/ghc-8.0.2/integer-gmp-1.0.0.1
-L/nix/store/kri0x7k7gyg00i3368falfzl31rqa80b-gmp-6.1.2/lib
-L/nix/store/fadpshj8xwhp10zg782gd601ix6b38f7-ghc-8.0.2/lib/ghc-8.0.2/ghc-prim-0.5.0.0
-L/nix/store/fadpshj8xwhp10zg782gd601ix6b38f7-ghc-8.0.2/lib/ghc-8.0.2/rts
/var/folders/3p/m593dprn5snbjz6sc45c77f80000gn/T/ghc39881_0/ghc_2.o
-Wl,-u,_ghczmprim_GHCziTypes_Izh_static_info
-Wl,-u,_ghczmprim_GHCziTypes_Czh_static_info
-Wl,-u,_ghczmprim_GHCziTypes_Fzh_static_info
-Wl,-u,_ghczmprim_GHCziTypes_Dzh_static_info
-Wl,-u,_base_GHCziPtr_Ptr_static_info
-Wl,-u,_ghczmprim_GHCziTypes_Wzh_static_info
-Wl,-u,_base_GHCziInt_I8zh_static_info
-Wl,-u,_base_GHCziInt_I16zh_static_info
-Wl,-u,_base_GHCziInt_I32zh_static_info
-Wl,-u,_base_GHCziInt_I64zh_static_info
-Wl,-u,_base_GHCziWord_W8zh_static_info
-Wl,-u,_base_GHCziWord_W16zh_static_info
-Wl,-u,_base_GHCziWord_W32zh_static_info
-Wl,-u,_base_GHCziWord_W64zh_static_info
-Wl,-u,_base_GHCziStable_StablePtr_static_info
-Wl,-u,_ghczmprim_GHCziTypes_Izh_con_info
-Wl,-u,_ghczmprim_GHCziTypes_Czh_con_info
-Wl,-u,_ghczmprim_GHCziTypes_Fzh_con_info
-Wl,-u,_ghczmprim_GHCziTypes_Dzh_con_info
-Wl,-u,_base_GHCziPtr_Ptr_con_info
-Wl,-u,_base_GHCziPtr_FunPtr_con_info
-Wl,-u,_base_GHCziStable_StablePtr_con_info
-Wl,-u,_ghczmprim_GHCziTypes_False_closure
-Wl,-u,_ghczmprim_GHCziTypes_True_closure
-Wl,-u,_base_GHCziPack_unpackCString_closure
-Wl,-u,_base_GHCziIOziException_stackOverflow_closure
-Wl,-u,_base_GHCziIOziException_heapOverflow_closure
-Wl,-u,_base_ControlziExceptionziBase_nonTermination_closure
-Wl,-u,_base_GHCziIOziException_blockedIndefinitelyOnMVar_closure
-Wl,-u,_base_GHCziIOziException_blockedIndefinitelyOnSTM_closure
-Wl,-u,_base_GHCziIOziException_allocationLimitExceeded_closure
-Wl,-u,_base_ControlziExceptionziBase_nestedAtomically_closure
-Wl,-u,_base_GHCziEventziThread_blockedOnBadFD_closure
-Wl,-u,_base_GHCziWeak_runFinalizzerBatch_closure
-Wl,-u,_base_GHCziTopHandler_flushStdHandles_closure
-Wl,-u,_base_GHCziTopHandler_runIO_closure
-Wl,-u,_base_GHCziTopHandler_runNonIO_closure
-Wl,-u,_base_GHCziConcziIO_ensureIOManagerIsRunning_closure
-Wl,-u,_base_GHCziConcziIO_ioManagerCapabilitiesChanged_closure
-Wl,-u,_base_GHCziConcziSync_runSparks_closure
-Wl,-u,_base_GHCziConcziSignal_runHandlersPtr_closure
-Wl,-search_paths_first -lHSprotolude-0.1.10-KQgBikaPd2bIGz5LyMb0DY
-lHSsafe-0.3.14-GsbXn9D9F3BDazVNcErzdQ
-lHSmwc-probability-1.3.0-KDsaRHDtfA2B5SbEc2uFIn
-lHSfoldl-1.3.0-3EVzjXfVIODBHBVNlfz4QZ
-lHSvector-builder-0.3.1-B9JMGfIT0MiL2EKhuW4OSZ
-lHSunordered-containers-0.2.7.2-ICgWIYrGL9xLm3Sokc47MY
-lHSprofunctors-5.2-HtLnSqoCHpc1kWz6BVdGqF
-lHSmwc-random-0.13.5.0-Ei3ssA11aEDBuHB6DS3LgX
-lHSvector-0.12.0.0-900owgCX5Pn3WXzaAvmVao
-lHSprimitive-0.6.2.0-4578caNkWQ54Gt1mxLF2Yh
-lHSchart-unit-0.3.2-1trkAcT0OSH5DQo7X8iCmr
-lHStdigest-0.1-LR2kY9ddRf99GzA6DnL4jw
-lHSvector-algorithms-0.7.0.1-C2u1KYklHg84I6SQQVEAin
-lHSreducers-3.12.1-L5NETma7oRAAclp2fsxDtf
-lHSnumhask-range-0.0.2-LbM0tSrvWGl5To2iFX91Ns
-lHSnumhask-0.0.4-8r1EXF0Glq75G0PmHIJhLU
-lHSsingletons-2.2-Looge3O7r1w77frIO9ufXe
-lHSth-desugar-1.6-2Ii4SYCGwKu1pgm3MODNwZ
-lHSth-orphans-0.13.3-Hljp1HPh3TpIVaxiJ1WZA8
-lHSth-reify-many-0.1.7-89nxwFrujGnE4HpHWBm2JG
-lHSth-lift-instances-0.1.11-B6IFh3Lvw9dDf0vhqW2kkB
-lHSth-lift-0.7.7-JWI9Gh7wB0MC9Q5wqv5aoI
-lHSth-expand-syns-0.4.3.0-IkppgMRU8HaKb8WgclTkO3
-lHSsyb-0.6-IcoSwlPi2Nx4zSqMmorFPS
-lHSprotolude-0.1.10-JLaHOoXtlrVFX9or83CH8u
-lHSsafe-0.3.15-2Yd45VWFfdcKqKyispOifY
-lHSmwc-probability-1.3.0-HygkYD0aPQKHWIJE9COGBr
-lHSformatting-6.2.4-4lRoD33fxugC5x5fZcU8T5
-lHStext-format-0.3.1.1-JGemDn0f2XM1rzk4OYLe9W
-lHSdouble-conversion-2.0.2.0-9Vu15N5YRz0HNxrvUklRHp
-lHSold-locale-1.0.0.7-KGBP1BSKxH5GCm0LnZP04j
-lHSclock-0.7.2-8dRNleB7rysIZAOReuhpZA
-lHSfoldl-1.2.5-AyWZ7ZwVzqxB2TmPJMrw6W
-lHSmwc-random-0.13.6.0-4EKMGw6QfaJLMhRUSL730j
-lHSmath-functions-0.2.1.0-JNickpnTA2s6HQEMSD4Mt1
-lHSvector-th-unbox-0.2.1.6-F1LQ0cjpUAg5AwrecpmsUP
-lHSdiagrams-svg-1.4.1-ETUGdBPZXNPGXuMO8dUVAB
-lHSsvg-builder-0.1.0.2-4pgx81psIuZ9oAqh8RQ6zu
-lHSdiagrams-cairo-1.4-GFdZtTeQ4TxAlvvFRbztcp
-lHSstatestack-0.2.0.5-DUUgIpif05SkammwiZ5ef
-lHSsplit-0.2.3.2-CJl40zTyCIV16Pr60nb7CT
-lHSpango-0.13.3.1-KR5yDPIBNfWIVU69h6QRKz
-lHSglib-0.13.4.1-H6YNaCRiHY2AmLlWsubrA
-lHSdiagrams-lib-1.4.1.2-IFeZ6vVfCndDJJpr8eNrhJ
-lHSoptparse-applicative-0.13.2.0-EqIYOWOFTvf23sT5QTYn9U
-lHSprocess-1.4.3.0 -lHSintervals-0.7.2-3vzSDbz3biR3JT8ePCbYOq
-lHSfsnotify-0.2.1-2b5QbORZcPM1KZytqMIjs3
-lHSunix-compat-0.4.3.1-Ausmw6d7KIwA7sl52mzqxC
-lHShfsevents-0.1.6-3HO4ggH909cEiVbjqmes53
-lHSfingertree-0.1.1.0-Aiaf912zjZGHvH3XyjxrYA -lHSdirectory-1.3.0.0
-lHSdiagrams-solve-0.1.0.1-8z1vvS2NCi1DIyzPhWywoe
-lHSdiagrams-core-1.4-4JAajFN6NTdFxi2XSnMDDJ
-lHSdual-tree-0.2.0.9-7ROOrjb2AwPGsxfW7l6fkd
-lHSnewtype-0.2-CoUG4lREtI4Hba8CNmzidy
-lHSmonoid-extras-0.4.2-8LdQHrr3Uj13KjEWRDFIkA
-lHSgroups-0.4.0.0-6QzgvQWZdpG1ShD42lQXZ3
-lHSdata-default-class-0.1.2.0-GsXqKN6o1X9jr0fF5qCVD
-lHScolour-2.3.3-7zspnmhVLMd3uThUzy60rY
-lHScairo-0.13.3.1-Ihx7KqVkbEsFq3eQQIBSv
-lHSutf8-string-1.0.1.1-1DpjxLeTvGg7ttZZojxJR5
-lHSblaze-builder-0.4.0.2-Chs7nQ4Qyy3Dg6EW0im6Kk
-lHSbifunctors-5.4.1-F1ctCGduJWH108vib4Fehh
-lHScomonad-5-I8KHova2o93LaIYG9vK1VV
-lHSdistributive-0.5.2-LRMYhvYe7Cy30UvMv9KJ48
-lHStagged-0.8.5-jDBtbBndklGIlXZjVMhpH
-lHScontravariant-1.4-1xs7TZMuMVV4IdRVWi0MIC
-lHSvoid-0.7.1-KNG877C7UfvCJNCJkK7VOx
-lHShashable-1.2.5.0-D2qhjboTBST6rFOSUg03ZP
-lHStext-1.2.2.1-FeA6fTH3E2n883cNXIS2Li
-lHStransformers-compat-0.5.1.4-84sV5mkFftgD9qwogvuEDr
-lHSsemigroups-0.18.2-8LAVfZ0VxfI7bfD9sPWjsq
-lHSbase64-bytestring-1.0.0.1-4O9TExPPz6eI82Yj7L4SIj
-lHSbase-prelude-1.2.0.1-HJh3WMXaeu8jTCoycvBYB
-lHSbase-compat-0.9.3-KeJp8zYMpcS9WibvTcxU22 -lHSunix-2.7.2.1
-lHSasync-2.1.1.1-8yywY4inVGRLJSCg60gBXj
-lHSasync-2.1.1-4n6HEMPJR2eJK0JpvCfuPK
-lHSansi-wl-pprint-0.6.7.3-A79v826bgPr574HtaZPPqC
-lHSansi-terminal-0.6.3.1-3RTqikoQf47ajVD9m8zgB
-lHSad-4.3.3-2mDZThBrkLzKURRsMaoB0J
-lHSerf-2.0.0.0-IIRFGBpxAWtA7x6vFkIoaV
-lHSdata-reify-0.6.1-9yf8ftZUgEfDfDe5NqRfed
-lHSactive-0.2.0.13-6U1IOuTRez8cafkCoe8rs
-lHSlinear-1.20.6-4Mu6cTW7x6F51dxF54sRnH
-lHSbytes-0.15.3-4wykm9fMMxKENvWXM7yziv
-lHSscientific-0.3.4.15-63CVfYxRAyE5JcUCu3UCNQ
-lHSinteger-logarithms-1.0.1-IEHCuEd5sG4JjSjlx7m5JF
-lHScereal-0.5.4.0-BsAGxfp8yAs3CiRo2E875e
-lHSlens-4.15.1-JEjBGv3iqz9BBcIN8Zv8uM
-lHSunordered-containers-0.2.8.0-7sRzHY7nA2MDTBp8Ugtj2E
-lHSreflection-2.1.2-Bem12O1xFGSHr4C2Hyu1c4
-lHSparallel-3.2.1.1-KQJHWCcq2Ka569Stb10nhx
-lHSkan-extensions-5.0.2-KVnVF8a8AJ42gswaE26iyg
-lHSadjunctions-4.3-4NsFv08p09OH79kZsQDVh1
-lHShashable-1.2.6.1-1kESIAoxKUjIcRePT58baP
-lHStext-1.2.2.1-FwvWBfkNJh1I1NMMegz0uY
-lHSfree-4.12.4-GP8SJAzGfyq6UeKHSkzaha
-lHSsemigroupoids-5.1-G6hp8hbTJmG326ffvAeaw8
-lHSprofunctors-5.2-85ZLvwISeusLRZoJlitoyP
-lHSprelude-extras-0.4.0.3-BhL9U5k7NtGJn1itwIHt2Y -lHSfilepath-1.4.1.1
-lHSexceptions-0.8.3-ADEDRATtUrMK1JW4zMQ9U
-lHSbifunctors-5.4.2-wt6HPG9UFgCjbd0zbVYNT
-lHScomonad-5.0.1-7j4AeOMTFovFSFO9XMFm1
-lHSdistributive-0.5.2-JCgfTXNR3ywAyV7fFWIBI5
-lHStagged-0.8.5-1mTloBSoUxv8dqUr8XBGBt
-lHScontravariant-1.4-3UCY3arLvoG71jrGOYoc39
-lHSvoid-0.7.2-4PWwLjXxAER9U3zGpDhf6e
-lHStransformers-compat-0.5.1.4-IuFogs8HAVUJBWVNMhtssu
-lHSsemigroups-0.18.2-GvTCUro9Hym1wGKOLNRfUA
-lHSbase-orphans-0.5.4-ABoxiBf7nXc7Qqh66CgYc9
-lHSStateVar-1.1.0.4-5dJbnTVECtEAhfJXPZKdbO
-lHSstm-2.4.4.1-JQn4hNPyYjP5m9AcbI88Ve
-lHSQuickCheck-2.9.2-Jyj4gc4JxkEIgGFLAsGhs9
-lHStf-random-0.5-BGjMgO8m67W8CHiEl15kZ7 -lHStemplate-haskell-2.11.1.0
-lHSpretty-1.1.3.3 -lHSghc-boot-th-8.0.2
-lHSrandom-1.1-9tceXaeYIMZ4JrKq20Egog -lHStime-1.6.0.1
-lHSJuicyPixels-3.2.8.2-JViBgltRj36L5XuDdgF7cx
-lHSzlib-0.6.1.2-7negTfm2ujt1gW4wr40MUp
-lHSvector-0.11.0.0-LMwQhhnXj8U3T5Bm1JFxG
-lHSprimitive-0.6.1.0-6AbSTw9JXz141LE5p6LGH
-lHSmtl-2.2.1-BLKBelFsPB3BoFeSWSOYj6 -lHStransformers-0.5.2.0
-lHSbinary-0.8.3.0 -lHScontainers-0.5.7.1 -lHSbytestring-0.10.8.1
-lHSdeepseq-1.4.2.0 -lHSarray-0.5.1.1 -lHSbase-4.9.1.0
-lHSinteger-gmp-1.0.0.1 -lHSghc-prim-0.5.0.0 -lHSrts -lCffi '-lc++'
-lpangocairo-1.0 -lcairo -lpango-1.0 -lgobject-2.0 -lglib-2.0
-lgobject-2.0 -lglib-2.0 -lpthread -lz -lcairo -lz -liconv -lgmp -lm
-ldl -lpthread -framework Cocoa

You can see the -framework Cocoa at the end.

idontgetoutmuch commented 7 years ago

Also I can do

[nix-shell]$ ghci -isrc/Examples
GHCi, version 8.0.2: http://www.haskell.org/ghc/  :? for help
Prelude> :l src/Examples/TestChart.hs
[1 of 2] Compiling FakeData         ( src/Examples/FakeData.hs, interpreted )
[2 of 2] Compiling Main             ( src/Examples/TestChart.hs, interpreted )

src/Examples/TestChart.hs:67:1: warning: [-Wunused-top-binds]
    Defined but not used: ‘displayHeader’
Ok, modules loaded: FakeData, Main.
*Main> main

So ghci succeeds where ghc fails :( So at the moment I can work round the problem.

jameysharp commented 7 years ago

Hooray, at least you have a workaround! At this point I'm going to hope that somebody else, perhaps @copumpkin or @peti, can sort out how this should have worked for you.

idontgetoutmuch commented 7 years ago

@jameysharp thank you for your interest.

mpickering commented 6 years ago

Is this resolved?

idontgetoutmuch commented 6 years ago

I don't know if this specifically is resolved but I am happy user of nix on MACos ATM so I will close it. If I ever run into the problem again, I can open a new ticket and link to this one.

idontgetoutmuch commented 6 years ago

lol - I just got this error again with

ghc src/Main.hs src/helpers.o -isrc -lsundials_arkode -o Main

idontgetoutmuch commented 6 years ago

But adding (if pkgs.stdenv.isDarwin then [pkgs.darwin.apple_sdk.frameworks.Cocoa] else []) to my executableHaskellDepends seems to have resolved it.

jwiegley commented 6 years ago

I end up needing to use nix-shell -p ...<some framework>... these days in order to be able to use Cabal directly. I suppose that makes sense.