Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

nix fails to build clash 1.0 on debian (devuan) testing (10.0) #11

Open
pbreuer opened this issue Oct 11, 2019 · 1 comment
Open

nix fails to build clash 1.0 on debian (devuan) testing (10.0) #11

pbreuer opened this issue Oct 11, 2019 · 1 comment

Comments

@pbreuer
Copy link

pbreuer commented Oct 11, 2019

[snap won't run because it uses systemd and I don't]
[nix does install but won't build clash 1.0 because of some weird dependency loop.]

% nix-shell clash-compiler-1.0/shell.nix
....
checking for references to /build/ in /nix/store/mfrwa1fphckp9c0l8jwia93phszzhw2g-hackage-db-2.0.1...
shrinking RPATHs of ELF executables and libraries in /nix/store/x9x5xpkqg1ab1rkzr5mb893i6qirlnad-hackage-db-2.0.1-doc
strip is /nix/store/jnky2ba7kb4rq494g5kgdprhxkrb40l7-binutils-2.31.1/bin/strip
patching script interpreter paths in /nix/store/x9x5xpkqg1ab1rkzr5mb893i6qirlnad-hackage-db-2.0.1-doc
checking for references to /build/ in /nix/store/x9x5xpkqg1ab1rkzr5mb893i6qirlnad-hackage-db-2.0.1-doc...
cycle detected in the references of '/nix/store/mfrwa1fphckp9c0l8jwia93phszzhw2g-hackage-db-2.0.1' from '/nix/store/x9x5xpkqg1ab1rkzr5mb893i6qirlnad-hackage-db-2.0.1-doc'
cannot build derivation '/nix/store/c81sbqlha1bwy045b563vsi30wgq5n2q-cabal2nix-2.14.2.drv': 1 dependencies couldn't be built
cannot build derivation '/nix/store/n3gwfavrr3qd3qxfskl68vmsf8m6337f-cabal2nix-niv.drv': 1 dependencies couldn't be built
error: build of '/nix/store/n3gwfavrr3qd3qxfskl68vmsf8m6337f-cabal2nix-niv.drv' failed
(use '--show-trace' to show detailed location information)

[--show-trace doesn't help me, it just had (even) more paths in]

[This is devuan testing, which is debian testing with systemd stripped out.]

@pbreuer
Copy link
Author

pbreuer commented Oct 12, 2019

I've dist-upgraded the machine to debian/devuan unstable and the same nix fail happens.

In unstable, only five haskell modules are missing from those needed to build clash (turns out it is clash 1.1.0, not 1.0, as I can run clash --version now and it tells me that!).

They are

  • concurrent-supply-0.1.8 (lib) (requires download & build)
  • ghc-tcplugins-extra-0.3 (lib) (requires download & build)
  • ghc-typelits-natnormalise-0.7 (lib) (requires download & build)
  • ghc-typelits-knownnat-0.7 (lib) (requires download & build)
  • ghc-typelits-extra-0.3.1 (lib) (requires download & build)

Everything else needed comes with debian/devuan unstable. I've made debian packages with cabal-debian.

Debian/devuan unstable comes with cabal 2.4.0.0, and I have upgraded that to 2.4.1.0 (it seemed impossible, because the debian package build failed a dozen different ways, but apparently I did it once before and I still have the binary package and that still works, so thank you to me). With those, the "inplace" build for clashi/clash using cabal works, and has no dependencies other than its own build components.

Debian/devuan unstable also has ghc 8.6.5 which your docs say is contraindicated, but it worked to build clash/clashi.

I have hacked the environment file and the clash/clashi binaries to change their embedded paths to make everything work multiuser (and it does) without reference to the build directory.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant