[Haskell-cafe] GHCJS Bad first impression

David Johnson djohnson.m at gmail.com
Tue Nov 1 02:27:02 UTC 2016


Zachary,

The ghcjs-dom package on nixpkgs is pretty badly broken. This is because
cabal2nix doesn't generate nix expressions that are sensitive to ghcjs.
Therefore, you have to override derivations before you even begin.

To do this create the directory ~/.nixpkgs with file config.nix
(~/.nixpkgs/config.nix).

Then paste the contents of this config.nix [1] into your local file system,
then try the previous script again:

> nix-shell -p "haskell.packages.ghcjs.ghcWithPackages (pkgs: with pkgs;
[ghcjs-base ghcjs-dom])”

[1] https://gist.github.com/dmjio/380f8d8729f7f81be48ffdddb3fb1de0

Regards,

Dave


On Mon, Oct 31, 2016 at 6:59 AM, Aycan İrican <iricanaycan at gmail.com> wrote:

>
> > On 30 Oct 2016, at 21:42, David Johnson <djohnson.m at gmail.com> wrote:
> >
> > Zachary,
> >
> > I highly recommend using the nix package manager for GHCJS projects.
> >
> > Nix is very easy to install and uninstall (rm -rf /nix).
> >
> > To install: curl https://nixos.org/nix/install
> >  | sh
> >
> >
> > To be put into a shell where ghcjs exists along with a few dependencies,
> run,
> > nix-shell -p "haskell.packages.ghcjs.ghcWithPackages (pkgs: with pkgs;
> [ghcjs-base ghcjs-dom])”
> >
>
> Unfortunately it is failing with:
>
> ```
> building path(s) ‘/nix/store/bcdkyjdrvx1jmqzkh031h1zz0x3sd4
> q6-entropy-0.3.7’
> setupCompilerEnvironmentPhase
> Build with /nix/store/nxnnsdk5njk6913z017h0hf6v5f3waah-ghcjs-0.2.0.
> unpacking sources
> unpacking source archive /nix/store/86ny46814x0qw0srcgywwgzsz1myhp
> nn-entropy-0.3.7.tar.gz
> source root is entropy-0.3.7
> setting SOURCE_DATE_EPOCH to timestamp 1434401149 of file
> entropy-0.3.7/System/EntropyXen.hs
> patching sources
> compileBuildDriverPhase
> setupCompileFlags: -package-db=/tmp/nix-build-entropy-0.3.7.drv-2/package.conf.d
> -j1
> [1 of 1] Compiling Main             ( Setup.hs,
> /tmp/nix-build-entropy-0.3.7.drv-2/Main.o )
> Linking Setup ...
> configuring
> configureFlags: --verbose --prefix=/nix/store/
> bcdkyjdrvx1jmqzkh031h1zz0x3sd4q6-entropy-0.3.7
> --libdir=$prefix/lib/$compiler --libsubdir=$pkgid --with-gcc=gcc
> --package-db=/tmp/nix-build-entropy-0.3.7.drv-2/package.conf.d
> --ghc-option=-opt
> l=-Wl,-rpath=/nix/store/bcdkyjdrvx1jmqzkh031h1zz0x3sd4
> q6-entropy-0.3.7/lib/ghcjs-0.2.0/entropy-0.3.7 --enable-split-objs
> --disable-library-profiling --disable-executable-profiling --enable-shared
> --enable-library-vanilla --enable-executab
> le-dynamic --disable-tests --with-hsc2hs=/nix/store/
> mcfx2csfnjsqk83h64jw0w1a4df48rwp-ghc-7.10.3/bin/hsc2hs --ghcjs
> Configuring entropy-0.3.7...
> Flags chosen: halvm=False
> Dependency base >=4.3 && <5: using base-4.8.0.0
> Dependency bytestring -any: using bytestring-0.10.6.0
> Dependency unix -any: using unix-2.7.1.0
> Using Cabal-1.22.5.0 compiled by ghc-7.10
> Using compiler: ghcjs-0.2.0
> Using install prefix:
> /nix/store/bcdkyjdrvx1jmqzkh031h1zz0x3sd4q6-entropy-0.3.7
> Binaries installed in:
> /nix/store/bcdkyjdrvx1jmqzkh031h1zz0x3sd4q6-entropy-0.3.7/bin
> Libraries installed in:
> /nix/store/bcdkyjdrvx1jmqzkh031h1zz0x3sd4q6-entropy-0.3.7/lib/ghcjs-0.
> 2.0/entropy-0.3.7
> Private binaries installed in:
> /nix/store/bcdkyjdrvx1jmqzkh031h1zz0x3sd4q6-entropy-0.3.7/libexec
> Data files installed in:
> /nix/store/bcdkyjdrvx1jmqzkh031h1zz0x3sd4q6-entropy-0.3.7/share/x86_64-
> linux-ghcjs-0.2.0-ghc7_10_3/entropy-0.3.7
> Documentation installed in:
> /nix/store/bcdkyjdrvx1jmqzkh031h1zz0x3sd4q6-entropy-0.3.7/share/doc/
> x86_64-linux-ghcjs-0.2.0-ghc7_10_3/entropy-0.3.7
> Configuration files installed in:
> /nix/store/bcdkyjdrvx1jmqzkh031h1zz0x3sd4q6-entropy-0.3.7/etc
> No alex found
> Using ar found on system at:
> /nix/store/d61gfhj50bfrrlvp4jzdxmsap3izsvyc-binutils-2.27/bin/ar
> No c2hs found
> No cpphs found
> Using gcc version 5.4.0 given by user at:
> /nix/store/wckiwf1m333akbm3d7pyrj57g3i39367-gcc-wrapper-5.4.0/bin/gcc
> No ghc found
> No ghc-pkg found
> Using ghcjs version 0.2.0 found on system at:
> /nix/store/nxnnsdk5njk6913z017h0hf6v5f3waah-ghcjs-0.2.0/bin/ghcjs
> Using ghcjs-pkg version 7.10.3 found on system at:
> /nix/store/nxnnsdk5njk6913z017h0hf6v5f3waah-ghcjs-0.2.0/bin/ghcjs-pkg
> No greencard found
> Using haddock version 2.16.1 found on system at:
> /nix/store/nxnnsdk5njk6913z017h0hf6v5f3waah-ghcjs-0.2.0/bin/haddock-ghcjs
> No happy found
> Using haskell-suite found on system at: haskell-suite-dummy-location
> Using haskell-suite-pkg found on system at: haskell-suite-pkg-dummy-
> location
> No hmake found
> No hpc found
> Using hsc2hs version 0.67 given by user at:
> /nix/store/mcfx2csfnjsqk83h64jw0w1a4df48rwp-ghc-7.10.3/bin/hsc2hs
> No hscolour found
> No jhc found
> Using ld found on system at:
> /nix/store/wckiwf1m333akbm3d7pyrj57g3i39367-gcc-wrapper-5.4.0/bin/ld
> No lhc found
> No lhc-pkg found
> No pkg-config found
> Using strip version 2.27 found on system at:
> /nix/store/d61gfhj50bfrrlvp4jzdxmsap3izsvyc-binutils-2.27/bin/strip
> Using tar found on system at:
> /nix/store/p6jsf52izfpgb758xvdcw19byj644iak-gnutar-1.29/bin/tar
> No uhc found
> building
> Setup: Could not determine C compiler
> builder for ‘/nix/store/8ig44jskrggpnsqmiwjr3y7kz8aib9jj-entropy-0.3.7.drv’
> failed with exit code 1
> cannot build derivation ‘/nix/store/658g4wwinrpiy4qc23r9rzf0abab6q13-ghcjs-0.2.0.drv’:
> 1 dependencies couldn't be built
> error: build of ‘/nix/store/658g4wwinrpiy4qc23r9rzf0abab6q13-ghcjs-0.2.0.drv’
> failed
> /run/current-system/sw/bin/nix-shell: failed to build all dependencies
> ```
>
> I also tried it with 16.09 which also failed.
>
>> aycan
>
>


-- 
Cell: 1.630.740.8204
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.haskell.org/pipermail/haskell-cafe/attachments/20161031/7e2ac9a4/attachment.html>


More information about the Haskell-Cafe mailing list