From gershomb at gmail.com Wed Apr 1 01:29:55 2015 From: gershomb at gmail.com (Gershom B) Date: Tue, 31 Mar 2015 21:29:55 -0400 Subject: Mentors and thoughts on a GSoC proposal? Message-ID: Hi all! We have the following GSoC proposal submitted to us: https://gist.github.com/fugyk/37510958b52589737274 Is there anyone on the cabal-devel list who would like to join as a mentor either to comment on this proposal, or feels up to mentoring this proposal (if we are to accept it, it will need a mentor with good familiarity with cabal internals)? Please let me know, or register on google melange and establish a connection to haskell.org if so. Cheers, Gershom From gershomb at gmail.com Wed Apr 1 04:22:24 2015 From: gershomb at gmail.com (Gershom B) Date: Wed, 1 Apr 2015 00:22:24 -0400 Subject: An Easy Solution to PVP Bounds and Cabal Hell Message-ID: Recently there has been some discussion about how we can fix the problem of ?Cabal Hell?. Some people advocate restrictive upper bounds, to prevent packages from being broken by new updates. Some other people point out that too-restrictive bounds can lead to bad install plans, since some packages might want newer versions of some dependencies, and others older versions. Still other people say that we can _retroactively_ fix upper bounds (in either direction) by modifying cabal files using the new features in Hackage. Some people think this is a terrible idea because it looks like we are mutating things, and this confuses hashes. In turn, these people support either nix or a nix-like approach by which packages have hashes that encompass the full versions of all their transitive dependencies. With that in hand, we can cache builds and mix-and-match to build the precise environment we want for each package while reducing redundant computation. However, the cache of all the various binary combinations may still grow large! And none of this fully begins to address the dreaded ?diamond dependency? problem. Here is a chart of some such solutions: http://www.well-typed.com/blog/aux/images/cabal-hell/cabal-hell-solutions.png One way to look at a particular build is in an n-dimensional state space (of the Hilbert sort) determined by all its dependencies, not least the compiler itself. The solver acts as a particle traversing this space. But this description is too simple. Our state of dependencies and constraints itself varies and grows over time. So another approach is to think of the dependencies as a transitive graph, where each node may vary along a time axis, and as they slide along the axis, this in turn affects their children. We now have not just one Hilbert space, but a collection of them related by branching trees as authors locally modify the dependencies of their packages. If we keep this simple model in mind, it is easy to see why everyone is always having these debates. Some people want to fix the graph, and others want to simplify it. Some people want an immutable store, and some people want to rebase. But we can?t ?really? rebase in our current model. Bearing in mind our model of a space-time continuum of hackage dependences, the solution emerges ? enforce immutability, but allow retroactive mutation. For instance, suppose Fred tries to install package Foo on Friday evening, but discovers that it depends on version 1.0 of Bar (released the previous Friday) that in turn depends on version 0.5 of Baz but Foo also depends on version 0.8 of Baz. So Fred branches Bar and changes the dependency, which in turn informs Betty, that there is also a 1.0 of Bar with different dependencies and we have forked our package timeline. On getting this message on Monday, Betty can merge by pushing with --force-rewrites and this goes back in the timeline and makes it so that Baz retroactively had the right dependencies and now Fred, as of the previous Friday, no longer has this problem. (That way he still has the weekend). Now the failed build is cut off temporarily into a cycle in the package timeline that is disconnected from the rewrite. We stash it with ?hackage stash? until Monday at which time the dependency graph is 100 percent equalized and primed for new patches.? At this point we unstash Foo as of Friday and it is replaced by the Foo from the new timeline. Friday Fred needs to remain stashed lest he run into himself. The longer he can be avoided by his Monday self the better. Future work could include bots which automate pruning of artifacts from redundant branches. If this description was too abrupt, here is a diagram with a fuller description of the workflow: http://bit.ly/15IIGac I know there are some new ideas to take in here, and there is a little technical work necessary to make it feasible, but in my opinion if you can understand the current cabal situation, and you can understand how git and darcs work, then you should be able to understand this too. Hopefully by this time next year, we?ll be able to say that our problems with cabal have been truly wiped from our collective memory. HTH, HAND. Gershom From ttuegel at gmail.com Wed Apr 1 14:53:41 2015 From: ttuegel at gmail.com (Thomas Tuegel) Date: Wed, 1 Apr 2015 09:53:41 -0500 Subject: [Haskell-cafe] An Easy Solution to PVP Bounds and Cabal Hell In-Reply-To: References: Message-ID: Hi Gershom, On Tue, Mar 31, 2015 at 11:22 PM, Gershom B wrote: > One way to look at a particular build is in an n-dimensional state > space (of the Hilbert sort) determined by all its dependencies, not > least the compiler itself. The solver acts as a particle traversing > this space. But this description is too simple. Our state of > dependencies and constraints itself varies and grows over time. So > another approach is to think of the dependencies as a transitive > graph, where each node may vary along a time axis, and as they slide > along the axis, this in turn affects their children. We now have not > just one Hilbert space, but a collection of them related by > branching trees as authors locally modify the dependencies of their > packages. I don't know if you intended this to be a satirical remark about the package upper bounds, but I think you really hit the nail on the head. When we ask package authors to put upper bounds on their dependencies, what we are really doing is asking them to propagate information about _future_ incompatibilities back into the present. As none of us has access to future information [1], the upper bounds on our dependencies amount to a collection of bad guesses [2]. I think we should consider taking a more empirical approach [3]. One way (but certainly not the only way) to approach this would be to require packages to be uploaded to Hackage with a kind of "build-certificate," certifying that a successful build plan was possible given the state of Hackage at a particular timestamp. This allows us to infer minimal upper bounds for all of the package's transitive dependencies. Once the build-certificate is authenticated, Hackage only needs to store the latest timestamp of a successful build, so the overhead is very low. In this scheme, author-specified upper bounds would be relegated to ruling out known incompatibilities with already-released versions of dependencies. Of course, build failures will still occur. By using anonymous build-reporting to track the timestamp of the earliest failed build of a package, we can automatically infer the _true_ upper bounds on its dependencies. If contradictory reports occur, they can be resolved by the trustees or the package's maintainers. Just some food for thought. I hope the timing of my e-mail will not discourage anyone from taking my suggestions seriously. [1]. If I am mistaken and you think you do have access to future information, please respond privately; I have some questions for you about the stock market. [2]. If you've never had an upper bounds problem on a package you maintain, I'm happy for you, but there is mounting evidence that as a community, we are very bad guessers, on average. [3]. The PVP is orthogonal to this. It is a convenient set of assumptions and a reasonably good set of norms; nothing more. -- Thomas Tuegel From allbery.b at gmail.com Wed Apr 1 15:08:52 2015 From: allbery.b at gmail.com (Brandon Allbery) Date: Wed, 1 Apr 2015 11:08:52 -0400 Subject: [Haskell-cafe] An Easy Solution to PVP Bounds and Cabal Hell In-Reply-To: References: Message-ID: On Wed, Apr 1, 2015 at 10:53 AM, Thomas Tuegel wrote: > [2]. If you've never had an upper bounds problem on a package you > maintain, I'm happy for you, but there is mounting evidence that as a > community, we are very bad guessers, on average. > I think upper bound with easy way to "slip" it (--allow-newer, as already implemented) is the best we can do. There's already a lot of evidence that guessing wrong in the other direction can and does break large chunks of the ecosystem --- as much as certain developers would prefer to ignore the fact and/or arrange that everyone other than them has to deal with the breakage. -- brandon s allbery kf8nh sine nomine associates allbery.b at gmail.com ballbery at sinenomine.net unix, openafs, kerberos, infrastructure, xmonad http://sinenomine.net -------------- next part -------------- An HTML attachment was scrubbed... URL: From stegeman at gmail.com Wed Apr 15 03:02:21 2015 From: stegeman at gmail.com (Luite Stegeman) Date: Wed, 15 Apr 2015 15:02:21 +1200 Subject: New minor 1.22 release? Message-ID: Hi all, Unfortunately GHC 7.10.1 shipped with a Cabal library that handles ghcjs-pkg version numbers wrong, making it unusable to boot GHCJS. I'd like 7.10.2 to ship with a working version (7.10.2 itself also contains an important bugfix for GHCJS), which would require a new minor version release. Can we do one soon? Let me know if I can do anything to help! luite -------------- next part -------------- An HTML attachment was scrubbed... URL: From ryan at ryant.org Wed Apr 15 03:18:25 2015 From: ryan at ryant.org (Ryan Thomas) Date: Wed, 15 Apr 2015 04:18:25 +0100 Subject: New minor 1.22 release? In-Reply-To: References: Message-ID: Hey Luite, I can do one but unfortunately I'm in Vietnam without any of my keys until Sunday. If it can wait until then I would be happy to do it when I return home. Cheers, Ryan On Wednesday, 15 April 2015, Luite Stegeman wrote: > Hi all, > > Unfortunately GHC 7.10.1 shipped with a Cabal library that handles > ghcjs-pkg version numbers wrong, making it unusable to boot GHCJS. > > I'd like 7.10.2 to ship with a working version (7.10.2 itself also > contains an important bugfix for GHCJS), which would require a new minor > version release. Can we do one soon? Let me know if I can do anything to > help! > > luite > > -------------- next part -------------- An HTML attachment was scrubbed... URL: From stegeman at gmail.com Wed Apr 15 03:56:25 2015 From: stegeman at gmail.com (Luite Stegeman) Date: Wed, 15 Apr 2015 15:56:25 +1200 Subject: New minor 1.22 release? In-Reply-To: References: Message-ID: I think that would be ok. But I'd like to get the version number of the 1.22 branch bumped and update the Cabal submodule in GHC so I can run more tests as early as possible and perhaps avoid more embarassing bugs like this. Would it be ok if I bumped the 1.22 branch (to 1.22.3.0 ?). Then when you roll the release we can just update the submodule again. luite On Wed, Apr 15, 2015 at 3:18 PM, Ryan Thomas wrote: > Hey Luite, > > I can do one but unfortunately I'm in Vietnam without any of my keys until > Sunday. If it can wait until then I would be happy to do it when I return > home. > > Cheers, > > Ryan > > > On Wednesday, 15 April 2015, Luite Stegeman wrote: > >> Hi all, >> >> Unfortunately GHC 7.10.1 shipped with a Cabal library that handles >> ghcjs-pkg version numbers wrong, making it unusable to boot GHCJS. >> >> I'd like 7.10.2 to ship with a working version (7.10.2 itself also >> contains an important bugfix for GHCJS), which would require a new minor >> version release. Can we do one soon? Let me know if I can do anything to >> help! >> >> luite >> >> -------------- next part -------------- An HTML attachment was scrubbed... URL: From ryan at ryant.org Wed Apr 15 04:46:58 2015 From: ryan at ryant.org (Ryan Thomas) Date: Wed, 15 Apr 2015 05:46:58 +0100 Subject: New minor 1.22 release? In-Reply-To: References: Message-ID: Sounds good to me. On Wednesday, 15 April 2015, Luite Stegeman wrote: > I think that would be ok. But I'd like to get the version number of the > 1.22 branch bumped and update the Cabal submodule in GHC so I can run more > tests as early as possible and perhaps avoid more embarassing bugs like > this. > > Would it be ok if I bumped the 1.22 branch (to 1.22.3.0 ?). Then when you > roll the release we can just update the submodule again. > > luite > > > On Wed, Apr 15, 2015 at 3:18 PM, Ryan Thomas > wrote: > >> Hey Luite, >> >> I can do one but unfortunately I'm in Vietnam without any of my keys >> until Sunday. If it can wait until then I would be happy to do it when I >> return home. >> >> Cheers, >> >> Ryan >> >> >> On Wednesday, 15 April 2015, Luite Stegeman > > wrote: >> >>> Hi all, >>> >>> Unfortunately GHC 7.10.1 shipped with a Cabal library that handles >>> ghcjs-pkg version numbers wrong, making it unusable to boot GHCJS. >>> >>> I'd like 7.10.2 to ship with a working version (7.10.2 itself also >>> contains an important bugfix for GHCJS), which would require a new minor >>> version release. Can we do one soon? Let me know if I can do anything to >>> help! >>> >>> luite >>> >>> > -------------- next part -------------- An HTML attachment was scrubbed... URL: From simonpj at microsoft.com Mon Apr 20 08:12:07 2015 From: simonpj at microsoft.com (Simon Peyton Jones) Date: Mon, 20 Apr 2015 08:12:07 +0000 Subject: Cabal and simultaneous installations of the same package In-Reply-To: <68326f3ebbd943768effe6b0f2ff522c@DB4PR30MB030.064d.mgd.msft.net> References: <68326f3ebbd943768effe6b0f2ff522c@DB4PR30MB030.064d.mgd.msft.net> Message-ID: Friends We started this thread (below) a month ago, but it has once more run out of steam. The last contribution was from Vishal Agrawal I am already planning to do a GSoC project based on it with a slightly larger aim. You can find my work in progress proposal at https://gist.github.com/fugyk/37510958b52589737274. Also I have written a patch to make cabal non-destructive at https://github.com/fugyk/cabal/commit/45ec5edbaada1fd063c67d6109e69efa0e732e6a. Can you review the proposal and give me suggestions. I don't feel qualified to drive this process, but I do think it's important to complete it. (I might be wrong about this too... please say so if so.) Nor do I understand why it's difficult to tie up the bow; the underlying infrastructure work is done. Duncan especially: how can we make progress? Do you think it's important to make progress, or are other things in cabal-land more important? My reason for thinking that it's important is that it appears to be the root cause of many people's difficulties with Haskell and Cabal. It might not be a panacea for all ills; but it might be a cheap remedy for a significant proportion of ills. And that would be a Good Thing. Thanks Simon | -----Original Message----- | From: ghc-devs [mailto:ghc-devs-bounces at haskell.org] On Behalf Of Simon | Peyton Jones | Sent: 23 March 2015 08:46 | To: cabal-devel at haskell.org | Cc: haskell-platform at projects.haskell.org; haskell- | infrastructure at community.galois.com; Haskell Libraries; ghc- | devs at haskell.org | Subject: Cabal and simultaneous installations of the same package | | Dear Cabal developers | | You'll probably have seen the thread about the Haskell Platform. | | Among other things, this point arose: | | | Another thing we should fix is the (now false) impression that HP | | gets in the way of installing other packages and versions due to | cabal hell. | | People mean different things by "cabal hell", but the inability to | simultaneously install multiple versions of the same package, | compiled against different dependencies is certainly one of them, | and I think it is the one that Yitzchak is referring to here. | | But some time now GHC has allowed multiple versions of the same package | (compiled against different dependencies) to be installed | simultaneously. So all we need to do is to fix Cabal to allow it too, | and thereby kill of a huge class of cabal-hell problems at one blow. | | But time has passed and it hasn't happened. Is this because I'm | misunderstanding? Or because it is harder than I think? Or because | there are much bigger problems? Or because there is insufficient | effort available? Or what? | | Unless I'm way off beam, this "multiple installations of the same | package" thing has been a huge pain forever, and the solution is within | our grasp. What's stopping us grasping it? | | Simon | | _______________________________________________ | ghc-devs mailing list | ghc-devs at haskell.org | http://mail.haskell.org/cgi-bin/mailman/listinfo/ghc-devs -------------- next part -------------- An HTML attachment was scrubbed... URL: From ryan at ryant.org Mon Apr 20 13:56:53 2015 From: ryan at ryant.org (Ryan Thomas) Date: Mon, 20 Apr 2015 14:56:53 +0100 Subject: New minor 1.22 release? In-Reply-To: References: Message-ID: Luite, I'll be releasing the 1.22.3.0 branch now. On 15 April 2015 at 05:46, Ryan Thomas wrote: > Sounds good to me. > > > On Wednesday, 15 April 2015, Luite Stegeman wrote: >> >> I think that would be ok. But I'd like to get the version number of the >> 1.22 branch bumped and update the Cabal submodule in GHC so I can run more >> tests as early as possible and perhaps avoid more embarassing bugs like >> this. >> >> Would it be ok if I bumped the 1.22 branch (to 1.22.3.0 ?). Then when you >> roll the release we can just update the submodule again. >> >> luite >> >> >> On Wed, Apr 15, 2015 at 3:18 PM, Ryan Thomas wrote: >>> >>> Hey Luite, >>> >>> I can do one but unfortunately I'm in Vietnam without any of my keys >>> until Sunday. If it can wait until then I would be happy to do it when I >>> return home. >>> >>> Cheers, >>> >>> Ryan >>> >>> >>> On Wednesday, 15 April 2015, Luite Stegeman wrote: >>>> >>>> Hi all, >>>> >>>> Unfortunately GHC 7.10.1 shipped with a Cabal library that handles >>>> ghcjs-pkg version numbers wrong, making it unusable to boot GHCJS. >>>> >>>> I'd like 7.10.2 to ship with a working version (7.10.2 itself also >>>> contains an important bugfix for GHCJS), which would require a new minor >>>> version release. Can we do one soon? Let me know if I can do anything to >>>> help! >>>> >>>> luite >>>> >> > From ryan at ryant.org Mon Apr 20 14:56:39 2015 From: ryan at ryant.org (Ryan Thomas) Date: Mon, 20 Apr 2015 15:56:39 +0100 Subject: ANN: Cabal and cabal-install 1.22.3.0 released Message-ID: A minor release of Cabal and cabal-install has been completed. This is available for download on haskell.org as well as hackage. The main reason for this release was a fix for the ghcjs-pkg version number handling. The changelog entries for both are below. Cabal: 1.22.3.0 Ryan Thomas April 2015 * Fix for the ghcjs-pkg version number handling (Luite Stegeman) * filterConfigureFlags: filter more flags (Mikhail Glushenkov) * Cabal check will fail on -fprof-auto passed as a ghc-option - Fixes #2479 (John Chee) cabal-install: 1.22.3.0 Ryan Thomas April 2015 * Fix bash completion for sandbox subcommands - Fixes #2513 (Mikhail Glushenkov) * filterConfigureFlags: filter more flags (Mikhail Glushenkov) Mi?tek, Mikhail: If you would be willing to build the additional binaries as was done with 1.22.2.0 I will update the downloads page with them too. Cheers, Ryan From ttuegel at gmail.com Tue Apr 21 18:27:00 2015 From: ttuegel at gmail.com (Thomas Tuegel) Date: Tue, 21 Apr 2015 13:27:00 -0500 Subject: inactive issues In-Reply-To: References: <54ECF28C.9070804@informatik.uni-kiel.de> <54EE128E.3040608@informatik.uni-kiel.de> Message-ID: On Wed, Feb 25, 2015 at 1:53 PM, Thomas Tuegel wrote: > On Wed, Feb 25, 2015 at 12:21 PM, lennart spitzner > wrote: >> I am not convinced. how does closing ~40 out of ~700 open tickets make >> the contributors more effective? that demand exceeds resources is >> true, but it is no argument for closing issues. many of the issues >> represent sensible ideas for features that do not need new feedback. At the risk of beating a dead horse, I just wanted to point out an exchange on Twitter [1] which _proves_ that having a large number of open tickets discourages our users from opening new issues when they encounter bugs, even severe performance regressions. I recommend, if you think there is any reason to believe an issue is inactive, close it! We can always re-open issues if the re-occur. [1]. https://twitter.com/shebang/status/590578911148380160 -- Thomas Tuegel From _deepfire at feelingofgreen.ru Tue Apr 21 18:37:35 2015 From: _deepfire at feelingofgreen.ru (Kosyrev Serge) Date: Tue, 21 Apr 2015 21:37:35 +0300 Subject: inactive issues In-Reply-To: (sfid-20150421_223916_300478_D43D28B3) (Thomas Tuegel's message of "Tue, 21 Apr 2015 13:27:00 -0500") References: <54ECF28C.9070804@informatik.uni-kiel.de> <54EE128E.3040608@informatik.uni-kiel.de> Message-ID: <87a8y1e39s.fsf@feelingofgreen.ru> Thomas Tuegel writes: > On Wed, Feb 25, 2015 at 1:53 PM, Thomas Tuegel wrote: >> On Wed, Feb 25, 2015 at 12:21 PM, lennart spitzner >> wrote: >>> I am not convinced. how does closing ~40 out of ~700 open tickets make >>> the contributors more effective? that demand exceeds resources is >>> true, but it is no argument for closing issues. many of the issues >>> represent sensible ideas for features that do not need new feedback. > > At the risk of beating a dead horse, I just wanted to point out an > exchange on Twitter [1] which _proves_ that having a large number of > open tickets discourages our users from opening new issues when they > encounter bugs, even severe performance regressions. > > I recommend, if you think there is any reason to believe an issue is > inactive, close it! We can always re-open issues if the re-occur. As a bystander and purely philosophically, the action of "closing" feels gratuitiously non-injective, since it conflates "inactivity" with "completion". Could it be that we could have a more discerning tracker, which would show the "not inactive" subset of "open" issues by default? Hardly so, with github, and yet.. -- regards, ??????? ?????? From simonpj at microsoft.com Tue Apr 21 19:14:23 2015 From: simonpj at microsoft.com (Simon Peyton Jones) Date: Tue, 21 Apr 2015 19:14:23 +0000 Subject: inactive issues In-Reply-To: <87a8y1e39s.fsf@feelingofgreen.ru> References: <54ECF28C.9070804@informatik.uni-kiel.de> <54EE128E.3040608@informatik.uni-kiel.de> <87a8y1e39s.fsf@feelingofgreen.ru> Message-ID: <4e20e6bc1de24a30863e9a28c9ca048c@DB4PR30MB030.064d.mgd.msft.net> GHC has a process for systematically downgrading inactive tickets. See https://ghc.haskell.org/trac/ghc/wiki/WorkingConventions/BugTracker under "Re-milestoning after a release". Something like that might be useful for Cabal? Mind you, I'm not sure that we have executed this algorithm following the 7.10 release (Austin NB). Simon | -----Original Message----- | From: cabal-devel [mailto:cabal-devel-bounces at haskell.org] On Behalf Of | Kosyrev Serge | Sent: 21 April 2015 19:38 | To: Thomas Tuegel | Cc: cabal-devel | Subject: Re: inactive issues | | Thomas Tuegel writes: | > On Wed, Feb 25, 2015 at 1:53 PM, Thomas Tuegel | wrote: | >> On Wed, Feb 25, 2015 at 12:21 PM, lennart spitzner | >> wrote: | >>> I am not convinced. how does closing ~40 out of ~700 open tickets | make | >>> the contributors more effective? that demand exceeds resources is | >>> true, but it is no argument for closing issues. many of the issues | >>> represent sensible ideas for features that do not need new feedback. | > | > At the risk of beating a dead horse, I just wanted to point out an | > exchange on Twitter [1] which _proves_ that having a large number of | > open tickets discourages our users from opening new issues when they | > encounter bugs, even severe performance regressions. | > | > I recommend, if you think there is any reason to believe an issue is | > inactive, close it! We can always re-open issues if the re-occur. | | As a bystander and purely philosophically, the action of "closing" feels | gratuitiously non-injective, since it conflates "inactivity" with | "completion". | | Could it be that we could have a more discerning tracker, which would | show the "not inactive" subset of "open" issues by default? | | Hardly so, with github, and yet.. | | -- | regards, | ??????? ?????? | _______________________________________________ | cabal-devel mailing list | cabal-devel at haskell.org | http://mail.haskell.org/cgi-bin/mailman/listinfo/cabal-devel From pengyu.ut at gmail.com Fri Apr 24 15:38:31 2015 From: pengyu.ut at gmail.com (Peng Yu) Date: Fri, 24 Apr 2015 10:38:31 -0500 Subject: Installation error of libxml-sax Message-ID: I got the following errors. Does anybody know how to fix it? Thanks. ~$ cabal install libxml-sax Resolving dependencies... Configuring libxml-sax-0.7.5... Failed to install libxml-sax-0.7.5 Last 10 lines of the build log ( /Users/pengy/.cabal/logs/libxml-sax-0.7.5.log ): Configuring libxml-sax-0.7.5... setup-Cabal-1.18.1.4-x86_64-osx-ghc-7.8.3: The program pkg-config version >=0.9.0 is required but it could not be found. cabal: Error: some packages failed to install: libxml-sax-0.7.5 failed during the configure step. The exception was: ExitFailure 1 -- Regards, Peng From allbery.b at gmail.com Fri Apr 24 18:29:34 2015 From: allbery.b at gmail.com (Brandon Allbery) Date: Fri, 24 Apr 2015 14:29:34 -0400 Subject: Installation error of libxml-sax In-Reply-To: References: Message-ID: On Fri, Apr 24, 2015 at 11:38 AM, Peng Yu wrote: > setup-Cabal-1.18.1.4-x86_64-osx-ghc-7.8.3: The program pkg-config version > >=0.9.0 is required but it could not be found. > Yes. You need some C libraries and some of the glue that they use (it's not like libxml2 has been rewritten in Haskell; we FFI to it). You can get pkg-config and libxml2 from MacPorts or Homebrew; Apple does not ship pkg-config and ships only an out of date version of libxml2 --- with the pkg-config data that allows other programs to more easily link to it stripped. -- brandon s allbery kf8nh sine nomine associates allbery.b at gmail.com ballbery at sinenomine.net unix, openafs, kerberos, infrastructure, xmonad http://sinenomine.net -------------- next part -------------- An HTML attachment was scrubbed... URL: From pengyu.ut at gmail.com Sat Apr 25 00:12:43 2015 From: pengyu.ut at gmail.com (Peng Yu) Date: Fri, 24 Apr 2015 19:12:43 -0500 Subject: Installation error of asn1-types Message-ID: I got the following error. I am not sure how to fix the problem. Could anybody let me know what I should do? Thanks. ~$ cabal install --reinstall --force-reinstall asn1-types Resolving dependencies... Warning: The following packages are likely to be broken by the reinstalls: crypto-pubkey-types-0.4.3 asn1-encoding-0.9.0 Continuing even though the plan contains dangerous reinstalls. Downloading asn1-types-0.3.0... Configuring asn1-types-0.3.0... Building asn1-types-0.3.0... Failed to install asn1-types-0.3.0 Build log ( /Users/py/.cabal/logs/asn1-types-0.3.0.log ): Configuring asn1-types-0.3.0... Building asn1-types-0.3.0... Preprocessing library asn1-types-0.3.0... Data/ASN1/Types.hs:23:8: Could not find module ?Data.Hourglass? There are files missing in the ?hourglass-0.2.9? package, try running 'ghc-pkg check'. Use -v to see a list of the files searched for. cabal: Error: some packages failed to install: asn1-types-0.3.0 failed during the building phase. The exception was: ExitFailure 1 -- Regards, Peng From adam at bergmark.nl Sat Apr 25 07:09:35 2015 From: adam at bergmark.nl (Adam Bergmark) Date: Sat, 25 Apr 2015 09:09:35 +0200 Subject: Installation error of asn1-types In-Reply-To: References: Message-ID: HI Peng, Something might have messed up the hourglass-0.2.9 installation. I would try `ghc-pkg unregister hourglass` (`cabal sandbox hc-pkg unregister hourglass` if in a sandbox) and then trying again. HTH, Adam On Sat, Apr 25, 2015 at 2:12 AM, Peng Yu wrote: > I got the following error. I am not sure how to fix the problem. Could > anybody let me know what I should do? Thanks. > > ~$ cabal install --reinstall --force-reinstall asn1-types > Resolving dependencies... > Warning: The following packages are likely to be broken by the reinstalls: > crypto-pubkey-types-0.4.3 > asn1-encoding-0.9.0 > Continuing even though the plan contains dangerous reinstalls. > Downloading asn1-types-0.3.0... > Configuring asn1-types-0.3.0... > Building asn1-types-0.3.0... > Failed to install asn1-types-0.3.0 > Build log ( /Users/py/.cabal/logs/asn1-types-0.3.0.log ): > Configuring asn1-types-0.3.0... > Building asn1-types-0.3.0... > Preprocessing library asn1-types-0.3.0... > > Data/ASN1/Types.hs:23:8: > Could not find module ?Data.Hourglass? > There are files missing in the ?hourglass-0.2.9? package, > try running 'ghc-pkg check'. > Use -v to see a list of the files searched for. > cabal: Error: some packages failed to install: > asn1-types-0.3.0 failed during the building phase. The exception was: > ExitFailure 1 > > > -- > Regards, > Peng > _______________________________________________ > cabal-devel mailing list > cabal-devel at haskell.org > http://mail.haskell.org/cgi-bin/mailman/listinfo/cabal-devel > -------------- next part -------------- An HTML attachment was scrubbed... URL: From pengyu.ut at gmail.com Sat Apr 25 13:44:27 2015 From: pengyu.ut at gmail.com (Peng Yu) Date: Sat, 25 Apr 2015 08:44:27 -0500 Subject: Installation error of asn1-types In-Reply-To: References: Message-ID: I got this. What shall I do next? ~$ ghc-pkg unregister hourglass ghc-pkg: unregistering hourglass would break the following packages: crypto-pubkey-types-0.4.3 asn1-encoding-0.9.0 asn1-types-0.3.0 (use --force to override) On Sat, Apr 25, 2015 at 2:09 AM, Adam Bergmark wrote: > HI Peng, > > Something might have messed up the hourglass-0.2.9 installation. I would try > `ghc-pkg unregister hourglass` (`cabal sandbox hc-pkg unregister hourglass` > if in a sandbox) and then trying again. > > HTH, > Adam > > > On Sat, Apr 25, 2015 at 2:12 AM, Peng Yu wrote: >> >> I got the following error. I am not sure how to fix the problem. Could >> anybody let me know what I should do? Thanks. >> >> ~$ cabal install --reinstall --force-reinstall asn1-types >> Resolving dependencies... >> Warning: The following packages are likely to be broken by the reinstalls: >> crypto-pubkey-types-0.4.3 >> asn1-encoding-0.9.0 >> Continuing even though the plan contains dangerous reinstalls. >> Downloading asn1-types-0.3.0... >> Configuring asn1-types-0.3.0... >> Building asn1-types-0.3.0... >> Failed to install asn1-types-0.3.0 >> Build log ( /Users/py/.cabal/logs/asn1-types-0.3.0.log ): >> Configuring asn1-types-0.3.0... >> Building asn1-types-0.3.0... >> Preprocessing library asn1-types-0.3.0... >> >> Data/ASN1/Types.hs:23:8: >> Could not find module ?Data.Hourglass? >> There are files missing in the ?hourglass-0.2.9? package, >> try running 'ghc-pkg check'. >> Use -v to see a list of the files searched for. >> cabal: Error: some packages failed to install: >> asn1-types-0.3.0 failed during the building phase. The exception was: >> ExitFailure 1 >> >> >> -- >> Regards, >> Peng >> _______________________________________________ >> cabal-devel mailing list >> cabal-devel at haskell.org >> http://mail.haskell.org/cgi-bin/mailman/listinfo/cabal-devel > > -- Regards, Peng From adam at bergmark.nl Sat Apr 25 17:22:44 2015 From: adam at bergmark.nl (Adam Bergmark) Date: Sat, 25 Apr 2015 19:22:44 +0200 Subject: Installation error of asn1-types In-Reply-To: References: Message-ID: If you pass `--force` those listed packages will also be unregistered, which is fine. I'm not sure if there's a difference between doing that and unregistering each package by itself... On Sat, Apr 25, 2015 at 3:44 PM, Peng Yu wrote: > I got this. What shall I do next? > > ~$ ghc-pkg unregister hourglass > ghc-pkg: unregistering hourglass would break the following packages: > crypto-pubkey-types-0.4.3 asn1-encoding-0.9.0 asn1-types-0.3.0 (use > --force to override) > > > On Sat, Apr 25, 2015 at 2:09 AM, Adam Bergmark wrote: > > HI Peng, > > > > Something might have messed up the hourglass-0.2.9 installation. I would > try > > `ghc-pkg unregister hourglass` (`cabal sandbox hc-pkg unregister > hourglass` > > if in a sandbox) and then trying again. > > > > HTH, > > Adam > > > > > > On Sat, Apr 25, 2015 at 2:12 AM, Peng Yu wrote: > >> > >> I got the following error. I am not sure how to fix the problem. Could > >> anybody let me know what I should do? Thanks. > >> > >> ~$ cabal install --reinstall --force-reinstall asn1-types > >> Resolving dependencies... > >> Warning: The following packages are likely to be broken by the > reinstalls: > >> crypto-pubkey-types-0.4.3 > >> asn1-encoding-0.9.0 > >> Continuing even though the plan contains dangerous reinstalls. > >> Downloading asn1-types-0.3.0... > >> Configuring asn1-types-0.3.0... > >> Building asn1-types-0.3.0... > >> Failed to install asn1-types-0.3.0 > >> Build log ( /Users/py/.cabal/logs/asn1-types-0.3.0.log ): > >> Configuring asn1-types-0.3.0... > >> Building asn1-types-0.3.0... > >> Preprocessing library asn1-types-0.3.0... > >> > >> Data/ASN1/Types.hs:23:8: > >> Could not find module ?Data.Hourglass? > >> There are files missing in the ?hourglass-0.2.9? package, > >> try running 'ghc-pkg check'. > >> Use -v to see a list of the files searched for. > >> cabal: Error: some packages failed to install: > >> asn1-types-0.3.0 failed during the building phase. The exception was: > >> ExitFailure 1 > >> > >> > >> -- > >> Regards, > >> Peng > >> _______________________________________________ > >> cabal-devel mailing list > >> cabal-devel at haskell.org > >> http://mail.haskell.org/cgi-bin/mailman/listinfo/cabal-devel > > > > > > > > -- > Regards, > Peng > -------------- next part -------------- An HTML attachment was scrubbed... URL: From pengyu.ut at gmail.com Sat Apr 25 19:45:36 2015 From: pengyu.ut at gmail.com (Peng Yu) Date: Sat, 25 Apr 2015 14:45:36 -0500 Subject: How to compile git-annex? Message-ID: Hi, I got too many error messages when I try to install git-annex. Is there a good way to fix them? Why cabal install print so many irrelevant messages? Is it better to follow Unix "Rule of Silence" to only print usage error messages? http://en.wikipedia.org/wiki/Unix_philosophy ~$ cabal install git-annex Resolving dependencies... In order, the following will be installed: aeson-0.8.0.2 +old-locale (new version) asn1-parse-0.9.0 (reinstall) changes: text-1.2.0.4 added cookie-0.4.1.4 (new package) crypto-random-0.0.9 (reinstall) changes: unix-2.7.0.1 added, vector-0.10.12.3 added cprng-aes-0.6.1 (reinstall) clientsession-0.9.1.1 (new package) crypto-numbers-0.2.7 (reinstall) changes: vector-0.10.12.3 added crypto-pubkey-0.2.8 (reinstall) fast-logger-2.3.1 (reinstall) changes: text-1.2.0.4 added free-4.11 (reinstall) changes: bifunctors-4.2.1 added, comonad-4.2.5 added, profunctors-4.4.1 added, semigroupoids-4.3 added, semigroups-0.16.2.2 added, template-haskell-2.9.0.0 added adjunctions-4.2 (reinstall) changes: comonad-4.2.5 added, contravariant-1.3.1 added, profunctors-4.4.1 added, semigroupoids-4.3 added, semigroups-0.16.2.2 added, void-0.7 added either-4.3.3.2 (reinstall) changes: MonadRandom-0.3.0.2 added, bifunctors-4.2.1 added, exceptions-0.8.0.2 added, monad-control-1.0.0.4 added, profunctors-4.4.1 added, semigroupoids-4.3 added, semigroups-0.16.2.2 added, transformers-base-0.4.4 added errors-1.4.7 (reinstall) gnutls-0.1.5 (new package) gsasl-0.3.5 (new package) hfsevents-0.1.5 (reinstall) changes: text-1.2.0.4 added, unix-2.7.0.1 added iproute-1.4.0 (reinstall) changes: network-2.6.0.2 added kan-extensions-4.2.1 (reinstall) changes: comonad-4.2.5 added, contravariant-1.3.1 added, semigroupoids-4.3 added language-javascript-0.5.13.3 (reinstall) changes: blaze-builder-0.4.0.1 added hjsmin-0.1.4.7 (reinstall) changes: blaze-builder-0.4.0.1 added, optparse-applicative-0.11.0.2 added, text-1.2.0.4 added lens-4.9.1 (new package) mime-mail-0.4.8.2 (reinstall) changes: blaze-builder-0.4.0.1 added, random-1.0.1.1 -> 1.1, text-1.2.0.4 added network-protocol-xmpp-0.4.6 (new package) publicsuffixlist-0.1 (reinstall) changes: text-1.2.0.4 added http-client-0.4.11.1 (reinstall) changes: blaze-builder-0.4.0.1 added, case-insensitive-1.2.0.4 added, cookie-0.4.1.4 added, exceptions-0.8.0.2 added, http-types-0.8.6 added, mime-types-0.1.0.6 added, network-2.6.0.2 added, network-uri-2.6.0.1 added, random-1.0.1.1 -> 1.1, streaming-commons-0.1.12 added, text-1.2.0.4 added resourcet-1.1.4.1 (reinstall) changes: exceptions-0.8.0.2 added, lifted-base-0.2.3.6 added, monad-control-1.0.0.4 added, transformers-base-0.4.4 added conduit-1.2.4 (reinstall) changes: exceptions-0.8.0.2 added, lifted-base-0.2.3.6 added, transformers-base-0.4.4 added, void-0.7 added conduit-extra-1.1.7.2 (reinstall) changes: attoparsec-0.12.1.6 added, blaze-builder-0.4.0.1 added, monad-control-1.0.0.4 added, network-2.6.0.2 added, primitive-0.6 added, stm-2.4.4 added, streaming-commons-0.1.12 added, text-1.2.0.4 added, transformers-base-0.4.4 added cryptohash-conduit-0.1.1 (reinstall) dns-1.4.5 (reinstall) changes: attoparsec-0.12.1.6 added, blaze-builder-0.4.0.1 added, network-2.6.0.2 added, random-1.0.1.1 -> 1.1 monad-logger-0.3.13.1 (reinstall) changes: blaze-builder-0.4.0.1 added, exceptions-0.8.0.2 added, lifted-base-0.2.3.6 added, monad-control-1.0.0.4 added, stm-2.4.4 added, stm-chans-3.0.0.3 added, template-haskell-2.9.0.0 added, text-1.2.0.4 added, transformers-base-0.4.4 added persistent-2.1.3 (reinstall) changes: aeson-0.7.0.4 -> 0.8.0.2, attoparsec-0.12.1.6 added, blaze-html-0.8.0.2 added, blaze-markup-0.7.0.2 added, exceptions-0.8.0.2 added, lifted-base-0.2.3.6 added, monad-control-1.0.0.4 added, path-pieces-0.2.0 added, resource-pool-0.2.3.2 added, scientific-0.2.0.2 -> 0.3.3.8, template-haskell-2.9.0.0 added, text-1.2.0.4 added, transformers-base-0.4.4 added, unordered-containers-0.2.5.1 added, vector-0.10.12.3 added esqueleto-2.1.3 (reinstall) changes: text-1.2.0.4 added, unordered-containers-0.2.5.1 added persistent-sqlite-2.1.4.1 (reinstall) changes: aeson-0.7.0.4 -> 0.8.0.2, monad-control-1.0.0.4 added, text-1.2.0.4 added persistent-template-2.1.3 (reinstall) changes: aeson-0.7.0.4 -> 0.8.0.2, monad-control-1.0.0.4 added, path-pieces-0.2.0 added, template-haskell-2.9.0.0 added, text-1.2.0.4 added, unordered-containers-0.2.5.1 added shakespeare-2.0.4.1 (reinstall) changes: aeson-0.7.0.4 -> 0.8.0.2, blaze-html-0.8.0.2 added, blaze-markup-0.7.0.2 added, exceptions-0.8.0.2 added, parsec-3.1.9 added, system-fileio-0.3.16.2 added, system-filepath-0.4.13.3 added, template-haskell-2.9.0.0 added, text-1.2.0.4 added hamlet-1.2.0 (reinstall) socks-0.5.4 (reinstall) changes: network-2.6.0.2 added uuid-1.3.10 (reinstall) changes: random-1.0.1.1 -> 1.1, uuid-types-1.0.1 added wai-logger-2.2.4 (new package) wai-extra-3.0.7.1 (new package) warp-3.0.12 (reinstall) changes: blaze-builder-0.4.0.1 added, case-insensitive-1.2.0.4 added, hashable-1.2.3.2 added, http-date-0.0.6 added, http-types-0.8.6 added, network-2.6.0.2 added, simple-sendfile-0.2.18 added, streaming-commons-0.1.12 added, text-1.2.0.4 added, unix-2.7.0.1 added, vault-0.3.0.4 added, void-0.7 added, wai-3.0.2.3 added wai-app-static-3.0.1 (new package) x509-1.5.0.1 (reinstall) x509-store-1.5.0 (reinstall) x509-system-1.5.0 (reinstall) x509-validation-1.5.1 (reinstall) changes: network-2.6.0.2 added tls-1.2.17 (reinstall) changes: async-2.0.2 added, network-2.6.0.2 added connection-0.2.4 (reinstall) changes: network-2.6.0.2 added http-client-tls-0.2.2 (reinstall) changes: network-2.6.0.2 added http-conduit-2.1.5 (reinstall) changes: http-types-0.8.6 added, lifted-base-0.2.3.6 added, monad-control-1.0.0.4 added warp-tls-3.0.3 (reinstall) changes: network-2.6.0.2 added, streaming-commons-0.1.12 added, wai-3.0.2.3 added xml-conduit-1.2.4 (reinstall) changes: attoparsec-0.12.1.6 added, blaze-builder-0.4.0.1 added, blaze-html-0.8.0.2 added, blaze-markup-0.7.0.2 added, monad-control-1.0.0.4 added, system-filepath-0.4.13.3 added, text-1.2.0.4 added, xml-types-0.3.4 added aws-0.11.4 (new package) tagstream-conduit-0.5.5.3 (reinstall) changes: attoparsec-0.12.1.6 added, blaze-builder-0.4.0.1 added, case-insensitive-1.2.0.4 added, text-1.2.0.4 added authenticate-1.3.2.11 (reinstall) changes: aeson-0.7.0.4 -> 0.8.0.2, attoparsec-0.12.1.6 added, blaze-builder-0.4.0.1 added, case-insensitive-1.2.0.4 added, http-types-0.8.6 added, monad-control-1.0.0.4 added, network-uri-2.6.0.1 added, text-1.2.0.4 added, unordered-containers-0.2.5.1 added xml-hamlet-0.4.0.10 (reinstall) changes: parsec-3.1.9 added, template-haskell-2.9.0.0 added, text-1.2.0.4 added DAV-1.0.4 (new package) xss-sanitize-0.3.5.5 (reinstall) changes: attoparsec-0.12.1.6 added, css-text-0.1.2.1 added, network-uri-2.6.0.1 added, tagsoup-0.13.3 added, text-1.2.0.4 added yaml-0.8.11 (reinstall) changes: aeson-0.7.0.4 -> 0.8.0.2, attoparsec-0.12.1.6 added, enclosed-exceptions-1.0.1.1 added, scientific-0.2.0.2 -> 0.3.3.8, text-1.2.0.4 added, unordered-containers-0.2.5.1 added, vector-0.10.12.3 added yesod-core-1.4.9.1 (new package) yesod-default-1.2.0 (new package) yesod-persistent-1.4.0.2 (new package) yesod-form-1.4.4.1 (new package) yesod-auth-1.4.4 (new package) yesod-1.4.1.5 (new package) yesod-static-1.4.0.4 (new package) git-annex-5.20150420 -testsuite -feed (new package) Warning: Note that reinstalls are always dangerous. Continuing anyway... Configuring aeson-0.8.0.2... Configuring asn1-parse-0.9.0... Configuring cookie-0.4.1.4... Configuring crypto-random-0.0.9... Building asn1-parse-0.9.0... Building cookie-0.4.1.4... Building aeson-0.8.0.2... Building crypto-random-0.0.9... Failed to install asn1-parse-0.9.0 Build log ( /Users/py/.cabal/logs/asn1-parse-0.9.0.log ): Configuring asn1-parse-0.9.0... Building asn1-parse-0.9.0... Preprocessing library asn1-parse-0.9.0... Data/ASN1/Parse.hs:29:8: Could not find module ?Data.ASN1.Stream? There are files missing in the ?asn1-encoding-0.9.0? package, try running 'ghc-pkg check'. Use -v to see a list of the files searched for. Failed to install crypto-random-0.0.9 Build log ( /Users/py/.cabal/logs/crypto-random-0.0.9.log ): Configuring crypto-random-0.0.9... Building crypto-random-0.0.9... Preprocessing library crypto-random-0.0.9... Crypto/Random/Entropy.hs:24:8: Could not find module ?Data.SecureMem? There are files missing in the ?securemem-0.1.7? package, try running 'ghc-pkg check'. Use -v to see a list of the files searched for. Failed to install cookie-0.4.1.4 Build log ( /Users/py/.cabal/logs/cookie-0.4.1.4.log ): Configuring cookie-0.4.1.4... Building cookie-0.4.1.4... Preprocessing library cookie-0.4.1.4... Web/Cookie.hs:54:8: Could not find module ?Data.Default? There are files missing in the ?data-default-0.5.3? package, try running 'ghc-pkg check'. Use -v to see a list of the files searched for. Configuring fast-logger-2.3.1... Configuring gnutls-0.1.5... Configuring free-4.11... Failed to install aeson-0.8.0.2 Configuring hfsevents-0.1.5... Build log ( /Users/py/.cabal/logs/aeson-0.8.0.2.log ): Configuring aeson-0.8.0.2... Building aeson-0.8.0.2... Preprocessing library aeson-0.8.0.2... Data/Aeson/Types/Generic.hs:28:8: Could not find module ?Data.DList? There are files missing in the ?dlist-0.7.1.1? package, try running 'ghc-pkg check'. Use -v to see a list of the files searched for. Building fast-logger-2.3.1... Building hfsevents-0.1.5... Building gnutls-0.1.5... Building free-4.11... Configuring iproute-1.4.0... Configuring gsasl-0.3.5... Failed to install hfsevents-0.1.5 Build log ( /Users/py/.cabal/logs/hfsevents-0.1.5.log ): Configuring hfsevents-0.1.5... Building hfsevents-0.1.5... Preprocessing library hfsevents-0.1.5... System/OSX/FSEvents.hs:29:8: Could not find module ?Data.Serialize.Get? There are files missing in the ?cereal-0.4.1.1? package, try running 'ghc-pkg check'. Use -v to see a list of the files searched for. Failed to install gnutls-0.1.5 Build log ( /Users/py/.cabal/logs/gnutls-0.1.5.log ): Configuring gnutls-0.1.5... Building gnutls-0.1.5... Preprocessing library gnutls-0.1.5... lib/Network/Protocol/TLS/GNU.hs:48:18: Could not find module ?Control.Monad.Error? There are files missing in the ?monads-tf-0.1.0.2? package, try running 'ghc-pkg check'. Use -v to see a list of the files searched for. lib/Network/Protocol/TLS/GNU.hs:49:18: Could not find module ?Control.Monad.Reader? There are files missing in the ?monads-tf-0.1.0.2? package, try running 'ghc-pkg check'. Use -v to see a list of the files searched for. lib/Network/Protocol/TLS/GNU.hs:50:18: Could not find module ?Control.Monad.Trans? There are files missing in the ?monads-tf-0.1.0.2? package, try running 'ghc-pkg check'. Use -v to see a list of the files searched for. Configuring mime-mail-0.4.8.2... Failed to install fast-logger-2.3.1 Build log ( /Users/py/.cabal/logs/fast-logger-2.3.1.log ): Configuring fast-logger-2.3.1... Building fast-logger-2.3.1... Preprocessing library fast-logger-2.3.1... System/Log/FastLogger.hs:32:8: Could not find module ?Control.Debounce? There are files missing in the ?auto-update-0.1.2.1? package, try running 'ghc-pkg check'. Use -v to see a list of the files searched for. Configuring publicsuffixlist-0.1... Failed to install free-4.11 Build log ( /Users/py/.cabal/logs/free-4.11.log ): Configuring free-4.11... Building free-4.11... Preprocessing library free-4.11... src/Control/Comonad/Cofree.hs:56:8: Could not find module ?Prelude.Extras? There are files missing in the ?prelude-extras-0.4? package, try running 'ghc-pkg check'. Use -v to see a list of the files searched for. Configuring language-javascript-0.5.13.3... Failed to install gsasl-0.3.5 Build log ( /Users/py/.cabal/logs/gsasl-0.3.5.log ): Configuring gsasl-0.3.5... setup-Simple-Cabal-1.22.3.0-x86_64-osx-ghc-7.8.3: The pkg-config package 'libgsasl' version >=1.1 is required but it could not be found. Building iproute-1.4.0... Building mime-mail-0.4.8.2... Building publicsuffixlist-0.1... Configuring socks-0.5.4... Failed to install iproute-1.4.0 Build log ( /Users/py/.cabal/logs/iproute-1.4.0.log ): Configuring iproute-1.4.0... Building iproute-1.4.0... Preprocessing library iproute-1.4.0... Data/IP/Addr.hs:12:8: Could not find module ?System.ByteOrder? There are files missing in the ?byteorder-1.0.4? package, try running 'ghc-pkg check'. Use -v to see a list of the files searched for. Data/IP/Addr.hs:13:8: Could not find module ?Text.Appar.String? There are files missing in the ?appar-0.1.4? package, try running 'ghc-pkg check'. Use -v to see a list of the files searched for. Configuring uuid-1.3.10... Failed to install mime-mail-0.4.8.2 Build log ( /Users/py/.cabal/logs/mime-mail-0.4.8.2.log ): Configuring mime-mail-0.4.8.2... Building mime-mail-0.4.8.2... Preprocessing library mime-mail-0.4.8.2... Network/Mail/Mime.hs:46:18: Could not find module ?Data.ByteString.Base64? There are files missing in the ?base64-bytestring-1.0.0.1? package, try running 'ghc-pkg check'. Use -v to see a list of the files searched for. Configuring resourcet-1.1.4.1... Failed to install publicsuffixlist-0.1 Build log ( /Users/py/.cabal/logs/publicsuffixlist-0.1.log ): Configuring publicsuffixlist-0.1... Building publicsuffixlist-0.1... Preprocessing library publicsuffixlist-0.1... Network/PublicSuffixList/DataStructure.hs:13:18: Could not find module ?Data.Serialize.Get? There are files missing in the ?cereal-0.4.1.1? package, try running 'ghc-pkg check'. Use -v to see a list of the files searched for. Network/PublicSuffixList/Serialize.hs:4:18: Could not find module ?Data.ByteString.UTF8? There are files missing in the ?utf8-string-1? package, try running 'ghc-pkg check'. Use -v to see a list of the files searched for. Network/PublicSuffixList/Serialize.hs:7:18: Could not find module ?Data.Serialize.Put? There are files missing in the ?cereal-0.4.1.1? package, try running 'ghc-pkg check'. Use -v to see a list of the files searched for. Network/PublicSuffixList/Types.hs:8:18: Could not find module ?Data.Default? There are files missing in the ?data-default-0.5.3? package, try running 'ghc-pkg check'. Use -v to see a list of the files searched for. Building language-javascript-0.5.13.3... Building socks-0.5.4... Building uuid-1.3.10... Configuring xss-sanitize-0.3.5.5... Failed to install language-javascript-0.5.13.3 Build log ( /Users/py/.cabal/logs/language-javascript-0.5.13.3.log ): Configuring language-javascript-0.5.13.3... Building language-javascript-0.5.13.3... Preprocessing library language-javascript-0.5.13.3... src/Language/JavaScript/Pretty/Printer.hs:17:18: Could not find module ?Codec.Binary.UTF8.String? There are files missing in the ?utf8-string-1? package, try running 'ghc-pkg check'. Use -v to see a list of the files searched for. Failed to install socks-0.5.4 Build log ( /Users/py/.cabal/logs/socks-0.5.4.log ): Configuring socks-0.5.4... Building socks-0.5.4... Preprocessing library socks-0.5.4... Network/Socks5/Wire.hs:18:8: Could not find module ?Data.Serialize? There are files missing in the ?cereal-0.4.1.1? package, try running 'ghc-pkg check'. Use -v to see a list of the files searched for. Failed to install uuid-1.3.10 Build log ( /Users/py/.cabal/logs/uuid-1.3.10.log ): Configuring uuid-1.3.10... Building uuid-1.3.10... Preprocessing library uuid-1.3.10... Data/UUID/Util.hs:16:8: Could not find module ?Network.Info? There are files missing in the ?network-info-0.2.0.5? package, try running 'ghc-pkg check'. Use -v to see a list of the files searched for. Data/UUID/V3.hs:38:18: Could not find module ?Crypto.Hash.MD5? There are files missing in the ?cryptohash-0.11.6? package, try running 'ghc-pkg check'. Use -v to see a list of the files searched for. Data/UUID/V5.hs:33:18: Could not find module ?Crypto.Hash.SHA1? There are files missing in the ?cryptohash-0.11.6? package, try running 'ghc-pkg check'. Use -v to see a list of the files searched for. Building resourcet-1.1.4.1... Failed to install resourcet-1.1.4.1 Build log ( /Users/py/.cabal/logs/resourcet-1.1.4.1.log ): Configuring resourcet-1.1.4.1... Building resourcet-1.1.4.1... Preprocessing library resourcet-1.1.4.1... Control/Monad/Trans/Resource.hs:96:8: Could not find module ?Control.Monad.Morph? There are files missing in the ?mmorph-1.0.4? package, try running 'ghc-pkg check'. Use -v to see a list of the files searched for. Building xss-sanitize-0.3.5.5... Failed to install xss-sanitize-0.3.5.5 Build log ( /Users/py/.cabal/logs/xss-sanitize-0.3.5.5.log ): Configuring xss-sanitize-0.3.5.5... Building xss-sanitize-0.3.5.5... Preprocessing library xss-sanitize-0.3.5.5... Text/HTML/SanitizeXSS.hs:33:8: Could not find module ?Codec.Binary.UTF8.String? There are files missing in the ?utf8-string-1? package, try running 'ghc-pkg check'. Use -v to see a list of the files searched for. cabal: Error: some packages failed to install: DAV-1.0.4 depends on resourcet-1.1.4.1 which failed to install. adjunctions-4.2 depends on free-4.11 which failed to install. aeson-0.8.0.2 failed during the building phase. The exception was: ExitFailure 1 asn1-parse-0.9.0 failed during the building phase. The exception was: ExitFailure 1 authenticate-1.3.2.11 depends on resourcet-1.1.4.1 which failed to install. aws-0.11.4 depends on resourcet-1.1.4.1 which failed to install. clientsession-0.9.1.1 depends on crypto-random-0.0.9 which failed to install. conduit-1.2.4 depends on resourcet-1.1.4.1 which failed to install. conduit-extra-1.1.7.2 depends on resourcet-1.1.4.1 which failed to install. connection-0.2.4 depends on socks-0.5.4 which failed to install. cookie-0.4.1.4 failed during the building phase. The exception was: ExitFailure 1 cprng-aes-0.6.1 depends on crypto-random-0.0.9 which failed to install. crypto-numbers-0.2.7 depends on crypto-random-0.0.9 which failed to install. crypto-pubkey-0.2.8 depends on crypto-random-0.0.9 which failed to install. crypto-random-0.0.9 failed during the building phase. The exception was: ExitFailure 1 cryptohash-conduit-0.1.1 depends on resourcet-1.1.4.1 which failed to install. dns-1.4.5 depends on resourcet-1.1.4.1 which failed to install. either-4.3.3.2 depends on free-4.11 which failed to install. errors-1.4.7 depends on free-4.11 which failed to install. esqueleto-2.1.3 depends on resourcet-1.1.4.1 which failed to install. fast-logger-2.3.1 failed during the building phase. The exception was: ExitFailure 1 free-4.11 failed during the building phase. The exception was: ExitFailure 1 git-annex-5.20150420 depends on xss-sanitize-0.3.5.5 which failed to install. gnutls-0.1.5 failed during the building phase. The exception was: ExitFailure 1 gsasl-0.3.5 failed during the configure step. The exception was: ExitFailure 1 hamlet-1.2.0 depends on aeson-0.8.0.2 which failed to install. hfsevents-0.1.5 failed during the building phase. The exception was: ExitFailure 1 hjsmin-0.1.4.7 depends on language-javascript-0.5.13.3 which failed to install. http-client-0.4.11.1 depends on publicsuffixlist-0.1 which failed to install. http-client-tls-0.2.2 depends on socks-0.5.4 which failed to install. http-conduit-2.1.5 depends on resourcet-1.1.4.1 which failed to install. iproute-1.4.0 failed during the building phase. The exception was: ExitFailure 1 kan-extensions-4.2.1 depends on free-4.11 which failed to install. language-javascript-0.5.13.3 failed during the building phase. The exception was: ExitFailure 1 lens-4.9.1 depends on free-4.11 which failed to install. mime-mail-0.4.8.2 failed during the building phase. The exception was: ExitFailure 1 monad-logger-0.3.13.1 depends on resourcet-1.1.4.1 which failed to install. network-protocol-xmpp-0.4.6 depends on gsasl-0.3.5 which failed to install. persistent-2.1.3 depends on resourcet-1.1.4.1 which failed to install. persistent-sqlite-2.1.4.1 depends on resourcet-1.1.4.1 which failed to install. persistent-template-2.1.3 depends on resourcet-1.1.4.1 which failed to install. publicsuffixlist-0.1 failed during the building phase. The exception was: ExitFailure 1 resourcet-1.1.4.1 failed during the building phase. The exception was: ExitFailure 1 shakespeare-2.0.4.1 depends on aeson-0.8.0.2 which failed to install. socks-0.5.4 failed during the building phase. The exception was: ExitFailure 1 tagstream-conduit-0.5.5.3 depends on resourcet-1.1.4.1 which failed to install. tls-1.2.17 depends on crypto-random-0.0.9 which failed to install. uuid-1.3.10 failed during the building phase. The exception was: ExitFailure 1 wai-app-static-3.0.1 depends on resourcet-1.1.4.1 which failed to install. wai-extra-3.0.7.1 depends on resourcet-1.1.4.1 which failed to install. wai-logger-2.2.4 depends on fast-logger-2.3.1 which failed to install. warp-3.0.12 depends on iproute-1.4.0 which failed to install. warp-tls-3.0.3 depends on iproute-1.4.0 which failed to install. x509-1.5.0.1 depends on asn1-parse-0.9.0 which failed to install. x509-store-1.5.0 depends on asn1-parse-0.9.0 which failed to install. x509-system-1.5.0 depends on asn1-parse-0.9.0 which failed to install. x509-validation-1.5.1 depends on crypto-random-0.0.9 which failed to install. xml-conduit-1.2.4 depends on resourcet-1.1.4.1 which failed to install. xml-hamlet-0.4.0.10 depends on resourcet-1.1.4.1 which failed to install. xss-sanitize-0.3.5.5 failed during the building phase. The exception was: ExitFailure 1 yaml-0.8.11 depends on resourcet-1.1.4.1 which failed to install. yesod-1.4.1.5 depends on xss-sanitize-0.3.5.5 which failed to install. yesod-auth-1.4.4 depends on xss-sanitize-0.3.5.5 which failed to install. yesod-core-1.4.9.1 depends on resourcet-1.1.4.1 which failed to install. yesod-default-1.2.0 depends on resourcet-1.1.4.1 which failed to install. yesod-form-1.4.4.1 depends on xss-sanitize-0.3.5.5 which failed to install. yesod-persistent-1.4.0.2 depends on resourcet-1.1.4.1 which failed to install. yesod-static-1.4.0.4 depends on resourcet-1.1.4.1 which failed to install. -- Regards, Peng From allbery.b at gmail.com Sat Apr 25 21:18:44 2015 From: allbery.b at gmail.com (Brandon Allbery) Date: Sat, 25 Apr 2015 17:18:44 -0400 Subject: How to compile git-annex? In-Reply-To: References: Message-ID: On Sat, Apr 25, 2015 at 3:45 PM, Peng Yu wrote: > Why cabal install print so many irrelevant messages? Is it better to > follow Unix "Rule of Silence" to only print usage error messages? > This is not an irrelevant message: asn1-parse-0.9.0 (reinstall) changes: text-1.2.0.4 added > It's an indication that things are about to go very wrong, as indeed they did. In fact, the errors you got indicate quite a lot of problems with your Haskell installation; you apparently have a bunch of broken packages. -- brandon s allbery kf8nh sine nomine associates allbery.b at gmail.com ballbery at sinenomine.net unix, openafs, kerberos, infrastructure, xmonad http://sinenomine.net -------------- next part -------------- An HTML attachment was scrubbed... URL: From pengyu.ut at gmail.com Sat Apr 25 22:01:50 2015 From: pengyu.ut at gmail.com (Peng Yu) Date: Sat, 25 Apr 2015 17:01:50 -0500 Subject: How to compile git-annex? In-Reply-To: References: Message-ID: I clean up all Haskell related things in my home directory. rm -rf ~/.cabal rm -rf ~/Library/Haskell rm -rf ~.ghc/ cabal update cabal install cabal-install Then I try to install git-annex again, which shows me the following. What I should do next? ~$ cabal install git-annex Resolving dependencies... In order, the following would be installed: HUnit-1.2.5.2 (new package) SafeSemaphore-0.10.1 (new package) ansi-terminal-0.6.2.1 (new package) ansi-wl-pprint-0.6.7.2 (new package) appar-0.1.4 (new package) async-2.0.2 (new package) auto-update-0.1.2.1 (new package) base16-bytestring-0.1.1.6 (new package) base64-bytestring-1.0.0.1 (new package) blaze-builder-0.4.0.1 (new package) blaze-markup-0.7.0.2 (new package) blaze-html-0.8.0.2 (new package) bloomfilter-2.0.0.0 (new package) byteable-0.1.1 (new package) byteorder-1.0.4 (new package) bytestring-builder-0.10.6.0.0 (new package) cereal-0.4.1.1 (new package) clock-0.4.5.0 (new package) cryptohash-0.11.6 (new package) data-default-class-0.0.1 (new package) data-default-instances-base-0.0.1 (new package) data-default-instances-containers-0.0.1 (new package) data-default-instances-old-locale-0.0.1 (new package) dataenc-0.14.0.7 (new package) dlist-0.7.1.1 (new package) data-default-instances-dlist-0.0.1 (new package) data-default-0.5.3 (new package) cookie-0.4.1.4 (new package) easy-file-0.2.0 (new package) edit-distance-0.2.1.2 (new package) entropy-0.3.6 (new package) fast-logger-2.3.1 (new package) file-embed-0.0.8.2 (new package) gnuidn-0.2.1 (new package) hashable-1.2.3.2 (new package) case-insensitive-1.2.0.4 (new package) hourglass-0.2.9 (new package) asn1-types-0.3.0 (new package) http-types-0.8.6 (new package) iproute-1.4.0 (new package) mime-mail-0.4.8.2 (new package) mime-types-0.1.0.6 (new package) monad-loops-0.4.2.1 (new package) nats-1 (new package) network-info-0.2.0.5 (new package) network-multicast-0.0.11 (new package) parallel-3.2.0.6 (new package) path-pieces-0.2.0 (new package) prelude-extras-0.4 (new package) reflection-1.5.1.2 (new package) safe-0.3.8 (new package) scientific-0.3.3.8 (new package) attoparsec-0.12.1.6 (new package) css-text-0.1.2.1 (new package) email-validate-2.1.1 (new package) http-date-0.0.6 (new package) securemem-0.1.7 (new package) crypto-cipher-types-0.0.9 (new package) cipher-aes-0.2.10 (new package) cipher-des-0.0.6 (new package) cipher-rc4-0.1.4 (new package) setenv-0.1.1.3 (new package) silently-1.2.4.1 (new package) simple-sendfile-0.2.18 (new package) socks-0.5.4 (new package) stm-chans-3.0.0.3 (new package) stringsearch-0.3.6.6 (new package) system-filepath-0.4.13.3 (new package) system-fileio-0.3.16.2 (new package) tagged-0.8.0.1 (new package) tagsoup-0.13.3 (new package) transformers-0.4.3.0 (new version) StateVar-1.1.0.0 (new package) crypto-api-0.13.2 (new package) gsasl-0.3.5 (new package) mmorph-1.0.4 (new package) monads-tf-0.1.0.2 (new package) gnutls-0.1.5 (new package) mtl-2.2.1 (new version) IfElse-0.85 (new package) asn1-encoding-0.9.0 (new package) asn1-parse-0.9.0 (new package) crypto-pubkey-types-0.4.3 (new package) hfsevents-0.1.5 (new package) hslogger-1.2.8 (new package) parsec-3.1.9 (reinstall) changes: mtl-2.1.3.1 -> 2.2.1 bencode-0.5.0.1 (new package) json-0.9.1 (new package) network-uri-2.6.0.1 (reinstall) pem-0.2.2 (new package) primitive-0.6 (new package) regex-base-0.93.2 (new package) regex-posix-0.95.2 (new package) regex-compat-0.95.1 (new package) MissingH-1.3.0.1 (new package) regex-tdfa-1.2.0 (new package) skein-1.0.9.3 (new package) streaming-commons-0.1.12 (new package) torrent-10000.0.0 (new package) transformers-compat-0.4.0.4 (new package) MonadRandom-0.3.0.2 (new package) distributive-0.4.4 (new package) exceptions-0.8.0.2 (new package) optparse-applicative-0.11.0.2 (new package) transformers-base-0.4.4 (new package) monad-control-1.0.0.4 (new package) lifted-base-0.2.3.6 (new package) enclosed-exceptions-1.0.1.1 (new package) resourcet-1.1.4.1 (new package) unix-compat-0.4.1.4 (new package) unix-time-0.3.5 (new package) unordered-containers-0.2.5.1 (new package) semigroups-0.16.2.2 (new package) utf8-string-1 (new package) language-javascript-0.5.13.3 (new package) hjsmin-0.1.4.7 (new package) publicsuffixlist-0.1 (new package) http-client-0.4.11.1 (new package) uuid-types-1.0.1 (new package) uuid-1.3.10 (new package) vault-0.3.0.4 (new package) vector-0.10.12.3 (new package) aeson-0.8.0.2 +old-locale (new package) crypto-random-0.0.9 (new package) cprng-aes-0.6.1 (new package) clientsession-0.9.1.1 (new package) crypto-numbers-0.2.7 (new package) crypto-pubkey-0.2.8 (new package) mwc-random-0.13.3.2 (new package) resource-pool-0.2.3.2 (new package) shakespeare-2.0.4.1 (new package) hamlet-1.2.0 (new package) void-0.7 (new package) conduit-1.2.4 (new package) conduit-extra-1.1.7.2 (new package) contravariant-1.3.1 (new package) comonad-4.2.5 (new package) cryptohash-conduit-0.1.1 (new package) dns-1.4.5 (new package) monad-logger-0.3.13.1 (new package) persistent-2.1.3 (new package) esqueleto-2.1.3 (new package) persistent-sqlite-2.1.4.1 (new package) persistent-template-2.1.3 (new package) semigroupoids-4.3 (new package) bifunctors-4.2.1 (new package) profunctors-4.4.1 (new package) free-4.11 (new package) adjunctions-4.2 (new package) either-4.3.3.2 (new package) errors-1.4.7 (new package) kan-extensions-4.2.1 (new package) lens-4.9.1 (new package) wai-3.0.2.3 (new package) wai-logger-2.2.4 (new package) warp-3.0.12.1 (new package) word8-0.1.2 (new package) wai-extra-3.0.7.1 (new package) wai-app-static-3.0.1 (new package) x509-1.5.0.1 (new package) x509-store-1.5.0 (new package) x509-system-1.5.0 (new package) x509-validation-1.5.1 (new package) tls-1.2.17 (new package) connection-0.2.4 (new package) http-client-tls-0.2.2 (new package) http-conduit-2.1.5 (new package) warp-tls-3.0.3 (new package) xml-types-0.3.4 (new package) libxml-sax-0.7.5 (new package) network-protocol-xmpp-0.4.6 (new package) xml-conduit-1.2.4 (new package) aws-0.11.4 (new package) tagstream-conduit-0.5.5.3 (new package) authenticate-1.3.2.11 (new package) xml-hamlet-0.4.0.10 (new package) DAV-1.0.4 (new package) xss-sanitize-0.3.5.5 (new package) yaml-0.8.11 (new package) yesod-core-1.4.9.1 (new package) yesod-default-1.2.0 (new package) yesod-persistent-1.4.0.2 (new package) yesod-form-1.4.4.1 (new package) yesod-auth-1.4.4 (new package) yesod-1.4.1.5 (new package) yesod-static-1.4.0.4 (new package) git-annex-5.20150420 -testsuite -feed (new package) cabal: The following packages are likely to be broken by the reinstalls: HTTP-4000.2.19 Use --force-reinstalls if you want to install anyway. On Sat, Apr 25, 2015 at 4:18 PM, Brandon Allbery wrote: > > On Sat, Apr 25, 2015 at 3:45 PM, Peng Yu wrote: >> >> Why cabal install print so many irrelevant messages? Is it better to >> follow Unix "Rule of Silence" to only print usage error messages? > > > This is not an irrelevant message: > >> asn1-parse-0.9.0 (reinstall) changes: text-1.2.0.4 added > > > It's an indication that things are about to go very wrong, as indeed they > did. In fact, the errors you got indicate quite a lot of problems with your > Haskell installation; you apparently have a bunch of broken packages. > > -- > brandon s allbery kf8nh sine nomine associates > allbery.b at gmail.com ballbery at sinenomine.net > unix, openafs, kerberos, infrastructure, xmonad http://sinenomine.net -- Regards, Peng From allbery.b at gmail.com Sat Apr 25 22:14:37 2015 From: allbery.b at gmail.com (Brandon Allbery) Date: Sat, 25 Apr 2015 18:14:37 -0400 Subject: How to compile git-annex? In-Reply-To: References: Message-ID: > > parsec-3.1.9 (reinstall) changes: mtl-2.1.3.1 -> 2.2.1 mtl is almost certainly installed globally, and installing a private copy is likely to cause all sorts of problems (as indeed cabal told you). Since I see a bunch of yesod dependencies, I suspect you need to throw out your global Platform installation because yesod does not bother with Platform compatibility and in fact breaks it completely. Get a minimal ghc and install Stackage, because that is the only install that yesod will tolerate. (And get used to a world where your choices are either to let yesod determine what you're allowed to install, or use a supposed standard that certain parts of the Haskell world believe they have a mission to destroy.) On Sat, Apr 25, 2015 at 6:01 PM, Peng Yu wrote: > I clean up all Haskell related things in my home directory. > > rm -rf ~/.cabal > rm -rf ~/Library/Haskell > rm -rf ~.ghc/ > cabal update > cabal install cabal-install > > > Then I try to install git-annex again, which shows me the following. > What I should do next? > > ~$ cabal install git-annex > Resolving dependencies... > In order, the following would be installed: > HUnit-1.2.5.2 (new package) > SafeSemaphore-0.10.1 (new package) > ansi-terminal-0.6.2.1 (new package) > ansi-wl-pprint-0.6.7.2 (new package) > appar-0.1.4 (new package) > async-2.0.2 (new package) > auto-update-0.1.2.1 (new package) > base16-bytestring-0.1.1.6 (new package) > base64-bytestring-1.0.0.1 (new package) > blaze-builder-0.4.0.1 (new package) > blaze-markup-0.7.0.2 (new package) > blaze-html-0.8.0.2 (new package) > bloomfilter-2.0.0.0 (new package) > byteable-0.1.1 (new package) > byteorder-1.0.4 (new package) > bytestring-builder-0.10.6.0.0 (new package) > cereal-0.4.1.1 (new package) > clock-0.4.5.0 (new package) > cryptohash-0.11.6 (new package) > data-default-class-0.0.1 (new package) > data-default-instances-base-0.0.1 (new package) > data-default-instances-containers-0.0.1 (new package) > data-default-instances-old-locale-0.0.1 (new package) > dataenc-0.14.0.7 (new package) > dlist-0.7.1.1 (new package) > data-default-instances-dlist-0.0.1 (new package) > data-default-0.5.3 (new package) > cookie-0.4.1.4 (new package) > easy-file-0.2.0 (new package) > edit-distance-0.2.1.2 (new package) > entropy-0.3.6 (new package) > fast-logger-2.3.1 (new package) > file-embed-0.0.8.2 (new package) > gnuidn-0.2.1 (new package) > hashable-1.2.3.2 (new package) > case-insensitive-1.2.0.4 (new package) > hourglass-0.2.9 (new package) > asn1-types-0.3.0 (new package) > http-types-0.8.6 (new package) > iproute-1.4.0 (new package) > mime-mail-0.4.8.2 (new package) > mime-types-0.1.0.6 (new package) > monad-loops-0.4.2.1 (new package) > nats-1 (new package) > network-info-0.2.0.5 (new package) > network-multicast-0.0.11 (new package) > parallel-3.2.0.6 (new package) > path-pieces-0.2.0 (new package) > prelude-extras-0.4 (new package) > reflection-1.5.1.2 (new package) > safe-0.3.8 (new package) > scientific-0.3.3.8 (new package) > attoparsec-0.12.1.6 (new package) > css-text-0.1.2.1 (new package) > email-validate-2.1.1 (new package) > http-date-0.0.6 (new package) > securemem-0.1.7 (new package) > crypto-cipher-types-0.0.9 (new package) > cipher-aes-0.2.10 (new package) > cipher-des-0.0.6 (new package) > cipher-rc4-0.1.4 (new package) > setenv-0.1.1.3 (new package) > silently-1.2.4.1 (new package) > simple-sendfile-0.2.18 (new package) > socks-0.5.4 (new package) > stm-chans-3.0.0.3 (new package) > stringsearch-0.3.6.6 (new package) > system-filepath-0.4.13.3 (new package) > system-fileio-0.3.16.2 (new package) > tagged-0.8.0.1 (new package) > tagsoup-0.13.3 (new package) > transformers-0.4.3.0 (new version) > StateVar-1.1.0.0 (new package) > crypto-api-0.13.2 (new package) > gsasl-0.3.5 (new package) > mmorph-1.0.4 (new package) > monads-tf-0.1.0.2 (new package) > gnutls-0.1.5 (new package) > mtl-2.2.1 (new version) > IfElse-0.85 (new package) > asn1-encoding-0.9.0 (new package) > asn1-parse-0.9.0 (new package) > crypto-pubkey-types-0.4.3 (new package) > hfsevents-0.1.5 (new package) > hslogger-1.2.8 (new package) > parsec-3.1.9 (reinstall) changes: mtl-2.1.3.1 -> 2.2.1 > bencode-0.5.0.1 (new package) > json-0.9.1 (new package) > network-uri-2.6.0.1 (reinstall) > pem-0.2.2 (new package) > primitive-0.6 (new package) > regex-base-0.93.2 (new package) > regex-posix-0.95.2 (new package) > regex-compat-0.95.1 (new package) > MissingH-1.3.0.1 (new package) > regex-tdfa-1.2.0 (new package) > skein-1.0.9.3 (new package) > streaming-commons-0.1.12 (new package) > torrent-10000.0.0 (new package) > transformers-compat-0.4.0.4 (new package) > MonadRandom-0.3.0.2 (new package) > distributive-0.4.4 (new package) > exceptions-0.8.0.2 (new package) > optparse-applicative-0.11.0.2 (new package) > transformers-base-0.4.4 (new package) > monad-control-1.0.0.4 (new package) > lifted-base-0.2.3.6 (new package) > enclosed-exceptions-1.0.1.1 (new package) > resourcet-1.1.4.1 (new package) > unix-compat-0.4.1.4 (new package) > unix-time-0.3.5 (new package) > unordered-containers-0.2.5.1 (new package) > semigroups-0.16.2.2 (new package) > utf8-string-1 (new package) > language-javascript-0.5.13.3 (new package) > hjsmin-0.1.4.7 (new package) > publicsuffixlist-0.1 (new package) > http-client-0.4.11.1 (new package) > uuid-types-1.0.1 (new package) > uuid-1.3.10 (new package) > vault-0.3.0.4 (new package) > vector-0.10.12.3 (new package) > aeson-0.8.0.2 +old-locale (new package) > crypto-random-0.0.9 (new package) > cprng-aes-0.6.1 (new package) > clientsession-0.9.1.1 (new package) > crypto-numbers-0.2.7 (new package) > crypto-pubkey-0.2.8 (new package) > mwc-random-0.13.3.2 (new package) > resource-pool-0.2.3.2 (new package) > shakespeare-2.0.4.1 (new package) > hamlet-1.2.0 (new package) > void-0.7 (new package) > conduit-1.2.4 (new package) > conduit-extra-1.1.7.2 (new package) > contravariant-1.3.1 (new package) > comonad-4.2.5 (new package) > cryptohash-conduit-0.1.1 (new package) > dns-1.4.5 (new package) > monad-logger-0.3.13.1 (new package) > persistent-2.1.3 (new package) > esqueleto-2.1.3 (new package) > persistent-sqlite-2.1.4.1 (new package) > persistent-template-2.1.3 (new package) > semigroupoids-4.3 (new package) > bifunctors-4.2.1 (new package) > profunctors-4.4.1 (new package) > free-4.11 (new package) > adjunctions-4.2 (new package) > either-4.3.3.2 (new package) > errors-1.4.7 (new package) > kan-extensions-4.2.1 (new package) > lens-4.9.1 (new package) > wai-3.0.2.3 (new package) > wai-logger-2.2.4 (new package) > warp-3.0.12.1 (new package) > word8-0.1.2 (new package) > wai-extra-3.0.7.1 (new package) > wai-app-static-3.0.1 (new package) > x509-1.5.0.1 (new package) > x509-store-1.5.0 (new package) > x509-system-1.5.0 (new package) > x509-validation-1.5.1 (new package) > tls-1.2.17 (new package) > connection-0.2.4 (new package) > http-client-tls-0.2.2 (new package) > http-conduit-2.1.5 (new package) > warp-tls-3.0.3 (new package) > xml-types-0.3.4 (new package) > libxml-sax-0.7.5 (new package) > network-protocol-xmpp-0.4.6 (new package) > xml-conduit-1.2.4 (new package) > aws-0.11.4 (new package) > tagstream-conduit-0.5.5.3 (new package) > authenticate-1.3.2.11 (new package) > xml-hamlet-0.4.0.10 (new package) > DAV-1.0.4 (new package) > xss-sanitize-0.3.5.5 (new package) > yaml-0.8.11 (new package) > yesod-core-1.4.9.1 (new package) > yesod-default-1.2.0 (new package) > yesod-persistent-1.4.0.2 (new package) > yesod-form-1.4.4.1 (new package) > yesod-auth-1.4.4 (new package) > yesod-1.4.1.5 (new package) > yesod-static-1.4.0.4 (new package) > git-annex-5.20150420 -testsuite -feed (new package) > cabal: The following packages are likely to be broken by the reinstalls: > HTTP-4000.2.19 > Use --force-reinstalls if you want to install anyway. > > > On Sat, Apr 25, 2015 at 4:18 PM, Brandon Allbery > wrote: > > > > On Sat, Apr 25, 2015 at 3:45 PM, Peng Yu wrote: > >> > >> Why cabal install print so many irrelevant messages? Is it better to > >> follow Unix "Rule of Silence" to only print usage error messages? > > > > > > This is not an irrelevant message: > > > >> asn1-parse-0.9.0 (reinstall) changes: text-1.2.0.4 added > > > > > > It's an indication that things are about to go very wrong, as indeed they > > did. In fact, the errors you got indicate quite a lot of problems with > your > > Haskell installation; you apparently have a bunch of broken packages. > > > > -- > > brandon s allbery kf8nh sine nomine > associates > > allbery.b at gmail.com > ballbery at sinenomine.net > > unix, openafs, kerberos, infrastructure, xmonad > http://sinenomine.net > > > > -- > Regards, > Peng > -- brandon s allbery kf8nh sine nomine associates allbery.b at gmail.com ballbery at sinenomine.net unix, openafs, kerberos, infrastructure, xmonad http://sinenomine.net -------------- next part -------------- An HTML attachment was scrubbed... URL: From pengyu.ut at gmail.com Sat Apr 25 22:26:31 2015 From: pengyu.ut at gmail.com (Peng Yu) Date: Sat, 25 Apr 2015 17:26:31 -0500 Subject: How to compile git-annex? In-Reply-To: References: Message-ID: ghc is installed through macports ( says "but if the version of GHC you need is in MacPorts I imagine that you can just do port install ghc".) I have the following MacPorts ports installed. How to make this work with macports? autoconf @2.69_3 (active) bash @4.3.33_0 (active) bzip2 @1.0.6_0 (active) coreutils @8.23_1 (active) curl @7.42.0_0+ssl (active) curl-ca-bundle @7.42.0_0 (active) db48 @4.8.30_4 (active) db_select @0.1_2 (active) desktop-file-utils @0.22_0 (active) ed @1.2_0 (active) expat @2.1.0_0 (active) findutils @4.4.2_1 (active) gawk @4.1.1_2 (active) gdbm @1.11_1 (active) getopt @1.1.6_0 (active) gettext @0.19.4_0 (active) ghc @7.8.3_2 (active) git @2.3.5_0+credential_osxkeychain+doc+pcre+perl5_16+python27 (active) glib2 @2.44.0_0 (active) gmp @6.0.0_1 (active) gnutls @3.3.14_0 (active) grep @2.21_0 (active) gsed @4.2.2_0 (active) gzip @1.6_0 (active) hs-alex @3.1.3_1 (active) hs-c2hs @0.16.5_3 (active) hs-happy @1.19.4_1 (active) hs-language-c @0.4.7_0 (active) hs-mtl @2.1.3.1_1 (active) hs-quickcheck @2.6_3 (active) hs-random @1.0.1.1_5 (active) hs-syb @0.4.1_1 (active) htop @0.8.2.2_0 (active) libcxx @3.6.0_0 (active) libedit @20140620-3.1_0 (active) libffi @3.2.1_0 (active) libiconv @1.14_0 (active) libidn @1.29_0 (active) libtasn1 @4.4_0 (active) libxml2 @2.9.2_2 (active) libxslt @1.1.28_0 (active) llvm-3.5 @3.5.2_3 (active) llvm_select @1.0_0 (active) m4 @1.4.17_0 (active) ncurses @5.9_2 (active) nettle @2.7.1_0 (active) openssl @1.0.2a_0 (active) p5.16-authen-sasl @2.160.0_0 (active) p5.16-cpan-meta @2.150.1_0 (active) p5.16-cpan-meta-requirements @2.133.0_0 (active) p5.16-cpan-meta-yaml @0.14.0_0 (active) p5.16-digest-hmac @1.30.0_0 (active) p5.16-digest-sha1 @2.130.0_4 (active) p5.16-error @0.170.230_0 (active) p5.16-file-slurp-tiny @0.3.0_0 (active) p5.16-gssapi @0.280.0_2 (active) p5.16-inc-latest @0.500.0_0 (active) p5.16-io-socket-ssl @2.12.0_0 (active) p5.16-module-build @0.421.100_0 (active) p5.16-module-metadata @1.0.27_0 (active) p5.16-net-libidn @0.120.0_4 (active) p5.16-net-smtp-ssl @1.20.0_0 (active) p5.16-net-ssleay @1.680.0_0 (active) p5.16-parse-cpan-meta @1.441.400_0 (active) p5.16-pathtools @3.470.0_1 (active) p5.16-perl-ostype @1.8.0_0 (active) p5.16-pod-escapes @1.70.0_0 (active) p5.16-pod-simple @3.300.0_0 (active) p5.16-podlators @2.5.3_1 (active) p5.16-scalar-list-utils @1.410.0_0 (active) p5.16-sub-uplevel @0.250.0_0 (active) p5.16-term-readkey @2.320.0_1 (active) p5.16-test-exception @0.380.0_0 (active) p5.16-test-nowarnings @1.40.0_1 (active) p5.16-test-simple @1.1.14_0 (active) p5.16-test-warn @0.300.0_0 (active) p5.16-tree-dag_node @1.260.0_0 (active) p5.16-version @0.991.200_0 (active) p11-kit @0.22.1_0 (active) pcre @8.36_0 (active) perl5 @5.16.3_0+perl5_16 (active) perl5.16 @5.16.3_1 (active) pkgconfig @0.28_0 (active) popt @1.16_0 (active) python27 @2.7.9_0 (active) python_select @0.3_4 (active) readline @6.3.003_0 (active) rsync @3.1.1_0 (active) sqlite3 @3.8.8.3_0 (active) xz @5.2.1_0 (active) zlib @1.2.8_0 (active) On Sat, Apr 25, 2015 at 5:14 PM, Brandon Allbery wrote: >> parsec-3.1.9 (reinstall) changes: mtl-2.1.3.1 -> 2.2.1 > > > mtl is almost certainly installed globally, and installing a private copy is > likely to cause all sorts of problems (as indeed cabal told you). > > Since I see a bunch of yesod dependencies, I suspect you need to throw out > your global Platform installation because yesod does not bother with > Platform compatibility and in fact breaks it completely. Get a minimal ghc > and install Stackage, because that is the only install that yesod will > tolerate. (And get used to a world where your choices are either to let > yesod determine what you're allowed to install, or use a supposed standard > that certain parts of the Haskell world believe they have a mission to > destroy.) > > > On Sat, Apr 25, 2015 at 6:01 PM, Peng Yu wrote: >> >> I clean up all Haskell related things in my home directory. >> >> rm -rf ~/.cabal >> rm -rf ~/Library/Haskell >> rm -rf ~.ghc/ >> cabal update >> cabal install cabal-install >> >> >> Then I try to install git-annex again, which shows me the following. >> What I should do next? >> >> ~$ cabal install git-annex >> Resolving dependencies... >> In order, the following would be installed: >> HUnit-1.2.5.2 (new package) >> SafeSemaphore-0.10.1 (new package) >> ansi-terminal-0.6.2.1 (new package) >> ansi-wl-pprint-0.6.7.2 (new package) >> appar-0.1.4 (new package) >> async-2.0.2 (new package) >> auto-update-0.1.2.1 (new package) >> base16-bytestring-0.1.1.6 (new package) >> base64-bytestring-1.0.0.1 (new package) >> blaze-builder-0.4.0.1 (new package) >> blaze-markup-0.7.0.2 (new package) >> blaze-html-0.8.0.2 (new package) >> bloomfilter-2.0.0.0 (new package) >> byteable-0.1.1 (new package) >> byteorder-1.0.4 (new package) >> bytestring-builder-0.10.6.0.0 (new package) >> cereal-0.4.1.1 (new package) >> clock-0.4.5.0 (new package) >> cryptohash-0.11.6 (new package) >> data-default-class-0.0.1 (new package) >> data-default-instances-base-0.0.1 (new package) >> data-default-instances-containers-0.0.1 (new package) >> data-default-instances-old-locale-0.0.1 (new package) >> dataenc-0.14.0.7 (new package) >> dlist-0.7.1.1 (new package) >> data-default-instances-dlist-0.0.1 (new package) >> data-default-0.5.3 (new package) >> cookie-0.4.1.4 (new package) >> easy-file-0.2.0 (new package) >> edit-distance-0.2.1.2 (new package) >> entropy-0.3.6 (new package) >> fast-logger-2.3.1 (new package) >> file-embed-0.0.8.2 (new package) >> gnuidn-0.2.1 (new package) >> hashable-1.2.3.2 (new package) >> case-insensitive-1.2.0.4 (new package) >> hourglass-0.2.9 (new package) >> asn1-types-0.3.0 (new package) >> http-types-0.8.6 (new package) >> iproute-1.4.0 (new package) >> mime-mail-0.4.8.2 (new package) >> mime-types-0.1.0.6 (new package) >> monad-loops-0.4.2.1 (new package) >> nats-1 (new package) >> network-info-0.2.0.5 (new package) >> network-multicast-0.0.11 (new package) >> parallel-3.2.0.6 (new package) >> path-pieces-0.2.0 (new package) >> prelude-extras-0.4 (new package) >> reflection-1.5.1.2 (new package) >> safe-0.3.8 (new package) >> scientific-0.3.3.8 (new package) >> attoparsec-0.12.1.6 (new package) >> css-text-0.1.2.1 (new package) >> email-validate-2.1.1 (new package) >> http-date-0.0.6 (new package) >> securemem-0.1.7 (new package) >> crypto-cipher-types-0.0.9 (new package) >> cipher-aes-0.2.10 (new package) >> cipher-des-0.0.6 (new package) >> cipher-rc4-0.1.4 (new package) >> setenv-0.1.1.3 (new package) >> silently-1.2.4.1 (new package) >> simple-sendfile-0.2.18 (new package) >> socks-0.5.4 (new package) >> stm-chans-3.0.0.3 (new package) >> stringsearch-0.3.6.6 (new package) >> system-filepath-0.4.13.3 (new package) >> system-fileio-0.3.16.2 (new package) >> tagged-0.8.0.1 (new package) >> tagsoup-0.13.3 (new package) >> transformers-0.4.3.0 (new version) >> StateVar-1.1.0.0 (new package) >> crypto-api-0.13.2 (new package) >> gsasl-0.3.5 (new package) >> mmorph-1.0.4 (new package) >> monads-tf-0.1.0.2 (new package) >> gnutls-0.1.5 (new package) >> mtl-2.2.1 (new version) >> IfElse-0.85 (new package) >> asn1-encoding-0.9.0 (new package) >> asn1-parse-0.9.0 (new package) >> crypto-pubkey-types-0.4.3 (new package) >> hfsevents-0.1.5 (new package) >> hslogger-1.2.8 (new package) >> parsec-3.1.9 (reinstall) changes: mtl-2.1.3.1 -> 2.2.1 >> bencode-0.5.0.1 (new package) >> json-0.9.1 (new package) >> network-uri-2.6.0.1 (reinstall) >> pem-0.2.2 (new package) >> primitive-0.6 (new package) >> regex-base-0.93.2 (new package) >> regex-posix-0.95.2 (new package) >> regex-compat-0.95.1 (new package) >> MissingH-1.3.0.1 (new package) >> regex-tdfa-1.2.0 (new package) >> skein-1.0.9.3 (new package) >> streaming-commons-0.1.12 (new package) >> torrent-10000.0.0 (new package) >> transformers-compat-0.4.0.4 (new package) >> MonadRandom-0.3.0.2 (new package) >> distributive-0.4.4 (new package) >> exceptions-0.8.0.2 (new package) >> optparse-applicative-0.11.0.2 (new package) >> transformers-base-0.4.4 (new package) >> monad-control-1.0.0.4 (new package) >> lifted-base-0.2.3.6 (new package) >> enclosed-exceptions-1.0.1.1 (new package) >> resourcet-1.1.4.1 (new package) >> unix-compat-0.4.1.4 (new package) >> unix-time-0.3.5 (new package) >> unordered-containers-0.2.5.1 (new package) >> semigroups-0.16.2.2 (new package) >> utf8-string-1 (new package) >> language-javascript-0.5.13.3 (new package) >> hjsmin-0.1.4.7 (new package) >> publicsuffixlist-0.1 (new package) >> http-client-0.4.11.1 (new package) >> uuid-types-1.0.1 (new package) >> uuid-1.3.10 (new package) >> vault-0.3.0.4 (new package) >> vector-0.10.12.3 (new package) >> aeson-0.8.0.2 +old-locale (new package) >> crypto-random-0.0.9 (new package) >> cprng-aes-0.6.1 (new package) >> clientsession-0.9.1.1 (new package) >> crypto-numbers-0.2.7 (new package) >> crypto-pubkey-0.2.8 (new package) >> mwc-random-0.13.3.2 (new package) >> resource-pool-0.2.3.2 (new package) >> shakespeare-2.0.4.1 (new package) >> hamlet-1.2.0 (new package) >> void-0.7 (new package) >> conduit-1.2.4 (new package) >> conduit-extra-1.1.7.2 (new package) >> contravariant-1.3.1 (new package) >> comonad-4.2.5 (new package) >> cryptohash-conduit-0.1.1 (new package) >> dns-1.4.5 (new package) >> monad-logger-0.3.13.1 (new package) >> persistent-2.1.3 (new package) >> esqueleto-2.1.3 (new package) >> persistent-sqlite-2.1.4.1 (new package) >> persistent-template-2.1.3 (new package) >> semigroupoids-4.3 (new package) >> bifunctors-4.2.1 (new package) >> profunctors-4.4.1 (new package) >> free-4.11 (new package) >> adjunctions-4.2 (new package) >> either-4.3.3.2 (new package) >> errors-1.4.7 (new package) >> kan-extensions-4.2.1 (new package) >> lens-4.9.1 (new package) >> wai-3.0.2.3 (new package) >> wai-logger-2.2.4 (new package) >> warp-3.0.12.1 (new package) >> word8-0.1.2 (new package) >> wai-extra-3.0.7.1 (new package) >> wai-app-static-3.0.1 (new package) >> x509-1.5.0.1 (new package) >> x509-store-1.5.0 (new package) >> x509-system-1.5.0 (new package) >> x509-validation-1.5.1 (new package) >> tls-1.2.17 (new package) >> connection-0.2.4 (new package) >> http-client-tls-0.2.2 (new package) >> http-conduit-2.1.5 (new package) >> warp-tls-3.0.3 (new package) >> xml-types-0.3.4 (new package) >> libxml-sax-0.7.5 (new package) >> network-protocol-xmpp-0.4.6 (new package) >> xml-conduit-1.2.4 (new package) >> aws-0.11.4 (new package) >> tagstream-conduit-0.5.5.3 (new package) >> authenticate-1.3.2.11 (new package) >> xml-hamlet-0.4.0.10 (new package) >> DAV-1.0.4 (new package) >> xss-sanitize-0.3.5.5 (new package) >> yaml-0.8.11 (new package) >> yesod-core-1.4.9.1 (new package) >> yesod-default-1.2.0 (new package) >> yesod-persistent-1.4.0.2 (new package) >> yesod-form-1.4.4.1 (new package) >> yesod-auth-1.4.4 (new package) >> yesod-1.4.1.5 (new package) >> yesod-static-1.4.0.4 (new package) >> git-annex-5.20150420 -testsuite -feed (new package) >> cabal: The following packages are likely to be broken by the reinstalls: >> HTTP-4000.2.19 >> Use --force-reinstalls if you want to install anyway. >> >> >> On Sat, Apr 25, 2015 at 4:18 PM, Brandon Allbery >> wrote: >> > >> > On Sat, Apr 25, 2015 at 3:45 PM, Peng Yu wrote: >> >> >> >> Why cabal install print so many irrelevant messages? Is it better to >> >> follow Unix "Rule of Silence" to only print usage error messages? >> > >> > >> > This is not an irrelevant message: >> > >> >> asn1-parse-0.9.0 (reinstall) changes: text-1.2.0.4 added >> > >> > >> > It's an indication that things are about to go very wrong, as indeed >> > they >> > did. In fact, the errors you got indicate quite a lot of problems with >> > your >> > Haskell installation; you apparently have a bunch of broken packages. >> > >> > -- >> > brandon s allbery kf8nh sine nomine >> > associates >> > allbery.b at gmail.com >> > ballbery at sinenomine.net >> > unix, openafs, kerberos, infrastructure, xmonad >> > http://sinenomine.net >> >> >> >> -- >> Regards, >> Peng > > > > > -- > brandon s allbery kf8nh sine nomine associates > allbery.b at gmail.com ballbery at sinenomine.net > unix, openafs, kerberos, infrastructure, xmonad http://sinenomine.net -- Regards, Peng From allbery.b at gmail.com Sat Apr 25 22:31:28 2015 From: allbery.b at gmail.com (Brandon Allbery) Date: Sat, 25 Apr 2015 18:31:28 -0400 Subject: How to compile git-annex? In-Reply-To: References: Message-ID: On Sat, Apr 25, 2015 at 6:26 PM, Peng Yu wrote: > hs-language-c @0.4.7_0 (active) > hs-mtl @2.1.3.1_1 (active) > hs-quickcheck @2.6_3 (active) > hs-random @1.0.1.1_5 (active) > hs-syb @0.4.1_1 (active) > Remove these ports and let cabal install the versions it wants. -- brandon s allbery kf8nh sine nomine associates allbery.b at gmail.com ballbery at sinenomine.net unix, openafs, kerberos, infrastructure, xmonad http://sinenomine.net -------------- next part -------------- An HTML attachment was scrubbed... URL: From pengyu.ut at gmail.com Sat Apr 25 23:46:07 2015 From: pengyu.ut at gmail.com (Peng Yu) Date: Sat, 25 Apr 2015 18:46:07 -0500 Subject: How to compile git-annex? In-Reply-To: References: Message-ID: I don't have cabal. How to install cabal? Do I also install with MacPorts? On Sat, Apr 25, 2015 at 5:31 PM, Brandon Allbery wrote: > On Sat, Apr 25, 2015 at 6:26 PM, Peng Yu wrote: >> >> hs-language-c @0.4.7_0 (active) >> hs-mtl @2.1.3.1_1 (active) >> hs-quickcheck @2.6_3 (active) >> hs-random @1.0.1.1_5 (active) >> hs-syb @0.4.1_1 (active) > > > Remove these ports and let cabal install the versions it wants. > > -- > brandon s allbery kf8nh sine nomine associates > allbery.b at gmail.com ballbery at sinenomine.net > unix, openafs, kerberos, infrastructure, xmonad http://sinenomine.net -- Regards, Peng From allbery.b at gmail.com Sat Apr 25 23:51:22 2015 From: allbery.b at gmail.com (Brandon Allbery) Date: Sat, 25 Apr 2015 19:51:22 -0400 Subject: How to compile git-annex? In-Reply-To: References: Message-ID: On Sat, Apr 25, 2015 at 7:46 PM, Peng Yu wrote: > I don't have cabal. How to install cabal? Do I also install with MacPorts? Um? How were you doing ~$ cabal install git-annex > if you don't have cabal? -- brandon s allbery kf8nh sine nomine associates allbery.b at gmail.com ballbery at sinenomine.net unix, openafs, kerberos, infrastructure, xmonad http://sinenomine.net -------------- next part -------------- An HTML attachment was scrubbed... URL: From allbery.b at gmail.com Sun Apr 26 00:02:56 2015 From: allbery.b at gmail.com (Brandon Allbery) Date: Sat, 25 Apr 2015 20:02:56 -0400 Subject: How to compile git-annex? In-Reply-To: References: Message-ID: On Sat, Apr 25, 2015 at 7:46 PM, Peng Yu wrote: > I don't have cabal. How to install cabal? Do I also install with MacPorts? Turns out if you do that you end up with hs-mtl and friends which will conflict with yesod's dependencies. You'll probably have to do an install from https://www.haskell.org/cabal/release/cabal-install-1.22.0.0/cabal-1.22.0.0-x86_64-apple-darwin-mavericks.tar.gz (apparently there are no binary builds for non-Mavericks, so if you need that then you have a problem :/ ) Or you can remove the MacPorts-based ghc stuff and do an install as recommended by https://stackage.org and make certain it can't find any MacPorts-installed library because that will lead to libiconv conflicts. Apparently the yesod/Stackage folks think this insanity is a good thing. -- brandon s allbery kf8nh sine nomine associates allbery.b at gmail.com ballbery at sinenomine.net unix, openafs, kerberos, infrastructure, xmonad http://sinenomine.net -------------- next part -------------- An HTML attachment was scrubbed... URL: From pengyu.ut at gmail.com Sun Apr 26 00:37:44 2015 From: pengyu.ut at gmail.com (Peng Yu) Date: Sat, 25 Apr 2015 19:37:44 -0500 Subject: How to compile git-annex? In-Reply-To: References: Message-ID: On Sat, Apr 25, 2015 at 7:02 PM, Brandon Allbery wrote: > > On Sat, Apr 25, 2015 at 7:46 PM, Peng Yu wrote: >> >> I don't have cabal. How to install cabal? Do I also install with MacPorts? > > > Turns out if you do that you end up with hs-mtl and friends which will > conflict with yesod's dependencies. You'll probably have to do an install > from > https://www.haskell.org/cabal/release/cabal-install-1.22.0.0/cabal-1.22.0.0-x86_64-apple-darwin-mavericks.tar.gz > (apparently there are no binary builds for non-Mavericks, so if you need > that then you have a problem :/ ) This will have a problem with MacPorts as show in this webpage. I do need to have MacPorts installed on my machine. http://blog.omega-prime.co.uk/?p=96 > Or you can remove the MacPorts-based ghc stuff and do an install as > recommended by https://stackage.org and make certain it can't find any > MacPorts-installed library because that will lead to libiconv conflicts. This is still in conflict with iconv thing as shown in the above webpage. ~$ cabal install cabal-install Resolving dependencies... Downloading mtl-2.2.1... Downloading network-2.6.0.2... Downloading old-locale-1.0.0.7... Configuring mtl-2.2.1... Configuring network-2.6.0.2... Downloading random-1.1... Configuring old-locale-1.0.0.7... Downloading stm-2.4.4... Configuring random-1.1... Downloading text-1.2.0.4... Downloading zlib-0.5.4.2... Failed to install mtl-2.2.1 Build log ( /Users/py/.cabal/logs/mtl-2.2.1.log ): Configuring stm-2.4.4... Configuring text-1.2.0.4... Failed to install network-2.6.0.2 Build log ( /Users/py/.cabal/logs/network-2.6.0.2.log ): Failed to install old-locale-1.0.0.7 Build log ( /Users/py/.cabal/logs/old-locale-1.0.0.7.log ): Configuring zlib-0.5.4.2... Failed to install random-1.1 Build log ( /Users/py/.cabal/logs/random-1.1.log ): Failed to install stm-2.4.4 Build log ( /Users/py/.cabal/logs/stm-2.4.4.log ): Failed to install text-1.2.0.4 Build log ( /Users/py/.cabal/logs/text-1.2.0.4.log ): Failed to install zlib-0.5.4.2 Build log ( /Users/py/.cabal/logs/zlib-0.5.4.2.log ): Error while Error while updating world-file. : /Users/py/Library/Haskell/logs/: openBinaryTempFile: does not exist (No such file or directory) cabal: Error: some packages failed to install: HTTP-4000.2.19 depends on text-1.2.0.4 which failed to install. cabal-install-1.22.3.0 depends on zlib-0.5.4.2 which failed to install. mtl-2.2.1 failed during the configure step. The exception was: user error ('/Applications/ghc-7.10.1.app/Contents/bin/ghc' exited with an error: Undefined symbols for architecture x86_64: "_iconv", referenced from: _hs_iconv in libHSbase-4.8.0.0-I5BErHzyOm07EBNpKBEeUv.a(iconv.o) (maybe you meant: _base_GHCziIOziEncodingziIconv_iconvEncodingzuloc1_info, _base_GHCziIOziEncodingziIconv_iconvEncoding9_info , _hs_iconv_open , _base_GHCziIOziEncodingziIconv_iconvEncoding8_info , _base_GHCziIOziEncodingziIconv_iconvEncodingzuloc_closure , _base_GHCziIOziEncodingziIconv_iconvEncodingzuloc1_closure , _base_GHCziIOziEncodingziIconv_iconvEncoding6_info , _base_GHCziIOziEncodingziIconv_iconvEncoding4_closure , _hs_iconv , _base_GHCziIOziEncodingziIconv_iconvEncoding8_closure , _base_GHCziIOziEncodingziIconv_iconvEncoding6_closure , _base_GHCziIOziEncodingziIconv_iconvEncoding3_closure , _base_GHCziIOziEncodingziIconv_iconvEncoding7_info , _base_GHCziIOziEncodingziIconv_iconvEncoding9_closure , _base_GHCziIOziEncodingziIconv_iconvEncoding2_info , _base_GHCziIOziEncodingziIconv_iconvEncodingzuloc_info , _base_GHCziIOziEncodingziIconv_iconvEncoding10_info , _base_GHCziIOziEncodingziIconv_iconvEncoding2_closure , _hs_iconv_close , _base_GHCziIOziEncodingziIconv_iconvEncoding10_closure , _base_GHCziIOziEncodingziIconv_iconvEncoding7_closure , _base_GHCziIOziEncodingziIconv_iconvEncoding3_info ) "_iconv_close", referenced from: _hs_iconv_close in libHSbase-4.8.0.0-I5BErHzyOm07EBNpKBEeUv.a(iconv.o) (maybe you meant: _hs_iconv_close) "_iconv_open", referenced from: _hs_iconv_open in libHSbase-4.8.0.0-I5BErHzyOm07EBNpKBEeUv.a(iconv.o) (maybe you meant: _hs_iconv_open) "_locale_charset", referenced from: _localeEncoding in libHSbase-4.8.0.0-I5BErHzyOm07EBNpKBEeUv.a(PrelIOUtils.o) ld: symbol(s) not found for architecture x86_64 clang: error: linker command failed with exit code 1 (use -v to see invocation) ) network-2.6.0.2 failed during the configure step. The exception was: user error ('/Applications/ghc-7.10.1.app/Contents/bin/ghc' exited with an error: Undefined symbols for architecture x86_64: "_iconv", referenced from: _hs_iconv in libHSbase-4.8.0.0-I5BErHzyOm07EBNpKBEeUv.a(iconv.o) (maybe you meant: _base_GHCziIOziEncodingziIconv_iconvEncodingzuloc1_info, _base_GHCziIOziEncodingziIconv_iconvEncoding9_info , _hs_iconv_open , _base_GHCziIOziEncodingziIconv_iconvEncoding8_info , _base_GHCziIOziEncodingziIconv_iconvEncodingzuloc_closure , _base_GHCziIOziEncodingziIconv_iconvEncodingzuloc1_closure , _base_GHCziIOziEncodingziIconv_iconvEncoding6_info , _base_GHCziIOziEncodingziIconv_iconvEncoding4_closure , _hs_iconv , _base_GHCziIOziEncodingziIconv_iconvEncoding6_closure , _base_GHCziIOziEncodingziIconv_iconvEncoding3_closure , _base_GHCziIOziEncodingziIconv_iconvEncoding7_info , _base_GHCziIOziEncodingziIconv_iconvEncoding8_closure , _base_GHCziIOziEncodingziIconv_iconvEncoding2_info , _base_GHCziIOziEncodingziIconv_iconvEncodingzuloc_info , _base_GHCziIOziEncodingziIconv_iconvEncoding10_info , _hs_iconv_close , _base_GHCziIOziEncodingziIconv_iconvEncoding10_closure , _base_GHCziIOziEncodingziIconv_iconvEncoding9_closure , _base_GHCziIOziEncodingziIconv_iconvEncoding7_closure , _base_GHCziIOziEncodingziIconv_iconvEncoding2_closure , _base_GHCziIOziEncodingziIconv_iconvEncoding3_info ) "_iconv_close", referenced from: _hs_iconv_close in libHSbase-4.8.0.0-I5BErHzyOm07EBNpKBEeUv.a(iconv.o) (maybe you meant: _hs_iconv_close) "_iconv_open", referenced from: _hs_iconv_open in libHSbase-4.8.0.0-I5BErHzyOm07EBNpKBEeUv.a(iconv.o) (maybe you meant: _hs_iconv_open) "_locale_charset", referenced from: _localeEncoding in libHSbase-4.8.0.0-I5BErHzyOm07EBNpKBEeUv.a(PrelIOUtils.o) ld: symbol(s) not found for architecture x86_64 clang: error: linker command failed with exit code 1 (use -v to see invocation) ) network-uri-2.6.0.1 depends on text-1.2.0.4 which failed to install. old-locale-1.0.0.7 failed during the configure step. The exception was: user error ('/Applications/ghc-7.10.1.app/Contents/bin/ghc' exited with an error: Undefined symbols for architecture x86_64: "_iconv", referenced from: _hs_iconv in libHSbase-4.8.0.0-I5BErHzyOm07EBNpKBEeUv.a(iconv.o) (maybe you meant: _base_GHCziIOziEncodingziIconv_iconvEncodingzuloc1_info, _base_GHCziIOziEncodingziIconv_iconvEncoding9_info , _hs_iconv_open , _base_GHCziIOziEncodingziIconv_iconvEncoding8_info , _base_GHCziIOziEncodingziIconv_iconvEncodingzuloc_closure , _base_GHCziIOziEncodingziIconv_iconvEncodingzuloc1_closure , _base_GHCziIOziEncodingziIconv_iconvEncoding6_info , _base_GHCziIOziEncodingziIconv_iconvEncoding4_closure , _hs_iconv , _base_GHCziIOziEncodingziIconv_iconvEncoding8_closure , _base_GHCziIOziEncodingziIconv_iconvEncoding6_closure , _base_GHCziIOziEncodingziIconv_iconvEncoding3_closure , _base_GHCziIOziEncodingziIconv_iconvEncoding7_info , _base_GHCziIOziEncodingziIconv_iconvEncoding9_closure , _base_GHCziIOziEncodingziIconv_iconvEncoding2_info , _base_GHCziIOziEncodingziIconv_iconvEncodingzuloc_info , _base_GHCziIOziEncodingziIconv_iconvEncoding10_info , _base_GHCziIOziEncodingziIconv_iconvEncoding2_closure , _hs_iconv_close , _base_GHCziIOziEncodingziIconv_iconvEncoding10_closure , _base_GHCziIOziEncodingziIconv_iconvEncoding7_closure , _base_GHCziIOziEncodingziIconv_iconvEncoding3_info ) "_iconv_close", referenced from: _hs_iconv_close in libHSbase-4.8.0.0-I5BErHzyOm07EBNpKBEeUv.a(iconv.o) (maybe you meant: _hs_iconv_close) "_iconv_open", referenced from: _hs_iconv_open in libHSbase-4.8.0.0-I5BErHzyOm07EBNpKBEeUv.a(iconv.o) (maybe you meant: _hs_iconv_open) "_locale_charset", referenced from: _localeEncoding in libHSbase-4.8.0.0-I5BErHzyOm07EBNpKBEeUv.a(PrelIOUtils.o) ld: symbol(s) not found for architecture x86_64 clang: error: linker command failed with exit code 1 (use -v to see invocation) ) old-time-1.1.0.3 depends on old-locale-1.0.0.7 which failed to install. parsec-3.1.9 depends on text-1.2.0.4 which failed to install. random-1.1 failed during the configure step. The exception was: user error ('/Applications/ghc-7.10.1.app/Contents/bin/ghc' exited with an error: Undefined symbols for architecture x86_64: "_iconv", referenced from: _hs_iconv in libHSbase-4.8.0.0-I5BErHzyOm07EBNpKBEeUv.a(iconv.o) (maybe you meant: _base_GHCziIOziEncodingziIconv_iconvEncodingzuloc1_info, _base_GHCziIOziEncodingziIconv_iconvEncoding9_info , _hs_iconv_open , _base_GHCziIOziEncodingziIconv_iconvEncoding8_info , _base_GHCziIOziEncodingziIconv_iconvEncodingzuloc_closure , _base_GHCziIOziEncodingziIconv_iconvEncodingzuloc1_closure , _base_GHCziIOziEncodingziIconv_iconvEncoding6_info , _base_GHCziIOziEncodingziIconv_iconvEncoding4_closure , _hs_iconv , _base_GHCziIOziEncodingziIconv_iconvEncoding8_closure , _base_GHCziIOziEncodingziIconv_iconvEncoding6_closure , _base_GHCziIOziEncodingziIconv_iconvEncoding3_closure , _base_GHCziIOziEncodingziIconv_iconvEncoding7_info , _base_GHCziIOziEncodingziIconv_iconvEncoding9_closure , _base_GHCziIOziEncodingziIconv_iconvEncoding2_info , _base_GHCziIOziEncodingziIconv_iconvEncodingzuloc_info , _base_GHCziIOziEncodingziIconv_iconvEncoding10_info , _base_GHCziIOziEncodingziIconv_iconvEncoding2_closure , _hs_iconv_close , _base_GHCziIOziEncodingziIconv_iconvEncoding10_closure , _base_GHCziIOziEncodingziIconv_iconvEncoding7_closure , _base_GHCziIOziEncodingziIconv_iconvEncoding3_info ) "_iconv_close", referenced from: _hs_iconv_close in libHSbase-4.8.0.0-I5BErHzyOm07EBNpKBEeUv.a(iconv.o) (maybe you meant: _hs_iconv_close) "_iconv_open", referenced from: _hs_iconv_open in libHSbase-4.8.0.0-I5BErHzyOm07EBNpKBEeUv.a(iconv.o) (maybe you meant: _hs_iconv_open) "_locale_charset", referenced from: _localeEncoding in libHSbase-4.8.0.0-I5BErHzyOm07EBNpKBEeUv.a(PrelIOUtils.o) ld: symbol(s) not found for architecture x86_64 clang: error: linker command failed with exit code 1 (use -v to see invocation) ) stm-2.4.4 failed during the configure step. The exception was: user error ('/Applications/ghc-7.10.1.app/Contents/bin/ghc' exited with an error: Undefined symbols for architecture x86_64: "_iconv", referenced from: _hs_iconv in libHSbase-4.8.0.0-I5BErHzyOm07EBNpKBEeUv.a(iconv.o) (maybe you meant: _base_GHCziIOziEncodingziIconv_iconvEncodingzuloc1_info, _base_GHCziIOziEncodingziIconv_iconvEncoding9_info , _hs_iconv_open , _base_GHCziIOziEncodingziIconv_iconvEncoding8_info , _base_GHCziIOziEncodingziIconv_iconvEncodingzuloc_closure , _base_GHCziIOziEncodingziIconv_iconvEncodingzuloc1_closure , _base_GHCziIOziEncodingziIconv_iconvEncoding6_info , _base_GHCziIOziEncodingziIconv_iconvEncoding4_closure , _hs_iconv , _base_GHCziIOziEncodingziIconv_iconvEncoding8_closure , _base_GHCziIOziEncodingziIconv_iconvEncoding6_closure , _base_GHCziIOziEncodingziIconv_iconvEncoding3_closure , _base_GHCziIOziEncodingziIconv_iconvEncoding7_info , _base_GHCziIOziEncodingziIconv_iconvEncoding9_closure , _base_GHCziIOziEncodingziIconv_iconvEncoding2_info , _base_GHCziIOziEncodingziIconv_iconvEncodingzuloc_info , _base_GHCziIOziEncodingziIconv_iconvEncoding10_info , _base_GHCziIOziEncodingziIconv_iconvEncoding2_closure , _hs_iconv_close , _base_GHCziIOziEncodingziIconv_iconvEncoding10_closure , _base_GHCziIOziEncodingziIconv_iconvEncoding7_closure , _base_GHCziIOziEncodingziIconv_iconvEncoding3_info ) "_iconv_close", referenced from: _hs_iconv_close in libHSbase-4.8.0.0-I5BErHzyOm07EBNpKBEeUv.a(iconv.o) (maybe you meant: _hs_iconv_close) "_iconv_open", referenced from: _hs_iconv_open in libHSbase-4.8.0.0-I5BErHzyOm07EBNpKBEeUv.a(iconv.o) (maybe you meant: _hs_iconv_open) "_locale_charset", referenced from: _localeEncoding in libHSbase-4.8.0.0-I5BErHzyOm07EBNpKBEeUv.a(PrelIOUtils.o) ld: symbol(s) not found for architecture x86_64 clang: error: linker command failed with exit code 1 (use -v to see invocation) ) text-1.2.0.4 failed during the configure step. The exception was: user error ('/Applications/ghc-7.10.1.app/Contents/bin/ghc' exited with an error: Undefined symbols for architecture x86_64: "_iconv", referenced from: _hs_iconv in libHSbase-4.8.0.0-I5BErHzyOm07EBNpKBEeUv.a(iconv.o) (maybe you meant: _base_GHCziIOziEncodingziIconv_iconvEncodingzuloc1_info, _base_GHCziIOziEncodingziIconv_iconvEncoding9_info , _hs_iconv_open , _base_GHCziIOziEncodingziIconv_iconvEncoding8_info , _base_GHCziIOziEncodingziIconv_iconvEncodingzuloc_closure , _base_GHCziIOziEncodingziIconv_iconvEncodingzuloc1_closure , _base_GHCziIOziEncodingziIconv_iconvEncoding6_info , _base_GHCziIOziEncodingziIconv_iconvEncoding4_closure , _hs_iconv , _base_GHCziIOziEncodingziIconv_iconvEncoding8_closure , _base_GHCziIOziEncodingziIconv_iconvEncoding6_closure , _base_GHCziIOziEncodingziIconv_iconvEncoding3_closure , _base_GHCziIOziEncodingziIconv_iconvEncoding7_info , _base_GHCziIOziEncodingziIconv_iconvEncoding9_closure , _base_GHCziIOziEncodingziIconv_iconvEncoding2_info , _base_GHCziIOziEncodingziIconv_iconvEncodingzuloc_info , _base_GHCziIOziEncodingziIconv_iconvEncoding10_info , _base_GHCziIOziEncodingziIconv_iconvEncoding2_closure , _hs_iconv_close , _base_GHCziIOziEncodingziIconv_iconvEncoding10_closure , _base_GHCziIOziEncodingziIconv_iconvEncoding7_closure , _base_GHCziIOziEncodingziIconv_iconvEncoding3_info ) "_iconv_close", referenced from: _hs_iconv_close in libHSbase-4.8.0.0-I5BErHzyOm07EBNpKBEeUv.a(iconv.o) (maybe you meant: _hs_iconv_close) "_iconv_open", referenced from: _hs_iconv_open in libHSbase-4.8.0.0-I5BErHzyOm07EBNpKBEeUv.a(iconv.o) (maybe you meant: _hs_iconv_open) "_locale_charset", referenced from: _localeEncoding in libHSbase-4.8.0.0-I5BErHzyOm07EBNpKBEeUv.a(PrelIOUtils.o) ld: symbol(s) not found for architecture x86_64 clang: error: linker command failed with exit code 1 (use -v to see invocation) ) zlib-0.5.4.2 failed during the configure step. The exception was: user error ('/Applications/ghc-7.10.1.app/Contents/bin/ghc' exited with an error: Undefined symbols for architecture x86_64: "_iconv", referenced from: _hs_iconv in libHSbase-4.8.0.0-I5BErHzyOm07EBNpKBEeUv.a(iconv.o) (maybe you meant: _base_GHCziIOziEncodingziIconv_iconvEncodingzuloc1_info, _base_GHCziIOziEncodingziIconv_iconvEncoding9_info , _hs_iconv_open , _base_GHCziIOziEncodingziIconv_iconvEncoding8_info , _base_GHCziIOziEncodingziIconv_iconvEncodingzuloc_closure , _base_GHCziIOziEncodingziIconv_iconvEncodingzuloc1_closure , _base_GHCziIOziEncodingziIconv_iconvEncoding6_info , _base_GHCziIOziEncodingziIconv_iconvEncoding4_closure , _hs_iconv , _base_GHCziIOziEncodingziIconv_iconvEncoding8_closure , _base_GHCziIOziEncodingziIconv_iconvEncoding6_closure , _base_GHCziIOziEncodingziIconv_iconvEncoding3_closure , _base_GHCziIOziEncodingziIconv_iconvEncoding7_info , _base_GHCziIOziEncodingziIconv_iconvEncoding9_closure , _base_GHCziIOziEncodingziIconv_iconvEncoding2_info , _base_GHCziIOziEncodingziIconv_iconvEncodingzuloc_info , _base_GHCziIOziEncodingziIconv_iconvEncoding10_info , _base_GHCziIOziEncodingziIconv_iconvEncoding2_closure , _hs_iconv_close , _base_GHCziIOziEncodingziIconv_iconvEncoding10_closure , _base_GHCziIOziEncodingziIconv_iconvEncoding7_closure , _base_GHCziIOziEncodingziIconv_iconvEncoding3_info ) "_iconv_close", referenced from: _hs_iconv_close in libHSbase-4.8.0.0-I5BErHzyOm07EBNpKBEeUv.a(iconv.o) (maybe you meant: _hs_iconv_close) "_iconv_open", referenced from: _hs_iconv_open in libHSbase-4.8.0.0-I5BErHzyOm07EBNpKBEeUv.a(iconv.o) (maybe you meant: _hs_iconv_open) "_locale_charset", referenced from: _localeEncoding in libHSbase-4.8.0.0-I5BErHzyOm07EBNpKBEeUv.a(PrelIOUtils.o) ld: symbol(s) not found for architecture x86_64 clang: error: linker command failed with exit code 1 (use -v to see invocation) ) > Apparently the yesod/Stackage folks think this insanity is a good thing. > > -- > brandon s allbery kf8nh sine nomine associates > allbery.b at gmail.com ballbery at sinenomine.net > unix, openafs, kerberos, infrastructure, xmonad http://sinenomine.net -- Regards, Peng From pengyu.ut at gmail.com Sun Apr 26 02:12:12 2015 From: pengyu.ut at gmail.com (Peng Yu) Date: Sat, 25 Apr 2015 21:12:12 -0500 Subject: How to install cabal after building ghc from source Message-ID: Hi, I following the following instructions to install ghc from source. Could anybody let me know what is the appropriate step to install cabal? Thanks. https://mail.haskell.org/pipermail/haskell-cafe/2010-June/079204.html -- Regards, Peng From the.dead.shall.rise at gmail.com Sun Apr 26 02:21:30 2015 From: the.dead.shall.rise at gmail.com (Mikhail Glushenkov) Date: Sun, 26 Apr 2015 04:21:30 +0200 Subject: How to install cabal after building ghc from source In-Reply-To: References: Message-ID: Hi, On 26 April 2015 at 04:12, Peng Yu wrote: > Hi, I following the following instructions to install ghc from source. > Could anybody let me know what is the appropriate step to install > cabal? Thanks. Try the bootstrap.sh script [1]. [1] https://github.com/haskell/cabal/blob/master/cabal-install/bootstrap.sh From pengyu.ut at gmail.com Sun Apr 26 02:26:47 2015 From: pengyu.ut at gmail.com (Peng Yu) Date: Sat, 25 Apr 2015 21:26:47 -0500 Subject: How to install cabal after building ghc from source In-Reply-To: References: Message-ID: I get the following error. How to fix it? ~/dvcs_src/cabal/cabal-install$ ./bootstrap.sh Configured with: --prefix=/Applications/Xcode.app/Contents/Developer/usr --with-gxx-include-dir=/usr/include/c++/4.2.1 Using gcc for C compiler. If this is not what you want, set CC. Using /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/ld instead. Checking installed packages for ghc-7.10.1... deepseq is already installed and the version is ok. binary is already installed and the version is ok. time is already installed and the version is ok. Cabal is already installed and the version is ok. transformers is already installed and the version is ok. mtl-2.2.1 will be downloaded and installed. text-1.2.0.4 will be downloaded and installed. parsec-3.1.8 will be downloaded and installed. network-2.6.0.2 will be downloaded and installed. old-locale-1.0.0.7 will be downloaded and installed. old-time-1.1.0.3 will be downloaded and installed. HTTP-4000.2.19 will be downloaded and installed. zlib-0.5.4.2 will be downloaded and installed. random-1.1 will be downloaded and installed. stm-2.4.4 will be downloaded and installed. Downloading mtl-2.2.1... % Total % Received % Xferd Average Speed Time Time Time Current Dload Upload Total Spent Left Speed 100 15391 100 15391 0 0 24744 0 --:--:-- --:--:-- --:--:-- 99296 [1 of 1] Compiling Main ( Setup.hs, Setup.o ) Linking Setup ... Configuring mtl-2.2.1... Building mtl-2.2.1... Preprocessing library mtl-2.2.1... [ 1 of 22] Compiling Control.Monad.Writer.Class ( Control/Monad/Writer/Class.hs, dist/build/Control/Monad/Writer/Class.o ) [ 2 of 22] Compiling Control.Monad.State.Class ( Control/Monad/State/Class.hs, dist/build/Control/Monad/State/Class.o ) [ 3 of 22] Compiling Control.Monad.Reader.Class ( Control/Monad/Reader/Class.hs, dist/build/Control/Monad/Reader/Class.o ) [ 4 of 22] Compiling Control.Monad.RWS.Class ( Control/Monad/RWS/Class.hs, dist/build/Control/Monad/RWS/Class.o ) [ 5 of 22] Compiling Control.Monad.Identity ( Control/Monad/Identity.hs, dist/build/Control/Monad/Identity.o ) [ 6 of 22] Compiling Control.Monad.Error.Class ( Control/Monad/Error/Class.hs, dist/build/Control/Monad/Error/Class.o ) [ 7 of 22] Compiling Control.Monad.Cont.Class ( Control/Monad/Cont/Class.hs, dist/build/Control/Monad/Cont/Class.o ) [ 8 of 22] Compiling Control.Monad.Trans ( Control/Monad/Trans.hs, dist/build/Control/Monad/Trans.o ) [ 9 of 22] Compiling Control.Monad.Error ( Control/Monad/Error.hs, dist/build/Control/Monad/Error.o ) [10 of 22] Compiling Control.Monad.Except ( Control/Monad/Except.hs, dist/build/Control/Monad/Except.o ) [11 of 22] Compiling Control.Monad.List ( Control/Monad/List.hs, dist/build/Control/Monad/List.o ) [12 of 22] Compiling Control.Monad.RWS.Lazy ( Control/Monad/RWS/Lazy.hs, dist/build/Control/Monad/RWS/Lazy.o ) [13 of 22] Compiling Control.Monad.RWS ( Control/Monad/RWS.hs, dist/build/Control/Monad/RWS.o ) [14 of 22] Compiling Control.Monad.Reader ( Control/Monad/Reader.hs, dist/build/Control/Monad/Reader.o ) [15 of 22] Compiling Control.Monad.RWS.Strict ( Control/Monad/RWS/Strict.hs, dist/build/Control/Monad/RWS/Strict.o ) [16 of 22] Compiling Control.Monad.State.Lazy ( Control/Monad/State/Lazy.hs, dist/build/Control/Monad/State/Lazy.o ) [17 of 22] Compiling Control.Monad.State ( Control/Monad/State.hs, dist/build/Control/Monad/State.o ) [18 of 22] Compiling Control.Monad.State.Strict ( Control/Monad/State/Strict.hs, dist/build/Control/Monad/State/Strict.o ) [19 of 22] Compiling Control.Monad.Writer.Lazy ( Control/Monad/Writer/Lazy.hs, dist/build/Control/Monad/Writer/Lazy.o ) [20 of 22] Compiling Control.Monad.Writer ( Control/Monad/Writer.hs, dist/build/Control/Monad/Writer.o ) [21 of 22] Compiling Control.Monad.Writer.Strict ( Control/Monad/Writer/Strict.hs, dist/build/Control/Monad/Writer/Strict.o ) [22 of 22] Compiling Control.Monad.Cont ( Control/Monad/Cont.hs, dist/build/Control/Monad/Cont.o ) Control/Monad/Cont.hs:1:1: Could not find module ?Prelude? Perhaps you haven't installed the profiling libraries for package ?base-4.8.0.0?? Use -v to see a list of the files searched for. Control/Monad/Cont.hs:80:8: Could not find module ?Control.Monad.Trans.Cont? Perhaps you haven't installed the profiling libraries for package ?transformers-0.4.2.0 at trans_ALYlebOVzVI4kxbFX5SGhm?? Use -v to see a list of the files searched for. Control/Monad/Cont.hs:82:8: Could not find module ?Control.Monad? Perhaps you haven't installed the profiling libraries for package ?base-4.8.0.0?? Use -v to see a list of the files searched for. Control/Monad/Cont/Class.hs:57:8: Could not find module ?Control.Monad.Trans.Error? Perhaps you haven't installed the profiling libraries for package ?transformers-0.4.2.0 at trans_ALYlebOVzVI4kxbFX5SGhm?? Use -v to see a list of the files searched for. Control/Monad/Cont/Class.hs:58:8: Could not find module ?Control.Monad.Trans.Except? Perhaps you haven't installed the profiling libraries for package ?transformers-0.4.2.0 at trans_ALYlebOVzVI4kxbFX5SGhm?? Use -v to see a list of the files searched for. Control/Monad/Cont/Class.hs:59:8: Could not find module ?Control.Monad.Trans.Identity? Perhaps you haven't installed the profiling libraries for package ?transformers-0.4.2.0 at trans_ALYlebOVzVI4kxbFX5SGhm?? Use -v to see a list of the files searched for. Control/Monad/Cont/Class.hs:60:8: Could not find module ?Control.Monad.Trans.List? Perhaps you haven't installed the profiling libraries for package ?transformers-0.4.2.0 at trans_ALYlebOVzVI4kxbFX5SGhm?? Use -v to see a list of the files searched for. Control/Monad/Cont/Class.hs:61:8: Could not find module ?Control.Monad.Trans.Maybe? Perhaps you haven't installed the profiling libraries for package ?transformers-0.4.2.0 at trans_ALYlebOVzVI4kxbFX5SGhm?? Use -v to see a list of the files searched for. Control/Monad/Cont/Class.hs:62:8: Could not find module ?Control.Monad.Trans.Reader? Perhaps you haven't installed the profiling libraries for package ?transformers-0.4.2.0 at trans_ALYlebOVzVI4kxbFX5SGhm?? Use -v to see a list of the files searched for. Control/Monad/Cont/Class.hs:63:8: Could not find module ?Control.Monad.Trans.RWS.Lazy? Perhaps you haven't installed the profiling libraries for package ?transformers-0.4.2.0 at trans_ALYlebOVzVI4kxbFX5SGhm?? Use -v to see a list of the files searched for. Control/Monad/Cont/Class.hs:64:8: Could not find module ?Control.Monad.Trans.RWS.Strict? Perhaps you haven't installed the profiling libraries for package ?transformers-0.4.2.0 at trans_ALYlebOVzVI4kxbFX5SGhm?? Use -v to see a list of the files searched for. Control/Monad/Cont/Class.hs:65:8: Could not find module ?Control.Monad.Trans.State.Lazy? Perhaps you haven't installed the profiling libraries for package ?transformers-0.4.2.0 at trans_ALYlebOVzVI4kxbFX5SGhm?? Use -v to see a list of the files searched for. Control/Monad/Cont/Class.hs:66:8: Could not find module ?Control.Monad.Trans.State.Strict? Perhaps you haven't installed the profiling libraries for package ?transformers-0.4.2.0 at trans_ALYlebOVzVI4kxbFX5SGhm?? Use -v to see a list of the files searched for. Control/Monad/Cont/Class.hs:67:8: Could not find module ?Control.Monad.Trans.Writer.Lazy? Perhaps you haven't installed the profiling libraries for package ?transformers-0.4.2.0 at trans_ALYlebOVzVI4kxbFX5SGhm?? Use -v to see a list of the files searched for. Control/Monad/Cont/Class.hs:68:8: Could not find module ?Control.Monad.Trans.Writer.Strict? Perhaps you haven't installed the profiling libraries for package ?transformers-0.4.2.0 at trans_ALYlebOVzVI4kxbFX5SGhm?? Use -v to see a list of the files searched for. Control/Monad/Cont/Class.hs:71:8: Could not find module ?Data.Monoid? Perhaps you haven't installed the profiling libraries for package ?base-4.8.0.0?? Use -v to see a list of the files searched for. Control/Monad/Error.hs:59:8: Could not find module ?Control.Monad.Fix? Perhaps you haven't installed the profiling libraries for package ?base-4.8.0.0?? Use -v to see a list of the files searched for. Control/Monad/Error/Class.hs:58:8: Could not find module ?Control.Monad.Trans.Class? Perhaps you haven't installed the profiling libraries for package ?transformers-0.4.2.0 at trans_ALYlebOVzVI4kxbFX5SGhm?? Use -v to see a list of the files searched for. Control/Monad/Error/Class.hs:59:8: Could not find module ?Control.Exception? Perhaps you haven't installed the profiling libraries for package ?base-4.8.0.0?? Use -v to see a list of the files searched for. Control/Monad/Identity.hs:44:8: Could not find module ?Data.Functor.Identity? Perhaps you haven't installed the profiling libraries for package ?base-4.8.0.0?? Use -v to see a list of the files searched for. Control/Monad/Trans.hs:33:8: Could not find module ?Control.Monad.IO.Class? Perhaps you haven't installed the profiling libraries for package ?transformers-0.4.2.0 at trans_ALYlebOVzVI4kxbFX5SGhm?? Use -v to see a list of the files searched for. Error during cabal-install bootstrap: Building the mtl package failed. On Sat, Apr 25, 2015 at 9:21 PM, Mikhail Glushenkov wrote: > Hi, > > On 26 April 2015 at 04:12, Peng Yu wrote: >> Hi, I following the following instructions to install ghc from source. >> Could anybody let me know what is the appropriate step to install >> cabal? Thanks. > > Try the bootstrap.sh script [1]. > > [1] https://github.com/haskell/cabal/blob/master/cabal-install/bootstrap.sh -- Regards, Peng From the.dead.shall.rise at gmail.com Sun Apr 26 02:35:06 2015 From: the.dead.shall.rise at gmail.com (Mikhail Glushenkov) Date: Sun, 26 Apr 2015 04:35:06 +0200 Subject: How to install cabal after building ghc from source In-Reply-To: References: Message-ID: Hi, On 26 April 2015 at 04:26, Peng Yu wrote: > I get the following error. How to fix it? Try 'EXTRA_CONFIGURE_OPTS="" ./bootstrap.sh' . From pengyu.ut at gmail.com Sun Apr 26 02:54:40 2015 From: pengyu.ut at gmail.com (Peng Yu) Date: Sat, 25 Apr 2015 21:54:40 -0500 Subject: How to compile git-annex? In-Reply-To: References: Message-ID: I installed ghc and cabal from source. But I still see the following error. Could anyone let me know what is wrong? And how to fix it? $ cabal install git-annex Resolving dependencies... Downloading HUnit-1.2.5.2... Downloading IfElse-0.85... Downloading SHA-1.6.4.2... Configuring HUnit-1.2.5.2... Configuring IfElse-0.85... Downloading bloomfilter-2.0.0.0... Downloading dataenc-0.12... Configuring bloomfilter-2.0.0.0... Configuring dataenc-0.12... Downloading extensible-exceptions-0.1.1.4... Downloading hslogger-1.2.8... Downloading hxt-charproperties-9.2.0.1... Building HUnit-1.2.5.2... Building IfElse-0.85... Downloading pcre-light-0.4.0.3... Downloading primitive-0.6... Downloading regex-base-0.93.2... Downloading syb-0.4.4... Downloading transformers-compat-0.4.0.4... Downloading utf8-string-1... Building bloomfilter-2.0.0.0... Building dataenc-0.12... Failed to install IfElse-0.85 Build log ( /Users/py/.cabal/logs/IfElse-0.85.log ): Configuring IfElse-0.85... Building IfElse-0.85... Preprocessing library IfElse-0.85... [1 of 1] Compiling Control.Monad.IfElse ( Control/Monad/IfElse.hs, dist/build/Control/Monad/IfElse.o ) Control/Monad/IfElse.hs:159:11: Warning: Rule "maybeMP/id" may never fire because ?maybeMP? might inline first Probable fix: add an INLINE[n] or NOINLINE[n] pragma on ?maybeMP? Control/Monad/IfElse.hs:1:1: Could not find module ?Prelude? Perhaps you haven't installed the profiling libraries for package ?base-4.8.0.0?? Use -v to see a list of the files searched for. Control/Monad/IfElse.hs:17:8: Could not find module ?Control.Monad? Perhaps you haven't installed the profiling libraries for package ?base-4.8.0.0?? Use -v to see a list of the files searched for. Configuring extensible-exceptions-0.1.1.4... Building extensible-exceptions-0.1.1.4... Configuring SHA-1.6.4.2... Failed to install bloomfilter-2.0.0.0 Build log ( /Users/py/.cabal/logs/bloomfilter-2.0.0.0.log ): Configuring bloomfilter-2.0.0.0... Building bloomfilter-2.0.0.0... Preprocessing library bloomfilter-2.0.0.0... [1 of 7] Compiling Data.BloomFilter.Array ( Data/BloomFilter/Array.hs, dist/build/Data/BloomFilter/Array.o ) [2 of 7] Compiling Data.BloomFilter.Mutable.Internal ( Data/BloomFilter/Mutable/Internal.hs, dist/build/Data/BloomFilter/Mutable/Internal.o ) [3 of 7] Compiling Data.BloomFilter.Util ( Data/BloomFilter/Util.hs, dist/build/Data/BloomFilter/Util.o ) [4 of 7] Compiling Data.BloomFilter.Mutable ( Data/BloomFilter/Mutable.hs, dist/build/Data/BloomFilter/Mutable.o ) Data/BloomFilter/Mutable.hs:136:9: Non type-variable argument in the constraint: Data.Array.Base.MArray (Data.Array.Base.STUArray s) Hash m (Use FlexibleContexts to permit this) When checking that ?loop? has the inferred type loop :: forall (m :: * -> *). Data.Array.Base.MArray (Data.Array.Base.STUArray s) Hash m => [Int :* Int] -> m Bool In an equation for ?elem?: elem elt mb = loop (hashesM mb elt) where mu = bitArray mb loop ((word :* bit) : wbs) = do { i <- unsafeRead mu word; .... } loop _ = return True Configuring hslogger-1.2.8... Failed to install extensible-exceptions-0.1.1.4 Build log ( /Users/py/.cabal/logs/extensible-exceptions-0.1.1.4.log ): Configuring extensible-exceptions-0.1.1.4... Building extensible-exceptions-0.1.1.4... Preprocessing library extensible-exceptions-0.1.1.4... [1 of 1] Compiling Control.Exception.Extensible ( Control/Exception/Extensible.hs, dist/build/Control/Exception/Extensible.o ) Control/Exception/Extensible.hs:1:1: Could not find module ?Prelude? Perhaps you haven't installed the profiling libraries for package ?base-4.8.0.0?? Use -v to see a list of the files searched for. Control/Exception/Extensible.hs:24:8: Could not find module ?Control.Exception? Perhaps you haven't installed the profiling libraries for package ?base-4.8.0.0?? Use -v to see a list of the files searched for. Building SHA-1.6.4.2... Building hslogger-1.2.8... Configuring pcre-light-0.4.0.3... Failed to install HUnit-1.2.5.2 Build log ( /Users/py/.cabal/logs/HUnit-1.2.5.2.log ): Configuring HUnit-1.2.5.2... Building HUnit-1.2.5.2... Preprocessing library HUnit-1.2.5.2... [1 of 5] Compiling Test.HUnit.Terminal ( Test/HUnit/Terminal.hs, dist/build/Test/HUnit/Terminal.o ) [2 of 5] Compiling Test.HUnit.Lang ( Test/HUnit/Lang.hs, dist/build/Test/HUnit/Lang.o ) [3 of 5] Compiling Test.HUnit.Base ( Test/HUnit/Base.hs, dist/build/Test/HUnit/Base.o ) [4 of 5] Compiling Test.HUnit.Text ( Test/HUnit/Text.hs, dist/build/Test/HUnit/Text.o ) [5 of 5] Compiling Test.HUnit ( Test/HUnit.hs, dist/build/Test/HUnit.o ) Test/HUnit/Base.hs:1:1: Could not find module ?Prelude? Perhaps you haven't installed the profiling libraries for package ?base-4.8.0.0?? Use -v to see a list of the files searched for. Test/HUnit/Base.hs:39:8: Could not find module ?Control.Monad? Perhaps you haven't installed the profiling libraries for package ?base-4.8.0.0?? Use -v to see a list of the files searched for. Test/HUnit/Lang.hs:34:8: Could not find module ?Data.Dynamic? Perhaps you haven't installed the profiling libraries for package ?base-4.8.0.0?? Use -v to see a list of the files searched for. Test/HUnit/Lang.hs:35:8: Could not find module ?Control.Exception? Perhaps you haven't installed the profiling libraries for package ?base-4.8.0.0?? Use -v to see a list of the files searched for. Test/HUnit/Lang.hs:41:8: Could not find module ?Control.DeepSeq? Perhaps you haven't installed the profiling libraries for package ?deepseq-1.4.1.1 at deeps_FpR4obOZALU1lutWnrBldi?? Use -v to see a list of the files searched for. Test/HUnit/Terminal.hs:8:8: Could not find module ?Data.Char? Perhaps you haven't installed the profiling libraries for package ?base-4.8.0.0?? Use -v to see a list of the files searched for. Test/HUnit/Text.hs:17:8: Could not find module ?System.IO? Perhaps you haven't installed the profiling libraries for package ?base-4.8.0.0?? Use -v to see a list of the files searched for. Building pcre-light-0.4.0.3... Configuring hxt-charproperties-9.2.0.1... Failed to install dataenc-0.12 Build log ( /Users/py/.cabal/logs/dataenc-0.12.log ): Configuring dataenc-0.12... Building dataenc-0.12... Preprocessing library dataenc-0.12... [1 of 9] Compiling Codec.Binary.Yenc ( src/Codec/Binary/Yenc.hs, dist/build/Codec/Binary/Yenc.o ) [2 of 9] Compiling Codec.Binary.Uu ( src/Codec/Binary/Uu.hs, dist/build/Codec/Binary/Uu.o ) [3 of 9] Compiling Codec.Binary.Base85 ( src/Codec/Binary/Base85.hs, dist/build/Codec/Binary/Base85.o ) [4 of 9] Compiling Codec.Binary.Base64 ( src/Codec/Binary/Base64.hs, dist/build/Codec/Binary/Base64.o ) [5 of 9] Compiling Codec.Binary.Base64Url ( src/Codec/Binary/Base64Url.hs, dist/build/Codec/Binary/Base64Url.o ) [6 of 9] Compiling Codec.Binary.Base32 ( src/Codec/Binary/Base32.hs, dist/build/Codec/Binary/Base32.o ) [7 of 9] Compiling Codec.Binary.Base32Hex ( src/Codec/Binary/Base32Hex.hs, dist/build/Codec/Binary/Base32Hex.o ) [8 of 9] Compiling Codec.Binary.Base16 ( src/Codec/Binary/Base16.hs, dist/build/Codec/Binary/Base16.o ) [9 of 9] Compiling Codec.Binary.DataEncoding ( src/Codec/Binary/DataEncoding.hs, dist/build/Codec/Binary/DataEncoding.o ) src/Codec/Binary/Base16.hs:18:8: Could not find module ?Control.Monad? Perhaps you haven't installed the profiling libraries for package ?base-4.8.0.0?? Use -v to see a list of the files searched for. src/Codec/Binary/Base16.hs:19:8: Could not find module ?Data.Array? Perhaps you haven't installed the profiling libraries for package ?array-0.5.1.0 at array_FaHmcBFfuRM8kmZLEY8D5S?? Use -v to see a list of the files searched for. src/Codec/Binary/Base16.hs:20:8: Could not find module ?Data.Bits? Perhaps you haven't installed the profiling libraries for package ?base-4.8.0.0?? Use -v to see a list of the files searched for. src/Codec/Binary/Base16.hs:21:8: Could not find module ?Data.Maybe? Perhaps you haven't installed the profiling libraries for package ?base-4.8.0.0?? Use -v to see a list of the files searched for. src/Codec/Binary/Base16.hs:23:18: Could not find module ?Data.Map? Perhaps you haven't installed the profiling libraries for package ?containers-0.5.6.2 at conta_47ajk3tbda43DFWyeF3oHQ?? Use -v to see a list of the files searched for. src/Codec/Binary/Base85.hs:20:8: Could not find module ?Data.Char? Perhaps you haven't installed the profiling libraries for package ?base-4.8.0.0?? Use -v to see a list of the files searched for. src/Codec/Binary/DataEncoding.hs:1:1: Could not find module ?Prelude? Perhaps you haven't installed the profiling libraries for package ?base-4.8.0.0?? Use -v to see a list of the files searched for. src/Codec/Binary/DataEncoding.hs:29:8: Could not find module ?Data.Word? Perhaps you haven't installed the profiling libraries for package ?base-4.8.0.0?? Use -v to see a list of the files searched for. Configuring primitive-0.6... Failed to install hslogger-1.2.8 Build log ( /Users/py/.cabal/logs/hslogger-1.2.8.log ): Configuring hslogger-1.2.8... Building hslogger-1.2.8... Preprocessing library hslogger-1.2.8... [1 of 8] Compiling System.Log ( src/System/Log.hs, dist/build/System/Log.o ) [2 of 8] Compiling System.Log.Formatter ( src/System/Log/Formatter.hs, dist/build/System/Log/Formatter.o ) [3 of 8] Compiling System.Log.Handler ( src/System/Log/Handler.hs, dist/build/System/Log/Handler.o ) [4 of 8] Compiling System.Log.Handler.Simple ( src/System/Log/Handler/Simple.hs, dist/build/System/Log/Handler/Simple.o ) [5 of 8] Compiling System.Log.Handler.Syslog ( src/System/Log/Handler/Syslog.hs, dist/build/System/Log/Handler/Syslog.o ) [6 of 8] Compiling System.Log.Handler.Growl ( src/System/Log/Handler/Growl.hs, dist/build/System/Log/Handler/Growl.o ) src/System/Log/Handler/Growl.hs:42:1: Warning: Tab character src/System/Log/Handler/Growl.hs:45:1: Warning: Tab character src/System/Log/Handler/Growl.hs:47:1: Warning: Tab character src/System/Log/Handler/Growl.hs:97:1: Warning: Tab character src/System/Log/Handler/Growl.hs:128:1: Warning: Tab character src/System/Log/Handler/Growl.hs:130:1: Warning: Tab character [7 of 8] Compiling System.Log.Handler.Log4jXML ( src/System/Log/Handler/Log4jXML.hs, dist/build/System/Log/Handler/Log4jXML.o ) [8 of 8] Compiling System.Log.Logger ( src/System/Log/Logger.hs, dist/build/System/Log/Logger.o ) src/System/Log/Logger.hs:201:1: Warning: Module ?Control.Monad.Error? is deprecated: Use Control.Monad.Except instead src/System/Log.hs:1:1: Could not find module ?Prelude? Perhaps you haven't installed the profiling libraries for package ?base-4.8.0.0?? Use -v to see a list of the files searched for. src/System/Log/Formatter.hs:24:8: Could not find module ?Data.List? Perhaps you haven't installed the profiling libraries for package ?base-4.8.0.0?? Use -v to see a list of the files searched for. src/System/Log/Formatter.hs:25:8: Could not find module ?Control.Applicative? Perhaps you haven't installed the profiling libraries for package ?base-4.8.0.0?? Use -v to see a list of the files searched for. src/System/Log/Formatter.hs:26:8: Could not find module ?Control.Concurrent? Perhaps you haven't installed the profiling libraries for package ?base-4.8.0.0?? Use -v to see a list of the files searched for. src/System/Log/Formatter.hs:28:8: Could not find module ?System.Posix.Process? Perhaps you haven't installed the profiling libraries for package ?unix-2.7.1.0 at unix_G4Yo1pNtYrk8nCq1cx8P9d?? Use -v to see a list of the files searched for. src/System/Log/Formatter.hs:32:8: Could not find module ?Data.Time.Format? Perhaps you haven't installed the profiling libraries for package ?time-1.5.0.1 at time_Hh2clZW6in4HpYHx5bLtb7?? Use -v to see a list of the files searched for. src/System/Log/Formatter.hs:36:8: Could not find module ?Data.Time? Perhaps you haven't installed the profiling libraries for package ?time-1.5.0.1 at time_Hh2clZW6in4HpYHx5bLtb7?? Use -v to see a list of the files searched for. src/System/Log/Handler.hs:26:8: Could not find module ?System.IO? Perhaps you haven't installed the profiling libraries for package ?base-4.8.0.0?? Use -v to see a list of the files searched for. src/System/Log/Handler/Growl.hs:19:8: Could not find module ?Data.Word? Perhaps you haven't installed the profiling libraries for package ?base-4.8.0.0?? Use -v to see a list of the files searched for. src/System/Log/Handler/Simple.hs:23:8: Could not find module ?Control.Exception? Perhaps you haven't installed the profiling libraries for package ?base-4.8.0.0?? Use -v to see a list of the files searched for. src/System/Log/Handler/Simple.hs:24:8: Could not find module ?Data.Char? Perhaps you haven't installed the profiling libraries for package ?base-4.8.0.0?? Use -v to see a list of the files searched for. src/System/Log/Handler/Simple.hs:30:8: Could not find module ?Control.Concurrent.MVar? Perhaps you haven't installed the profiling libraries for package ?base-4.8.0.0?? Use -v to see a list of the files searched for. src/System/Log/Handler/Syslog.hs:49:8: Could not find module ?Data.Bits? Perhaps you haven't installed the profiling libraries for package ?base-4.8.0.0?? Use -v to see a list of the files searched for. src/System/Log/Handler/Syslog.hs:50:8: Could not find module ?Network.Socket? Perhaps you haven't installed the profiling libraries for package ?network-2.6.0.2 at netwo_JKeOJdh7hF8JAmkFbE91fv?? Use -v to see a list of the files searched for. src/System/Log/Handler/Syslog.hs:51:8: Could not find module ?Network.BSD? Perhaps you haven't installed the profiling libraries for package ?network-2.6.0.2 at netwo_JKeOJdh7hF8JAmkFbE91fv?? Use -v to see a list of the files searched for. src/System/Log/Handler/Syslog.hs:57:8: Could not find module ?Control.Monad? Perhaps you haven't installed the profiling libraries for package ?base-4.8.0.0?? Use -v to see a list of the files searched for. src/System/Log/Logger.hs:195:8: Could not find module ?System.IO.Unsafe? Perhaps you haven't installed the profiling libraries for package ?base-4.8.0.0?? Use -v to see a list of the files searched for. src/System/Log/Logger.hs:198:8: Could not find module ?Data.Maybe? Perhaps you haven't installed the profiling libraries for package ?base-4.8.0.0?? Use -v to see a list of the files searched for. src/System/Log/Logger.hs:199:18: Could not find module ?Data.Map? Perhaps you haven't installed the profiling libraries for package ?containers-0.5.6.2 at conta_47ajk3tbda43DFWyeF3oHQ?? Use -v to see a list of the files searched for. src/System/Log/Logger.hs:201:8: Could not find module ?Control.Monad.Error? Perhaps you haven't installed the profiling libraries for package ?mtl-2.2.1 at mtl_6HevPxzlSPX058IyhMPnF5?? Use -v to see a list of the files searched for. Building hxt-charproperties-9.2.0.1... Building primitive-0.6... Configuring regex-base-0.93.2... Failed to install pcre-light-0.4.0.3 Build log ( /Users/py/.cabal/logs/pcre-light-0.4.0.3.log ): [1 of 1] Compiling Main ( /var/folders/nn/p4t2bp0n0znc79dc77q45y9m0000gn/T/pcre-light-0.4.0.3-18582/pcre-light-0.4.0.3/dist/setup/setup.hs, /var/folders/nn/p4t2bp0n0znc79dc77q45y9m0000gn/T/pcre-light-0.4.0.3-18582/pcre-light-0.4.0.3/dist/setup/Main.o ) Linking /var/folders/nn/p4t2bp0n0znc79dc77q45y9m0000gn/T/pcre-light-0.4.0.3-18582/pcre-light-0.4.0.3/dist/setup/setup ... Configuring pcre-light-0.4.0.3... Building pcre-light-0.4.0.3... Preprocessing library pcre-light-0.4.0.3... [1 of 3] Compiling Text.Regex.PCRE.Light.Base ( dist/build/Text/Regex/PCRE/Light/Base.hs, dist/build/Text/Regex/PCRE/Light/Base.o ) [2 of 3] Compiling Text.Regex.PCRE.Light ( Text/Regex/PCRE/Light.hs, dist/build/Text/Regex/PCRE/Light.o ) [3 of 3] Compiling Text.Regex.PCRE.Light.Char8 ( Text/Regex/PCRE/Light/Char8.hs, dist/build/Text/Regex/PCRE/Light/Char8.o ) Text/Regex/PCRE/Light.hs:1:1: Could not find module ?Prelude? Perhaps you haven't installed the profiling libraries for package ?base-4.8.0.0?? Use -v to see a list of the files searched for. Text/Regex/PCRE/Light.hs:75:18: Could not find module ?Data.ByteString? Perhaps you haven't installed the profiling libraries for package ?bytestring-0.10.6.0 at bytes_6vj5EoliHgNHISHCVCb069?? Use -v to see a list of the files searched for. Text/Regex/PCRE/Light.hs:78:18: Could not find module ?Data.ByteString.Internal? Perhaps you haven't installed the profiling libraries for package ?bytestring-0.10.6.0 at bytes_6vj5EoliHgNHISHCVCb069?? Use -v to see a list of the files searched for. Text/Regex/PCRE/Light.hs:79:18: Could not find module ?Data.ByteString.Unsafe? Perhaps you haven't installed the profiling libraries for package ?bytestring-0.10.6.0 at bytes_6vj5EoliHgNHISHCVCb069?? Use -v to see a list of the files searched for. Text/Regex/PCRE/Light.hs:88:8: Could not find module ?System.IO.Unsafe? Perhaps you haven't installed the profiling libraries for package ?base-4.8.0.0?? Use -v to see a list of the files searched for. Text/Regex/PCRE/Light.hs:92:8: Could not find module ?Foreign? Perhaps you haven't installed the profiling libraries for package ?base-4.8.0.0?? Use -v to see a list of the files searched for. Text/Regex/PCRE/Light.hs:93:8: Could not find module ?Foreign.Ptr? Perhaps you haven't installed the profiling libraries for package ?base-4.8.0.0?? Use -v to see a list of the files searched for. Text/Regex/PCRE/Light.hs:94:8: Could not find module ?Foreign.C.Types? Perhaps you haven't installed the profiling libraries for package ?base-4.8.0.0?? Use -v to see a list of the files searched for. Text/Regex/PCRE/Light.hs:95:8: Could not find module ?Foreign.C.String? Perhaps you haven't installed the profiling libraries for package ?base-4.8.0.0?? Use -v to see a list of the files searched for. Text/Regex/PCRE/Light.hs:96:8: Could not find module ?Foreign.Storable? Perhaps you haven't installed the profiling libraries for package ?base-4.8.0.0?? Use -v to see a list of the files searched for. Text/Regex/PCRE/Light.hs:97:8: Could not find module ?Foreign.Marshal.Alloc? Perhaps you haven't installed the profiling libraries for package ?base-4.8.0.0?? Use -v to see a list of the files searched for. Text/Regex/PCRE/Light/Char8.hs:70:18: Could not find module ?Data.ByteString.Char8? Perhaps you haven't installed the profiling libraries for package ?bytestring-0.10.6.0 at bytes_6vj5EoliHgNHISHCVCb069?? Use -v to see a list of the files searched for. Building regex-base-0.93.2... Configuring transformers-compat-0.4.0.4... Failed to install regex-base-0.93.2 Build log ( /Users/py/.cabal/logs/regex-base-0.93.2.log ): Configuring regex-base-0.93.2... Building regex-base-0.93.2... Preprocessing library regex-base-0.93.2... [1 of 4] Compiling Text.Regex.Base.RegexLike ( Text/Regex/Base/RegexLike.hs, dist/build/Text/Regex/Base/RegexLike.o ) [2 of 4] Compiling Text.Regex.Base.Context ( Text/Regex/Base/Context.hs, dist/build/Text/Regex/Base/Context.o ) [3 of 4] Compiling Text.Regex.Base ( Text/Regex/Base.hs, dist/build/Text/Regex/Base.o ) Text/Regex/Base.hs:55:13: Warning: In the use of ?versionTags? (imported from Data.Version): Deprecated: "See GHC ticket #2496" [4 of 4] Compiling Text.Regex.Base.Impl ( Text/Regex/Base/Impl.hs, dist/build/Text/Regex/Base/Impl.o ) Text/Regex/Base.hs:1:1: Could not find module ?Prelude? Perhaps you haven't installed the profiling libraries for package ?base-4.8.0.0?? Use -v to see a list of the files searched for. Text/Regex/Base.hs:48:8: Could not find module ?Data.Version? Perhaps you haven't installed the profiling libraries for package ?base-4.8.0.0?? Use -v to see a list of the files searched for. Text/Regex/Base/Context.hs:189:8: Could not find module ?Control.Monad? Perhaps you haven't installed the profiling libraries for package ?base-4.8.0.0?? Use -v to see a list of the files searched for. Text/Regex/Base/RegexLike.hs:42:8: Could not find module ?Data.Array? Perhaps you haven't installed the profiling libraries for package ?array-0.5.1.0 at array_FaHmcBFfuRM8kmZLEY8D5S?? Use -v to see a list of the files searched for. Text/Regex/Base/RegexLike.hs:43:8: Could not find module ?Data.Maybe? Perhaps you haven't installed the profiling libraries for package ?base-4.8.0.0?? Use -v to see a list of the files searched for. Text/Regex/Base/RegexLike.hs:44:18: Could not find module ?Data.ByteString? Perhaps you haven't installed the profiling libraries for package ?bytestring-0.10.6.0 at bytes_6vj5EoliHgNHISHCVCb069?? Use -v to see a list of the files searched for. Text/Regex/Base/RegexLike.hs:45:18: Could not find module ?Data.ByteString.Lazy? Perhaps you haven't installed the profiling libraries for package ?bytestring-0.10.6.0 at bytes_6vj5EoliHgNHISHCVCb069?? Use -v to see a list of the files searched for. Text/Regex/Base/RegexLike.hs:46:18: Could not find module ?Data.Sequence? Perhaps you haven't installed the profiling libraries for package ?containers-0.5.6.2 at conta_47ajk3tbda43DFWyeF3oHQ?? Use -v to see a list of the files searched for. Configuring syb-0.4.4... Failed to install primitive-0.6 Build log ( /Users/py/.cabal/logs/primitive-0.6.log ): Configuring primitive-0.6... Building primitive-0.6... Preprocessing library primitive-0.6... [ 1 of 10] Compiling Data.Primitive.Internal.Compat ( Data/Primitive/Internal/Compat.hs, dist/build/Data/Primitive/Internal/Compat.o ) [ 2 of 10] Compiling Data.Primitive.MachDeps ( Data/Primitive/MachDeps.hs, dist/build/Data/Primitive/MachDeps.o ) [ 3 of 10] Compiling Data.Primitive.Internal.Operations ( Data/Primitive/Internal/Operations.hs, dist/build/Data/Primitive/Internal/Operations.o ) [ 4 of 10] Compiling Control.Monad.Primitive ( Control/Monad/Primitive.hs, dist/build/Control/Monad/Primitive.o ) Control/Monad/Primitive.hs:34:1: Warning: The import of ?Data.Monoid? is redundant except perhaps to import instances from ?Data.Monoid? To import instances alone, use: import Data.Monoid() Control/Monad/Primitive.hs:39:1: Warning: Module ?Control.Monad.Trans.Error? is deprecated: Use Control.Monad.Trans.Except instead Control/Monad/Primitive.hs:98:11: Warning: In the use of type constructor or class ?Error? (imported from Control.Monad.Trans.Error): Deprecated: "Use Control.Monad.Trans.Except instead" Control/Monad/Primitive.hs:98:47: Warning: In the use of type constructor or class ?ErrorT? (imported from Control.Monad.Trans.Error): Deprecated: "Use Control.Monad.Trans.Except instead" Control/Monad/Primitive.hs:99:19: Warning: In the use of type constructor or class ?ErrorT? (imported from Control.Monad.Trans.Error): Deprecated: "Use Control.Monad.Trans.Except instead" [ 5 of 10] Compiling Data.Primitive.Types ( Data/Primitive/Types.hs, dist/build/Data/Primitive/Types.o ) [ 6 of 10] Compiling Data.Primitive.Array ( Data/Primitive/Array.hs, dist/build/Data/Primitive/Array.o ) [ 7 of 10] Compiling Data.Primitive.ByteArray ( Data/Primitive/ByteArray.hs, dist/build/Data/Primitive/ByteArray.o ) [ 8 of 10] Compiling Data.Primitive.Addr ( Data/Primitive/Addr.hs, dist/build/Data/Primitive/Addr.o ) [ 9 of 10] Compiling Data.Primitive ( Data/Primitive.hs, dist/build/Data/Primitive.o ) [10 of 10] Compiling Data.Primitive.MutVar ( Data/Primitive/MutVar.hs, dist/build/Data/Primitive/MutVar.o ) Control/Monad/Primitive.hs:1:1: Could not find module ?Prelude? Perhaps you haven't installed the profiling libraries for package ?base-4.8.0.0?? Use -v to see a list of the files searched for. Control/Monad/Primitive.hs:25:8: Could not find module ?GHC.Base? Perhaps you haven't installed the profiling libraries for package ?base-4.8.0.0?? Use -v to see a list of the files searched for. Control/Monad/Primitive.hs:27:8: Could not find module ?GHC.IO? Perhaps you haven't installed the profiling libraries for package ?base-4.8.0.0?? Use -v to see a list of the files searched for. Control/Monad/Primitive.hs:31:8: Could not find module ?GHC.ST? Perhaps you haven't installed the profiling libraries for package ?base-4.8.0.0?? Use -v to see a list of the files searched for. Control/Monad/Primitive.hs:33:8: Could not find module ?Control.Monad.Trans.Class? Perhaps you haven't installed the profiling libraries for package ?transformers-0.4.2.0 at trans_ALYlebOVzVI4kxbFX5SGhm?? Use -v to see a list of the files searched for. Control/Monad/Primitive.hs:34:8: Could not find module ?Data.Monoid? Perhaps you haven't installed the profiling libraries for package ?base-4.8.0.0?? Use -v to see a list of the files searched for. Control/Monad/Primitive.hs:36:8: Could not find module ?Control.Monad.Trans.Identity? Perhaps you haven't installed the profiling libraries for package ?transformers-0.4.2.0 at trans_ALYlebOVzVI4kxbFX5SGhm?? Use -v to see a list of the files searched for. Control/Monad/Primitive.hs:37:8: Could not find module ?Control.Monad.Trans.List? Perhaps you haven't installed the profiling libraries for package ?transformers-0.4.2.0 at trans_ALYlebOVzVI4kxbFX5SGhm?? Use -v to see a list of the files searched for. Control/Monad/Primitive.hs:38:8: Could not find module ?Control.Monad.Trans.Maybe? Perhaps you haven't installed the profiling libraries for package ?transformers-0.4.2.0 at trans_ALYlebOVzVI4kxbFX5SGhm?? Use -v to see a list of the files searched for. Control/Monad/Primitive.hs:39:8: Could not find module ?Control.Monad.Trans.Error? Perhaps you haven't installed the profiling libraries for package ?transformers-0.4.2.0 at trans_ALYlebOVzVI4kxbFX5SGhm?? Use -v to see a list of the files searched for. Control/Monad/Primitive.hs:40:8: Could not find module ?Control.Monad.Trans.Reader? Perhaps you haven't installed the profiling libraries for package ?transformers-0.4.2.0 at trans_ALYlebOVzVI4kxbFX5SGhm?? Use -v to see a list of the files searched for. Control/Monad/Primitive.hs:41:8: Could not find module ?Control.Monad.Trans.State? Perhaps you haven't installed the profiling libraries for package ?transformers-0.4.2.0 at trans_ALYlebOVzVI4kxbFX5SGhm?? Use -v to see a list of the files searched for. Control/Monad/Primitive.hs:42:8: Could not find module ?Control.Monad.Trans.Writer? Perhaps you haven't installed the profiling libraries for package ?transformers-0.4.2.0 at trans_ALYlebOVzVI4kxbFX5SGhm?? Use -v to see a list of the files searched for. Control/Monad/Primitive.hs:43:8: Could not find module ?Control.Monad.Trans.RWS? Perhaps you haven't installed the profiling libraries for package ?transformers-0.4.2.0 at trans_ALYlebOVzVI4kxbFX5SGhm?? Use -v to see a list of the files searched for. Control/Monad/Primitive.hs:46:8: Could not find module ?Control.Monad.Trans.Except? Perhaps you haven't installed the profiling libraries for package ?transformers-0.4.2.0 at trans_ALYlebOVzVI4kxbFX5SGhm?? Use -v to see a list of the files searched for. Control/Monad/Primitive.hs:49:18: Could not find module ?Control.Monad.Trans.RWS.Strict? Perhaps you haven't installed the profiling libraries for package ?transformers-0.4.2.0 at trans_ALYlebOVzVI4kxbFX5SGhm?? Use -v to see a list of the files searched for. Control/Monad/Primitive.hs:50:18: Could not find module ?Control.Monad.Trans.State.Strict? Perhaps you haven't installed the profiling libraries for package ?transformers-0.4.2.0 at trans_ALYlebOVzVI4kxbFX5SGhm?? Use -v to see a list of the files searched for. Control/Monad/Primitive.hs:51:18: Could not find module ?Control.Monad.Trans.Writer.Strict? Perhaps you haven't installed the profiling libraries for package ?transformers-0.4.2.0 at trans_ALYlebOVzVI4kxbFX5SGhm?? Use -v to see a list of the files searched for. Data/Primitive/Addr.hs:34:8: Could not find module ?GHC.Ptr? Perhaps you haven't installed the profiling libraries for package ?base-4.8.0.0?? Use -v to see a list of the files searched for. Data/Primitive/Addr.hs:35:8: Could not find module ?Foreign.Marshal.Utils? Perhaps you haven't installed the profiling libraries for package ?base-4.8.0.0?? Use -v to see a list of the files searched for. Data/Primitive/ByteArray.hs:39:8: Could not find module ?Foreign.C.Types? Perhaps you haven't installed the profiling libraries for package ?base-4.8.0.0?? Use -v to see a list of the files searched for. Data/Primitive/ByteArray.hs:40:8: Could not find module ?Data.Word? Perhaps you haven't installed the profiling libraries for package ?base-4.8.0.0?? Use -v to see a list of the files searched for. Data/Primitive/Internal/Compat.hs:26:8: Could not find module ?GHC.Exts? Perhaps you haven't installed the profiling libraries for package ?base-4.8.0.0?? Use -v to see a list of the files searched for. Data/Primitive/Types.hs:27:8: Could not find module ?GHC.Float? Perhaps you haven't installed the profiling libraries for package ?base-4.8.0.0?? Use -v to see a list of the files searched for. Data/Primitive/Types.hs:30:8: Could not find module ?GHC.Word? Perhaps you haven't installed the profiling libraries for package ?base-4.8.0.0?? Use -v to see a list of the files searched for. Data/Primitive/Types.hs:33:8: Could not find module ?GHC.Int? Perhaps you haven't installed the profiling libraries for package ?base-4.8.0.0?? Use -v to see a list of the files searched for. Data/Primitive/Types.hs:42:8: Could not find module ?Data.Typeable? Perhaps you haven't installed the profiling libraries for package ?base-4.8.0.0?? Use -v to see a list of the files searched for. Data/Primitive/Types.hs:43:8: Could not find module ?Data.Data? Perhaps you haven't installed the profiling libraries for package ?base-4.8.0.0?? Use -v to see a list of the files searched for. Building transformers-compat-0.4.0.4... Building syb-0.4.4... Configuring utf8-string-1... Failed to install transformers-compat-0.4.0.4 Build log ( /Users/py/.cabal/logs/transformers-compat-0.4.0.4.log ): Configuring transformers-compat-0.4.0.4... Building transformers-compat-0.4.0.4... Preprocessing library transformers-compat-0.4.0.4... [1 of 1] Compiling Paths_transformers_compat ( dist/build/autogen/Paths_transformers_compat.hs, dist/build/Paths_transformers_compat.o ) dist/build/autogen/Paths_transformers_compat.hs:8:18: Could not find module ?Control.Exception? Perhaps you haven't installed the profiling libraries for package ?base-4.8.0.0?? Use -v to see a list of the files searched for. dist/build/autogen/Paths_transformers_compat.hs:9:8: Could not find module ?Data.Version? Perhaps you haven't installed the profiling libraries for package ?base-4.8.0.0?? Use -v to see a list of the files searched for. dist/build/autogen/Paths_transformers_compat.hs:10:8: Could not find module ?System.Environment? Perhaps you haven't installed the profiling libraries for package ?base-4.8.0.0?? Use -v to see a list of the files searched for. dist/build/autogen/Paths_transformers_compat.hs:11:8: Could not find module ?Prelude? Perhaps you haven't installed the profiling libraries for package ?base-4.8.0.0?? Use -v to see a list of the files searched for. Building utf8-string-1... Failed to install syb-0.4.4 Build log ( /Users/py/.cabal/logs/syb-0.4.4.log ): Configuring syb-0.4.4... Building syb-0.4.4... Preprocessing library syb-0.4.4... [ 1 of 16] Compiling Data.Generics.Basics ( src/Data/Generics/Basics.hs, dist/build/Data/Generics/Basics.o ) [ 2 of 16] Compiling Generics.SYB.Basics ( src/Generics/SYB/Basics.hs, dist/build/Generics/SYB/Basics.o ) [ 3 of 16] Compiling Data.Generics.Instances ( src/Data/Generics/Instances.hs, dist/build/Data/Generics/Instances.o ) [ 4 of 16] Compiling Generics.SYB.Instances ( src/Generics/SYB/Instances.hs, dist/build/Generics/SYB/Instances.o ) [ 5 of 16] Compiling Data.Generics.Aliases ( src/Data/Generics/Aliases.hs, dist/build/Data/Generics/Aliases.o ) [ 6 of 16] Compiling Data.Generics.Schemes ( src/Data/Generics/Schemes.hs, dist/build/Data/Generics/Schemes.o ) [ 7 of 16] Compiling Generics.SYB.Schemes ( src/Generics/SYB/Schemes.hs, dist/build/Generics/SYB/Schemes.o ) [ 8 of 16] Compiling Data.Generics.Text ( src/Data/Generics/Text.hs, dist/build/Data/Generics/Text.o ) [ 9 of 16] Compiling Generics.SYB.Text ( src/Generics/SYB/Text.hs, dist/build/Generics/SYB/Text.o ) [10 of 16] Compiling Data.Generics.Twins ( src/Data/Generics/Twins.hs, dist/build/Data/Generics/Twins.o ) [11 of 16] Compiling Generics.SYB.Twins ( src/Generics/SYB/Twins.hs, dist/build/Generics/SYB/Twins.o ) [12 of 16] Compiling Data.Generics.Builders ( src/Data/Generics/Builders.hs, dist/build/Data/Generics/Builders.o ) [13 of 16] Compiling Generics.SYB.Builders ( src/Generics/SYB/Builders.hs, dist/build/Generics/SYB/Builders.o ) [14 of 16] Compiling Generics.SYB.Aliases ( src/Generics/SYB/Aliases.hs, dist/build/Generics/SYB/Aliases.o ) [15 of 16] Compiling Data.Generics ( src/Data/Generics.hs, dist/build/Data/Generics.o ) [16 of 16] Compiling Generics.SYB ( src/Generics/SYB.hs, dist/build/Generics/SYB.o ) src/Data/Generics.hs:1:1: Could not find module ?Prelude? Perhaps you haven't installed the profiling libraries for package ?base-4.8.0.0?? Use -v to see a list of the files searched for. src/Data/Generics.hs:33:8: Could not find module ?Data.Data? Perhaps you haven't installed the profiling libraries for package ?base-4.8.0.0?? Use -v to see a list of the files searched for. src/Data/Generics/Aliases.hs:66:8: Could not find module ?Control.Monad? Perhaps you haven't installed the profiling libraries for package ?base-4.8.0.0?? Use -v to see a list of the files searched for. src/Data/Generics/Instances.hs:32:8: Could not find module ?GHC.IO.Handle? Perhaps you haven't installed the profiling libraries for package ?base-4.8.0.0?? Use -v to see a list of the files searched for. src/Data/Generics/Instances.hs:36:8: Could not find module ?GHC.Stable? Perhaps you haven't installed the profiling libraries for package ?base-4.8.0.0?? Use -v to see a list of the files searched for. src/Data/Generics/Instances.hs:37:8: Could not find module ?GHC.ST? Perhaps you haven't installed the profiling libraries for package ?base-4.8.0.0?? Use -v to see a list of the files searched for. src/Data/Generics/Instances.hs:38:8: Could not find module ?GHC.Conc? Perhaps you haven't installed the profiling libraries for package ?base-4.8.0.0?? Use -v to see a list of the files searched for. src/Data/Generics/Instances.hs:39:8: Could not find module ?Data.IORef? Perhaps you haven't installed the profiling libraries for package ?base-4.8.0.0?? Use -v to see a list of the files searched for. src/Data/Generics/Instances.hs:40:8: Could not find module ?Control.Concurrent? Perhaps you haven't installed the profiling libraries for package ?base-4.8.0.0?? Use -v to see a list of the files searched for. src/Data/Generics/Text.hs:36:8: Could not find module ?Text.ParserCombinators.ReadP? Perhaps you haven't installed the profiling libraries for package ?base-4.8.0.0?? Use -v to see a list of the files searched for. Failed to install utf8-string-1 Build log ( /Users/py/.cabal/logs/utf8-string-1.log ): Configuring utf8-string-1... Building utf8-string-1... Preprocessing library utf8-string-1... [1 of 5] Compiling Codec.Binary.UTF8.String ( Codec/Binary/UTF8/String.hs, dist/build/Codec/Binary/UTF8/String.o ) [2 of 5] Compiling Codec.Binary.UTF8.Generic ( Codec/Binary/UTF8/Generic.hs, dist/build/Codec/Binary/UTF8/Generic.o ) [3 of 5] Compiling Data.String.UTF8 ( Data/String/UTF8.hs, dist/build/Data/String/UTF8.o ) [4 of 5] Compiling Data.ByteString.UTF8 ( Data/ByteString/UTF8.hs, dist/build/Data/ByteString/UTF8.o ) [5 of 5] Compiling Data.ByteString.Lazy.UTF8 ( Data/ByteString/Lazy/UTF8.hs, dist/build/Data/ByteString/Lazy/UTF8.o ) Codec/Binary/UTF8/Generic.hs:35:8: Could not find module ?Data.Int? Perhaps you haven't installed the profiling libraries for package ?base-4.8.0.0?? Use -v to see a list of the files searched for. Codec/Binary/UTF8/Generic.hs:37:18: Could not find module ?Data.ByteString? Perhaps you haven't installed the profiling libraries for package ?bytestring-0.10.6.0 at bytes_6vj5EoliHgNHISHCVCb069?? Use -v to see a list of the files searched for. Codec/Binary/UTF8/Generic.hs:38:18: Could not find module ?Data.ByteString.Lazy? Perhaps you haven't installed the profiling libraries for package ?bytestring-0.10.6.0 at bytes_6vj5EoliHgNHISHCVCb069?? Use -v to see a list of the files searched for. Codec/Binary/UTF8/Generic.hs:39:18: Could not find module ?Data.List? Perhaps you haven't installed the profiling libraries for package ?base-4.8.0.0?? Use -v to see a list of the files searched for. Codec/Binary/UTF8/String.hs:1:1: Could not find module ?Prelude? Perhaps you haven't installed the profiling libraries for package ?base-4.8.0.0?? Use -v to see a list of the files searched for. Codec/Binary/UTF8/String.hs:29:8: Could not find module ?Data.Word? Perhaps you haven't installed the profiling libraries for package ?base-4.8.0.0?? Use -v to see a list of the files searched for. Codec/Binary/UTF8/String.hs:30:8: Could not find module ?Data.Bits? Perhaps you haven't installed the profiling libraries for package ?base-4.8.0.0?? Use -v to see a list of the files searched for. Codec/Binary/UTF8/String.hs:31:8: Could not find module ?Data.Char? Perhaps you haven't installed the profiling libraries for package ?base-4.8.0.0?? Use -v to see a list of the files searched for. Failed to install hxt-charproperties-9.2.0.1 Build log ( /Users/py/.cabal/logs/hxt-charproperties-9.2.0.1.log ): Configuring hxt-charproperties-9.2.0.1... Building hxt-charproperties-9.2.0.1... Preprocessing library hxt-charproperties-9.2.0.1... [1 of 4] Compiling Data.Set.CharSet ( src/Data/Set/CharSet.hs, dist/build/Data/Set/CharSet.o ) [2 of 4] Compiling Data.Char.Properties.XMLCharProps ( src/Data/Char/Properties/XMLCharProps.hs, dist/build/Data/Char/Properties/XMLCharProps.o ) [3 of 4] Compiling Data.Char.Properties.UnicodeCharProps ( src/Data/Char/Properties/UnicodeCharProps.hs, dist/build/Data/Char/Properties/UnicodeCharProps.o ) [4 of 4] Compiling Data.Char.Properties.UnicodeBlocks ( src/Data/Char/Properties/UnicodeBlocks.hs, dist/build/Data/Char/Properties/UnicodeBlocks.o ) src/Data/Char/Properties/UnicodeBlocks.hs:1:1: Could not find module ?Prelude? Perhaps you haven't installed the profiling libraries for package ?base-4.8.0.0?? Use -v to see a list of the files searched for. Failed to install SHA-1.6.4.2 Build log ( /Users/py/.cabal/logs/SHA-1.6.4.2.log ): Configuring SHA-1.6.4.2... Building SHA-1.6.4.2... Preprocessing library SHA-1.6.4.2... [1 of 1] Compiling Data.Digest.Pure.SHA ( src/Data/Digest/Pure/SHA.hs, dist/build/Data/Digest/Pure/SHA.o ) src/Data/Digest/Pure/SHA.hs:1:1: Could not find module ?Prelude? Perhaps you haven't installed the profiling libraries for package ?base-4.8.0.0?? Use -v to see a list of the files searched for. src/Data/Digest/Pure/SHA.hs:42:8: Could not find module ?Data.Binary? Perhaps you haven't installed the profiling libraries for package ?binary-0.7.3.0 at binar_EKE3c9Lmxb3DQpU0fPtru6?? Use -v to see a list of the files searched for. src/Data/Digest/Pure/SHA.hs:43:8: Could not find module ?Data.Binary.Get? Perhaps you haven't installed the profiling libraries for package ?binary-0.7.3.0 at binar_EKE3c9Lmxb3DQpU0fPtru6?? Use -v to see a list of the files searched for. src/Data/Digest/Pure/SHA.hs:44:8: Could not find module ?Data.Binary.Put? Perhaps you haven't installed the profiling libraries for package ?binary-0.7.3.0 at binar_EKE3c9Lmxb3DQpU0fPtru6?? Use -v to see a list of the files searched for. src/Data/Digest/Pure/SHA.hs:45:8: Could not find module ?Data.Bits? Perhaps you haven't installed the profiling libraries for package ?base-4.8.0.0?? Use -v to see a list of the files searched for. src/Data/Digest/Pure/SHA.hs:47:18: Could not find module ?Data.ByteString.Lazy? Perhaps you haven't installed the profiling libraries for package ?bytestring-0.10.6.0 at bytes_6vj5EoliHgNHISHCVCb069?? Use -v to see a list of the files searched for. src/Data/Digest/Pure/SHA.hs:48:18: Could not find module ?Data.ByteString? Perhaps you haven't installed the profiling libraries for package ?bytestring-0.10.6.0 at bytes_6vj5EoliHgNHISHCVCb069?? Use -v to see a list of the files searched for. src/Data/Digest/Pure/SHA.hs:49:8: Could not find module ?Data.Char? Perhaps you haven't installed the profiling libraries for package ?base-4.8.0.0?? Use -v to see a list of the files searched for. src/Data/Digest/Pure/SHA.hs:50:8: Could not find module ?Data.List? Perhaps you haven't installed the profiling libraries for package ?base-4.8.0.0?? Use -v to see a list of the files searched for. cabal: Error: some packages failed to install: Crypto-4.2.5.1 depends on primitive-0.6 which failed to install. HUnit-1.2.5.2 failed during the building phase. The exception was: ExitFailure 1 IfElse-0.85 failed during the building phase. The exception was: ExitFailure 1 MissingH-1.3.0.1 depends on regex-base-0.93.2 which failed to install. QuickCheck-2.8.1 depends on primitive-0.6 which failed to install. SHA-1.6.4.2 failed during the building phase. The exception was: ExitFailure 1 bloomfilter-2.0.0.0 failed during the building phase. The exception was: ExitFailure 1 dataenc-0.12 failed during the building phase. The exception was: ExitFailure 1 extensible-exceptions-0.1.1.4 failed during the building phase. The exception was: ExitFailure 1 git-annex-3.20120406 depends on SHA-1.6.4.2 which failed to install. hS3-0.5.9 depends on hxt-charproperties-9.2.0.1 which failed to install. hslogger-1.2.8 failed during the building phase. The exception was: ExitFailure 1 hxt-9.3.1.15 depends on hxt-charproperties-9.2.0.1 which failed to install. hxt-charproperties-9.2.0.1 failed during the building phase. The exception was: ExitFailure 1 hxt-regex-xmlschema-9.2.0.2 depends on hxt-charproperties-9.2.0.1 which failed to install. hxt-unicode-9.0.2.4 depends on hxt-charproperties-9.2.0.1 which failed to install. json-0.9.1 depends on syb-0.4.4 which failed to install. lifted-base-0.2.3.6 depends on transformers-compat-0.4.0.4 which failed to install. monad-control-1.0.0.4 depends on transformers-compat-0.4.0.4 which failed to install. pcre-light-0.4.0.3 failed during the building phase. The exception was: ExitFailure 1 primitive-0.6 failed during the building phase. The exception was: ExitFailure 1 regex-base-0.93.2 failed during the building phase. The exception was: ExitFailure 1 regex-compat-0.95.1 depends on regex-base-0.93.2 which failed to install. regex-posix-0.95.2 depends on regex-base-0.93.2 which failed to install. syb-0.4.4 failed during the building phase. The exception was: ExitFailure 1 tf-random-0.5 depends on primitive-0.6 which failed to install. transformers-base-0.4.4 depends on transformers-compat-0.4.0.4 which failed to install. transformers-compat-0.4.0.4 failed during the building phase. The exception was: ExitFailure 1 utf8-string-1 failed during the building phase. The exception was: ExitFailure 1 On Sat, Apr 25, 2015 at 7:37 PM, Peng Yu wrote: > On Sat, Apr 25, 2015 at 7:02 PM, Brandon Allbery wrote: >> >> On Sat, Apr 25, 2015 at 7:46 PM, Peng Yu wrote: >>> >>> I don't have cabal. How to install cabal? Do I also install with MacPorts? >> >> >> Turns out if you do that you end up with hs-mtl and friends which will >> conflict with yesod's dependencies. You'll probably have to do an install >> from >> https://www.haskell.org/cabal/release/cabal-install-1.22.0.0/cabal-1.22.0.0-x86_64-apple-darwin-mavericks.tar.gz >> (apparently there are no binary builds for non-Mavericks, so if you need >> that then you have a problem :/ ) > > This will have a problem with MacPorts as show in this webpage. I do > need to have MacPorts installed on my machine. > > http://blog.omega-prime.co.uk/?p=96 > >> Or you can remove the MacPorts-based ghc stuff and do an install as >> recommended by https://stackage.org and make certain it can't find any >> MacPorts-installed library because that will lead to libiconv conflicts. > > This is still in conflict with iconv thing as shown in the above webpage. > > ~$ cabal install cabal-install > Resolving dependencies... > Downloading mtl-2.2.1... > Downloading network-2.6.0.2... > Downloading old-locale-1.0.0.7... > Configuring mtl-2.2.1... > Configuring network-2.6.0.2... > Downloading random-1.1... > Configuring old-locale-1.0.0.7... > Downloading stm-2.4.4... > Configuring random-1.1... > Downloading text-1.2.0.4... > Downloading zlib-0.5.4.2... > Failed to install mtl-2.2.1 > Build log ( /Users/py/.cabal/logs/mtl-2.2.1.log ): > Configuring stm-2.4.4... > Configuring text-1.2.0.4... > Failed to install network-2.6.0.2 > Build log ( /Users/py/.cabal/logs/network-2.6.0.2.log ): > Failed to install old-locale-1.0.0.7 > Build log ( /Users/py/.cabal/logs/old-locale-1.0.0.7.log ): > Configuring zlib-0.5.4.2... > Failed to install random-1.1 > Build log ( /Users/py/.cabal/logs/random-1.1.log ): > Failed to install stm-2.4.4 > Build log ( /Users/py/.cabal/logs/stm-2.4.4.log ): > Failed to install text-1.2.0.4 > Build log ( /Users/py/.cabal/logs/text-1.2.0.4.log ): > Failed to install zlib-0.5.4.2 > Build log ( /Users/py/.cabal/logs/zlib-0.5.4.2.log ): > Error while Error while updating world-file. : > /Users/py/Library/Haskell/logs/: openBinaryTempFile: does not exist > (No such file or directory) > cabal: Error: some packages failed to install: > HTTP-4000.2.19 depends on text-1.2.0.4 which failed to install. > cabal-install-1.22.3.0 depends on zlib-0.5.4.2 which failed to install. > mtl-2.2.1 failed during the configure step. The exception was: > user error ('/Applications/ghc-7.10.1.app/Contents/bin/ghc' exited with an > error: > Undefined symbols for architecture x86_64: > "_iconv", referenced from: > _hs_iconv in libHSbase-4.8.0.0-I5BErHzyOm07EBNpKBEeUv.a(iconv.o) > (maybe you meant: _base_GHCziIOziEncodingziIconv_iconvEncodingzuloc1_info, > _base_GHCziIOziEncodingziIconv_iconvEncoding9_info , _hs_iconv_open , > _base_GHCziIOziEncodingziIconv_iconvEncoding8_info , > _base_GHCziIOziEncodingziIconv_iconvEncodingzuloc_closure , > _base_GHCziIOziEncodingziIconv_iconvEncodingzuloc1_closure , > _base_GHCziIOziEncodingziIconv_iconvEncoding6_info , > _base_GHCziIOziEncodingziIconv_iconvEncoding4_closure , _hs_iconv , > _base_GHCziIOziEncodingziIconv_iconvEncoding8_closure , > _base_GHCziIOziEncodingziIconv_iconvEncoding6_closure , > _base_GHCziIOziEncodingziIconv_iconvEncoding3_closure , > _base_GHCziIOziEncodingziIconv_iconvEncoding7_info , > _base_GHCziIOziEncodingziIconv_iconvEncoding9_closure , > _base_GHCziIOziEncodingziIconv_iconvEncoding2_info , > _base_GHCziIOziEncodingziIconv_iconvEncodingzuloc_info , > _base_GHCziIOziEncodingziIconv_iconvEncoding10_info , > _base_GHCziIOziEncodingziIconv_iconvEncoding2_closure , _hs_iconv_close , > _base_GHCziIOziEncodingziIconv_iconvEncoding10_closure , > _base_GHCziIOziEncodingziIconv_iconvEncoding7_closure , > _base_GHCziIOziEncodingziIconv_iconvEncoding3_info ) > "_iconv_close", referenced from: > _hs_iconv_close in libHSbase-4.8.0.0-I5BErHzyOm07EBNpKBEeUv.a(iconv.o) > (maybe you meant: _hs_iconv_close) > "_iconv_open", referenced from: > _hs_iconv_open in libHSbase-4.8.0.0-I5BErHzyOm07EBNpKBEeUv.a(iconv.o) > (maybe you meant: _hs_iconv_open) > "_locale_charset", referenced from: > _localeEncoding in libHSbase-4.8.0.0-I5BErHzyOm07EBNpKBEeUv.a(PrelIOUtils.o) > ld: symbol(s) not found for architecture x86_64 > clang: error: linker command failed with exit code 1 (use -v to see > invocation) > ) > network-2.6.0.2 failed during the configure step. The exception was: > user error ('/Applications/ghc-7.10.1.app/Contents/bin/ghc' exited with an > error: > Undefined symbols for architecture x86_64: > "_iconv", referenced from: > _hs_iconv in libHSbase-4.8.0.0-I5BErHzyOm07EBNpKBEeUv.a(iconv.o) > (maybe you meant: _base_GHCziIOziEncodingziIconv_iconvEncodingzuloc1_info, > _base_GHCziIOziEncodingziIconv_iconvEncoding9_info , _hs_iconv_open , > _base_GHCziIOziEncodingziIconv_iconvEncoding8_info , > _base_GHCziIOziEncodingziIconv_iconvEncodingzuloc_closure , > _base_GHCziIOziEncodingziIconv_iconvEncodingzuloc1_closure , > _base_GHCziIOziEncodingziIconv_iconvEncoding6_info , > _base_GHCziIOziEncodingziIconv_iconvEncoding4_closure , _hs_iconv , > _base_GHCziIOziEncodingziIconv_iconvEncoding6_closure , > _base_GHCziIOziEncodingziIconv_iconvEncoding3_closure , > _base_GHCziIOziEncodingziIconv_iconvEncoding7_info , > _base_GHCziIOziEncodingziIconv_iconvEncoding8_closure , > _base_GHCziIOziEncodingziIconv_iconvEncoding2_info , > _base_GHCziIOziEncodingziIconv_iconvEncodingzuloc_info , > _base_GHCziIOziEncodingziIconv_iconvEncoding10_info , _hs_iconv_close , > _base_GHCziIOziEncodingziIconv_iconvEncoding10_closure , > _base_GHCziIOziEncodingziIconv_iconvEncoding9_closure , > _base_GHCziIOziEncodingziIconv_iconvEncoding7_closure , > _base_GHCziIOziEncodingziIconv_iconvEncoding2_closure , > _base_GHCziIOziEncodingziIconv_iconvEncoding3_info ) > "_iconv_close", referenced from: > _hs_iconv_close in libHSbase-4.8.0.0-I5BErHzyOm07EBNpKBEeUv.a(iconv.o) > (maybe you meant: _hs_iconv_close) > "_iconv_open", referenced from: > _hs_iconv_open in libHSbase-4.8.0.0-I5BErHzyOm07EBNpKBEeUv.a(iconv.o) > (maybe you meant: _hs_iconv_open) > "_locale_charset", referenced from: > _localeEncoding in libHSbase-4.8.0.0-I5BErHzyOm07EBNpKBEeUv.a(PrelIOUtils.o) > ld: symbol(s) not found for architecture x86_64 > clang: error: linker command failed with exit code 1 (use -v to see > invocation) > ) > network-uri-2.6.0.1 depends on text-1.2.0.4 which failed to install. > old-locale-1.0.0.7 failed during the configure step. The exception was: > user error ('/Applications/ghc-7.10.1.app/Contents/bin/ghc' exited with an > error: > Undefined symbols for architecture x86_64: > "_iconv", referenced from: > _hs_iconv in libHSbase-4.8.0.0-I5BErHzyOm07EBNpKBEeUv.a(iconv.o) > (maybe you meant: _base_GHCziIOziEncodingziIconv_iconvEncodingzuloc1_info, > _base_GHCziIOziEncodingziIconv_iconvEncoding9_info , _hs_iconv_open , > _base_GHCziIOziEncodingziIconv_iconvEncoding8_info , > _base_GHCziIOziEncodingziIconv_iconvEncodingzuloc_closure , > _base_GHCziIOziEncodingziIconv_iconvEncodingzuloc1_closure , > _base_GHCziIOziEncodingziIconv_iconvEncoding6_info , > _base_GHCziIOziEncodingziIconv_iconvEncoding4_closure , _hs_iconv , > _base_GHCziIOziEncodingziIconv_iconvEncoding8_closure , > _base_GHCziIOziEncodingziIconv_iconvEncoding6_closure , > _base_GHCziIOziEncodingziIconv_iconvEncoding3_closure , > _base_GHCziIOziEncodingziIconv_iconvEncoding7_info , > _base_GHCziIOziEncodingziIconv_iconvEncoding9_closure , > _base_GHCziIOziEncodingziIconv_iconvEncoding2_info , > _base_GHCziIOziEncodingziIconv_iconvEncodingzuloc_info , > _base_GHCziIOziEncodingziIconv_iconvEncoding10_info , > _base_GHCziIOziEncodingziIconv_iconvEncoding2_closure , _hs_iconv_close , > _base_GHCziIOziEncodingziIconv_iconvEncoding10_closure , > _base_GHCziIOziEncodingziIconv_iconvEncoding7_closure , > _base_GHCziIOziEncodingziIconv_iconvEncoding3_info ) > "_iconv_close", referenced from: > _hs_iconv_close in libHSbase-4.8.0.0-I5BErHzyOm07EBNpKBEeUv.a(iconv.o) > (maybe you meant: _hs_iconv_close) > "_iconv_open", referenced from: > _hs_iconv_open in libHSbase-4.8.0.0-I5BErHzyOm07EBNpKBEeUv.a(iconv.o) > (maybe you meant: _hs_iconv_open) > "_locale_charset", referenced from: > _localeEncoding in libHSbase-4.8.0.0-I5BErHzyOm07EBNpKBEeUv.a(PrelIOUtils.o) > ld: symbol(s) not found for architecture x86_64 > clang: error: linker command failed with exit code 1 (use -v to see > invocation) > ) > old-time-1.1.0.3 depends on old-locale-1.0.0.7 which failed to install. > parsec-3.1.9 depends on text-1.2.0.4 which failed to install. > random-1.1 failed during the configure step. The exception was: > user error ('/Applications/ghc-7.10.1.app/Contents/bin/ghc' exited with an > error: > Undefined symbols for architecture x86_64: > "_iconv", referenced from: > _hs_iconv in libHSbase-4.8.0.0-I5BErHzyOm07EBNpKBEeUv.a(iconv.o) > (maybe you meant: _base_GHCziIOziEncodingziIconv_iconvEncodingzuloc1_info, > _base_GHCziIOziEncodingziIconv_iconvEncoding9_info , _hs_iconv_open , > _base_GHCziIOziEncodingziIconv_iconvEncoding8_info , > _base_GHCziIOziEncodingziIconv_iconvEncodingzuloc_closure , > _base_GHCziIOziEncodingziIconv_iconvEncodingzuloc1_closure , > _base_GHCziIOziEncodingziIconv_iconvEncoding6_info , > _base_GHCziIOziEncodingziIconv_iconvEncoding4_closure , _hs_iconv , > _base_GHCziIOziEncodingziIconv_iconvEncoding8_closure , > _base_GHCziIOziEncodingziIconv_iconvEncoding6_closure , > _base_GHCziIOziEncodingziIconv_iconvEncoding3_closure , > _base_GHCziIOziEncodingziIconv_iconvEncoding7_info , > _base_GHCziIOziEncodingziIconv_iconvEncoding9_closure , > _base_GHCziIOziEncodingziIconv_iconvEncoding2_info , > _base_GHCziIOziEncodingziIconv_iconvEncodingzuloc_info , > _base_GHCziIOziEncodingziIconv_iconvEncoding10_info , > _base_GHCziIOziEncodingziIconv_iconvEncoding2_closure , _hs_iconv_close , > _base_GHCziIOziEncodingziIconv_iconvEncoding10_closure , > _base_GHCziIOziEncodingziIconv_iconvEncoding7_closure , > _base_GHCziIOziEncodingziIconv_iconvEncoding3_info ) > "_iconv_close", referenced from: > _hs_iconv_close in libHSbase-4.8.0.0-I5BErHzyOm07EBNpKBEeUv.a(iconv.o) > (maybe you meant: _hs_iconv_close) > "_iconv_open", referenced from: > _hs_iconv_open in libHSbase-4.8.0.0-I5BErHzyOm07EBNpKBEeUv.a(iconv.o) > (maybe you meant: _hs_iconv_open) > "_locale_charset", referenced from: > _localeEncoding in libHSbase-4.8.0.0-I5BErHzyOm07EBNpKBEeUv.a(PrelIOUtils.o) > ld: symbol(s) not found for architecture x86_64 > clang: error: linker command failed with exit code 1 (use -v to see > invocation) > ) > stm-2.4.4 failed during the configure step. The exception was: > user error ('/Applications/ghc-7.10.1.app/Contents/bin/ghc' exited with an > error: > Undefined symbols for architecture x86_64: > "_iconv", referenced from: > _hs_iconv in libHSbase-4.8.0.0-I5BErHzyOm07EBNpKBEeUv.a(iconv.o) > (maybe you meant: _base_GHCziIOziEncodingziIconv_iconvEncodingzuloc1_info, > _base_GHCziIOziEncodingziIconv_iconvEncoding9_info , _hs_iconv_open , > _base_GHCziIOziEncodingziIconv_iconvEncoding8_info , > _base_GHCziIOziEncodingziIconv_iconvEncodingzuloc_closure , > _base_GHCziIOziEncodingziIconv_iconvEncodingzuloc1_closure , > _base_GHCziIOziEncodingziIconv_iconvEncoding6_info , > _base_GHCziIOziEncodingziIconv_iconvEncoding4_closure , _hs_iconv , > _base_GHCziIOziEncodingziIconv_iconvEncoding8_closure , > _base_GHCziIOziEncodingziIconv_iconvEncoding6_closure , > _base_GHCziIOziEncodingziIconv_iconvEncoding3_closure , > _base_GHCziIOziEncodingziIconv_iconvEncoding7_info , > _base_GHCziIOziEncodingziIconv_iconvEncoding9_closure , > _base_GHCziIOziEncodingziIconv_iconvEncoding2_info , > _base_GHCziIOziEncodingziIconv_iconvEncodingzuloc_info , > _base_GHCziIOziEncodingziIconv_iconvEncoding10_info , > _base_GHCziIOziEncodingziIconv_iconvEncoding2_closure , _hs_iconv_close , > _base_GHCziIOziEncodingziIconv_iconvEncoding10_closure , > _base_GHCziIOziEncodingziIconv_iconvEncoding7_closure , > _base_GHCziIOziEncodingziIconv_iconvEncoding3_info ) > "_iconv_close", referenced from: > _hs_iconv_close in libHSbase-4.8.0.0-I5BErHzyOm07EBNpKBEeUv.a(iconv.o) > (maybe you meant: _hs_iconv_close) > "_iconv_open", referenced from: > _hs_iconv_open in libHSbase-4.8.0.0-I5BErHzyOm07EBNpKBEeUv.a(iconv.o) > (maybe you meant: _hs_iconv_open) > "_locale_charset", referenced from: > _localeEncoding in libHSbase-4.8.0.0-I5BErHzyOm07EBNpKBEeUv.a(PrelIOUtils.o) > ld: symbol(s) not found for architecture x86_64 > clang: error: linker command failed with exit code 1 (use -v to see > invocation) > ) > text-1.2.0.4 failed during the configure step. The exception was: > user error ('/Applications/ghc-7.10.1.app/Contents/bin/ghc' exited with an > error: > Undefined symbols for architecture x86_64: > "_iconv", referenced from: > _hs_iconv in libHSbase-4.8.0.0-I5BErHzyOm07EBNpKBEeUv.a(iconv.o) > (maybe you meant: _base_GHCziIOziEncodingziIconv_iconvEncodingzuloc1_info, > _base_GHCziIOziEncodingziIconv_iconvEncoding9_info , _hs_iconv_open , > _base_GHCziIOziEncodingziIconv_iconvEncoding8_info , > _base_GHCziIOziEncodingziIconv_iconvEncodingzuloc_closure , > _base_GHCziIOziEncodingziIconv_iconvEncodingzuloc1_closure , > _base_GHCziIOziEncodingziIconv_iconvEncoding6_info , > _base_GHCziIOziEncodingziIconv_iconvEncoding4_closure , _hs_iconv , > _base_GHCziIOziEncodingziIconv_iconvEncoding8_closure , > _base_GHCziIOziEncodingziIconv_iconvEncoding6_closure , > _base_GHCziIOziEncodingziIconv_iconvEncoding3_closure , > _base_GHCziIOziEncodingziIconv_iconvEncoding7_info , > _base_GHCziIOziEncodingziIconv_iconvEncoding9_closure , > _base_GHCziIOziEncodingziIconv_iconvEncoding2_info , > _base_GHCziIOziEncodingziIconv_iconvEncodingzuloc_info , > _base_GHCziIOziEncodingziIconv_iconvEncoding10_info , > _base_GHCziIOziEncodingziIconv_iconvEncoding2_closure , _hs_iconv_close , > _base_GHCziIOziEncodingziIconv_iconvEncoding10_closure , > _base_GHCziIOziEncodingziIconv_iconvEncoding7_closure , > _base_GHCziIOziEncodingziIconv_iconvEncoding3_info ) > "_iconv_close", referenced from: > _hs_iconv_close in libHSbase-4.8.0.0-I5BErHzyOm07EBNpKBEeUv.a(iconv.o) > (maybe you meant: _hs_iconv_close) > "_iconv_open", referenced from: > _hs_iconv_open in libHSbase-4.8.0.0-I5BErHzyOm07EBNpKBEeUv.a(iconv.o) > (maybe you meant: _hs_iconv_open) > "_locale_charset", referenced from: > _localeEncoding in libHSbase-4.8.0.0-I5BErHzyOm07EBNpKBEeUv.a(PrelIOUtils.o) > ld: symbol(s) not found for architecture x86_64 > clang: error: linker command failed with exit code 1 (use -v to see > invocation) > ) > zlib-0.5.4.2 failed during the configure step. The exception was: > user error ('/Applications/ghc-7.10.1.app/Contents/bin/ghc' exited with an > error: > Undefined symbols for architecture x86_64: > "_iconv", referenced from: > _hs_iconv in libHSbase-4.8.0.0-I5BErHzyOm07EBNpKBEeUv.a(iconv.o) > (maybe you meant: _base_GHCziIOziEncodingziIconv_iconvEncodingzuloc1_info, > _base_GHCziIOziEncodingziIconv_iconvEncoding9_info , _hs_iconv_open , > _base_GHCziIOziEncodingziIconv_iconvEncoding8_info , > _base_GHCziIOziEncodingziIconv_iconvEncodingzuloc_closure , > _base_GHCziIOziEncodingziIconv_iconvEncodingzuloc1_closure , > _base_GHCziIOziEncodingziIconv_iconvEncoding6_info , > _base_GHCziIOziEncodingziIconv_iconvEncoding4_closure , _hs_iconv , > _base_GHCziIOziEncodingziIconv_iconvEncoding8_closure , > _base_GHCziIOziEncodingziIconv_iconvEncoding6_closure , > _base_GHCziIOziEncodingziIconv_iconvEncoding3_closure , > _base_GHCziIOziEncodingziIconv_iconvEncoding7_info , > _base_GHCziIOziEncodingziIconv_iconvEncoding9_closure , > _base_GHCziIOziEncodingziIconv_iconvEncoding2_info , > _base_GHCziIOziEncodingziIconv_iconvEncodingzuloc_info , > _base_GHCziIOziEncodingziIconv_iconvEncoding10_info , > _base_GHCziIOziEncodingziIconv_iconvEncoding2_closure , _hs_iconv_close , > _base_GHCziIOziEncodingziIconv_iconvEncoding10_closure , > _base_GHCziIOziEncodingziIconv_iconvEncoding7_closure , > _base_GHCziIOziEncodingziIconv_iconvEncoding3_info ) > "_iconv_close", referenced from: > _hs_iconv_close in libHSbase-4.8.0.0-I5BErHzyOm07EBNpKBEeUv.a(iconv.o) > (maybe you meant: _hs_iconv_close) > "_iconv_open", referenced from: > _hs_iconv_open in libHSbase-4.8.0.0-I5BErHzyOm07EBNpKBEeUv.a(iconv.o) > (maybe you meant: _hs_iconv_open) > "_locale_charset", referenced from: > _localeEncoding in libHSbase-4.8.0.0-I5BErHzyOm07EBNpKBEeUv.a(PrelIOUtils.o) > ld: symbol(s) not found for architecture x86_64 > clang: error: linker command failed with exit code 1 (use -v to see > invocation) > ) > > >> Apparently the yesod/Stackage folks think this insanity is a good thing. >> >> -- >> brandon s allbery kf8nh sine nomine associates >> allbery.b at gmail.com ballbery at sinenomine.net >> unix, openafs, kerberos, infrastructure, xmonad http://sinenomine.net > > > > -- > Regards, > Peng -- Regards, Peng From allbery.b at gmail.com Sun Apr 26 02:58:49 2015 From: allbery.b at gmail.com (Brandon Allbery) Date: Sat, 25 Apr 2015 22:58:49 -0400 Subject: How to compile git-annex? In-Reply-To: References: Message-ID: On Sat, Apr 25, 2015 at 10:54 PM, Peng Yu wrote: > I installed ghc and cabal from source. But I still see the following > error. Could anyone let me know what is wrong? And how to fix it? > Looks like you have cabal configured to build profiling versions of things, but you built ghc without profiling libraries (LibWays didn't include "p"). You may be able to just edit ~/.cabal/config and change any profiling options in there to False (uncommenting if necessary). This also applies to your other question about bootstrapping cabal-install, except that someone told you how to disable its attempt to build profiling versions (since obviously a cabal config can't be used when you're just installing it). -- brandon s allbery kf8nh sine nomine associates allbery.b at gmail.com ballbery at sinenomine.net unix, openafs, kerberos, infrastructure, xmonad http://sinenomine.net -------------- next part -------------- An HTML attachment was scrubbed... URL: From pengyu.ut at gmail.com Sun Apr 26 04:34:29 2015 From: pengyu.ut at gmail.com (Peng Yu) Date: Sat, 25 Apr 2015 23:34:29 -0500 Subject: How to compile git-annex? In-Reply-To: References: Message-ID: I have the following disabled. ~/.cabal$ grep prof config -- line to your ~/.bash_profile: -- library-profiling: True -- executable-profiling: False But I got this error. How to fix it? ~/.cabal$ cabal install git-annex Resolving dependencies... cabal: Could not resolve dependencies: trying: git-annex-5.20150420 (user goal) trying: resourcet-1.1.4.1 (dependency of git-annex-5.20150420) next goal: transformers-compat (dependency of resourcet-1.1.4.1) rejecting: transformers-compat-0.4.0.4 (global constraint requires ==0.4.0.3) trying: transformers-compat-0.4.0.3 trying: transformers-compat-0.4.0.3:-two trying: transformers-compat-0.4.0.3:+three next goal: transformers (dependency of git-annex-5.20150420) rejecting: transformers-0.4.2.0/installed-c1a... (conflict: transformers-compat-0.4.0.3:three => transformers>=0.3 && <0.4) rejecting: transformers-0.4.3.0, 0.4.2.0, 0.4.1.0, 0.3.0.0, 0.2.2.1, 0.2.2.0, 0.2.1.0, 0.2.0.0, 0.1.4.0, 0.1.3.0, 0.1.1.0, 0.1.0.1, 0.1.0.0, 0.0.1.0, 0.0.0.0, 0.4.0.0 (global constraint requires installed instance) Dependency tree exhaustively searched. On Sat, Apr 25, 2015 at 9:58 PM, Brandon Allbery wrote: > On Sat, Apr 25, 2015 at 10:54 PM, Peng Yu wrote: >> >> I installed ghc and cabal from source. But I still see the following >> error. Could anyone let me know what is wrong? And how to fix it? > > > Looks like you have cabal configured to build profiling versions of things, > but you built ghc without profiling libraries (LibWays didn't include "p"). > You may be able to just edit ~/.cabal/config and change any profiling > options in there to False (uncommenting if necessary). > > This also applies to your other question about bootstrapping cabal-install, > except that someone told you how to disable its attempt to build profiling > versions (since obviously a cabal config can't be used when you're just > installing it). > > -- > brandon s allbery kf8nh sine nomine associates > allbery.b at gmail.com ballbery at sinenomine.net > unix, openafs, kerberos, infrastructure, xmonad http://sinenomine.net -- Regards, Peng From allbery.b at gmail.com Sun Apr 26 04:42:28 2015 From: allbery.b at gmail.com (Brandon Allbery) Date: Sun, 26 Apr 2015 00:42:28 -0400 Subject: How to compile git-annex? In-Reply-To: References: Message-ID: On Sun, Apr 26, 2015 at 12:34 AM, Peng Yu wrote: > I have the following disabled. > ~/.cabal$ grep prof config > -- line to your ~/.bash_profile: > -- library-profiling: True > -- executable-profiling: False > That's showing the defaults, commented out because that's what they do unless told otherwise. You need to uncomment library-profiling and change it to False. -- brandon s allbery kf8nh sine nomine associates allbery.b at gmail.com ballbery at sinenomine.net unix, openafs, kerberos, infrastructure, xmonad http://sinenomine.net -------------- next part -------------- An HTML attachment was scrubbed... URL: From pengyu.ut at gmail.com Sun Apr 26 13:00:12 2015 From: pengyu.ut at gmail.com (Peng Yu) Date: Sun, 26 Apr 2015 08:00:12 -0500 Subject: How to compile git-annex? In-Reply-To: References: Message-ID: Now, I get this. What should I do next to fix it? ~$ cabal install git-annex Resolving dependencies... Configuring HUnit-1.2.5.2... Configuring bloomfilter-2.0.0.0... Configuring IfElse-0.85... Configuring SHA-1.6.4.2... Building IfElse-0.85... Building HUnit-1.2.5.2... Building bloomfilter-2.0.0.0... Building SHA-1.6.4.2... Configuring dataenc-0.12... Failed to install bloomfilter-2.0.0.0 Build log ( /Users/py/.cabal/logs/bloomfilter-2.0.0.0.log ): Configuring bloomfilter-2.0.0.0... Building bloomfilter-2.0.0.0... Preprocessing library bloomfilter-2.0.0.0... [1 of 7] Compiling Data.BloomFilter.Array ( Data/BloomFilter/Array.hs, dist/build/Data/BloomFilter/Array.o ) [2 of 7] Compiling Data.BloomFilter.Mutable.Internal ( Data/BloomFilter/Mutable/Internal.hs, dist/build/Data/BloomFilter/Mutable/Internal.o ) [3 of 7] Compiling Data.BloomFilter.Util ( Data/BloomFilter/Util.hs, dist/build/Data/BloomFilter/Util.o ) [4 of 7] Compiling Data.BloomFilter.Mutable ( Data/BloomFilter/Mutable.hs, dist/build/Data/BloomFilter/Mutable.o ) Data/BloomFilter/Mutable.hs:136:9: Non type-variable argument in the constraint: Data.Array.Base.MArray (Data.Array.Base.STUArray s) Hash m (Use FlexibleContexts to permit this) When checking that ?loop? has the inferred type loop :: forall (m :: * -> *). Data.Array.Base.MArray (Data.Array.Base.STUArray s) Hash m => [Int :* Int] -> m Bool In an equation for ?elem?: elem elt mb = loop (hashesM mb elt) where mu = bitArray mb loop ((word :* bit) : wbs) = do { i <- unsafeRead mu word; .... } loop _ = return True Configuring extensible-exceptions-0.1.1.4... Installed IfElse-0.85 Building dataenc-0.12... Building extensible-exceptions-0.1.1.4... Configuring hslogger-1.2.8... Installed extensible-exceptions-0.1.1.4 Building hslogger-1.2.8... Configuring hxt-charproperties-9.2.0.1... Installed HUnit-1.2.5.2 Building hxt-charproperties-9.2.0.1... Configuring pcre-light-0.4.0.3... Installed dataenc-0.12 Building pcre-light-0.4.0.3... Configuring primitive-0.6... Installed hslogger-1.2.8 Building primitive-0.6... Configuring regex-base-0.93.2... Installed pcre-light-0.4.0.3 Building regex-base-0.93.2... Configuring syb-0.4.4... Installed primitive-0.6 Downloading tf-random-0.5... Building syb-0.4.4... Configuring transformers-compat-0.4.0.4... Installed regex-base-0.93.2 Downloading regex-posix-0.95.2... Building transformers-compat-0.4.0.4... Configuring utf8-string-1... Installed transformers-compat-0.4.0.4 Downloading transformers-base-0.4.4... Building utf8-string-1... Configuring tf-random-0.5... Installed hxt-charproperties-9.2.0.1 Downloading hxt-unicode-9.0.2.4... Downloading hxt-regex-xmlschema-9.2.0.2... Building tf-random-0.5... Configuring regex-posix-0.95.2... Installed syb-0.4.4 Downloading json-0.9.1... Building regex-posix-0.95.2... Configuring transformers-base-0.4.4... Installed utf8-string-1 Installed tf-random-0.5 Downloading QuickCheck-2.8.1... Configuring hxt-unicode-9.0.2.4... Building transformers-base-0.4.4... Building hxt-unicode-9.0.2.4... Configuring hxt-regex-xmlschema-9.2.0.2... Installed transformers-base-0.4.4 Downloading monad-control-1.0.0.4... Building hxt-regex-xmlschema-9.2.0.2... Configuring json-0.9.1... Installed regex-posix-0.95.2 Downloading regex-compat-0.95.1... Building json-0.9.1... Installed hxt-unicode-9.0.2.4 Configuring QuickCheck-2.8.1... Building QuickCheck-2.8.1... Configuring monad-control-1.0.0.4... Installed hxt-regex-xmlschema-9.2.0.2 Downloading hxt-9.3.1.15... Building monad-control-1.0.0.4... Configuring regex-compat-0.95.1... Installed monad-control-1.0.0.4 Downloading lifted-base-0.2.3.6... Installed json-0.9.1 Configuring hxt-9.3.1.15... Building regex-compat-0.95.1... Building hxt-9.3.1.15... Configuring lifted-base-0.2.3.6... Installed regex-compat-0.95.1 Downloading MissingH-1.3.0.1... Building lifted-base-0.2.3.6... Installed lifted-base-0.2.3.6 Configuring MissingH-1.3.0.1... Building MissingH-1.3.0.1... Installed QuickCheck-2.8.1 Downloading Crypto-4.2.5.1... Configuring Crypto-4.2.5.1... Building Crypto-4.2.5.1... Installed MissingH-1.3.0.1 Installed SHA-1.6.4.2 Installed Crypto-4.2.5.1 Installed hxt-9.3.1.15 Downloading hS3-0.5.9... Configuring hS3-0.5.9... Building hS3-0.5.9... Installed hS3-0.5.9 Updating documentation index /Users/py/Library/Haskell/share/doc/x86_64-osx-ghc-7.10.1/index.html cabal: Error: some packages failed to install: bloomfilter-2.0.0.0 failed during the building phase. The exception was: ExitFailure 1 git-annex-3.20120406 depends on bloomfilter-2.0.0.0 which failed to install. On Sat, Apr 25, 2015 at 11:42 PM, Brandon Allbery wrote: > On Sun, Apr 26, 2015 at 12:34 AM, Peng Yu wrote: >> >> I have the following disabled. >> ~/.cabal$ grep prof config >> -- line to your ~/.bash_profile: >> -- library-profiling: True >> -- executable-profiling: False > > > That's showing the defaults, commented out because that's what they do > unless told otherwise. You need to uncomment library-profiling and change it > to False. > > -- > brandon s allbery kf8nh sine nomine associates > allbery.b at gmail.com ballbery at sinenomine.net > unix, openafs, kerberos, infrastructure, xmonad http://sinenomine.net -- Regards, Peng From adam at bergmark.nl Sun Apr 26 17:02:40 2015 From: adam at bergmark.nl (Adam Bergmark) Date: Sun, 26 Apr 2015 19:02:40 +0200 Subject: How to compile git-annex? In-Reply-To: References: Message-ID: The package bloomfilter failed to compile because it isn't compatible with GHC 7.10. You can either `cabal get' the package and patch it locally or downgrade to GHC 7.8. Either way it would be a good idea to send a pull request or file an issue on the package's bugtracker, you can find it here: http://hackage.haskell.org/package/bloomfilter On Sun, Apr 26, 2015 at 3:00 PM, Peng Yu wrote: > Now, I get this. What should I do next to fix it? > > ~$ cabal install git-annex > Resolving dependencies... > Configuring HUnit-1.2.5.2... > Configuring bloomfilter-2.0.0.0... > Configuring IfElse-0.85... > Configuring SHA-1.6.4.2... > Building IfElse-0.85... > Building HUnit-1.2.5.2... > Building bloomfilter-2.0.0.0... > Building SHA-1.6.4.2... > Configuring dataenc-0.12... > Failed to install bloomfilter-2.0.0.0 > Build log ( /Users/py/.cabal/logs/bloomfilter-2.0.0.0.log ): > Configuring bloomfilter-2.0.0.0... > Building bloomfilter-2.0.0.0... > Preprocessing library bloomfilter-2.0.0.0... > [1 of 7] Compiling Data.BloomFilter.Array ( Data/BloomFilter/Array.hs, > dist/build/Data/BloomFilter/Array.o ) > [2 of 7] Compiling Data.BloomFilter.Mutable.Internal ( > Data/BloomFilter/Mutable/Internal.hs, > dist/build/Data/BloomFilter/Mutable/Internal.o ) > [3 of 7] Compiling Data.BloomFilter.Util ( Data/BloomFilter/Util.hs, > dist/build/Data/BloomFilter/Util.o ) > [4 of 7] Compiling Data.BloomFilter.Mutable ( > Data/BloomFilter/Mutable.hs, dist/build/Data/BloomFilter/Mutable.o ) > > Data/BloomFilter/Mutable.hs:136:9: > Non type-variable argument > in the constraint: Data.Array.Base.MArray > (Data.Array.Base.STUArray s) Hash m > (Use FlexibleContexts to permit this) > When checking that ?loop? has the inferred type > loop :: forall (m :: * -> *). > Data.Array.Base.MArray (Data.Array.Base.STUArray s) Hash m => > [Int :* Int] -> m Bool > In an equation for ?elem?: > elem elt mb > = loop (hashesM mb elt) > where > mu = bitArray mb > loop ((word :* bit) : wbs) > = do { i <- unsafeRead mu word; > .... } > loop _ = return True > Configuring extensible-exceptions-0.1.1.4... > Installed IfElse-0.85 > Building dataenc-0.12... > Building extensible-exceptions-0.1.1.4... > Configuring hslogger-1.2.8... > Installed extensible-exceptions-0.1.1.4 > Building hslogger-1.2.8... > Configuring hxt-charproperties-9.2.0.1... > Installed HUnit-1.2.5.2 > Building hxt-charproperties-9.2.0.1... > Configuring pcre-light-0.4.0.3... > Installed dataenc-0.12 > Building pcre-light-0.4.0.3... > Configuring primitive-0.6... > Installed hslogger-1.2.8 > Building primitive-0.6... > Configuring regex-base-0.93.2... > Installed pcre-light-0.4.0.3 > Building regex-base-0.93.2... > Configuring syb-0.4.4... > Installed primitive-0.6 > Downloading tf-random-0.5... > Building syb-0.4.4... > Configuring transformers-compat-0.4.0.4... > Installed regex-base-0.93.2 > Downloading regex-posix-0.95.2... > Building transformers-compat-0.4.0.4... > Configuring utf8-string-1... > Installed transformers-compat-0.4.0.4 > Downloading transformers-base-0.4.4... > Building utf8-string-1... > Configuring tf-random-0.5... > Installed hxt-charproperties-9.2.0.1 > Downloading hxt-unicode-9.0.2.4... > Downloading hxt-regex-xmlschema-9.2.0.2... > Building tf-random-0.5... > Configuring regex-posix-0.95.2... > Installed syb-0.4.4 > Downloading json-0.9.1... > Building regex-posix-0.95.2... > Configuring transformers-base-0.4.4... > Installed utf8-string-1 > Installed tf-random-0.5 > Downloading QuickCheck-2.8.1... > Configuring hxt-unicode-9.0.2.4... > Building transformers-base-0.4.4... > Building hxt-unicode-9.0.2.4... > Configuring hxt-regex-xmlschema-9.2.0.2... > Installed transformers-base-0.4.4 > Downloading monad-control-1.0.0.4... > Building hxt-regex-xmlschema-9.2.0.2... > Configuring json-0.9.1... > Installed regex-posix-0.95.2 > Downloading regex-compat-0.95.1... > Building json-0.9.1... > Installed hxt-unicode-9.0.2.4 > Configuring QuickCheck-2.8.1... > Building QuickCheck-2.8.1... > Configuring monad-control-1.0.0.4... > Installed hxt-regex-xmlschema-9.2.0.2 > Downloading hxt-9.3.1.15... > Building monad-control-1.0.0.4... > Configuring regex-compat-0.95.1... > Installed monad-control-1.0.0.4 > Downloading lifted-base-0.2.3.6... > Installed json-0.9.1 > Configuring hxt-9.3.1.15... > Building regex-compat-0.95.1... > Building hxt-9.3.1.15... > Configuring lifted-base-0.2.3.6... > Installed regex-compat-0.95.1 > Downloading MissingH-1.3.0.1... > Building lifted-base-0.2.3.6... > Installed lifted-base-0.2.3.6 > Configuring MissingH-1.3.0.1... > Building MissingH-1.3.0.1... > Installed QuickCheck-2.8.1 > Downloading Crypto-4.2.5.1... > Configuring Crypto-4.2.5.1... > Building Crypto-4.2.5.1... > Installed MissingH-1.3.0.1 > Installed SHA-1.6.4.2 > Installed Crypto-4.2.5.1 > Installed hxt-9.3.1.15 > Downloading hS3-0.5.9... > Configuring hS3-0.5.9... > Building hS3-0.5.9... > Installed hS3-0.5.9 > Updating documentation index > /Users/py/Library/Haskell/share/doc/x86_64-osx-ghc-7.10.1/index.html > cabal: Error: some packages failed to install: > bloomfilter-2.0.0.0 failed during the building phase. The exception was: > ExitFailure 1 > git-annex-3.20120406 depends on bloomfilter-2.0.0.0 which failed to > install. > > On Sat, Apr 25, 2015 at 11:42 PM, Brandon Allbery > wrote: > > On Sun, Apr 26, 2015 at 12:34 AM, Peng Yu wrote: > >> > >> I have the following disabled. > >> ~/.cabal$ grep prof config > >> -- line to your ~/.bash_profile: > >> -- library-profiling: True > >> -- executable-profiling: False > > > > > > That's showing the defaults, commented out because that's what they do > > unless told otherwise. You need to uncomment library-profiling and > change it > > to False. > > > > -- > > brandon s allbery kf8nh sine nomine > associates > > allbery.b at gmail.com > ballbery at sinenomine.net > > unix, openafs, kerberos, infrastructure, xmonad > http://sinenomine.net > > > > -- > Regards, > Peng > _______________________________________________ > cabal-devel mailing list > cabal-devel at haskell.org > http://mail.haskell.org/cgi-bin/mailman/listinfo/cabal-devel > -------------- next part -------------- An HTML attachment was scrubbed... URL: From gershomb at gmail.com Tue Apr 28 03:55:26 2015 From: gershomb at gmail.com (Gershom B) Date: Mon, 27 Apr 2015 23:55:26 -0400 Subject: Making cabal-install SSL capable Message-ID: So there are many discussions over various hackage security schemes, and there are a variety of takes on the different elements of how we could make package distribution more secure. However, everyone seems to agree that it would be unambiguously better if the cabal install executable were able to communicate over ssl. I looked at the previous discussion on this topic [1], and it seems that HsOpenSSL and tls were both considered. I don?t have any experience with how cross-platform compatible HsOpenSSL is (i.e. if it is sufficiently easy to use for both Windows and OS X that we can just encourage people to ?cabal install cabal-install? and things will just work). I don?t know if anyone else can speak to this? Furthermore, of course, redistributing cabal-install binaries could potentially be more of a pain with links to external c libraries. I?m not quite sure how much an issue this would be. Meanwhile, tls is certainly cross-platform, but there is the question about how trustworthy it is, as it is not nearly as widely used and vetted as openssl. Also, we have the option of simply shelling out to curl, wget, or the appropriate powershell command (on windows 7 or above you get those by default). So rather than rely on either HsOpenSSL or tls, we could also teach cabal to probe for one of the appropriate executables on first run, save that configuration, and warn if no such executable is available (allowing the user to fall back to http with warnings indefinitely). I would like to pursue getting SSL into cabal by any of these three avenues. What do people feel about the relative tradeoffs of these options? Honestly, I lean towards simply using the tls package, because https is ultimately only going to be a complimentary aspect of our security architecture plans and not central to it. And a pure-haskell dependency is the most logical approach. If people find too much fault with that approach, I would be inclined to shell out as the next option, with HsOpenSSL as the last option only because I worry about too many ?unknown unknowns? of the sort I listed above. But if others have more experience with these approaches, proposals are welcome! ?Gershom From michael at snoyman.com Tue Apr 28 04:08:38 2015 From: michael at snoyman.com (Michael Snoyman) Date: Tue, 28 Apr 2015 04:08:38 +0000 Subject: Making cabal-install SSL capable In-Reply-To: References: Message-ID: +1. Oddly enough, I was just in the process of filing a bug report related to this on something I discovered yesterday, namely that `cabal upload` uses HTTP basic authentication over HTTP, exposing username/password to anyone sniffing the connection. I offered Duncan last week that I'd port cabal-install over to http-client/http-client-tls to add SSL support. That offer still stands. On Tue, Apr 28, 2015 at 6:55 AM Gershom B wrote: > So there are many discussions over various hackage security schemes, and > there are a variety of takes on the different elements of how we could make > package distribution more secure. > > However, everyone seems to agree that it would be unambiguously better if > the cabal install executable were able to communicate over ssl. > > I looked at the previous discussion on this topic [1], and it seems that > HsOpenSSL and tls were both considered. I don?t have any experience with > how cross-platform compatible HsOpenSSL is (i.e. if it is sufficiently easy > to use for both Windows and OS X that we can just encourage people to > ?cabal install cabal-install? and things will just work). I don?t know if > anyone else can speak to this? Furthermore, of course, redistributing > cabal-install binaries could potentially be more of a pain with links to > external c libraries. I?m not quite sure how much an issue this would be. > Meanwhile, tls is certainly cross-platform, but there is the question about > how trustworthy it is, as it is not nearly as widely used and vetted as > openssl. > > Also, we have the option of simply shelling out to curl, wget, or the > appropriate powershell command (on windows 7 or above you get those by > default). > > So rather than rely on either HsOpenSSL or tls, we could also teach cabal > to probe for one of the appropriate executables on first run, save that > configuration, and warn if no such executable is available (allowing the > user to fall back to http with warnings indefinitely). > > I would like to pursue getting SSL into cabal by any of these three > avenues. What do people feel about the relative tradeoffs of these options? > Honestly, I lean towards simply using the tls package, because https is > ultimately only going to be a complimentary aspect of our security > architecture plans and not central to it. And a pure-haskell dependency is > the most logical approach. If people find too much fault with that > approach, I would be inclined to shell out as the next option, with > HsOpenSSL as the last option only because I worry about too many ?unknown > unknowns? of the sort I listed above. But if others have more experience > with these approaches, proposals are welcome! > > ?Gershom > _______________________________________________ > cabal-devel mailing list > cabal-devel at haskell.org > http://mail.haskell.org/cgi-bin/mailman/listinfo/cabal-devel > -------------- next part -------------- An HTML attachment was scrubbed... URL: From hvriedel at gmail.com Tue Apr 28 08:12:27 2015 From: hvriedel at gmail.com (Herbert Valerio Riedel) Date: Tue, 28 Apr 2015 10:12:27 +0200 Subject: Making cabal-install SSL capable In-Reply-To: (Michael Snoyman's message of "Tue, 28 Apr 2015 04:08:38 +0000") References: Message-ID: <874mo0isd0.fsf@gnu.org> On 2015-04-28 at 06:08:38 +0200, Michael Snoyman wrote: [...] > I offered Duncan last week that I'd port cabal-install over to > http-client/http-client-tls to add SSL support. That offer still stands. I did a quick check trying to find out the additional dependencies (relative to what 'cabal-install' currently depends on) http-client-tls would pull in (it seems http-client and tls each roughly account for half the ~50 deps below): async-2.0.2 base64-bytestring-1.0.0.1 blaze-builder-0.4.0.1 byteable-0.1.1 cereal-0.4.1.1 clock-0.4.5.0 cryptohash-0.11.6 data-default-class-0.0.1 data-default-instances-base-0.0.1 data-default-instances-containers-0.0.1 data-default-instances-old-locale-0.0.1 dlist-0.7.1.1 data-default-instances-dlist-0.0.1 data-default-0.5.3 cookie-0.4.1.4 hashable-1.2.3.2 case-insensitive-1.2.0.4 hourglass-0.2.9 asn1-types-0.3.0 asn1-encoding-0.9.0 asn1-parse-0.9.0 crypto-pubkey-types-0.4.3 http-types-0.8.6 mime-types-0.1.0.6 pem-0.2.2 primitive-0.6 securemem-0.1.7 crypto-cipher-types-0.0.9 cipher-aes-0.2.10 cipher-des-0.0.6 cipher-rc4-0.1.4 socks-0.5.4 streaming-commons-0.1.12 transformers-compat-0.4.0.4 exceptions-0.8.0.2 utf8-string-1 publicsuffixlist-0.1 http-client-0.4.11.1 vector-0.10.12.3 crypto-random-0.0.9 crypto-numbers-0.2.7 crypto-pubkey-0.2.8 x509-1.5.0.1 x509-store-1.5.0 x509-system-1.5.0 x509-validation-1.5.1 tls-1.2.17 connection-0.2.4 http-client-tls-0.2.2 In contrast, I was surprised to see, that extending the HTTP package (or maybe just writing a 'HTTPS'-companion package) to use HsOpenSSL seems to pull in 'HsOpenSSL' as the only additional package... For comparision here's what http-streams (which I'm not suggesting right now, as I think going the 'HTTP'+'HsOpenSSL'-route would be better currently) would pull in (which could have a few deps less if it didn't pull in 'aeson'...): HsOpenSSL-0.11.1.1 base64-bytestring-1.0.0.1 blaze-builder-0.4.0.1 bytestring-builder-0.10.6.0.0 dlist-0.7.1.1 hashable-1.2.3.2 case-insensitive-1.2.0.4 primitive-0.6 scientific-0.3.3.8 attoparsec-0.12.1.6 syb-0.4.4 unordered-containers-0.2.5.1 http-common-0.8.2.0 vector-0.10.12.3 aeson-0.8.0.2 zlib-bindings-0.1.1.5 io-streams-1.3.0.0 openssl-streams-1.2.1.0 http-streams-0.8.3.1 Cheers, hvr From michael at snoyman.com Tue Apr 28 08:21:04 2015 From: michael at snoyman.com (Michael Snoyman) Date: Tue, 28 Apr 2015 08:21:04 +0000 Subject: Making cabal-install SSL capable In-Reply-To: <874mo0isd0.fsf@gnu.org> References: <874mo0isd0.fsf@gnu.org> Message-ID: On Tue, Apr 28, 2015 at 11:12 AM Herbert Valerio Riedel wrote: > On 2015-04-28 at 06:08:38 +0200, Michael Snoyman wrote: > > [...] > > > I offered Duncan last week that I'd port cabal-install over to > > http-client/http-client-tls to add SSL support. That offer still stands. > > I did a quick check trying to find out the additional dependencies > (relative to what 'cabal-install' currently depends on) http-client-tls > would pull in (it seems http-client and tls each roughly account for > half the ~50 deps below): > > async-2.0.2 > base64-bytestring-1.0.0.1 > blaze-builder-0.4.0.1 > byteable-0.1.1 > cereal-0.4.1.1 > clock-0.4.5.0 > cryptohash-0.11.6 > data-default-class-0.0.1 > data-default-instances-base-0.0.1 > data-default-instances-containers-0.0.1 > data-default-instances-old-locale-0.0.1 > dlist-0.7.1.1 > data-default-instances-dlist-0.0.1 > data-default-0.5.3 > cookie-0.4.1.4 > hashable-1.2.3.2 > case-insensitive-1.2.0.4 > hourglass-0.2.9 > asn1-types-0.3.0 > asn1-encoding-0.9.0 > asn1-parse-0.9.0 > crypto-pubkey-types-0.4.3 > http-types-0.8.6 > mime-types-0.1.0.6 > pem-0.2.2 > primitive-0.6 > securemem-0.1.7 > crypto-cipher-types-0.0.9 > cipher-aes-0.2.10 > cipher-des-0.0.6 > cipher-rc4-0.1.4 > socks-0.5.4 > streaming-commons-0.1.12 > transformers-compat-0.4.0.4 > exceptions-0.8.0.2 > utf8-string-1 > publicsuffixlist-0.1 > http-client-0.4.11.1 > vector-0.10.12.3 > crypto-random-0.0.9 > crypto-numbers-0.2.7 > crypto-pubkey-0.2.8 > x509-1.5.0.1 > x509-store-1.5.0 > x509-system-1.5.0 > x509-validation-1.5.1 > tls-1.2.17 > connection-0.2.4 > http-client-tls-0.2.2 > > In contrast, I was surprised to see, that extending the HTTP package (or > maybe just writing a 'HTTPS'-companion package) to use HsOpenSSL seems > to pull in 'HsOpenSSL' as the only additional package... > > For comparision here's what http-streams (which I'm not suggesting right > now, as I think going the 'HTTP'+'HsOpenSSL'-route would be better > currently) would pull in (which could have a few deps less if it didn't > pull in 'aeson'...): > > HsOpenSSL-0.11.1.1 > base64-bytestring-1.0.0.1 > blaze-builder-0.4.0.1 > bytestring-builder-0.10.6.0.0 > dlist-0.7.1.1 > hashable-1.2.3.2 > case-insensitive-1.2.0.4 > primitive-0.6 > scientific-0.3.3.8 > attoparsec-0.12.1.6 > syb-0.4.4 > unordered-containers-0.2.5.1 > http-common-0.8.2.0 > vector-0.10.12.3 > aeson-0.8.0.2 > zlib-bindings-0.1.1.5 > io-streams-1.3.0.0 > openssl-streams-1.2.1.0 > http-streams-0.8.3.1 > > Cheers, > hvr > I have no intention of playing the "minimal dependency" game (though I don't mind dropping data-default, which accounts for 6 of the dependencies listed there). I will point out- as Gershom already did- that in many cases it's likely easier to install a few extra Haskell packages than it is to pull in OpenSSL as a dependency, especially on Windows. (And that's ignoring the fact that http-client-openssl exists.) As a historical point of interest, I originally wrote http-client (or, as it was called at the time, http-enumerator) because I was trying to add OpenID support to an application, and the openid package[1] had done exactly what you've described: add HsOpenSSL to the HTTP package. I could never get a single connection to work with that combination. But maybe a brand new approach at writing that code will work. Michael [1] http://hackage.haskell.org/package/openid -------------- next part -------------- An HTML attachment was scrubbed... URL: From ttuegel at gmail.com Tue Apr 28 11:56:04 2015 From: ttuegel at gmail.com (Thomas Tuegel) Date: Tue, 28 Apr 2015 06:56:04 -0500 Subject: Making cabal-install SSL capable In-Reply-To: References: <874mo0isd0.fsf@gnu.org> Message-ID: On Tue, Apr 28, 2015 at 3:21 AM, Michael Snoyman wrote: > I have no intention of playing the "minimal dependency" game (though I don't > mind dropping data-default, which accounts for 6 of the dependencies listed > there). I will point out- as Gershom already did- that in many cases it's > likely easier to install a few extra Haskell packages than it is to pull in > OpenSSL as a dependency, especially on Windows. (And that's ignoring the > fact that http-client-openssl exists.) Considering users with cabal-install already, that many dependencies is only a small maintenance problem. Bootstrapping will not be a small problem. Gershom also pointed out the availability, on most platforms, of utilities which already provide HTTP support. That route seems to be the shortest distance between the problem and a solution. > As a historical point of interest, I originally wrote http-client (or, as it > was called at the time, http-enumerator) because I was trying to add OpenID > support to an application, and the openid package[1] had done exactly what > you've described: add HsOpenSSL to the HTTP package. I could never get a > single connection to work with that combination. But maybe a brand new > approach at writing that code will work. This report is yet another reason to disfavor HsOpenSSL. We already know it will add to installation difficulties. To that I will add: Gershom questioned the trustworthiness of tls, but do we really trust OpenSSL either? Do we know anything about the usability of the HTTP+tls combination? -- Thomas Tuegel From michael at snoyman.com Tue Apr 28 12:38:50 2015 From: michael at snoyman.com (Michael Snoyman) Date: Tue, 28 Apr 2015 12:38:50 +0000 Subject: Making cabal-install SSL capable In-Reply-To: References: <874mo0isd0.fsf@gnu.org> Message-ID: On Tue, Apr 28, 2015 at 2:56 PM Thomas Tuegel wrote: > On Tue, Apr 28, 2015 at 3:21 AM, Michael Snoyman > wrote: > > I have no intention of playing the "minimal dependency" game (though I > don't > > mind dropping data-default, which accounts for 6 of the dependencies > listed > > there). I will point out- as Gershom already did- that in many cases it's > > likely easier to install a few extra Haskell packages than it is to pull > in > > OpenSSL as a dependency, especially on Windows. (And that's ignoring the > > fact that http-client-openssl exists.) > > Considering users with cabal-install already, that many dependencies > is only a small maintenance problem. Bootstrapping will not be a small > problem. > > Can you explain what the bootstrapping issue is here? If it's what I think you're getting at, I think I have a simple solution to that: https://www.stackage.org/lts/build-plan?package=http-client&_accept=application/x-sh Note that this script generation isn't really highly tested, I put it together a few weeks back as a proof-of-concept to help out someone playing around with LTS Haskell + Nix. Michael -------------- next part -------------- An HTML attachment was scrubbed... URL: From hvriedel at gmail.com Tue Apr 28 13:22:13 2015 From: hvriedel at gmail.com (Herbert Valerio Riedel) Date: Tue, 28 Apr 2015 15:22:13 +0200 Subject: Making cabal-install SSL capable In-Reply-To: (Michael Snoyman's message of "Tue, 28 Apr 2015 08:21:04 +0000") References: <874mo0isd0.fsf@gnu.org> Message-ID: <87zj5sgzga.fsf@gmail.com> On 2015-04-28 at 10:21:04 +0200, Michael Snoyman wrote: [...] > I have no intention of playing the "minimal dependency" game (though I > don't mind dropping data-default, which accounts for 6 of the dependencies > listed there). I will point out- as Gershom already did- that in many cases > it's likely easier to install a few extra Haskell packages than it is to > pull in OpenSSL as a dependency, especially on Windows. (And that's > ignoring the fact that http-client-openssl exists.) While I do appreciate the technical issues resulting from HsOpenSSL on Windows[1], I'll be frank and admit that there's a "political" aspect that worries me with such a large number of added dependencies imported into the cabal project in one go, as that would promote (or at the very least bias) one specific family of multiple competing HTTP-client abstractions into the Haskell Platform through the back-door (assuming the idea of the HP hasn't been abandoned -- I may not be up to date regarding that debate), and make it a fait accompli without having actually had any agreement on it (which I admit may never be reached, as the associated communities involved have grown quite large by now and may disagree quite violently on basic design choices...). That's why I suggested HTTP+HsOpenSSL (which tbh is not my favorite HTTP library), as that would be the neutral choice regarding HTTP-libraries at the foundational core library level. Alternatively, Gershom's suggestion to shell out to curl(1)/wget(1)/etc would equally achieve impartiality regarding HTTP-libraries (and probably work better on Windows too) PS: We shouldn't forget that there's also an existing deployed cabal-install user-base we can't get rid off so easily, which may still leak unencrypted basic-auth credentials for the years to come. Just saying... [1]: Are those issues documented somewhere btw? Could that it be addressed via minghc? Cheers, hvr From gershomb at gmail.com Tue Apr 28 13:40:14 2015 From: gershomb at gmail.com (Gershom B) Date: Tue, 28 Apr 2015 09:40:14 -0400 Subject: Making cabal-install SSL capable In-Reply-To: <87zj5sgzga.fsf@gmail.com> References: <874mo0isd0.fsf@gnu.org> <87zj5sgzga.fsf@gmail.com> Message-ID: I don?t think the issue of http libraries as a foundational core library is very important. I suspect it would be possible to do a minimal http transport over tls, just as one can over HsOpenSSL, if that is how we decided to go. In the meantime, here are the first-order dependencies of tls alone, for comparison. I imagine there are a few others pulled in as well, in the second-order deps. ? ? ? ? ? ? ? ? ? ? ?cereal >= 0.4 ? ? ? ? ? ? ? ? ? ?, byteable ? ? ? ? ? ? ? ? ? ?, data-default-class ? ? ? ? ? ? ? ? ? ?-- crypto related ? ? ? ? ? ? ? ? ? ?, cryptohash >= 0.6 ? ? ? ? ? ? ? ? ? ?, crypto-random >= 0.0 && < 0.1 ? ? ? ? ? ? ? ? ? ?, crypto-numbers ? ? ? ? ? ? ? ? ? ?, crypto-cipher-types >= 0.0.8 ? ? ? ? ? ? ? ? ? ?, crypto-pubkey >= 0.2.8 ? ? ? ? ? ? ? ? ? ?, crypto-pubkey-types >= 0.4 ? ? ? ? ? ? ? ? ? ?, cipher-rc4 ? ? ? ? ? ? ? ? ? ?, cipher-des ? ? ? ? ? ? ? ? ? ?, cipher-aes >= 0.2 && < 0.3 ? ? ? ? ? ? ? ? ? ?-- certificate related ? ? ? ? ? ? ? ? ? ?, asn1-types >= 0.2.0 ? ? ? ? ? ? ? ? ? ?, asn1-encoding ? ? ? ? ? ? ? ? ? ?, x509 >= 1.5.0 && < 1.6.0 ? ? ? ? ? ? ? ? ? ?, x509-store >= 1.5.0 ? ? ? ? ? ? ? ? ? ?, x509-validation >= 1.5.1 && < 1.6.0 ? ? ? ? ? ? ? ? ? ?, async More troublesome, I recall that the current scheme for cabal is that it is fully bootstrappable by only depending on GHC base libs and ?vendored? dependencies? In that case, perhaps we really should lean only towards the ?shell out? solution. Or, I suppose, we could hide the ssl implementation behind a flag ? but that feels rather awkward in comparison. So let?s try this: can anybody suggest any _downside_ to the ?shell out? solution? ?Gershom On April 28, 2015 at 9:22:22 AM, Herbert Valerio Riedel (hvriedel at gmail.com) wrote: > On 2015-04-28 at 10:21:04 +0200, Michael Snoyman wrote: > > [...] > > > I have no intention of playing the "minimal dependency" game (though I > > don't mind dropping data-default, which accounts for 6 of the dependencies > > listed there). I will point out- as Gershom already did- that in many cases > > it's likely easier to install a few extra Haskell packages than it is to > > pull in OpenSSL as a dependency, especially on Windows. (And that's > > ignoring the fact that http-client-openssl exists.) > > While I do appreciate the technical issues resulting from HsOpenSSL on > Windows[1], I'll be frank and admit that there's a "political" aspect > that worries me with such a large number of added dependencies imported > into the cabal project in one go, as that would promote (or at the very > least bias) one specific family of multiple competing HTTP-client > abstractions into the Haskell Platform through the back-door (assuming > the idea of the HP hasn't been abandoned -- I may not be up to date > regarding that debate), and make it a fait accompli without having > actually had any agreement on it (which I admit may never be reached, as > the associated communities involved have grown quite large by now and > may disagree quite violently on basic design choices...). > > That's why I suggested HTTP+HsOpenSSL (which tbh is not my favorite HTTP > library), as that would be the neutral choice regarding HTTP-libraries > at the foundational core library level. Alternatively, Gershom's > suggestion to shell out to curl(1)/wget(1)/etc would equally achieve > impartiality regarding HTTP-libraries (and probably work better on > Windows too) > > PS: We shouldn't forget that there's also an existing deployed > cabal-install user-base we can't get rid off so easily, which may > still leak unencrypted basic-auth credentials for the years to > come. Just saying... > > [1]: Are those issues documented somewhere btw? Could that it be > addressed via minghc? > > Cheers, > hvr > _______________________________________________ > cabal-devel mailing list > cabal-devel at haskell.org > http://mail.haskell.org/cgi-bin/mailman/listinfo/cabal-devel > From ttuegel at gmail.com Tue Apr 28 13:48:51 2015 From: ttuegel at gmail.com (Thomas Tuegel) Date: Tue, 28 Apr 2015 08:48:51 -0500 Subject: Making cabal-install SSL capable In-Reply-To: References: <874mo0isd0.fsf@gnu.org> <87zj5sgzga.fsf@gmail.com> Message-ID: On Tue, Apr 28, 2015 at 8:40 AM, Gershom B wrote: > More troublesome, I recall that the current scheme for cabal is that it is fully bootstrappable by only depending on GHC base libs and ?vendored? dependencies? Well, not really. We have an ugly bootstrapping script that downloads the other dependencies: https://github.com/haskell/cabal/blob/master/cabal-install/bootstrap.sh Speaking of which... On Tue, Apr 28, 2015 at 7:38 AM, Michael Snoyman wrote: > > On Tue, Apr 28, 2015 at 2:56 PM Thomas Tuegel wrote: >> >> Considering users with cabal-install already, that many dependencies >> is only a small maintenance problem. Bootstrapping will not be a small >> problem. >> > > Can you explain what the bootstrapping issue is here? If it's what I think > you're getting at, I think I have a simple solution to that: > > https://www.stackage.org/lts/build-plan?package=http-client&_accept=application/x-sh > > Note that this script generation isn't really highly tested, I put it > together a few weeks back as a proof-of-concept to help out someone playing > around with LTS Haskell + Nix. Sorry, yes, the bootstrapping issue I referred to was installing cabal-install starting from just a bare GHC installation, as you correctly inferred. I think that script you generated is nicer than what we do now; that would be good to have, regardless of where we come down on the TLS situation. Is the source code that generates that script available? Thanks, -- Thomas Tuegel From michael at snoyman.com Tue Apr 28 13:50:26 2015 From: michael at snoyman.com (Michael Snoyman) Date: Tue, 28 Apr 2015 13:50:26 +0000 Subject: Making cabal-install SSL capable In-Reply-To: <87zj5sgzga.fsf@gmail.com> References: <874mo0isd0.fsf@gnu.org> <87zj5sgzga.fsf@gmail.com> Message-ID: On Tue, Apr 28, 2015 at 4:22 PM Herbert Valerio Riedel wrote: > On 2015-04-28 at 10:21:04 +0200, Michael Snoyman wrote: > > [...] > > > I have no intention of playing the "minimal dependency" game (though I > > don't mind dropping data-default, which accounts for 6 of the > dependencies > > listed there). I will point out- as Gershom already did- that in many > cases > > it's likely easier to install a few extra Haskell packages than it is to > > pull in OpenSSL as a dependency, especially on Windows. (And that's > > ignoring the fact that http-client-openssl exists.) > > While I do appreciate the technical issues resulting from HsOpenSSL on > Windows[1], I'll be frank and admit that there's a "political" aspect > that worries me with such a large number of added dependencies imported > into the cabal project in one go, as that would promote (or at the very > least bias) one specific family of multiple competing HTTP-client > abstractions into the Haskell Platform through the back-door (assuming > the idea of the HP hasn't been abandoned -- I may not be up to date > regarding that debate), and make it a fait accompli without having > actually had any agreement on it (which I admit may never be reached, as > the associated communities involved have grown quite large by now and > may disagree quite violently on basic design choices...). > > It may be worth looking at the reverse dependencies and download counts on this. But more importantly: I am most certainly not proposing that http-client be part of the platform. I discussed this already with Duncan last week: I have no idea why having the libraries in the platform should be necessary for a dependency of an executable. > That's why I suggested HTTP+HsOpenSSL (which tbh is not my favorite HTTP > library), as that would be the neutral choice regarding HTTP-libraries > at the foundational core library level. Alternatively, Gershom's > suggestion to shell out to curl(1)/wget(1)/etc would equally achieve > impartiality regarding HTTP-libraries (and probably work better on > Windows too) > > So to translate: since there are two good libraries for doing HTTP client side calls that both have TLS support, we can use neither of them, and must instead continue using the library we know to be inferior, *and* do extra dev work to add in TLS support, an endeavor which at least anecdotally has failed once before? By the way: I'm unaware of any violent disagreement around http-client vs http-streams. There are certainly differences between the libraries which I'd be happy to explore with others (in a separate thread, this isn't the place), but I think the possibility for a community brawl on this is slightly overstated. > PS: We shouldn't forget that there's also an existing deployed > cabal-install user-base we can't get rid off so easily, which may > still leak unencrypted basic-auth credentials for the years to > come. Just saying... > > I agree on that front. I think that Hackage should turn away all uploads that aren't TLS-secured, and should make that change ASAP. > [1]: Are those issues documented somewhere btw? Could that it be > addressed via minghc? > > > There's not really anything to document. It's a matter of having to install the DLLs correctly, which people find difficult without a package manager. I'm in favor of supporting this situation better with MinGHC, but it would need someone else to spearhead it; I frankly have no itch to scratch here, since I'm already quite happily using the tls package. Michael -------------- next part -------------- An HTML attachment was scrubbed... URL: From michael at snoyman.com Tue Apr 28 13:52:43 2015 From: michael at snoyman.com (Michael Snoyman) Date: Tue, 28 Apr 2015 13:52:43 +0000 Subject: Making cabal-install SSL capable In-Reply-To: References: <874mo0isd0.fsf@gnu.org> <87zj5sgzga.fsf@gmail.com> Message-ID: On Tue, Apr 28, 2015 at 4:48 PM Thomas Tuegel wrote: > On Tue, Apr 28, 2015 at 8:40 AM, Gershom B wrote: > > More troublesome, I recall that the current scheme for cabal is that it > is fully bootstrappable by only depending on GHC base libs and ?vendored? > dependencies? > > Well, not really. We have an ugly bootstrapping script that downloads > the other dependencies: > https://github.com/haskell/cabal/blob/master/cabal-install/bootstrap.sh > > Speaking of which... > > On Tue, Apr 28, 2015 at 7:38 AM, Michael Snoyman > wrote: > > > > On Tue, Apr 28, 2015 at 2:56 PM Thomas Tuegel wrote: > >> > >> Considering users with cabal-install already, that many dependencies > >> is only a small maintenance problem. Bootstrapping will not be a small > >> problem. > >> > > > > Can you explain what the bootstrapping issue is here? If it's what I > think > > you're getting at, I think I have a simple solution to that: > > > > > https://www.stackage.org/lts/build-plan?package=http-client&_accept=application/x-sh > > > > Note that this script generation isn't really highly tested, I put it > > together a few weeks back as a proof-of-concept to help out someone > playing > > around with LTS Haskell + Nix. > > Sorry, yes, the bootstrapping issue I referred to was installing > cabal-install starting from just a bare GHC installation, as you > correctly inferred. I think that script you generated is nicer than > what we do now; that would be good to have, regardless of where we > come down on the TLS situation. Is the source code that generates that > script available? > > > Thank you :) Yes, the code is part of the stackage-server code base, available here: https://github.com/fpco/stackage-server/blob/master/Handler/BuildPlan.hs#L40 When I was working on this for Nix, I offered to make the code a standalone library/tool instead. That offer's still open if it would be useful to others. Michael -------------- next part -------------- An HTML attachment was scrubbed... URL: From michael at snoyman.com Tue Apr 28 14:11:37 2015 From: michael at snoyman.com (Michael Snoyman) Date: Tue, 28 Apr 2015 14:11:37 +0000 Subject: Making cabal-install SSL capable In-Reply-To: References: <874mo0isd0.fsf@gnu.org> <87zj5sgzga.fsf@gmail.com> Message-ID: On Tue, Apr 28, 2015 at 4:40 PM Gershom B wrote: > > In that case, perhaps we really should lean only towards the ?shell out? > solution. Or, I suppose, we could hide the ssl implementation behind a flag > ? but that feels rather awkward in comparison. > > So let?s try this: can anybody suggest any _downside_ to the ?shell out? > solution? > > > Since I wasn't explicit (and my comments could be read to say otherwise): I am +1 on whatever approach ends up getting SSL support into cabal. If the least problematic approach ends up being "shell out", I'm OK with it (I even did that myself[1] in the distant past). I believe that shelling out would work for uploading as well as downloading, correct? Michael [1] http://hackage.haskell.org/package/http-wget -------------- next part -------------- An HTML attachment was scrubbed... URL: From hvriedel at gmail.com Tue Apr 28 14:32:06 2015 From: hvriedel at gmail.com (Herbert Valerio Riedel) Date: Tue, 28 Apr 2015 16:32:06 +0200 Subject: Making cabal-install SSL capable In-Reply-To: (Michael Snoyman's message of "Tue, 28 Apr 2015 13:50:26 +0000") References: <874mo0isd0.fsf@gnu.org> <87zj5sgzga.fsf@gmail.com> Message-ID: <87sibkgw7t.fsf@gmail.com> On 2015-04-28 at 15:50:26 +0200, Michael Snoyman wrote: [...] >> PS: We shouldn't forget that there's also an existing deployed >> cabal-install user-base we can't get rid off so easily, which may >> still leak unencrypted basic-auth credentials for the years to >> come. Just saying... > I agree on that front. I think that Hackage should turn away all uploads > that aren't TLS-secured, and should make that change ASAP. Well, even if you do that, you can only reject the upload-request *after* the http client has already leaked the basic-auth credentials over a non-secured http channel... :-/ So the only thing this measure would buy us IMHO is that CLI users would get an incentive to upgrade their cabal-install tooling (if they use e.g. `cabal upload`), but it wouldn't protect against accidentally falling back to an older cabal-install version picked up by accident (and then again compromising the credentials). I.e. this measure on its own wouldn't remove the unsecured basic-auth eavesdropping attack-window completely, only make it smaller. Cheers, hvr From duncan.coutts at googlemail.com Tue Apr 28 14:58:36 2015 From: duncan.coutts at googlemail.com (Duncan Coutts) Date: Tue, 28 Apr 2015 15:58:36 +0100 Subject: Making cabal-install SSL capable In-Reply-To: References: Message-ID: <1430233116.19544.79.camel@googlemail.com> On Mon, 2015-04-27 at 23:55 -0400, Gershom B wrote: > So there are many discussions over various hackage security schemes, > and there are a variety of takes on the different elements of how we > could make package distribution more secure. > > However, everyone seems to agree that it would be unambiguously better > if the cabal install executable were able to communicate over ssl. Yeah. > I looked at the previous discussion on this topic [1], and it seems > that HsOpenSSL and tls were both considered. I don?t have any > experience with how cross-platform compatible HsOpenSSL is (i.e. if it > is sufficiently easy to use for both Windows and OS X that we can just > encourage people to ?cabal install cabal-install? and things will just > work). I don?t know if anyone else can speak to this? Furthermore, of > course, redistributing cabal-install binaries could potentially be > more of a pain with links to external c libraries. I?m not quite sure > how much an issue this would be. Meanwhile, tls is certainly > cross-platform, but there is the question about how trustworthy it is, > as it is not nearly as widely used and vetted as openssl. Right. I don't have any great suggestion there. This is what has prevented us getting anywhere in the past. > Also, we have the option of simply shelling out to curl, wget, or the > appropriate powershell command (on windows 7 or above you get those by > default). I think that's quite a reasonable 90% solution. I was looking at implementing this the other day after talking about it with Michael. When looking at the code I noticed (as did Michael) that rather embarrassingly the current code is actually using basic auth, when it should have been using digest auth. I've sent a PR: https://github.com/haskell/cabal/pull/2563 > So rather than rely on either HsOpenSSL or tls, we could also teach > cabal to probe for one of the appropriate executables on first run, > save that configuration, and warn if no such executable is available > (allowing the user to fall back to http with warnings indefinitely). I don't even think it needs any saved configuration. Cabal is pretty good at probing for and running exes. > I would like to pursue getting SSL into cabal by any of these three > avenues. What do people feel about the relative tradeoffs of these > options? Honestly, I lean towards simply using the tls package, > because https is ultimately only going to be a complimentary aspect of > our security architecture plans and not central to it. And a > pure-haskell dependency is the most logical approach. If people find > too much fault with that approach, I would be inclined to shell out as > the next option, with HsOpenSSL as the last option only because I > worry about too many ?unknown unknowns? of the sort I listed above. > But if others have more experience with these approaches, proposals > are welcome! My suggestion is that in the short term we use an external curl binary if it happens to be available, and fallback to digest auth if not. If/when we are in a position to have dependencies on decent http(s) libraries then we should use those. Also, for those users without curl (or without an HTTPS-enabled version), the digest auth can be improved. We can use digest auth with the "auth-int" QoP, which includes replay protection and integrity protection of the message body (ie the .tar.gz). It's not as good as TLS, but digest auth (with "auth" or "auth-int" QoP) isn't actually known to be broken yet. (It's an oldish standard that relies on MD5, but has both server and client nonces to protect against chosen plaintext attacks). Duncan From ttuegel at gmail.com Tue Apr 28 15:08:19 2015 From: ttuegel at gmail.com (Thomas Tuegel) Date: Tue, 28 Apr 2015 10:08:19 -0500 Subject: Making cabal-install SSL capable In-Reply-To: References: <874mo0isd0.fsf@gnu.org> <87zj5sgzga.fsf@gmail.com> Message-ID: On Tue, Apr 28, 2015 at 8:52 AM, Michael Snoyman wrote: > Thank you :) > > Yes, the code is part of the stackage-server code base, available here: > > https://github.com/fpco/stackage-server/blob/master/Handler/BuildPlan.hs#L40 > > When I was working on this for Nix, I offered to make the code a standalone > library/tool instead. That offer's still open if it would be useful to > others. I would like to take you up on that offer! I think it would need a few tweaks for our purposes, but this is very close to a feature I was planning to add to cabal-install. Our dependency requirements are already growing, and they will continue to do so, whether in small steps or leaps and bounds. Thanks, -- Thomas Tuegel From greg at gregorycollins.net Tue Apr 28 15:37:37 2015 From: greg at gregorycollins.net (Gregory Collins) Date: Tue, 28 Apr 2015 08:37:37 -0700 Subject: Making cabal-install SSL capable In-Reply-To: <1430233116.19544.79.camel@googlemail.com> References: <1430233116.19544.79.camel@googlemail.com> Message-ID: On Tue, Apr 28, 2015 at 7:58 AM, Duncan Coutts wrote: > > However, everyone seems to agree that it would be unambiguously better > > if the cabal install executable were able to communicate over ssl. > > Yeah. Strongly +1'd. Following this track, if cabal's http handling is going to be abstract enough to be able to shell out to curl, there's no reason not to add an optional dependency on http-client (either haskell-tls or openssl) or http-streams, guarded by a flag. G -- Gregory Collins -------------- next part -------------- An HTML attachment was scrubbed... URL: From spam at scientician.net Tue Apr 28 15:51:52 2015 From: spam at scientician.net (Bardur Arantsson) Date: Tue, 28 Apr 2015 17:51:52 +0200 Subject: Making cabal-install SSL capable In-Reply-To: <1430233116.19544.79.camel@googlemail.com> References: <1430233116.19544.79.camel@googlemail.com> Message-ID: On 28-04-2015 16:58, Duncan Coutts wrote: > On Mon, 2015-04-27 at 23:55 -0400, Gershom B wrote: >> I would like to pursue getting SSL into cabal by any of these three >> avenues. What do people feel about the relative tradeoffs of these >> options? Honestly, I lean towards simply using the tls package, >> because https is ultimately only going to be a complimentary aspect of >> our security architecture plans and not central to it. And a >> pure-haskell dependency is the most logical approach. If people find >> too much fault with that approach, I would be inclined to shell out as >> the next option, with HsOpenSSL as the last option only because I >> worry about too many ?unknown unknowns? of the sort I listed above. >> But if others have more experience with these approaches, proposals >> are welcome! > > My suggestion is that in the short term we use an external curl binary > if it happens to be available, and fallback to digest auth if not. > If/when we are in a position to have dependencies on decent http(s) > libraries then we should use those. +1 I wonder what curl's defaults are wrt. accepting self-signed certs and/or certs without a valid trust chain in the system's default certificate store. I guess someone would have to go through all the options and see what's necessary here. (I guess there might be some issues here with old versions of "curl" vs. newer versions, but at least some of the curl options have an "Added in X.Y.Z" which I could be used to guide decisions here.) Regards, From michael at snoyman.com Tue Apr 28 16:10:58 2015 From: michael at snoyman.com (Michael Snoyman) Date: Tue, 28 Apr 2015 16:10:58 +0000 Subject: Making cabal-install SSL capable In-Reply-To: References: <874mo0isd0.fsf@gnu.org> <87zj5sgzga.fsf@gmail.com> Message-ID: On Tue, Apr 28, 2015, 6:08 PM Thomas Tuegel wrote: > On Tue, Apr 28, 2015 at 8:52 AM, Michael Snoyman > wrote: > > Thank you :) > > > > Yes, the code is part of the stackage-server code base, available here: > > > > > https://github.com/fpco/stackage-server/blob/master/Handler/BuildPlan.hs#L40 > > > > When I was working on this for Nix, I offered to make the code a > standalone > > library/tool instead. That offer's still open if it would be useful to > > others. > > I would like to take you up on that offer! I think it would need a few > tweaks for our purposes, but this is very close to a feature I was > planning to add to cabal-install. Our dependency requirements are > already growing, and they will continue to do so, whether in small > steps or leaps and bounds. > > > Cool, I'll be happy to help. I've opened up an issue about this: https://github.com/fpco/stackage-server/issues/95 Can you add some details about the kinds of changes you're looking for and we can start sketching out a plan? Michael -------------- next part -------------- An HTML attachment was scrubbed... URL: From michael at snoyman.com Tue Apr 28 16:13:47 2015 From: michael at snoyman.com (Michael Snoyman) Date: Tue, 28 Apr 2015 16:13:47 +0000 Subject: Making cabal-install SSL capable In-Reply-To: <87sibkgw7t.fsf@gmail.com> References: <874mo0isd0.fsf@gnu.org> <87zj5sgzga.fsf@gmail.com> <87sibkgw7t.fsf@gmail.com> Message-ID: On Tue, Apr 28, 2015 at 5:32 PM Herbert Valerio Riedel wrote: > On 2015-04-28 at 15:50:26 +0200, Michael Snoyman wrote: > > [...] > > >> PS: We shouldn't forget that there's also an existing deployed > >> cabal-install user-base we can't get rid off so easily, which may > >> still leak unencrypted basic-auth credentials for the years to > >> come. Just saying... > > > I agree on that front. I think that Hackage should turn away all uploads > > that aren't TLS-secured, and should make that change ASAP. > > Well, even if you do that, you can only reject the upload-request > *after* the http client has already leaked the basic-auth credentials > over a non-secured http channel... :-/ > > So the only thing this measure would buy us IMHO is that CLI users would > get an incentive to upgrade their cabal-install tooling (if they use > e.g. `cabal upload`), but it wouldn't protect against accidentally > falling back to an older cabal-install version picked up by accident > (and then again compromising the credentials). I.e. this measure on its > own wouldn't remove the unsecured basic-auth eavesdropping attack-window > completely, only make it smaller. > > Cheers, > hvr > Your analysis is accurate. There are some interesting approaches we could take to further mitigate things. For example: newer versions of cabal-install could automatically set an incorrect username/password in the ~/.cabal/config file, and create a new set of fields (ssl-username/ssl-password?) that it would recognize. A more radical approach would be to have Hackage simply turn off port 80. But that's probably too extreme; having a 301 redirect from HTTP to HTTPS is really necessary for a good user experience, and even that redirect would still expose the password vulnerability window. Michael -------------- next part -------------- An HTML attachment was scrubbed... URL: From hvriedel at gmail.com Wed Apr 29 07:00:02 2015 From: hvriedel at gmail.com (Herbert Valerio Riedel) Date: Wed, 29 Apr 2015 09:00:02 +0200 Subject: Making cabal-install SSL capable In-Reply-To: (Michael Snoyman's message of "Tue, 28 Apr 2015 16:13:47 +0000") References: <874mo0isd0.fsf@gnu.org> <87zj5sgzga.fsf@gmail.com> <87sibkgw7t.fsf@gmail.com> Message-ID: <87lhhbv2q5.fsf@gmail.com> On 2015-04-28 at 18:13:47 +0200, Michael Snoyman wrote: [...] > Your analysis is accurate. There are some interesting approaches we could > take to further mitigate things. For example: newer versions of > cabal-install could automatically set an incorrect username/password in the > ~/.cabal/config file, and create a new set of fields > (ssl-username/ssl-password?) that it would recognize. Now that you mention that; the typical default config entry looks like: remote-repo: hackage.haskell.org:http://hackage.haskell.org/packages/archive For a TLS-capable cabal-install (for which I'll assume it'll use digest-auth), I'd suggest (as a strawman proposal - so please criticize!) that it a) when creating a default-config, write remote-repo: hackage.haskell.org:https://hackage.haskell.org/packages/archive b) if a cabal upload operation is performed, 1) if remote-repo points to a http:// url, Warn the user in a visible scary way that can't easily be ignored that he/she should switch to a https:// url; however, proceed w/ the requested operation using digest-auth 2) if remote-repo points to a https:// url, operate w/o warning (could use basic-auth instead of digest-auth, if we wanted to avoid an additional round-trip at the HTTP-layer) c) for non-authorised operations, emit less-scary warnings as a friendly reminder to update the repo-url to a https:// capable one So once a the cabal-config file points to a https://, url, the risk of older non-TLS-capable cabal-installs leaking credentials via unencrypted HTTP would be solved (at the expense of older cabal-install versions not being able to communicate via https:// urls at all...) Cheers, hvr From michael at snoyman.com Wed Apr 29 07:52:15 2015 From: michael at snoyman.com (Michael Snoyman) Date: Wed, 29 Apr 2015 07:52:15 +0000 Subject: Making cabal-install SSL capable In-Reply-To: <87lhhbv2q5.fsf@gmail.com> References: <874mo0isd0.fsf@gnu.org> <87zj5sgzga.fsf@gmail.com> <87sibkgw7t.fsf@gmail.com> <87lhhbv2q5.fsf@gmail.com> Message-ID: On Wed, Apr 29, 2015 at 10:00 AM Herbert Valerio Riedel wrote: > On 2015-04-28 at 18:13:47 +0200, Michael Snoyman wrote: > > [...] > > > Your analysis is accurate. There are some interesting approaches we could > > take to further mitigate things. For example: newer versions of > > cabal-install could automatically set an incorrect username/password in > the > > ~/.cabal/config file, and create a new set of fields > > (ssl-username/ssl-password?) that it would recognize. > > Now that you mention that; the typical default config entry looks like: > > remote-repo: hackage.haskell.org:http:// > hackage.haskell.org/packages/archive > > For a TLS-capable cabal-install (for which I'll assume it'll use > digest-auth), I'd suggest (as a strawman proposal - > so please criticize!) that it > > a) when creating a default-config, write > > remote-repo: hackage.haskell.org:https:// > hackage.haskell.org/packages/archive > > b) if a cabal upload operation is performed, > > 1) if remote-repo points to a http:// url, Warn the user in a > visible scary way that can't easily be ignored that he/she > should switch to a https:// url; however, > proceed w/ the requested operation using digest-auth > > 2) if remote-repo points to a https:// url, operate w/o warning > (could use basic-auth instead of digest-auth, if we wanted to > avoid an additional round-trip at the HTTP-layer) > > c) for non-authorised operations, emit less-scary warnings as a > friendly reminder to update the repo-url to a https:// capable one > > So once a the cabal-config file points to a https://, url, the risk of > older non-TLS-capable cabal-installs leaking credentials via unencrypted > HTTP would be solved (at the expense of older cabal-install versions not > being able to communicate via https:// urls at all...) > > > Cheers, > hvr > I'd probably be more aggressive, and simply rewrite the cabal.config for users (with a message) to change http://hackage... to https://hackage. But I'm OK with just give a bunch of warnings to encourage the user to do it him/herself. -------------- next part -------------- An HTML attachment was scrubbed... URL: From gale at sefer.org Thu Apr 30 10:12:09 2015 From: gale at sefer.org (Yitzchak Gale) Date: Thu, 30 Apr 2015 13:12:09 +0300 Subject: Making cabal-install SSL capable In-Reply-To: References: <874mo0isd0.fsf@gnu.org> Message-ID: As a user of both http-client and tls, I can vouch for having very good experience with both, and I thank Michael for his offer. I prefer that option. However - Both extra Haskell dependencies and C dependencies are a problem for cabal-install. The reason is that cabal is a basic requirement to bootstrap a Haskell installation from scratch. So either of those will make life very much harder for distro packagers, builders of Haskell Platform or other such from-scratch installation options, and anyone who needs to get a Haskell tool chain installed on a platform that is non-standard in some way. So I suggest that we have basic cabal-install - perhaps stripped down even more than it is now - which is designed for easy porting, with no C dependency and minimal Haskell dependencies. Furthermore, that basic cabal-install does need some SSL option - probably Gershom's shell-out option, even though I don't prefer that for every day use, because it can be implemented with minimal dependencies. The reason is the same - for porting. Once you have cabal-install-basic installed, the only thing you may ever use it for is a one-time installation of full cabal-install. But that's a very sensitive installation - if that is compromised, you're hosed. So if there's any time you need SSL, it's then. In summary - I vote for cabal-install-basic with no C deps, very minimal Haskell deps, possibly stripped-down cabal functionality if needed, and a simple SSL shell-out option designed for maximum portability. And then, one or more full-featured cabal-install packages, with one of them being the tls option. Thanks, Yitz From ttuegel at gmail.com Thu Apr 30 12:25:12 2015 From: ttuegel at gmail.com (Thomas Tuegel) Date: Thu, 30 Apr 2015 07:25:12 -0500 Subject: Making cabal-install SSL capable In-Reply-To: References: <874mo0isd0.fsf@gnu.org> Message-ID: On Thu, Apr 30, 2015 at 5:12 AM, Yitzchak Gale wrote: > Both extra Haskell dependencies and C dependencies are a > problem for cabal-install. > > The reason is that cabal is a basic requirement to > bootstrap a Haskell installation from scratch. So either of those > will make life very much harder for distro packagers, builders > of Haskell Platform or other such from-scratch installation > options, and anyone who needs to get a Haskell > tool chain installed on a platform that is non-standard in some > way. Michael is putting together some tools for us that should make added Haskell dependencies a non-issue from the standpoint of distributing cabal-install. We already have a bootstrap script for this purpose, but the new tools should make it more robust. So, I don't think we should continue to be concerned by that aspect of additional Haskell dependencies. > In summary - I vote for cabal-install-basic with no C deps, > very minimal Haskell deps, possibly stripped-down cabal > functionality if needed, and a simple SSL shell-out option designed > for maximum portability. And then, one or more full-featured > cabal-install packages, with one of them being the tls option. I am emphatically against any plan that involves optional dependencies or distributing two versions of anything. Our users, especially newcomers, will be confused. Which cabal-install do I need? Which cabal-install do I have? Why are there two versions? Why doesn't that version do this? etc. Especially because one version would be used once and necessarily be discarded, we would need to make the 2-step installation automatic. That leads us back to a bootstrap script, which we're already doing. If our current bootstrap facilities are inadequate, then we need to address that instead. Distributing two versions also means maintaining two code paths. Maintaining and testing two *security sensitive* code paths. I would much rather see us put all our eggs in the http-client basket than distribute two versions. I say this even as someone who favors the pipe-out-to-curl option. I have had a bad experience with every HTTP client library on Hackage (that I know of) and I would take any one of them over any one of them, plus curl. -- Thomas Tuegel From ttuegel at gmail.com Thu Apr 30 15:26:07 2015 From: ttuegel at gmail.com (Thomas Tuegel) Date: Thu, 30 Apr 2015 10:26:07 -0500 Subject: Making cabal-install SSL capable In-Reply-To: References: <874mo0isd0.fsf@gnu.org> Message-ID: On Apr 30, 2015 7:42 AM, "Yitzchak Gale" wrote: > > Thomas Tuegel wrote: > > Michael is putting together some tools for us that should make added > > Haskell dependencies a non-issue from the standpoint of distributing > > cabal-install. We already have a bootstrap script for this purpose, > > but the new tools should make it more robust. So, I don't think we > > should continue to be concerned by that aspect of additional Haskell > > dependencies. > > I am *very* troubled by it. I have experienced that pain, and > found the current bootstrap script useless. I'm happy that > someone is working on new tools, and I'd love to see them. Is there an open ticket for the issues you experienced? The only remaining problem that I know of is that the script sometimes picks dependency versions poorly; that's something we're set up to solve now. You can read about the tools in development here: https://github.com/fpco/stackage-server/issues/95 > But for Haskell to be a robust multi-platform portable language > we need to keep it simple. It is nearly impossible to get complex > tools, scripts, etc., to be completely general. > > The right approach is: > > 1. Make GHC itself portable. That itself is complex, but off-topic > here. > > 2. Provide a simple process that can be done manually to get > a working cabal given a working GHC. > > To do that, we need a simple cabal. Cabal has already become > far too complex to be in such a critical role for bootstrapping. The solution you propose adds to that complexity. Under your proposal, to bootstrap cabal-install, a user needs to: 1. Download cabal-bootstrap. 2. Install curl or equivalent, if it's not part of their usual platform (Windows). 3. Download and install a large number of dependencies, and finally cabal-install. Why is there an extra step at the beginning? Why does the user need to install curl only to immediately replace it? In contrast, under the Gershom's proposal, which I am endorsing, the user only needs to: 1. Install curl or equivalent, if it's not part of their usual platform (Windows). 2. Download and install a smaller number of dependencies, and finally cabal-install. That's a much simpler process. Having a separate bootstrap system is just adding a step: once curl or an equivalent is available on the user's system, there is no reason not to keep using it! I don't see any reason to believe any library will do a better job. Cabal is already very good at detecting available command-line utilities and managing alternatives. Regards, Tom