-
Notifications
You must be signed in to change notification settings - Fork 643
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
Build on Debian wheezy fails #826
Comments
Maybe we need some upper bounds restrictions on these? Mine's built on trifecta 1.2.1.1, which is built on lens 3.10. Why did lens 4.0 fail to install, anyways? |
No idea. This is the output of 'cabal install -v lens':
|
@nicolabotta What happens if you manually insert an upper bound on lens? I'm on Debian Jessie, running lens-3.9.2. |
David, I do not how to manually insert an upper bound on lens. On a Debian jessie system I get (with cabal list lens):
but on a wheezy system I get
I guess some package requires lens > 3.9.1 which does not require lens to be upgraded in jessie but does so in wheezy. |
I'm really fumbling in the dark here - sorry! But what if you |
Right, it seems I cannot even reinstall lens-3.9.1. Anyway, trifecta-1.1 seems to require lens >= 3.10 (cabal info trifecta). I guess the system is screwed up it might be better to reinstall everything from scratch. Do you know if it is safe to just erase the whole ~/.cabal stuff ? |
Typically that's fine. There might be an issue if you've changed First, check out the Idris sources. Then, in the checked-out Idris cabal sandbox init which creates a hidden subdirectory to store all your Cabal libs. Then say cabal install --dependencies-only to get the deps for Idris. After this, you should be able to build Idris, Tutorial on Cabal sandboxes: Best of luck! |
David, thanks a lot for your support ! At this point I believe the only way to get Idris (even one of the old versions from Dec. 2013 or Jan. 2014) to install on my wheezy system is to upgrade to jessie. I have tried the sandbox way but I do not even get cabal-install-1.19.2 installed:
I have reinstalled ghc and cabal-install (via apt), erased ~/.cabal and tried to build Idris after a cabal update but that seems to be hopeless, too. I guess I'll stay with wheezy and 0.9.10.1-git:c486513 on one machine and further test 0.9.11 (under jessie) on the other machine. There anyway seem to be quite a lot of problems with 0.9.11: most of our dynamic programming framework which used to type check until the day before yesterday does no longer type check, I'll try to reproduce these failures on small scale examples. |
Hi Nicola I wish I could be more helpful here! I tend to run everything on jessie, so Is your framework publicly available? As far as I know, you're our biggest /David |
I've done a bit of digging: On a 'fresh' [0] Debian Wheezy install, I can replicate the problem. It appears to be an incompatability between template-haskell-2.8.0.0 and lens-4.0. If I install lens-4.0 first, it works fine (with template-haskell 2.7.0.0); whereas with template-haskell-2.8.0.0 installed, lens-4.0 fails with:
My gut feeling, not proven at this point, is that there's something in Idris' dependancies that causes the upgrade on template-haskell, and this doesn't work with ... some combination. GHC is version 7.4.1 on debian wheezy - it wouldn't surprise me if there was a bug fixed sometime after that release that's at the root of it. I don't know if this is one to pass on to the lens' guys; or GHC mob; but in the interim, I managed to install idris-0.9.10.1 on 'fresh' debian wheezy, thusly:
(No, no idea why the need to install haskeline in the midsts ... ) [0] Where 'fresh' means: rm -r ~/.cabal ~/.ghc |
Thanks syninys, I can reproduce your findings: On a 'fresh' Debian Wheezy, idris-0.9.10.1 indeed does install (with the cabal install haskeline caveat) but idris-0.9.11.1 does not. As you point out, template-haskell-2.8.0.0 and lens-4.0 seem to be incompatible. Whether this is the expected behavior or not I do not know. But what I do not understand is why does idris-0.9.11.1 on Wheezy require lens-4.0 whereas on Jessie idris-0.9.11.1 seems to be perfectly happy with lens-3.9.2 ? |
I don't know the answer to this, but another data point... I'm trying to install on a squeeze box (yes, I know...) with ghc 7.4.1, and I get:
|
This could be related to the bug I had recently trying to install lens-4.0 on wheezy. |
Try constraints of unordered-containers >= 0.2.3.0 and adding cpphs. lens-4.0 depends on cpphs but it isn't listed in the dependencies IIRC. I believe lens-4.0.1 doesn't depend on cpphs. |
So far still unable to install Idris on Debian stable:
What next ? |
Working fine for me on Arch Linux. GHC 7.6.3 (which seems to come w/ template-haskell-2.8.0.0), lens-4.0.1, cpphs-1.17.1, unordered-containers-0.2.3.3. |
If I do a
on a normal
|
Make sure you aren't replacing the GHC-provided version of template-haskell with a user-installed one. Lens (and other packages) will fail to build against the wrong template-haskell library. |
After installing the cabal-install package (I'm on ubuntu), I downloaded the latest stable ghc (from https://www.haskell.org/ghc/download_ghc_7_6_3), and I was able to simple do
without a fuss. With the 7.4.1 version which comes with cabal-install, I was unable to install idris. I was able to install lens by making sure I only had the right version of template-haskell, but as soon as I try to install idris I hit the same wall. |
@fabriceleal My best guess is some other dependency of Using
in a fresh environment on 7.4.1 should at least blame the right culprit. We got them to patch cabal around this, so folks using cabal HEAD will be fine, so you know in 3 years or so, everyone will be having new problems rather than this one. ;) Alas, that doesn't do you any good now. |
It is an incompatibility between
|
If we constrain ourselves to the installed template-haskell we find the real culprit:
The issue can be seen here:
If you want GHC 7.4.1 support for the platforms that shipped with it the solution would be to relax the |
As I remember it, I succeeded by forcing cabal to rebuild TH 2.7 against the newer containers version, but I don’t know if that would still work. |
That can work but reinstalling parts of the platform like that will break other things you can't recompile. |
I think this might be another case of this: http://paste.debian.net/98041/ |
I know this is old, but I thought it may be helpful to other people who may stumble upon it. I was able to get my ghc upgraded via this guide: http://www.extellisys.com/articles/haskell-on-debian-wheezy (Crunchbang Waldorf, to be specific) After this, I was able to easily install the most recent idris, version 0.9.15.1 via cabal. |
Thanks for the update! Would you mind updating the Debian section of the installation instructions on the wiki? Then we can close this issue. |
Sure thing, just did. Feel free to close now. |
Thanks! |
Any idea how to avoid this problem ?
The text was updated successfully, but these errors were encountered: