From george.colpitts at gmail.com Thu May 1 01:26:33 2014 From: george.colpitts at gmail.com (George Colpitts) Date: Wed, 30 Apr 2014 22:26:33 -0300 Subject: GHC status report In-Reply-To: <536128AF.7080209@gmail.com> References: <618BE556AADD624C9C918AA5D5911BEF0A58F2FC@DB3PRD3001MB020.064d.mgd.msft.net> <536128AF.7080209@gmail.com> Message-ID: To elaborate, in the past, I had a lot of problems using libraries from the ghci prompt on the Mac but I haven't tried recently. As an example, on the web pagefor the book the Haskell School of Expression it says: Note for OS X users: running graphics applications from GHCi is no longer supported. Instead, one has to compile a graphics program using GHC in order to run it (see example/GMIExamples.lhs for an example). I had similar problems using the Yale Euterpea music program from ghci. When I inquired I was referred to https://ghc.haskell.org/trac/ghc/ticket/4244 and https://ghc.haskell.org/trac/ghc/ticket/781. I see that the latter is now scheduled for 7.10.1 On Wed, Apr 30, 2014 at 1:45 PM, Simon Marlow wrote: > On 30/04/2014 01:35, George Colpitts wrote: > >> It doesn't have anything about the dynamic linking changes made for 7.8. >> I think it's worth mentioning the improvements we expect to get from >> that. The highlights of the release notes do mention it, so maybe that >> suffices. >> >> In particular, I'm hoping that it is going to fix a lot of problems with >> using foreign libraries such as OpenGL from ghci. I could be wrong about >> that though. >> > > I'd like to understand more about what those problems are. As a data > point, at Facebook we're using static linking (I compiled GHC with > DYNAMIC_GHC_PROGRAMS=NO), we're loading upwards of 50 3rd-party C++ > libraries and one gigantic shared library consisting of a ton of in-house > C++ code, together with all our Haskell code into GHCi, and it works > perfectly. The key to using the static linker is to not use it for C++ > code - you want all your external C++ code in shared libraries and load > those using the system linker. > > Dynamic linking has been a huge headache in GHC, and it's not clear that > it's an overall improvement compared with the static linker. Now that 7.8 > is out of the way, it's time to have a conversation about whether we want > to do dynamic linking again for 7.10, or revert to static linking. I think > Austin is going to update https://ghc.haskell.org/trac/ > ghc/wiki/DynamicGhcPrograms, and then we'll see where we stand. > > Cheers, > Simon > > > > >> On Tue, Apr 29, 2014 at 6:13 PM, Simon Peyton Jones >> > wrote: >> >> As Austin has told us, there?s a draft of the *GHC Status Report for >> the HCAR*, here:____ >> >> https://ghc.haskell.org/trac/ghc/wiki/Status/May14____ >> >> >> Have we missed out something you have been working hard on? Do >> take a moment to add a bullet in an appropriate place (it?s a >> wiki). I?d like to be sure that we are giving credit to all the >> appropriate people, so please help us fix that too. GHC is a team >> effort.____ >> >> Deadline is 1 May I think.____ >> >> Thanks____ >> >> Simon____ >> >> __ __ >> >> >> _______________________________________________ >> ghc-devs mailing list >> ghc-devs at haskell.org >> http://www.haskell.org/mailman/listinfo/ghc-devs >> >> >> >> >> >> _______________________________________________ >> ghc-devs mailing list >> ghc-devs at haskell.org >> http://www.haskell.org/mailman/listinfo/ghc-devs >> >> -------------- next part -------------- An HTML attachment was scrubbed... URL: From robstewart57 at gmail.com Thu May 1 07:03:54 2014 From: robstewart57 at gmail.com (Rob Stewart) Date: Thu, 1 May 2014 08:03:54 +0100 Subject: =?UTF-8?Q?Related_to_=238677=2C_I=27m_getting_=22p=5Fdyn=22_libraries_for_?= =?UTF-8?Q?package_=E2=80=98integer=2Dgmp=E2=80=99?= Message-ID: HI, I'm getting hit by an issue relating to tick 8677 https://ghc.haskell.org/trac/ghc/ticket/8677 I'm sure the problem I'm facing is a user error, though I'm not sure how to resolve it. I'm compiling with `-Odph -rtsopts -threaded -fno-liberate-case -funfolding-use-threshold1000 -funfolding-keeness-factor1000 -fllvm -optlo-O3 -prof -auto-all` --8<---------------cut here---------------start------------->8--- Top level: Failed to load interface for ?GHC.Integer.Type? Perhaps you haven't installed the "p_dyn" libraries for package ?integer-gmp?? Use -v to see a list of the files searched for. cabal: Error: some packages failed to install: ripl-frontend-0.0.1 failed during the building phase. The exception was: ExitFailure 1--8<---------------cut here---------------end--------------->8--- >From reading the ticket details, I see that I probably should not be using -dynamic-too. But how do I enforce this? I'm not using this flag (see above). Moreover my ~/.cabal/config files includes the following: --8<---------------cut here---------------start------------->8--- library-profiling: False executable-dynamic: False executable-profiling: False --8<---------------cut here---------------end--------------->8--- What else am I to do? -- Rob From simonpj at microsoft.com Thu May 1 07:29:17 2014 From: simonpj at microsoft.com (Simon Peyton Jones) Date: Thu, 1 May 2014 07:29:17 +0000 Subject: GHC status report In-Reply-To: <536128AF.7080209@gmail.com> References: <618BE556AADD624C9C918AA5D5911BEF0A58F2FC@DB3PRD3001MB020.064d.mgd.msft.net> <536128AF.7080209@gmail.com> Message-ID: <618BE556AADD624C9C918AA5D5911BEF0A590A80@DB3PRD3001MB020.064d.mgd.msft.net> | Dynamic linking has been a huge headache in GHC, and it's not clear that | it's an overall improvement compared with the static linker. Now that | 7.8 is out of the way, it's time to have a conversation about whether we | want to do dynamic linking again for 7.10, or revert to static linking. I echo this. Dynamic linking has had many un-anticipated costs and it is still very far from sorted out. It originally felt like a Fantastic Idea to give up our own linker and adopt the system linker, but it now feels to me like a black hole, endlessly sucking effort and increasing complexity. My viewpoint is highly un-informed about details; I just watch the traffic going by. And of course it does have benefits that doubtless generate less traffic. Simon | | | | > | > On Tue, Apr 29, 2014 at 6:13 PM, Simon Peyton Jones | > > wrote: | > | > As Austin has told us, there's a draft of the *GHC Status Report | for | > the HCAR*, here:____ | > | > https://ghc.haskell.org/trac/ghc/wiki/Status/May14____ | > | > Have we missed out something you have been working hard on? Do | > take a moment to add a bullet in an appropriate place (it's a | > wiki). I'd like to be sure that we are giving credit to all the | > appropriate people, so please help us fix that too. GHC is a team | > effort.____ | > | > Deadline is 1 May I think.____ | > | > Thanks____ | > | > Simon____ | > | > __ __ | > | > | > _______________________________________________ | > ghc-devs mailing list | > ghc-devs at haskell.org | > http://www.haskell.org/mailman/listinfo/ghc-devs | > | > | > | > | > _______________________________________________ | > ghc-devs mailing list | > ghc-devs at haskell.org | > http://www.haskell.org/mailman/listinfo/ghc-devs | > From simonpj at microsoft.com Thu May 1 07:30:53 2014 From: simonpj at microsoft.com (Simon Peyton Jones) Date: Thu, 1 May 2014 07:30:53 +0000 Subject: Overloaded record fields: we ought to change the name of FldTy In-Reply-To: References: <53611546.4030106@well-typed.com> Message-ID: <618BE556AADD624C9C918AA5D5911BEF0A590EAB@DB3PRD3001MB020.064d.mgd.msft.net> I?m reviewing the patch now. From: ghc-devs [mailto:ghc-devs-bounces at haskell.org] On Behalf Of Johan Tibell Sent: 30 April 2014 19:14 To: Adam Gundry Cc: ghc-devs at haskell.org Subject: Re: Overloaded record fields: we ought to change the name of FldTy On Wed, Apr 30, 2014 at 5:22 PM, Adam Gundry > wrote: If possible, I'd prefer to merge the existing patches more or less as is, then I can work on the library design without continually needing to fix merge conflicts. Agreed. We should try to get the patches in sooner rather than later to avoid extra work for you and allow people to try the feature. -------------- next part -------------- An HTML attachment was scrubbed... URL: From kazu at iij.ad.jp Thu May 1 07:32:06 2014 From: kazu at iij.ad.jp (Kazu Yamamoto (=?iso-2022-jp?B?GyRCOzNLXE9CSScbKEI=?=)) Date: Thu, 01 May 2014 16:32:06 +0900 (JST) Subject: validate on Mavericks Message-ID: <20140501.163206.1840638861309624749.kazu@iij.ad.jp> Hi, Many tests for validate on master fail on Mavericks. This is because clang produces some warnings. Here is an example: =====> AssocTyDef03(normal) 3519 of 3960 [0, 1649, 0] cd ./typecheck/should_fail && '/Users/kazu/work/ghc/bindisttest/install dir/bin/ghc ' -fforce-recomp -dcore-lint -dcmm-lint -dno-debug-output -no-user-package-db -rtsopt s -fno-ghci-history -c AssocTyDef03.hs >AssocTyDef03.comp.stderr 2>&1 --- ./typecheck/should_fail/tcfail218.stderr 2014-04-23 09:26:45.000000000 +0900 +++ ./typecheck/should_fail/tcfail218.comp.stderr 2014-05-01 11:28:31.000000000 +0900 @@ -1,3 +1,6 @@ +clang: warning: argument unused during compilation: '-fno-stack-protector' +clang: warning: argument unused during compilation: '-D TABLES_NEXT_TO_CODE' +clang: warning: argument unused during compilation: '-I .' tcfail218.hs:10:5: Overlapping instances for C [a] b arising from a use of ?foo? Any ideas to fix this? --Kazu From marlowsd at gmail.com Thu May 1 10:09:32 2014 From: marlowsd at gmail.com (Simon Marlow) Date: Thu, 01 May 2014 11:09:32 +0100 Subject: GHC status report In-Reply-To: References: <618BE556AADD624C9C918AA5D5911BEF0A58F2FC@DB3PRD3001MB020.064d.mgd.msft.net> <536128AF.7080209@gmail.com> Message-ID: <53621D5C.8010103@gmail.com> On 01/05/2014 02:26, George Colpitts wrote: > To elaborate, in the past, I had a lot of problems using libraries from > the ghci prompt on the Mac but I haven't tried recently. > > As an example, on the web page > for the book the > Haskell School of Expression it says: > > Note for OS X users: running graphics applications from GHCi is no > longer supported. Instead, one has to compile a graphics program > using GHC in order to run it (see example/GMIExamples.lhs for an > example). > > I had similar problems using the Yale Euterpea music program from ghci. > When I inquired I was referred to > https://ghc.haskell.org/trac/ghc/ticket/4244 and > https://ghc.haskell.org/trac/ghc/ticket/781. I see that the latter is > now scheduled for 7.10.1 I think we just punted on all the problems and assumed that dynamic linking would fix everything. What we've found is that dynamic linking causes a whole new set of problems and complexities. Meanwhile, many of the original problems have been fixed (except #781, which is kind of unfixable, but fortunately is also quite rare). Unfortunately dynamic linking is needed to support GHCi and TH on unregisterised platforms. In 7.8, GHCi and TH now works on some platforms where it didn't before (albeit not very widely used platforms). Cheers, Simon > > On Wed, Apr 30, 2014 at 1:45 PM, Simon Marlow > wrote: > > On 30/04/2014 01:35, George Colpitts wrote: > > It doesn't have anything about the dynamic linking changes made > for 7.8. > I think it's worth mentioning the improvements we expect to get from > that. The highlights of the release notes do mention it, so > maybe that > suffices. > > In particular, I'm hoping that it is going to fix a lot of > problems with > using foreign libraries such as OpenGL from ghci. I could be > wrong about > that though. > > > I'd like to understand more about what those problems are. As a > data point, at Facebook we're using static linking (I compiled GHC > with DYNAMIC_GHC_PROGRAMS=NO), we're loading upwards of 50 3rd-party > C++ libraries and one gigantic shared library consisting of a ton of > in-house C++ code, together with all our Haskell code into GHCi, and > it works perfectly. The key to using the static linker is to not > use it for C++ code - you want all your external C++ code in shared > libraries and load those using the system linker. > > Dynamic linking has been a huge headache in GHC, and it's not clear > that it's an overall improvement compared with the static linker. > Now that 7.8 is out of the way, it's time to have a conversation > about whether we want to do dynamic linking again for 7.10, or > revert to static linking. I think Austin is going to update > https://ghc.haskell.org/trac/__ghc/wiki/DynamicGhcPrograms > , and then > we'll see where we stand. > > Cheers, > Simon > > > > > On Tue, Apr 29, 2014 at 6:13 PM, Simon Peyton Jones > > >__> > wrote: > > As Austin has told us, there?s a draft of the *GHC Status > Report for > the HCAR*, here:____ > > https://ghc.haskell.org/trac/__ghc/wiki/Status/May14____ > > > > Have we missed out something you have been working hard > on? Do > take a moment to add a bullet in an appropriate place (it?s a > wiki). I?d like to be sure that we are giving credit to > all the > appropriate people, so please help us fix that too. GHC is > a team > effort.____ > > Deadline is 1 May I think.____ > > Thanks____ > > Simon____ > > __ __ > > > _________________________________________________ > ghc-devs mailing list > ghc-devs at haskell.org > > > http://www.haskell.org/__mailman/listinfo/ghc-devs > > > > > > > _________________________________________________ > ghc-devs mailing list > ghc-devs at haskell.org > http://www.haskell.org/__mailman/listinfo/ghc-devs > > > From slyich at gmail.com Thu May 1 10:03:22 2014 From: slyich at gmail.com (slyich at gmail.com) Date: Thu, 1 May 2014 13:03:22 +0300 Subject: [PATCH] make UNREG build as a platform with 0 hardware registers Message-ID: <1398938602-16939-1-git-send-email-slyich@gmail.com> From: Sergei Trofimovich 83a003fcaec93dbfd5b46837f2bf3353412b9877 introduced optimization which likes to know if a reg is a hardware reg via 'globalRegMaybe': But --enable-unregisterised does not define that function: ghc-stage1: panic! (the 'impossible' happened) (GHC version 7.9.20140419 for x86_64-unknown-linux): globalRegMaybe not defined for this platform CC: Simon Marlow Signed-off-by: Sergei Trofimovich --- includes/CodeGen.Platform.hs | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/includes/CodeGen.Platform.hs b/includes/CodeGen.Platform.hs index 3d6dd41..1e7c17d 100644 --- a/includes/CodeGen.Platform.hs +++ b/includes/CodeGen.Platform.hs @@ -743,7 +743,11 @@ globalRegMaybe CurrentNursery = Just (RealRegSingle REG_CurrentNursery # endif globalRegMaybe _ = Nothing #else +# ifdef NO_REGS +globalRegMaybe _ = Nothing +# else globalRegMaybe = panic "globalRegMaybe not defined for this platform" +# endif /* !NO_REGS */ #endif freeReg :: RegNo -> FastBool -- 1.9.2 From p.k.f.holzenspies at utwente.nl Thu May 1 12:59:23 2014 From: p.k.f.holzenspies at utwente.nl (p.k.f.holzenspies at utwente.nl) Date: Thu, 1 May 2014 12:59:23 +0000 Subject: Unexpected failure to inline, even with pragma Message-ID: Dear GHC-ers, It seems I do not quite understand the behaviour of the inliner. Consider these two modules: module Foo.Bar where foo :: Char -> IO () foo = putChar {-# INLINE bar #-} bar :: String -> IO () bar = mapM_ foo module Main where import Foo.Bar main = bar "done" I would expect the inliner to produce at least (considering the pragma) main = mapM_ foo "done" or maybe even main=mapM_ putChar "done" However, when I compile this code, that inlining does not seem to happen: $ ghc -ddump-inlinings -fforce-recomp Main.hs [1 of 2] Compiling Foo.Bar ( Foo/Bar.hs, Foo/Bar.o ) Inlining done: Foo.Bar.foo [2 of 2] Compiling Main ( Main.hs, Main.o ) Linking Main ... Indeed, when I use -ddump-simpl, ghc reports: ==================== Tidy Core ==================== Result size of Tidy Core = {terms: 7, types: 5, coercions: 0} Main.main :: GHC.Types.IO () [GblId, Str=DmdType] Main.main = Foo.Bar.bar (GHC.CString.unpackCString# "done"#) :Main.main :: GHC.Types.IO () [GblId, Str=DmdType] :Main.main = GHC.TopHandler.runMainIO @ () Main.main Can anyone explain why Foo.Bar.bar isn't inlined in Main.main? Regards, Philip -------------- next part -------------- An HTML attachment was scrubbed... URL: From djsamperi at gmail.com Thu May 1 13:48:03 2014 From: djsamperi at gmail.com (Dominick Samperi) Date: Thu, 1 May 2014 09:48:03 -0400 Subject: GHC status report In-Reply-To: References: <618BE556AADD624C9C918AA5D5911BEF0A58F2FC@DB3PRD3001MB020.064d.mgd.msft.net> <536128AF.7080209@gmail.com> Message-ID: The problem with some graphics libraries used via FFI (and other libraries that are not thread-safe), if I understand the situation correctly, is that ghci forks a thread when it shouldn't, causing some programs to miscalculate the available stack space (because they think there is only one thread). The new dynamic linking support and the flag -fno-ghci-sandbox fixes this problem, and I would not vote for the removal of these features. It is not clear to me from Simon's original post how linking to all of those C++ libs can continue to work if dynamic linking is removed in 7.10? Perhaps I misunderstand what you mean by "revert to static linking"? Thanks, Dominick On Wed, Apr 30, 2014 at 9:26 PM, George Colpitts wrote: > To elaborate, in the past, I had a lot of problems using libraries from the > ghci prompt on the Mac but I haven't tried recently. > > As an example, on the web page for the book the Haskell School of Expression > it says: > > Note for OS X users: running graphics applications from GHCi is no longer > supported. Instead, one has to compile a graphics program using GHC in order > to run it (see example/GMIExamples.lhs for an example). > > I had similar problems using the Yale Euterpea music program from ghci. When > I inquired I was referred to https://ghc.haskell.org/trac/ghc/ticket/4244 > and https://ghc.haskell.org/trac/ghc/ticket/781. I see that the latter is > now scheduled for 7.10.1 > > > On Wed, Apr 30, 2014 at 1:45 PM, Simon Marlow wrote: >> >> On 30/04/2014 01:35, George Colpitts wrote: >>> >>> It doesn't have anything about the dynamic linking changes made for 7.8. >>> I think it's worth mentioning the improvements we expect to get from >>> that. The highlights of the release notes do mention it, so maybe that >>> suffices. >>> >>> In particular, I'm hoping that it is going to fix a lot of problems with >>> using foreign libraries such as OpenGL from ghci. I could be wrong about >>> that though. >> >> >> I'd like to understand more about what those problems are. As a data >> point, at Facebook we're using static linking (I compiled GHC with >> DYNAMIC_GHC_PROGRAMS=NO), we're loading upwards of 50 3rd-party C++ >> libraries and one gigantic shared library consisting of a ton of in-house >> C++ code, together with all our Haskell code into GHCi, and it works >> perfectly. The key to using the static linker is to not use it for C++ code >> - you want all your external C++ code in shared libraries and load those >> using the system linker. >> >> Dynamic linking has been a huge headache in GHC, and it's not clear that >> it's an overall improvement compared with the static linker. Now that 7.8 >> is out of the way, it's time to have a conversation about whether we want to >> do dynamic linking again for 7.10, or revert to static linking. I think >> Austin is going to update >> https://ghc.haskell.org/trac/ghc/wiki/DynamicGhcPrograms, and then we'll see >> where we stand. >> >> Cheers, >> Simon >> >> >> >>> >>> On Tue, Apr 29, 2014 at 6:13 PM, Simon Peyton Jones >>> > wrote: >>> >>> As Austin has told us, there's a draft of the *GHC Status Report for >>> the HCAR*, here:____ >>> >>> https://ghc.haskell.org/trac/ghc/wiki/Status/May14____ >>> >>> >>> Have we missed out something you have been working hard on? Do >>> take a moment to add a bullet in an appropriate place (it's a >>> wiki). I'd like to be sure that we are giving credit to all the >>> appropriate people, so please help us fix that too. GHC is a team >>> effort.____ >>> >>> Deadline is 1 May I think.____ >>> >>> Thanks____ >>> >>> Simon____ >>> >>> __ __ >>> >>> >>> _______________________________________________ >>> ghc-devs mailing list >>> ghc-devs at haskell.org >>> http://www.haskell.org/mailman/listinfo/ghc-devs >>> >>> >>> >>> >>> >>> _______________________________________________ >>> ghc-devs mailing list >>> ghc-devs at haskell.org >>> http://www.haskell.org/mailman/listinfo/ghc-devs >>> > > > _______________________________________________ > ghc-devs mailing list > ghc-devs at haskell.org > http://www.haskell.org/mailman/listinfo/ghc-devs > From mail at joachim-breitner.de Thu May 1 14:14:12 2014 From: mail at joachim-breitner.de (Joachim Breitner) Date: Thu, 01 May 2014 16:14:12 +0200 Subject: Unexpected failure to inline, even with pragma In-Reply-To: References: Message-ID: <1398953652.2600.20.camel@kirk> Hi, Am Donnerstag, den 01.05.2014, 12:59 +0000 schrieb p.k.f.holzenspies at utwente.nl: > $ ghc -ddump-inlinings -fforce-recomp Main.hs You need to pass "-O" to ghc. (I didn?t check if that fixes it, but without it the optimizer does very very little.) Greetings, Joachim -- Joachim ?nomeata? Breitner mail at joachim-breitner.de ? http://www.joachim-breitner.de/ Jabber: nomeata at joachim-breitner.de ? GPG-Key: 0xF0FBF51F Debian Developer: nomeata at debian.org -------------- next part -------------- A non-text attachment was scrubbed... Name: signature.asc Type: application/pgp-signature Size: 836 bytes Desc: This is a digitally signed message part URL: From eir at cis.upenn.edu Thu May 1 14:26:47 2014 From: eir at cis.upenn.edu (Richard Eisenberg) Date: Thu, 1 May 2014 10:26:47 -0400 Subject: validate on Mavericks In-Reply-To: <20140501.163206.1840638861309624749.kazu@iij.ad.jp> References: <20140501.163206.1840638861309624749.kazu@iij.ad.jp> Message-ID: <9FF77456-D0C1-4BED-8977-DC0C0601A06D@cis.upenn.edu> I've posted this problem as #9047 (https://ghc.haskell.org/trac/ghc/ticket/9047), but I have no information to help you -- sorry! Richard On May 1, 2014, at 3:32 AM, Kazu Yamamoto (????) wrote: > Hi, > > Many tests for validate on master fail on Mavericks. This is because clang > produces some warnings. Here is an example: > > =====> AssocTyDef03(normal) 3519 of 3960 [0, 1649, 0] > cd ./typecheck/should_fail && '/Users/kazu/work/ghc/bindisttest/install dir/bin/ghc > ' -fforce-recomp -dcore-lint -dcmm-lint -dno-debug-output -no-user-package-db -rtsopt > s -fno-ghci-history -c AssocTyDef03.hs >AssocTyDef03.comp.stderr 2>&1 > --- ./typecheck/should_fail/tcfail218.stderr 2014-04-23 09:26:45.000000000 +0900 > +++ ./typecheck/should_fail/tcfail218.comp.stderr 2014-05-01 11:28:31.000000000 > +0900 > @@ -1,3 +1,6 @@ > +clang: warning: argument unused during compilation: '-fno-stack-protector' > +clang: warning: argument unused during compilation: '-D TABLES_NEXT_TO_CODE' > +clang: warning: argument unused during compilation: '-I .' > > tcfail218.hs:10:5: > Overlapping instances for C [a] b arising from a use of ?foo? > > > Any ideas to fix this? > > --Kazu > _______________________________________________ > ghc-devs mailing list > ghc-devs at haskell.org > http://www.haskell.org/mailman/listinfo/ghc-devs > From ekmett at gmail.com Thu May 1 14:27:16 2014 From: ekmett at gmail.com (Edward Kmett) Date: Thu, 1 May 2014 10:27:16 -0400 Subject: GHC status report In-Reply-To: <618BE556AADD624C9C918AA5D5911BEF0A590A80@DB3PRD3001MB020.064d.mgd.msft.net> References: <618BE556AADD624C9C918AA5D5911BEF0A58F2FC@DB3PRD3001MB020.064d.mgd.msft.net> <536128AF.7080209@gmail.com> <618BE556AADD624C9C918AA5D5911BEF0A590A80@DB3PRD3001MB020.064d.mgd.msft.net> Message-ID: Figured I'd make one case for dynamic linking: https://github.com/ekmett/rounded Dynamic linking is finally enabling us to build a version of MPFR bindings for Haskell for scientific/high precision computing with 7.8. I would really hate to lose it after all of these years trying to get it work, as I have a rather large edifice being built atop that platform. We tried and failed due to limitations of the old linker for almost 3 years. That said, -dynamic-too seems to cause me all sorts of problems elsewhere. ^C'ing out of a build and restarting it will often make a .o but lose the .dyn_o, leading to GHC + cabal getting confused and refusing to build until I clean. This hits me several times a day. -Edward On Thu, May 1, 2014 at 3:29 AM, Simon Peyton Jones wrote: > | Dynamic linking has been a huge headache in GHC, and it's not clear that > | it's an overall improvement compared with the static linker. Now that > | 7.8 is out of the way, it's time to have a conversation about whether we > | want to do dynamic linking again for 7.10, or revert to static linking. > > I echo this. Dynamic linking has had many un-anticipated costs and it is > still very far from sorted out. It originally felt like a Fantastic Idea > to give up our own linker and adopt the system linker, but it now feels to > me like a black hole, endlessly sucking effort and increasing complexity. > > My viewpoint is highly un-informed about details; I just watch the traffic > going by. And of course it does have benefits that doubtless generate less > traffic. > > Simon > > | > | > | > | > > | > On Tue, Apr 29, 2014 at 6:13 PM, Simon Peyton Jones > | > > wrote: > | > > | > As Austin has told us, there's a draft of the *GHC Status Report > | for > | > the HCAR*, here:____ > | > > | > https://ghc.haskell.org/trac/ghc/wiki/Status/May14____ > | > > | > Have we missed out something you have been working hard on? Do > | > take a moment to add a bullet in an appropriate place (it's a > | > wiki). I'd like to be sure that we are giving credit to all the > | > appropriate people, so please help us fix that too. GHC is a team > | > effort.____ > | > > | > Deadline is 1 May I think.____ > | > > | > Thanks____ > | > > | > Simon____ > | > > | > __ __ > | > > | > > | > _______________________________________________ > | > ghc-devs mailing list > | > ghc-devs at haskell.org > | > http://www.haskell.org/mailman/listinfo/ghc-devs > | > > | > > | > > | > > | > _______________________________________________ > | > ghc-devs mailing list > | > ghc-devs at haskell.org > | > http://www.haskell.org/mailman/listinfo/ghc-devs > | > > _______________________________________________ > ghc-devs mailing list > ghc-devs at haskell.org > http://www.haskell.org/mailman/listinfo/ghc-devs > -------------- next part -------------- An HTML attachment was scrubbed... URL: From p.k.f.holzenspies at utwente.nl Thu May 1 14:34:48 2014 From: p.k.f.holzenspies at utwente.nl (p.k.f.holzenspies at utwente.nl) Date: Thu, 1 May 2014 14:34:48 +0000 Subject: Unexpected failure to inline, even with pragma In-Reply-To: <1398953652.2600.20.camel@kirk> References: <1398953652.2600.20.camel@kirk> Message-ID: Dear Joachim, et al., Yes, you were right, this does fix it. This confuses me even more as to why it *did* inline Foo.Bar.foo in Foo.Bar.bar without -O, though. Is -O required for optimization across module bounds? Also, since I really want a certain level of inlining for a plugin I'm working on; is there a way to force (from the plugin, i.e. using the API) to force inlining of a term at its call-site? Alternatively (weaker), can I force - from a compiler plugin - the inliner to behave as if -O was set even if it wasn't? I may be doing things in a roundabout way, but here's my thinking: I want to write a combinatory-library with a plugin that optimizes uses of this library using non-trivial domain knowledge. However, the primitive combinators for which my plugin is defined are hard to use. I want to offer users higher-level combinators that are expressed in terms of those primitive ones, but I don't want to complicate my plugin too much. If, somehow, I could make absolutely sure all the non-primitive combinators were inlined (again, this may be done using API-calls rather than pragma's), I could define my plugin-logic only in terms of the primitive ones... this would be bliss :D Regards, Philip > -----Original Message----- > From: Joachim Breitner [mailto:mail at joachim-breitner.de] > Sent: donderdag 1 mei 2014 16:14 > To: ghc-devs at haskell.org > Subject: Re: Unexpected failure to inline, even with pragma > > Hi, > > Am Donnerstag, den 01.05.2014, 12:59 +0000 schrieb > p.k.f.holzenspies at utwente.nl: > > $ ghc -ddump-inlinings -fforce-recomp Main.hs > > You need to pass "-O" to ghc. > > (I didn?t check if that fixes it, but without it the optimizer does very > very little.) > > Greetings, > Joachim > > -- > Joachim ?nomeata? Breitner > mail at joachim-breitner.de ? http://www.joachim-breitner.de/ > Jabber: nomeata at joachim-breitner.de ? GPG-Key: 0xF0FBF51F > Debian Developer: nomeata at debian.org From marlowsd at gmail.com Thu May 1 21:27:00 2014 From: marlowsd at gmail.com (Simon Marlow) Date: Thu, 01 May 2014 22:27:00 +0100 Subject: GHC status report In-Reply-To: References: <618BE556AADD624C9C918AA5D5911BEF0A58F2FC@DB3PRD3001MB020.064d.mgd.msft.net> <536128AF.7080209@gmail.com> Message-ID: <5362BC24.9030101@gmail.com> On 01/05/14 14:48, Dominick Samperi wrote: > The problem with some graphics libraries used via FFI (and other libraries > that are not thread-safe), if I understand the situation correctly, is that ghci > forks a thread when it shouldn't, causing some programs to miscalculate > the available stack space (because they think there is only one thread). > > The new dynamic linking support and the flag -fno-ghci-sandbox fixes > this problem, and I would not vote for the removal of these features. So I understand how -fno-ghci-sandbox avoids problems with GUI libraries that use thread-local state. But how is dynamic linking involved here? What improved in GHC 7.8 relative to 7.6 for you? And could you clarify "miscalculate the available stack space"? What needs to calculate stack space? Why? C stack space? We can certainly make a smoother experience around -fno-ghci-sandbox for using GUI libraries. > It is not clear to me from Simon's original post how linking to all of > those C++ libs can continue to work if dynamic linking is removed > in 7.10? Perhaps I misunderstand what you mean by "revert to > static linking"? When I say "revert to static linking" I mean make GHCi static linked, and have it load Haskell code compiled for static linking using the RTS linker (like it did in 7.6). Foreign libraries would still be loaded using the system linker, as they always have been. To be clear, I'm not officially proposing that we drop dynamic linking, but I think it's worthwhile exploring the design space again, given that we know dynamic linking has been tougher than we expected. Cheers, Simon > Thanks, > Dominick > > > On Wed, Apr 30, 2014 at 9:26 PM, George Colpitts > wrote: >> To elaborate, in the past, I had a lot of problems using libraries from the >> ghci prompt on the Mac but I haven't tried recently. >> >> As an example, on the web page for the book the Haskell School of Expression >> it says: >> >> Note for OS X users: running graphics applications from GHCi is no longer >> supported. Instead, one has to compile a graphics program using GHC in order >> to run it (see example/GMIExamples.lhs for an example). >> >> I had similar problems using the Yale Euterpea music program from ghci. When >> I inquired I was referred to https://ghc.haskell.org/trac/ghc/ticket/4244 >> and https://ghc.haskell.org/trac/ghc/ticket/781. I see that the latter is >> now scheduled for 7.10.1 >> >> >> On Wed, Apr 30, 2014 at 1:45 PM, Simon Marlow wrote: >>> >>> On 30/04/2014 01:35, George Colpitts wrote: >>>> >>>> It doesn't have anything about the dynamic linking changes made for 7.8. >>>> I think it's worth mentioning the improvements we expect to get from >>>> that. The highlights of the release notes do mention it, so maybe that >>>> suffices. >>>> >>>> In particular, I'm hoping that it is going to fix a lot of problems with >>>> using foreign libraries such as OpenGL from ghci. I could be wrong about >>>> that though. >>> >>> >>> I'd like to understand more about what those problems are. As a data >>> point, at Facebook we're using static linking (I compiled GHC with >>> DYNAMIC_GHC_PROGRAMS=NO), we're loading upwards of 50 3rd-party C++ >>> libraries and one gigantic shared library consisting of a ton of in-house >>> C++ code, together with all our Haskell code into GHCi, and it works >>> perfectly. The key to using the static linker is to not use it for C++ code >>> - you want all your external C++ code in shared libraries and load those >>> using the system linker. >>> >>> Dynamic linking has been a huge headache in GHC, and it's not clear that >>> it's an overall improvement compared with the static linker. Now that 7.8 >>> is out of the way, it's time to have a conversation about whether we want to >>> do dynamic linking again for 7.10, or revert to static linking. I think >>> Austin is going to update >>> https://ghc.haskell.org/trac/ghc/wiki/DynamicGhcPrograms, and then we'll see >>> where we stand. >>> >>> Cheers, >>> Simon >>> >>> >>> >>>> >>>> On Tue, Apr 29, 2014 at 6:13 PM, Simon Peyton Jones >>>> > wrote: >>>> >>>> As Austin has told us, there's a draft of the *GHC Status Report for >>>> the HCAR*, here:____ >>>> >>>> https://ghc.haskell.org/trac/ghc/wiki/Status/May14____ >>>> >>>> >>>> Have we missed out something you have been working hard on? Do >>>> take a moment to add a bullet in an appropriate place (it's a >>>> wiki). I'd like to be sure that we are giving credit to all the >>>> appropriate people, so please help us fix that too. GHC is a team >>>> effort.____ >>>> >>>> Deadline is 1 May I think.____ >>>> >>>> Thanks____ >>>> >>>> Simon____ >>>> >>>> __ __ >>>> >>>> >>>> _______________________________________________ >>>> ghc-devs mailing list >>>> ghc-devs at haskell.org >>>> http://www.haskell.org/mailman/listinfo/ghc-devs >>>> >>>> >>>> >>>> >>>> >>>> _______________________________________________ >>>> ghc-devs mailing list >>>> ghc-devs at haskell.org >>>> http://www.haskell.org/mailman/listinfo/ghc-devs >>>> >> >> >> _______________________________________________ >> ghc-devs mailing list >> ghc-devs at haskell.org >> http://www.haskell.org/mailman/listinfo/ghc-devs >> From marlowsd at gmail.com Thu May 1 21:30:03 2014 From: marlowsd at gmail.com (Simon Marlow) Date: Thu, 01 May 2014 22:30:03 +0100 Subject: GHC status report In-Reply-To: References: <618BE556AADD624C9C918AA5D5911BEF0A58F2FC@DB3PRD3001MB020.064d.mgd.msft.net> <536128AF.7080209@gmail.com> <618BE556AADD624C9C918AA5D5911BEF0A590A80@DB3PRD3001MB020.064d.mgd.msft.net> Message-ID: <5362BCDB.2060500@gmail.com> On 01/05/14 15:27, Edward Kmett wrote: > Figured I'd make one case for dynamic linking: > > https://github.com/ekmett/rounded > > Dynamic linking is finally enabling us to build a version of MPFR > bindings for Haskell for scientific/high precision computing with 7.8. I > would really hate to lose it after all of these years trying to get it > work, as I have a rather large edifice being built atop that platform. > We tried and failed due to limitations of the old linker for almost 3 years. I understand the issues with MPFR. But how is dynamic linking helping? > That said, -dynamic-too seems to cause me all sorts of problems > elsewhere. ^C'ing out of a build and restarting it will often make a .o > but lose the .dyn_o, leading to GHC + cabal getting confused and > refusing to build until I clean. This hits me several times a day. We should fix this (or at least make it a lot less likely). Is there a ticket? Cheers, Simon > -Edward > > > On Thu, May 1, 2014 at 3:29 AM, Simon Peyton Jones > > wrote: > > | Dynamic linking has been a huge headache in GHC, and it's not > clear that > | it's an overall improvement compared with the static linker. Now that > | 7.8 is out of the way, it's time to have a conversation about > whether we > | want to do dynamic linking again for 7.10, or revert to static > linking. > > I echo this. Dynamic linking has had many un-anticipated costs and > it is still very far from sorted out. It originally felt like a > Fantastic Idea to give up our own linker and adopt the system > linker, but it now feels to me like a black hole, endlessly sucking > effort and increasing complexity. > > My viewpoint is highly un-informed about details; I just watch the > traffic going by. And of course it does have benefits that > doubtless generate less traffic. > > Simon > > | > | > | > | > > | > On Tue, Apr 29, 2014 at 6:13 PM, Simon Peyton Jones > | > > >> wrote: > | > > | > As Austin has told us, there's a draft of the *GHC Status Report > | for > | > the HCAR*, here:____ > | > > | > https://ghc.haskell.org/trac/ghc/wiki/Status/May14____ > | > > | > Have we missed out something you have been working hard on? Do > | > take a moment to add a bullet in an appropriate place (it's a > | > wiki). I'd like to be sure that we are giving credit to all the > | > appropriate people, so please help us fix that too. GHC is > a team > | > effort.____ > | > > | > Deadline is 1 May I think.____ > | > > | > Thanks____ > | > > | > Simon____ > | > > | > __ __ > | > > | > > | > _______________________________________________ > | > ghc-devs mailing list > | > ghc-devs at haskell.org > > > | > http://www.haskell.org/mailman/listinfo/ghc-devs > | > > | > > | > > | > > | > _______________________________________________ > | > ghc-devs mailing list > | > ghc-devs at haskell.org > | > http://www.haskell.org/mailman/listinfo/ghc-devs > | > > _______________________________________________ > ghc-devs mailing list > ghc-devs at haskell.org > http://www.haskell.org/mailman/listinfo/ghc-devs > > From carter.schonwald at gmail.com Thu May 1 23:37:05 2014 From: carter.schonwald at gmail.com (Carter Schonwald) Date: Thu, 1 May 2014 19:37:05 -0400 Subject: GHC status report In-Reply-To: <5362BCDB.2060500@gmail.com> References: <618BE556AADD624C9C918AA5D5911BEF0A58F2FC@DB3PRD3001MB020.064d.mgd.msft.net> <536128AF.7080209@gmail.com> <618BE556AADD624C9C918AA5D5911BEF0A590A80@DB3PRD3001MB020.064d.mgd.msft.net> <5362BCDB.2060500@gmail.com> Message-ID: another example of a library that becomes usable in ghci with 7.8 is llvm-general. Namely, with ghc 7.8, when llvm-general is built so it dynamically links to the system's LLVM library, I can run / invoke LLVM operations in GHCi. I believe that this is due to the same reason many other libraries wouldn't work in ghci historically, namely the GHC static linker can't handle linking to the various C++ things (i forget the names of the linkage notions come up when loading C++, whatever those are) hackage.haskell.org/package/llvm-general mind you this is only when the sharedllvm flag is switched on. This of course has the down side that an llvm-general install thats suitable for interactive experimentation is not an llvm-beneral install thats suitable for distributing static linked binaries. On Thu, May 1, 2014 at 5:30 PM, Simon Marlow wrote: > On 01/05/14 15:27, Edward Kmett wrote: > >> Figured I'd make one case for dynamic linking: >> >> https://github.com/ekmett/rounded >> >> Dynamic linking is finally enabling us to build a version of MPFR >> bindings for Haskell for scientific/high precision computing with 7.8. I >> would really hate to lose it after all of these years trying to get it >> work, as I have a rather large edifice being built atop that platform. >> We tried and failed due to limitations of the old linker for almost 3 >> years. >> > > I understand the issues with MPFR. But how is dynamic linking helping? > > > That said, -dynamic-too seems to cause me all sorts of problems >> elsewhere. ^C'ing out of a build and restarting it will often make a .o >> but lose the .dyn_o, leading to GHC + cabal getting confused and >> refusing to build until I clean. This hits me several times a day. >> > > We should fix this (or at least make it a lot less likely). Is there a > ticket? > > Cheers, > Simon > > > -Edward >> >> >> On Thu, May 1, 2014 at 3:29 AM, Simon Peyton Jones >> > wrote: >> >> | Dynamic linking has been a huge headache in GHC, and it's not >> clear that >> | it's an overall improvement compared with the static linker. Now >> that >> | 7.8 is out of the way, it's time to have a conversation about >> whether we >> | want to do dynamic linking again for 7.10, or revert to static >> linking. >> >> I echo this. Dynamic linking has had many un-anticipated costs and >> it is still very far from sorted out. It originally felt like a >> Fantastic Idea to give up our own linker and adopt the system >> linker, but it now feels to me like a black hole, endlessly sucking >> effort and increasing complexity. >> >> My viewpoint is highly un-informed about details; I just watch the >> traffic going by. And of course it does have benefits that >> doubtless generate less traffic. >> >> Simon >> >> | >> | >> | >> | > >> | > On Tue, Apr 29, 2014 at 6:13 PM, Simon Peyton Jones >> | > >> >> wrote: >> | > >> | > As Austin has told us, there's a draft of the *GHC Status >> Report >> | for >> | > the HCAR*, here:____ >> | > >> | > https://ghc.haskell.org/trac/ghc/wiki/Status/May14____ >> | > >> | > Have we missed out something you have been working hard on? >> Do >> | > take a moment to add a bullet in an appropriate place (it's a >> | > wiki). I'd like to be sure that we are giving credit to all >> the >> | > appropriate people, so please help us fix that too. GHC is >> a team >> | > effort.____ >> | > >> | > Deadline is 1 May I think.____ >> | > >> | > Thanks____ >> | > >> | > Simon____ >> | > >> | > __ __ >> | > >> | > >> | > _______________________________________________ >> | > ghc-devs mailing list >> | > ghc-devs at haskell.org >> > >> >> | > http://www.haskell.org/mailman/listinfo/ghc-devs >> | > >> | > >> | > >> | > >> | > _______________________________________________ >> | > ghc-devs mailing list >> | > ghc-devs at haskell.org >> | > http://www.haskell.org/mailman/listinfo/ghc-devs >> | > >> _______________________________________________ >> ghc-devs mailing list >> ghc-devs at haskell.org >> http://www.haskell.org/mailman/listinfo/ghc-devs >> >> >> > _______________________________________________ > ghc-devs mailing list > ghc-devs at haskell.org > http://www.haskell.org/mailman/listinfo/ghc-devs > -------------- next part -------------- An HTML attachment was scrubbed... URL: From ekmett at gmail.com Thu May 1 23:46:17 2014 From: ekmett at gmail.com (Edward Kmett) Date: Thu, 1 May 2014 19:46:17 -0400 Subject: GHC status report In-Reply-To: <5362BCDB.2060500@gmail.com> References: <618BE556AADD624C9C918AA5D5911BEF0A58F2FC@DB3PRD3001MB020.064d.mgd.msft.net> <536128AF.7080209@gmail.com> <618BE556AADD624C9C918AA5D5911BEF0A590A80@DB3PRD3001MB020.064d.mgd.msft.net> <5362BCDB.2060500@gmail.com> Message-ID: With the old custom linker we weren't able to get our custom MPFR linked in properly on all platforms for use in ghci. On Macs we ran into some rather interesting problems. We could get it to work for actual executables, but ghci would segfault with stuff resolved to clearly wrong addresses. If I recall correctly it may have been some kind of MachO symbol type that wasn't being resolved properly by the custom GHC linker, perhaps? We chased after it off and on for a long time to no avail. It was complicated a great deal by having to build their library and merge it directly into ours, because we couldn't use system MPFR, due to the issues with the GHC garbage collector hooks into GMP. Switching to the system dynamic linker fo ghci seems to have resolved all of that effortlessly. Dan Peebles has been talking to the MPFR folks to see if we can get them to expose enough information about the 'hidden' allocations they use that we can make them visible to GHC or have them do what our local fix does and avoid using the MPFR allocator for their hidden constant cache. If they do that then we can actually link to the library like normal rather than link it in directly, but it isn't clear to me what would happen even with those hooks if we rolled back to something like the old custom linker. -Edward On Thu, May 1, 2014 at 5:30 PM, Simon Marlow wrote: > On 01/05/14 15:27, Edward Kmett wrote: > >> Figured I'd make one case for dynamic linking: >> >> https://github.com/ekmett/rounded >> >> Dynamic linking is finally enabling us to build a version of MPFR >> bindings for Haskell for scientific/high precision computing with 7.8. I >> would really hate to lose it after all of these years trying to get it >> work, as I have a rather large edifice being built atop that platform. >> We tried and failed due to limitations of the old linker for almost 3 >> years. >> > > I understand the issues with MPFR. But how is dynamic linking helping? > > > That said, -dynamic-too seems to cause me all sorts of problems >> elsewhere. ^C'ing out of a build and restarting it will often make a .o >> but lose the .dyn_o, leading to GHC + cabal getting confused and >> refusing to build until I clean. This hits me several times a day. >> > > We should fix this (or at least make it a lot less likely). Is there a > ticket? > > Cheers, > Simon > > > -Edward >> >> >> On Thu, May 1, 2014 at 3:29 AM, Simon Peyton Jones >> > wrote: >> >> | Dynamic linking has been a huge headache in GHC, and it's not >> clear that >> | it's an overall improvement compared with the static linker. Now >> that >> | 7.8 is out of the way, it's time to have a conversation about >> whether we >> | want to do dynamic linking again for 7.10, or revert to static >> linking. >> >> I echo this. Dynamic linking has had many un-anticipated costs and >> it is still very far from sorted out. It originally felt like a >> Fantastic Idea to give up our own linker and adopt the system >> linker, but it now feels to me like a black hole, endlessly sucking >> effort and increasing complexity. >> >> My viewpoint is highly un-informed about details; I just watch the >> traffic going by. And of course it does have benefits that >> doubtless generate less traffic. >> >> Simon >> >> | >> | >> | >> | > >> | > On Tue, Apr 29, 2014 at 6:13 PM, Simon Peyton Jones >> | > >> >> wrote: >> | > >> | > As Austin has told us, there's a draft of the *GHC Status >> Report >> | for >> | > the HCAR*, here:____ >> | > >> | > https://ghc.haskell.org/trac/ghc/wiki/Status/May14____ >> | > >> | > Have we missed out something you have been working hard on? >> Do >> | > take a moment to add a bullet in an appropriate place (it's a >> | > wiki). I'd like to be sure that we are giving credit to all >> the >> | > appropriate people, so please help us fix that too. GHC is >> a team >> | > effort.____ >> | > >> | > Deadline is 1 May I think.____ >> | > >> | > Thanks____ >> | > >> | > Simon____ >> | > >> | > __ __ >> | > >> | > >> | > _______________________________________________ >> | > ghc-devs mailing list >> | > ghc-devs at haskell.org >> > >> >> | > http://www.haskell.org/mailman/listinfo/ghc-devs >> | > >> | > >> | > >> | > >> | > _______________________________________________ >> | > ghc-devs mailing list >> | > ghc-devs at haskell.org >> | > http://www.haskell.org/mailman/listinfo/ghc-devs >> | > >> _______________________________________________ >> ghc-devs mailing list >> ghc-devs at haskell.org >> http://www.haskell.org/mailman/listinfo/ghc-devs >> >> >> > -------------- next part -------------- An HTML attachment was scrubbed... URL: From ekmett at gmail.com Thu May 1 23:59:29 2014 From: ekmett at gmail.com (Edward Kmett) Date: Thu, 1 May 2014 19:59:29 -0400 Subject: GHC status report In-Reply-To: <5362BCDB.2060500@gmail.com> References: <618BE556AADD624C9C918AA5D5911BEF0A58F2FC@DB3PRD3001MB020.064d.mgd.msft.net> <536128AF.7080209@gmail.com> <618BE556AADD624C9C918AA5D5911BEF0A590A80@DB3PRD3001MB020.064d.mgd.msft.net> <5362BCDB.2060500@gmail.com> Message-ID: On Thu, May 1, 2014 at 5:30 PM, Simon Marlow wrote: > We should fix this (or at least make it a lot less likely). Is there a > ticket? > Not yet. I just converted to 7.8.2 the other day (I'd been running the release candidate) and wanted to duplicate the problem first. I haven't been writing code on my larger projects since upgrading, so I've yet to experience the problem again. A similar issue was happening with parallel rebuilds with -j on a Mac after ^C'ing out of a cabal build, when compiling with -dynamic-too, where it winds up blaming missing files, but can't generate them That has caused me to abandon using -j during development. I encountered this one first, and I'm not sure if these are both just the same error. If I had to guess part of the problem seems like the logic in cabal and/or ghc around -dynamic-too treats the .dyn_foo and the .foo files as one inseparable artifact, when you can actually wind up with one of them and not the other. A final dynamic-linking issue that is only tangentially related is that it seems the dynamic-only code path is a bit broken as well. e.g. shared: True, executable-dynamic: True in cabal. I've had it complain about about looking for missing installed .hi files and skip right past the .dyn_hi files when working on a subsequent package that uses the first one. The only real relevance of that issue is that I was hoping to use it to cut my build times and to address the above concerns by not having two artifacts being produced when the tooling is designed around one, but I seem forced to build both. As soon as I have a build break in a way that I can show a decent trace, I'll put in a ticket. -Edward > Cheers, > Simon > > > -Edward >> >> >> On Thu, May 1, 2014 at 3:29 AM, Simon Peyton Jones >> > wrote: >> >> | Dynamic linking has been a huge headache in GHC, and it's not >> clear that >> | it's an overall improvement compared with the static linker. Now >> that >> | 7.8 is out of the way, it's time to have a conversation about >> whether we >> | want to do dynamic linking again for 7.10, or revert to static >> linking. >> >> I echo this. Dynamic linking has had many un-anticipated costs and >> it is still very far from sorted out. It originally felt like a >> Fantastic Idea to give up our own linker and adopt the system >> linker, but it now feels to me like a black hole, endlessly sucking >> effort and increasing complexity. >> >> My viewpoint is highly un-informed about details; I just watch the >> traffic going by. And of course it does have benefits that >> doubtless generate less traffic. >> >> Simon >> >> | >> | >> | >> | > >> | > On Tue, Apr 29, 2014 at 6:13 PM, Simon Peyton Jones >> | > >> >> wrote: >> | > >> | > As Austin has told us, there's a draft of the *GHC Status >> Report >> | for >> | > the HCAR*, here:____ >> | > >> | > https://ghc.haskell.org/trac/ghc/wiki/Status/May14____ >> | > >> | > Have we missed out something you have been working hard on? >> Do >> | > take a moment to add a bullet in an appropriate place (it's a >> | > wiki). I'd like to be sure that we are giving credit to all >> the >> | > appropriate people, so please help us fix that too. GHC is >> a team >> | > effort.____ >> | > >> | > Deadline is 1 May I think.____ >> | > >> | > Thanks____ >> | > >> | > Simon____ >> | > >> | > __ __ >> | > >> | > >> | > _______________________________________________ >> | > ghc-devs mailing list >> | > ghc-devs at haskell.org >> > >> >> | > http://www.haskell.org/mailman/listinfo/ghc-devs >> | > >> | > >> | > >> | > >> | > _______________________________________________ >> | > ghc-devs mailing list >> | > ghc-devs at haskell.org >> | > http://www.haskell.org/mailman/listinfo/ghc-devs >> | > >> _______________________________________________ >> ghc-devs mailing list >> ghc-devs at haskell.org >> http://www.haskell.org/mailman/listinfo/ghc-devs >> >> >> > -------------- next part -------------- An HTML attachment was scrubbed... URL: From djsamperi at gmail.com Fri May 2 00:09:43 2014 From: djsamperi at gmail.com (Dominick Samperi) Date: Thu, 1 May 2014 20:09:43 -0400 Subject: GHC status report In-Reply-To: <5362BC24.9030101@gmail.com> References: <618BE556AADD624C9C918AA5D5911BEF0A58F2FC@DB3PRD3001MB020.064d.mgd.msft.net> <536128AF.7080209@gmail.com> <5362BC24.9030101@gmail.com> Message-ID: It turns out that the 7.8 update fixed problems that were NOT fixed by using -fno-ghci-sandbox with earlier versions of ghci, like 7.6.3, so this flag by itself did not address the issue. I assumed (perhaps incorrectly) that a full explanation must include the new dynamic linking support. With 7.6.3 the problem arises when using FFI and embeded R, which involves linking to its shared library libR.so. Linking seems to be successful, but the program crashes when run, with a message about C stack overflow and/or a segfault. (Note that this does not happen when the program is compiled using ghc...only ghci has the problem.) On the stack space question, embedded R tries to detect when C stack space is exhausted by inspecting the address of variables allocated in a function call, using code something like this (in R src/main/errors.c): void (R_CheckStack)(void) { int dummy; intptr_t usage = R_CStackDir * (R_CStackStart - (uintptr_t)&dummy; ... } The seg fault happens with ghci 7.6.3 with or without the flag -fno-ghci-sandbox. With 7.8.2 the seg fault happens if the flag -fno-ghci-sandbox is omitted; with the flag everything works fine. If I understand your last comment correctly linking to libR should continue to work, even if you revert to static linking of Haskell compiled code via RTS linker. Since you say this is the way things have always been, perhaps the real explanation for why 7.8 fixed the issue is that some bug was fixed along the way... Note that R is a C library, so the C++ issues that Carter mentions are not a factor here. Thanks, Dominick On Thu, May 1, 2014 at 5:27 PM, Simon Marlow wrote: > On 01/05/14 14:48, Dominick Samperi wrote: >> >> The problem with some graphics libraries used via FFI (and other libraries >> that are not thread-safe), if I understand the situation correctly, is >> that ghci >> forks a thread when it shouldn't, causing some programs to miscalculate >> the available stack space (because they think there is only one thread). > >> >> >> The new dynamic linking support and the flag -fno-ghci-sandbox fixes >> this problem, and I would not vote for the removal of these features. > > > So I understand how -fno-ghci-sandbox avoids problems with GUI libraries > that use thread-local state. But how is dynamic linking involved here? > What improved in GHC 7.8 relative to 7.6 for you? And could you clarify > "miscalculate the available stack space"? What needs to calculate stack > space? Why? C stack space? > > We can certainly make a smoother experience around -fno-ghci-sandbox for > using GUI libraries. > > >> It is not clear to me from Simon's original post how linking to all of >> those C++ libs can continue to work if dynamic linking is removed >> in 7.10? Perhaps I misunderstand what you mean by "revert to >> static linking"? > > > When I say "revert to static linking" I mean make GHCi static linked, and > have it load Haskell code compiled for static linking using the RTS linker > (like it did in 7.6). Foreign libraries would still be loaded using the > system linker, as they always have been. > > To be clear, I'm not officially proposing that we drop dynamic linking, but > I think it's worthwhile exploring the design space again, given that we know > dynamic linking has been tougher than we expected. > > Cheers, > Simon > > > >> Thanks, >> Dominick >> >> >> On Wed, Apr 30, 2014 at 9:26 PM, George Colpitts >> wrote: >>> >>> To elaborate, in the past, I had a lot of problems using libraries from >>> the >>> ghci prompt on the Mac but I haven't tried recently. >>> >>> As an example, on the web page for the book the Haskell School of >>> Expression >>> it says: >>> >>> Note for OS X users: running graphics applications from GHCi is no longer >>> supported. Instead, one has to compile a graphics program using GHC in >>> order >>> to run it (see example/GMIExamples.lhs for an example). >>> >>> I had similar problems using the Yale Euterpea music program from ghci. >>> When >>> I inquired I was referred to https://ghc.haskell.org/trac/ghc/ticket/4244 >>> and https://ghc.haskell.org/trac/ghc/ticket/781. I see that the latter is >>> now scheduled for 7.10.1 >>> >>> >>> On Wed, Apr 30, 2014 at 1:45 PM, Simon Marlow wrote: >>>> >>>> >>>> On 30/04/2014 01:35, George Colpitts wrote: >>>>> >>>>> >>>>> It doesn't have anything about the dynamic linking changes made for >>>>> 7.8. >>>>> I think it's worth mentioning the improvements we expect to get from >>>>> that. The highlights of the release notes do mention it, so maybe that >>>>> suffices. >>>>> >>>>> In particular, I'm hoping that it is going to fix a lot of problems >>>>> with >>>>> using foreign libraries such as OpenGL from ghci. I could be wrong >>>>> about >>>>> that though. >>>> >>>> >>>> >>>> I'd like to understand more about what those problems are. As a data >>>> point, at Facebook we're using static linking (I compiled GHC with >>>> DYNAMIC_GHC_PROGRAMS=NO), we're loading upwards of 50 3rd-party C++ >>>> libraries and one gigantic shared library consisting of a ton of >>>> in-house >>>> C++ code, together with all our Haskell code into GHCi, and it works >>>> perfectly. The key to using the static linker is to not use it for C++ >>>> code >>>> - you want all your external C++ code in shared libraries and load those >>>> using the system linker. >>>> >>>> Dynamic linking has been a huge headache in GHC, and it's not clear that >>>> it's an overall improvement compared with the static linker. Now that >>>> 7.8 >>>> is out of the way, it's time to have a conversation about whether we >>>> want to >>>> do dynamic linking again for 7.10, or revert to static linking. I think >>>> Austin is going to update >>>> https://ghc.haskell.org/trac/ghc/wiki/DynamicGhcPrograms, and then we'll >>>> see >>>> where we stand. >>>> >>>> Cheers, >>>> Simon >>>> >>>> >>>> >>>>> >>>>> On Tue, Apr 29, 2014 at 6:13 PM, Simon Peyton Jones >>>>> > wrote: >>>>> >>>>> As Austin has told us, there's a draft of the *GHC Status Report >>>>> for >>>>> the HCAR*, here:____ >>>>> >>>>> https://ghc.haskell.org/trac/ghc/wiki/Status/May14____ >>>>> >>>>> >>>>> Have we missed out something you have been working hard on? Do >>>>> take a moment to add a bullet in an appropriate place (it's a >>>>> wiki). I'd like to be sure that we are giving credit to all the >>>>> appropriate people, so please help us fix that too. GHC is a team >>>>> effort.____ >>>>> >>>>> Deadline is 1 May I think.____ >>>>> >>>>> Thanks____ >>>>> >>>>> Simon____ >>>>> >>>>> __ __ >>>>> >>>>> >>>>> _______________________________________________ >>>>> ghc-devs mailing list >>>>> ghc-devs at haskell.org >>>>> http://www.haskell.org/mailman/listinfo/ghc-devs >>>>> >>>>> >>>>> >>>>> >>>>> >>>>> _______________________________________________ >>>>> ghc-devs mailing list >>>>> ghc-devs at haskell.org >>>>> http://www.haskell.org/mailman/listinfo/ghc-devs >>>>> >>> >>> >>> _______________________________________________ >>> ghc-devs mailing list >>> ghc-devs at haskell.org >>> http://www.haskell.org/mailman/listinfo/ghc-devs >>> > From djsamperi at gmail.com Fri May 2 05:57:49 2014 From: djsamperi at gmail.com (Dominick Samperi) Date: Fri, 2 May 2014 01:57:49 -0400 Subject: GHC status report In-Reply-To: References: <618BE556AADD624C9C918AA5D5911BEF0A58F2FC@DB3PRD3001MB020.064d.mgd.msft.net> <536128AF.7080209@gmail.com> <5362BC24.9030101@gmail.com> Message-ID: The problems I was seeing with ghci prior to 7.8 are similar to the ones reported by Edward Kmett above: addresses were mapped incorrectly. This was compounded by the fact that the library used was not thread-safe, so there were two issues, which may explain why -fno-ghci-sandbox did not help. On Thu, May 1, 2014 at 8:09 PM, Dominick Samperi wrote: > It turns out that the 7.8 update fixed problems that were NOT > fixed by using -fno-ghci-sandbox with earlier versions of ghci, > like 7.6.3, so this flag by itself did not address the issue. I > assumed (perhaps incorrectly) that a full explanation must > include the new dynamic linking support. > > With 7.6.3 the problem arises when using FFI and embeded R, which > involves linking to its shared library libR.so. Linking seems to be > successful, but the program crashes when run, with a message > about C stack overflow and/or a segfault. (Note that this does not > happen when the program is compiled using ghc...only ghci has > the problem.) > > On the stack space question, embedded R tries to detect when > C stack space is exhausted by inspecting the address of variables > allocated in a function call, using code something like > this (in R src/main/errors.c): > > void (R_CheckStack)(void) > { > int dummy; > intptr_t usage = R_CStackDir * (R_CStackStart - (uintptr_t)&dummy; > ... > } > > The seg fault happens with ghci 7.6.3 with or without the flag > -fno-ghci-sandbox. > With 7.8.2 the seg fault happens if the flag -fno-ghci-sandbox is > omitted; with the flag everything works fine. > > If I understand your last comment correctly linking to libR should > continue to work, even if you revert to static linking of Haskell compiled > code via RTS linker. Since you say this is the way things have always > been, perhaps the real explanation for why 7.8 fixed the issue is that > some bug was fixed along the way... > > Note that R is a C library, so the C++ issues that Carter mentions are > not a factor here. > > Thanks, > Dominick > > On Thu, May 1, 2014 at 5:27 PM, Simon Marlow wrote: >> On 01/05/14 14:48, Dominick Samperi wrote: >>> >>> The problem with some graphics libraries used via FFI (and other libraries >>> that are not thread-safe), if I understand the situation correctly, is >>> that ghci >>> forks a thread when it shouldn't, causing some programs to miscalculate >>> the available stack space (because they think there is only one thread). >> >>> >>> >>> The new dynamic linking support and the flag -fno-ghci-sandbox fixes >>> this problem, and I would not vote for the removal of these features. >> >> >> So I understand how -fno-ghci-sandbox avoids problems with GUI libraries >> that use thread-local state. But how is dynamic linking involved here? >> What improved in GHC 7.8 relative to 7.6 for you? And could you clarify >> "miscalculate the available stack space"? What needs to calculate stack >> space? Why? C stack space? >> >> We can certainly make a smoother experience around -fno-ghci-sandbox for >> using GUI libraries. >> >> >>> It is not clear to me from Simon's original post how linking to all of >>> those C++ libs can continue to work if dynamic linking is removed >>> in 7.10? Perhaps I misunderstand what you mean by "revert to >>> static linking"? >> >> >> When I say "revert to static linking" I mean make GHCi static linked, and >> have it load Haskell code compiled for static linking using the RTS linker >> (like it did in 7.6). Foreign libraries would still be loaded using the >> system linker, as they always have been. >> >> To be clear, I'm not officially proposing that we drop dynamic linking, but >> I think it's worthwhile exploring the design space again, given that we know >> dynamic linking has been tougher than we expected. >> >> Cheers, >> Simon >> >> >> >>> Thanks, >>> Dominick >>> >>> >>> On Wed, Apr 30, 2014 at 9:26 PM, George Colpitts >>> wrote: >>>> >>>> To elaborate, in the past, I had a lot of problems using libraries from >>>> the >>>> ghci prompt on the Mac but I haven't tried recently. >>>> >>>> As an example, on the web page for the book the Haskell School of >>>> Expression >>>> it says: >>>> >>>> Note for OS X users: running graphics applications from GHCi is no longer >>>> supported. Instead, one has to compile a graphics program using GHC in >>>> order >>>> to run it (see example/GMIExamples.lhs for an example). >>>> >>>> I had similar problems using the Yale Euterpea music program from ghci. >>>> When >>>> I inquired I was referred to https://ghc.haskell.org/trac/ghc/ticket/4244 >>>> and https://ghc.haskell.org/trac/ghc/ticket/781. I see that the latter is >>>> now scheduled for 7.10.1 >>>> >>>> >>>> On Wed, Apr 30, 2014 at 1:45 PM, Simon Marlow wrote: >>>>> >>>>> >>>>> On 30/04/2014 01:35, George Colpitts wrote: >>>>>> >>>>>> >>>>>> It doesn't have anything about the dynamic linking changes made for >>>>>> 7.8. >>>>>> I think it's worth mentioning the improvements we expect to get from >>>>>> that. The highlights of the release notes do mention it, so maybe that >>>>>> suffices. >>>>>> >>>>>> In particular, I'm hoping that it is going to fix a lot of problems >>>>>> with >>>>>> using foreign libraries such as OpenGL from ghci. I could be wrong >>>>>> about >>>>>> that though. >>>>> >>>>> >>>>> >>>>> I'd like to understand more about what those problems are. As a data >>>>> point, at Facebook we're using static linking (I compiled GHC with >>>>> DYNAMIC_GHC_PROGRAMS=NO), we're loading upwards of 50 3rd-party C++ >>>>> libraries and one gigantic shared library consisting of a ton of >>>>> in-house >>>>> C++ code, together with all our Haskell code into GHCi, and it works >>>>> perfectly. The key to using the static linker is to not use it for C++ >>>>> code >>>>> - you want all your external C++ code in shared libraries and load those >>>>> using the system linker. >>>>> >>>>> Dynamic linking has been a huge headache in GHC, and it's not clear that >>>>> it's an overall improvement compared with the static linker. Now that >>>>> 7.8 >>>>> is out of the way, it's time to have a conversation about whether we >>>>> want to >>>>> do dynamic linking again for 7.10, or revert to static linking. I think >>>>> Austin is going to update >>>>> https://ghc.haskell.org/trac/ghc/wiki/DynamicGhcPrograms, and then we'll >>>>> see >>>>> where we stand. >>>>> >>>>> Cheers, >>>>> Simon >>>>> >>>>> >>>>> >>>>>> >>>>>> On Tue, Apr 29, 2014 at 6:13 PM, Simon Peyton Jones >>>>>> > wrote: >>>>>> >>>>>> As Austin has told us, there's a draft of the *GHC Status Report >>>>>> for >>>>>> the HCAR*, here:____ >>>>>> >>>>>> https://ghc.haskell.org/trac/ghc/wiki/Status/May14____ >>>>>> >>>>>> >>>>>> Have we missed out something you have been working hard on? Do >>>>>> take a moment to add a bullet in an appropriate place (it's a >>>>>> wiki). I'd like to be sure that we are giving credit to all the >>>>>> appropriate people, so please help us fix that too. GHC is a team >>>>>> effort.____ >>>>>> >>>>>> Deadline is 1 May I think.____ >>>>>> >>>>>> Thanks____ >>>>>> >>>>>> Simon____ >>>>>> >>>>>> __ __ >>>>>> >>>>>> >>>>>> _______________________________________________ >>>>>> ghc-devs mailing list >>>>>> ghc-devs at haskell.org >>>>>> http://www.haskell.org/mailman/listinfo/ghc-devs >>>>>> >>>>>> >>>>>> >>>>>> >>>>>> >>>>>> _______________________________________________ >>>>>> ghc-devs mailing list >>>>>> ghc-devs at haskell.org >>>>>> http://www.haskell.org/mailman/listinfo/ghc-devs >>>>>> >>>> >>>> >>>> _______________________________________________ >>>> ghc-devs mailing list >>>> ghc-devs at haskell.org >>>> http://www.haskell.org/mailman/listinfo/ghc-devs >>>> >> From hvriedel at gmail.com Fri May 2 09:36:16 2014 From: hvriedel at gmail.com (Herbert Valerio Riedel) Date: Fri, 02 May 2014 11:36:16 +0200 Subject: Relocating (some of) GHC's core-libraries to github.com/haskell In-Reply-To: <535F7E9A.90905@gmail.com> (Simon Marlow's message of "Tue, 29 Apr 2014 11:27:38 +0100") References: <87lhurp20u.fsf@gnu.org> <535E0E67.9090508@gmail.com> <878uqpg8gf.fsf@gmail.com> <535E1F43.6000106@gmail.com> <87bnvk8nk9.fsf@gmail.com> <535F7E9A.90905@gmail.com> Message-ID: <87oazgr08f.fsf@gmail.com> On 2014-04-29 at 12:27:38 +0200, Simon Marlow wrote: [...] >>> I think that's fine. As Simon points out, we already have lagging >>> repo functionality in the form of the submodule links, so the repo on >>> git.haskell.org can be a pure mirror. >> >> Just so I get this right, does "pure mirror" here mean that we don't >> want users to be able to push to the automatically mirrored repo on >> git.haskell.org at all, but rather the only way to get any commits into >> the git.haskell.org mirrored repo would be push it via the GitHub repo? >> >> (I'd like that, as it would make the set-up easier and hopefully less >> confusing, as there'd be only a single data-flow path) > > Makes sense to me, but how does that interact with your post-commit > hook that checks for validity of the submodule updates? (btw, it's actually a pre-receive/update script, as a post-commit hook runs to late to be able to reject ref-updates) The submod-referential-check script would still work, as it would check that at least at the time a push to ghc.git was done, the respective submodule commits were present at git.haskell.org I've asked the GitHub admins to disallow force-pushes on the new repos I created at github.com/haskell/ as a safety measure (they don't support disallowing branch-deletion though, so there's still a way to force-push by workarounding via branch deletion+recreation, but I'd trust the users we give write-access to[1] to not abuse this loophole) Moreover, I'd configure the sub-repos at git.haskell.org to never prune unreachable objects automatically as a short-term measure. This would allow to manually recover any "lost" commits, and make them reachable again, even if github.com/haskell already forgot about them. As for the mirroring itself, this may lag a little bit at first, until I get the scripting better: right now git.haskell.org would poll github.com every 10 minutes or so for new commits. Later-on that would be improved by enabling a post-commit webhook on github to notify git.haskell.org about new commits to reduce the mirroring latency. I hope this is enough for now. Also, I'd like to share the automatic mirroring-workflow with other packages already living at github.com/haskell, such as containers or bytestring. Long story short, the workflow for modifying a core-lib package formerly living at git.haskell.org would be to 1.) get the commit somehow into the new upstream at github.com[2] 2.) wait a little bit till the commit gets propagated automatically to git.haskell.org 3.) commit and push the submodule gitlink ref update in ghc.git to git.haskell.org Cheers, hvr [1]: I've created a 'GHC developers' team in the github.com/haskell org some time ago, which mirrors the users who have write access to git.haskell.org; I'd simply assign those to the new repos for now. So there should be no authorization-regressions. [2]: We'll provide a convenient way to redirect pushes to git.haskell.org/packages/$PKG to its real writable upstream repo I recently learned about Git's url..insteadOf url..pushInsteadOf redirection feature, you'd only have to set the redirect rules once, and then you could 'git clone --recursive' simply using the canonical http://git.haskell.org URLs, but it would instead go to github.com for fetch/pushes as instructed. This may be far easier and more robust than having sync-all rewriting the pushurls. this would also make it easy, to temporarily switch to github.com, if git.h.o is down, w/o having to reconfigure all your ghc source trees, as those rules are a setting that can live in ~/.gitconfig From marlowsd at gmail.com Fri May 2 13:47:39 2014 From: marlowsd at gmail.com (Simon Marlow) Date: Fri, 02 May 2014 14:47:39 +0100 Subject: GHC status report In-Reply-To: References: <618BE556AADD624C9C918AA5D5911BEF0A58F2FC@DB3PRD3001MB020.064d.mgd.msft.net> <536128AF.7080209@gmail.com> <618BE556AADD624C9C918AA5D5911BEF0A590A80@DB3PRD3001MB020.064d.mgd.msft.net> <5362BCDB.2060500@gmail.com> <5363981B.7040704@gmail.com> Message-ID: <5363A1FB.6070506@gmail.com> On 02/05/2014 14:28, Edward Kmett wrote: > Perhaps. We actually tried that originally, but had issues about > where and how to get cabal to place it. We'd need it to go somewhere > installed rather than the local build dir lest it not be there when > we go to use the lib, but IIRC, cabal couldn't/wouldn't tell me where > it was putting the final installed version and then there is the > issue of the local in place runs vs. post cabal install runs and > referencing that dir from subsequent projects. If we want a > transparent ?cabal install rounded` It isn't clear to me how to get > there down this path, but it is entirely possible I just missed > something obvious. > > MPFR/rounded was just an off the cuff example. Another place where > the dynamic linker really helps is external c++ libraries which > should now actually get all of their initializers called in the right > order when launched from ghci. External C++ libraries work just fine with the statically linked GHCi - it uses the system linker to load them, and all the initalizers get called, in the right order, as they should. So this is where I'm confused about what the problems actually are - there seems to be this perception that GHCi didn't work with external C++ code, but as far as I know it works just fine (indeed we're doing it a lot at Facebook, so there's at least an existence proof that depending on a non-trivial amount of external C++ with a statically-linked GHCi can work). Cheers, Simon > > >> Cheers, >> Simon >> >>> Switching to the system dynamic linker fo ghci seems to have resolved >>> all of that effortlessly. >>> >>> Dan Peebles has been talking to the MPFR folks to see if we can get them >>> to expose enough information about the 'hidden' allocations they use >>> that we can make them visible to GHC or have them do what our local fix >>> does and avoid using the MPFR allocator for their hidden constant cache. >>> >>> If they do that then we can actually link to the library like normal >>> rather than link it in directly, but it isn't clear to me what would >>> happen even with those hooks if we rolled back to something like the old >>> custom linker. >>> >>> -Edward >>> >>> >>> On Thu, May 1, 2014 at 5:30 PM, Simon Marlow >> > wrote: >>> >>> On 01/05/14 15:27, Edward Kmett wrote: >>> >>> Figured I'd make one case for dynamic linking: >>> >>> https://github.com/ekmett/__rounded >>> >>> >>> Dynamic linking is finally enabling us to build a version of MPFR >>> bindings for Haskell for scientific/high precision computing >>> with 7.8. I >>> would really hate to lose it after all of these years trying to >>> get it >>> work, as I have a rather large edifice being built atop that >>> platform. >>> We tried and failed due to limitations of the old linker for >>> almost 3 years. >>> >>> >>> I understand the issues with MPFR. But how is dynamic linking helping? >>> >>> >>> That said, -dynamic-too seems to cause me all sorts of problems >>> elsewhere. ^C'ing out of a build and restarting it will often >>> make a .o >>> but lose the .dyn_o, leading to GHC + cabal getting confused and >>> refusing to build until I clean. This hits me several times a day. >>> >>> >>> We should fix this (or at least make it a lot less likely). Is >>> there a ticket? >>> >>> Cheers, >>> Simon >>> >>> >>> -Edward >>> >>> >>> On Thu, May 1, 2014 at 3:29 AM, Simon Peyton Jones >>> >>> >__> >>> wrote: >>> >>> | Dynamic linking has been a huge headache in GHC, and it's not >>> clear that >>> | it's an overall improvement compared with the static >>> linker. Now that >>> | 7.8 is out of the way, it's time to have a conversation about >>> whether we >>> | want to do dynamic linking again for 7.10, or revert to >>> static >>> linking. >>> >>> I echo this. Dynamic linking has had many un-anticipated >>> costs and >>> it is still very far from sorted out. It originally felt >>> like a >>> Fantastic Idea to give up our own linker and adopt the system >>> linker, but it now feels to me like a black hole, endlessly >>> sucking >>> effort and increasing complexity. >>> >>> My viewpoint is highly un-informed about details; I just >>> watch the >>> traffic going by. And of course it does have benefits that >>> doubtless generate less traffic. >>> >>> Simon >>> >>> | >>> | >>> | >>> | > >>> | > On Tue, Apr 29, 2014 at 6:13 PM, Simon Peyton Jones >>> | > >>> > >>> >> >> >__>> wrote: >>> | > >>> | > As Austin has told us, there's a draft of the *GHC >>> Status Report >>> | for >>> | > the HCAR*, here:____ >>> | > >>> | > >>> https://ghc.haskell.org/trac/__ghc/wiki/Status/May14____ >>> >>> | > >>> | > Have we missed out something you have been working >>> hard on? Do >>> | > take a moment to add a bullet in an appropriate >>> place (it's a >>> | > wiki). I'd like to be sure that we are giving >>> credit to all the >>> | > appropriate people, so please help us fix that too. >>> GHC is >>> a team >>> | > effort.____ >>> | > >>> | > Deadline is 1 May I think.____ >>> | > >>> | > Thanks____ >>> | > >>> | > Simon____ >>> | > >>> | > __ __ >>> | > >>> | > >>> | > _________________________________________________ >>> | > ghc-devs mailing list >>> | > ghc-devs at haskell.org >>> > >>> >>> >> >>> >>> | > http://www.haskell.org/__mailman/listinfo/ghc-devs >>> >>> | > >>> | > >>> | > >>> | > >>> | > _________________________________________________ >>> | > ghc-devs mailing list >>> | > ghc-devs at haskell.org >>> > >>> | > http://www.haskell.org/__mailman/listinfo/ghc-devs >>> >>> | > >>> _________________________________________________ >>> ghc-devs mailing list >>> ghc-devs at haskell.org >>> > >>> http://www.haskell.org/__mailman/listinfo/ghc-devs >>> >>> >>> >>> >>> From ekmett at gmail.com Fri May 2 17:19:49 2014 From: ekmett at gmail.com (Edward Kmett) Date: Fri, 2 May 2014 13:19:49 -0400 Subject: GHC status report In-Reply-To: <5363A1FB.6070506@gmail.com> References: <618BE556AADD624C9C918AA5D5911BEF0A58F2FC@DB3PRD3001MB020.064d.mgd.msft.net> <536128AF.7080209@gmail.com> <618BE556AADD624C9C918AA5D5911BEF0A590A80@DB3PRD3001MB020.064d.mgd.msft.net> <5362BCDB.2060500@gmail.com> <5363981B.7040704@gmail.com> <5363A1FB.6070506@gmail.com> Message-ID: I may have to dig to find an example, but when I last checked it seemed that c++ libraries would load fine, but there was a problem with static initializers not getting called, when loading from ghci, so if your c++ library needed them then you'd have problems. An earlier version of the MPFR hackery used a static initializer to replace the GHC garbage collection hook for GMP with one that played evil games to figure out if it was being called from the MPFR constant cache. That initialized and loaded fine from ghc, but not from ghci. Our static initializer was never being called, despite the library being loaded. If your C++ practices there forbid static initializers -- some places do -- that may be why you aren't seeing the issue. -Edward On Fri, May 2, 2014 at 9:47 AM, Simon Marlow wrote: > On 02/05/2014 14:28, Edward Kmett wrote: > > Perhaps. We actually tried that originally, but had issues about > > where and how to get cabal to place it. We'd need it to go somewhere > > installed rather than the local build dir lest it not be there when > > we go to use the lib, but IIRC, cabal couldn't/wouldn't tell me where > > it was putting the final installed version and then there is the > > issue of the local in place runs vs. post cabal install runs and > > referencing that dir from subsequent projects. If we want a > > transparent ?cabal install rounded` It isn't clear to me how to get > > there down this path, but it is entirely possible I just missed > > something obvious. > > > > MPFR/rounded was just an off the cuff example. Another place where > > the dynamic linker really helps is external c++ libraries which > > should now actually get all of their initializers called in the right > > order when launched from ghci. > > External C++ libraries work just fine with the statically linked GHCi - > it uses the system linker to load them, and all the initalizers get > called, in the right order, as they should. So this is where I'm > confused about what the problems actually are - there seems to be this > perception that GHCi didn't work with external C++ code, but as far as I > know it works just fine (indeed we're doing it a lot at Facebook, so > there's at least an existence proof that depending on a non-trivial > amount of external C++ with a statically-linked GHCi can work). > > Cheers, > Simon > > > > > > > >> Cheers, > >> Simon > >> > >>> Switching to the system dynamic linker fo ghci seems to have resolved > >>> all of that effortlessly. > >>> > >>> Dan Peebles has been talking to the MPFR folks to see if we can get > them > >>> to expose enough information about the 'hidden' allocations they use > >>> that we can make them visible to GHC or have them do what our local fix > >>> does and avoid using the MPFR allocator for their hidden constant > cache. > >>> > >>> If they do that then we can actually link to the library like normal > >>> rather than link it in directly, but it isn't clear to me what would > >>> happen even with those hooks if we rolled back to something like the > old > >>> custom linker. > >>> > >>> -Edward > >>> > >>> > >>> On Thu, May 1, 2014 at 5:30 PM, Simon Marlow >>> > wrote: > >>> > >>> On 01/05/14 15:27, Edward Kmett wrote: > >>> > >>> Figured I'd make one case for dynamic linking: > >>> > >>> https://github.com/ekmett/__rounded > >>> > >>> > >>> Dynamic linking is finally enabling us to build a version of > MPFR > >>> bindings for Haskell for scientific/high precision computing > >>> with 7.8. I > >>> would really hate to lose it after all of these years trying to > >>> get it > >>> work, as I have a rather large edifice being built atop that > >>> platform. > >>> We tried and failed due to limitations of the old linker for > >>> almost 3 years. > >>> > >>> > >>> I understand the issues with MPFR. But how is dynamic linking > helping? > >>> > >>> > >>> That said, -dynamic-too seems to cause me all sorts of problems > >>> elsewhere. ^C'ing out of a build and restarting it will often > >>> make a .o > >>> but lose the .dyn_o, leading to GHC + cabal getting confused > and > >>> refusing to build until I clean. This hits me several times a > day. > >>> > >>> > >>> We should fix this (or at least make it a lot less likely). Is > >>> there a ticket? > >>> > >>> Cheers, > >>> Simon > >>> > >>> > >>> -Edward > >>> > >>> > >>> On Thu, May 1, 2014 at 3:29 AM, Simon Peyton Jones > >>> > >>> >>__> > >>> wrote: > >>> > >>> | Dynamic linking has been a huge headache in GHC, and > it's not > >>> clear that > >>> | it's an overall improvement compared with the static > >>> linker. Now that > >>> | 7.8 is out of the way, it's time to have a conversation > about > >>> whether we > >>> | want to do dynamic linking again for 7.10, or revert to > >>> static > >>> linking. > >>> > >>> I echo this. Dynamic linking has had many un-anticipated > >>> costs and > >>> it is still very far from sorted out. It originally felt > >>> like a > >>> Fantastic Idea to give up our own linker and adopt the > system > >>> linker, but it now feels to me like a black hole, > endlessly > >>> sucking > >>> effort and increasing complexity. > >>> > >>> My viewpoint is highly un-informed about details; I just > >>> watch the > >>> traffic going by. And of course it does have benefits > that > >>> doubtless generate less traffic. > >>> > >>> Simon > >>> > >>> | > >>> | > >>> | > >>> | > > >>> | > On Tue, Apr 29, 2014 at 6:13 PM, Simon Peyton Jones > >>> | > > >>> > > >>> >>> >>> >__>> wrote: > >>> | > > >>> | > As Austin has told us, there's a draft of the *GHC > >>> Status Report > >>> | for > >>> | > the HCAR*, here:____ > >>> | > > >>> | > > >>> https://ghc.haskell.org/trac/__ghc/wiki/Status/May14____ > >>> > >>> | > > >>> | > Have we missed out something you have been > working > >>> hard on? Do > >>> | > take a moment to add a bullet in an appropriate > >>> place (it's a > >>> | > wiki). I'd like to be sure that we are giving > >>> credit to all the > >>> | > appropriate people, so please help us fix that > too. > >>> GHC is > >>> a team > >>> | > effort.____ > >>> | > > >>> | > Deadline is 1 May I think.____ > >>> | > > >>> | > Thanks____ > >>> | > > >>> | > Simon____ > >>> | > > >>> | > __ __ > >>> | > > >>> | > > >>> | > _________________________________________________ > >>> | > ghc-devs mailing list > >>> | > ghc-devs at haskell.org > >>> > > >>> > > >>> >> > >>> > >>> | > http://www.haskell.org/__mailman/listinfo/ghc-devs > >>> > >>> | > > >>> | > > >>> | > > >>> | > > >>> | > _________________________________________________ > >>> | > ghc-devs mailing list > >>> | > ghc-devs at haskell.org > >>> > > >>> | > http://www.haskell.org/__mailman/listinfo/ghc-devs > >>> > >>> | > > >>> _________________________________________________ > >>> ghc-devs mailing list > >>> ghc-devs at haskell.org > >>> > > >>> http://www.haskell.org/__mailman/listinfo/ghc-devs > >>> > >>> > >>> > >>> > >>> > -------------- next part -------------- An HTML attachment was scrubbed... URL: From kazu at iij.ad.jp Fri May 2 12:03:21 2014 From: kazu at iij.ad.jp (Kazu Yamamoto (=?iso-2022-jp?B?GyRCOzNLXE9CSScbKEI=?=)) Date: Fri, 02 May 2014 21:03:21 +0900 (JST) Subject: validate on Mavericks In-Reply-To: <9FF77456-D0C1-4BED-8977-DC0C0601A06D@cis.upenn.edu> References: <20140501.163206.1840638861309624749.kazu@iij.ad.jp> <9FF77456-D0C1-4BED-8977-DC0C0601A06D@cis.upenn.edu> Message-ID: <20140502.210321.582085594209253328.kazu@iij.ad.jp> Richard, > I've posted this problem as #9047 > (https://ghc.haskell.org/trac/ghc/ticket/9047), but I have no > information to help you -- sorry! Thanks anyway. --Kazu From djsamperi at gmail.com Fri May 2 17:18:20 2014 From: djsamperi at gmail.com (Dominick Samperi) Date: Fri, 2 May 2014 13:18:20 -0400 Subject: GHC status report In-Reply-To: <5363990D.5080200@gmail.com> References: <618BE556AADD624C9C918AA5D5911BEF0A58F2FC@DB3PRD3001MB020.064d.mgd.msft.net> <536128AF.7080209@gmail.com> <5362BC24.9030101@gmail.com> <5363990D.5080200@gmail.com> Message-ID: I downloaded HEAD and placed DYNAMIC_GHC_PROGRAMS=NO in the "quick" section of mk/build.mk (with BuildFlavour = quick), and set DYNAMIC_GHC_PROGRAMS=NO in my environment before running configure (just to be sure!). Near the end of the build I saw some messages like "Warning: vectorization failure," but the build completed. The status at the end of configure doesn't say that dynamic linking via RTS has been turned off, and I don't know how to check that this is so. Nevertheless, I checked the linking issue and it is NOT fixed with this build, so DYNAMIC_GHC_PROGRAMS=YES is required to prevent the problems reported by me and others. On Fri, May 2, 2014 at 9:09 AM, Simon Marlow wrote: > On 02/05/2014 01:09, Dominick Samperi wrote: > >> If I understand your last comment correctly linking to libR should >> continue to work, even if you revert to static linking of Haskell compiled >> code via RTS linker. Since you say this is the way things have always >> been, perhaps the real explanation for why 7.8 fixed the issue is that >> some bug was fixed along the way... > > > Indeed. To know for sure we would have to test 7.8 with > DYNAMIC_GHC_PROGRAMS=NO with your setup - is there a way to do that? > > Cheers, > Simon > > > >> Note that R is a C library, so the C++ issues that Carter mentions are >> not a factor here. >> >> Thanks, >> Dominick >> >> On Thu, May 1, 2014 at 5:27 PM, Simon Marlow wrote: >>> >>> On 01/05/14 14:48, Dominick Samperi wrote: >>>> >>>> >>>> The problem with some graphics libraries used via FFI (and other >>>> libraries >>>> that are not thread-safe), if I understand the situation correctly, is >>>> that ghci >>>> forks a thread when it shouldn't, causing some programs to miscalculate >>>> the available stack space (because they think there is only one thread). >>> >>> >>>> >>>> >>>> The new dynamic linking support and the flag -fno-ghci-sandbox fixes >>>> this problem, and I would not vote for the removal of these features. >>> >>> >>> >>> So I understand how -fno-ghci-sandbox avoids problems with GUI libraries >>> that use thread-local state. But how is dynamic linking involved here? >>> What improved in GHC 7.8 relative to 7.6 for you? And could you clarify >>> "miscalculate the available stack space"? What needs to calculate stack >>> space? Why? C stack space? >>> >>> We can certainly make a smoother experience around -fno-ghci-sandbox for >>> using GUI libraries. >>> >>> >>>> It is not clear to me from Simon's original post how linking to all of >>>> those C++ libs can continue to work if dynamic linking is removed >>>> in 7.10? Perhaps I misunderstand what you mean by "revert to >>>> static linking"? >>> >>> >>> >>> When I say "revert to static linking" I mean make GHCi static linked, and >>> have it load Haskell code compiled for static linking using the RTS >>> linker >>> (like it did in 7.6). Foreign libraries would still be loaded using the >>> system linker, as they always have been. >>> >>> To be clear, I'm not officially proposing that we drop dynamic linking, >>> but >>> I think it's worthwhile exploring the design space again, given that we >>> know >>> dynamic linking has been tougher than we expected. >>> >>> Cheers, >>> Simon >>> >>> >>> >>>> Thanks, >>>> Dominick >>>> >>>> >>>> On Wed, Apr 30, 2014 at 9:26 PM, George Colpitts >>>> wrote: >>>>> >>>>> >>>>> To elaborate, in the past, I had a lot of problems using libraries from >>>>> the >>>>> ghci prompt on the Mac but I haven't tried recently. >>>>> >>>>> As an example, on the web page for the book the Haskell School of >>>>> Expression >>>>> it says: >>>>> >>>>> Note for OS X users: running graphics applications from GHCi is no >>>>> longer >>>>> supported. Instead, one has to compile a graphics program using GHC in >>>>> order >>>>> to run it (see example/GMIExamples.lhs for an example). >>>>> >>>>> I had similar problems using the Yale Euterpea music program from ghci. >>>>> When >>>>> I inquired I was referred to >>>>> https://ghc.haskell.org/trac/ghc/ticket/4244 >>>>> and https://ghc.haskell.org/trac/ghc/ticket/781. I see that the latter >>>>> is >>>>> now scheduled for 7.10.1 >>>>> >>>>> >>>>> On Wed, Apr 30, 2014 at 1:45 PM, Simon Marlow >>>>> wrote: >>>>>> >>>>>> >>>>>> >>>>>> On 30/04/2014 01:35, George Colpitts wrote: >>>>>>> >>>>>>> >>>>>>> >>>>>>> It doesn't have anything about the dynamic linking changes made for >>>>>>> 7.8. >>>>>>> I think it's worth mentioning the improvements we expect to get from >>>>>>> that. The highlights of the release notes do mention it, so maybe >>>>>>> that >>>>>>> suffices. >>>>>>> >>>>>>> In particular, I'm hoping that it is going to fix a lot of problems >>>>>>> with >>>>>>> using foreign libraries such as OpenGL from ghci. I could be wrong >>>>>>> about >>>>>>> that though. >>>>>> >>>>>> >>>>>> >>>>>> >>>>>> I'd like to understand more about what those problems are. As a data >>>>>> point, at Facebook we're using static linking (I compiled GHC with >>>>>> DYNAMIC_GHC_PROGRAMS=NO), we're loading upwards of 50 3rd-party C++ >>>>>> libraries and one gigantic shared library consisting of a ton of >>>>>> in-house >>>>>> C++ code, together with all our Haskell code into GHCi, and it works >>>>>> perfectly. The key to using the static linker is to not use it for >>>>>> C++ >>>>>> code >>>>>> - you want all your external C++ code in shared libraries and load >>>>>> those >>>>>> using the system linker. >>>>>> >>>>>> Dynamic linking has been a huge headache in GHC, and it's not clear >>>>>> that >>>>>> it's an overall improvement compared with the static linker. Now that >>>>>> 7.8 >>>>>> is out of the way, it's time to have a conversation about whether we >>>>>> want to >>>>>> do dynamic linking again for 7.10, or revert to static linking. I >>>>>> think >>>>>> Austin is going to update >>>>>> https://ghc.haskell.org/trac/ghc/wiki/DynamicGhcPrograms, and then >>>>>> we'll >>>>>> see >>>>>> where we stand. >>>>>> >>>>>> Cheers, >>>>>> Simon >>>>>> >>>>>> >>>>>> >>>>>>> >>>>>>> On Tue, Apr 29, 2014 at 6:13 PM, Simon Peyton Jones >>>>>>> > wrote: >>>>>>> >>>>>>> As Austin has told us, there's a draft of the *GHC Status >>>>>>> Report >>>>>>> for >>>>>>> the HCAR*, here:____ >>>>>>> >>>>>>> https://ghc.haskell.org/trac/ghc/wiki/Status/May14____ >>>>>>> >>>>>>> >>>>>>> Have we missed out something you have been working hard on? >>>>>>> Do >>>>>>> take a moment to add a bullet in an appropriate place (it's a >>>>>>> wiki). I'd like to be sure that we are giving credit to all >>>>>>> the >>>>>>> appropriate people, so please help us fix that too. GHC is a >>>>>>> team >>>>>>> effort.____ >>>>>>> >>>>>>> Deadline is 1 May I think.____ >>>>>>> >>>>>>> Thanks____ >>>>>>> >>>>>>> Simon____ >>>>>>> >>>>>>> __ __ >>>>>>> >>>>>>> >>>>>>> _______________________________________________ >>>>>>> ghc-devs mailing list >>>>>>> ghc-devs at haskell.org >>>>>>> http://www.haskell.org/mailman/listinfo/ghc-devs >>>>>>> >>>>>>> >>>>>>> >>>>>>> >>>>>>> >>>>>>> _______________________________________________ >>>>>>> ghc-devs mailing list >>>>>>> ghc-devs at haskell.org >>>>>>> http://www.haskell.org/mailman/listinfo/ghc-devs >>>>>>> >>>>> >>>>> >>>>> _______________________________________________ >>>>> ghc-devs mailing list >>>>> ghc-devs at haskell.org >>>>> http://www.haskell.org/mailman/listinfo/ghc-devs >>>>> >>> > From ekmett at gmail.com Fri May 2 13:28:52 2014 From: ekmett at gmail.com (Edward Kmett) Date: Fri, 2 May 2014 09:28:52 -0400 Subject: GHC status report In-Reply-To: <5363981B.7040704@gmail.com> References: <618BE556AADD624C9C918AA5D5911BEF0A58F2FC@DB3PRD3001MB020.064d.mgd.msft.net> <536128AF.7080209@gmail.com> <618BE556AADD624C9C918AA5D5911BEF0A590A80@DB3PRD3001MB020.064d.mgd.msft.net> <5362BCDB.2060500@gmail.com> <5363981B.7040704@gmail.com> Message-ID: > On May 2, 2014, at 9:05 AM, Simon Marlow wrote: > >> On 02/05/2014 00:46, Edward Kmett wrote: >> With the old custom linker we weren't able to get our custom MPFR linked >> in properly on all platforms for use in ghci. >> >> On Macs we ran into some rather interesting problems. We could get it to >> work for actual executables, but ghci would segfault with stuff resolved >> to clearly wrong addresses. If I recall correctly it may have been some >> kind of MachO symbol type that wasn't being resolved properly by the >> custom GHC linker, perhaps? We chased after it off and on for a long >> time to no avail. >> >> It was complicated a great deal by having to build their library and >> merge it directly into ours, because we couldn't use system MPFR, due to >> the issues with the GHC garbage collector hooks into GMP. > > I think this is the whole problem. Normally you would use an external dynamically-linked MPFR, but because you need custom changes to it, you have a local version of it which needs to get linked with your Haskell code. Presumably you have to arrange to build it with -fPIC somehow? > > If you have C/C++ code in the same library as your Haskell code, then dynamic linking will work better (at least on OS X, where they tend to change the linking semantics more often than ELF, and we have to duplicate that in our linker). This is a good point, but rather than try to fix that I would instead look at whether you could build your custom MPFR as a shared library, which should work fine regardless of whether GHCi is dynamically linked or not. The only issue should be passing the right -rpath so that executables can find your custom MPFR, which is something we already do for dynamic linking. Perhaps. We actually tried that originally, but had issues about where and how to get cabal to place it. We'd need it to go somewhere installed rather than the local build dir lest it not be there when we go to use the lib, but IIRC, cabal couldn't/wouldn't tell me where it was putting the final installed version and then there is the issue of the local in place runs vs. post cabal install runs and referencing that dir from subsequent projects. If we want a transparent ?cabal install rounded` It isn't clear to me how to get there down this path, but it is entirely possible I just missed something obvious. MPFR/rounded was just an off the cuff example. Another place where the dynamic linker really helps is external c++ libraries which should now actually get all of their initializers called in the right order when launched from ghci. > Cheers, > Simon > >> Switching to the system dynamic linker fo ghci seems to have resolved >> all of that effortlessly. >> >> Dan Peebles has been talking to the MPFR folks to see if we can get them >> to expose enough information about the 'hidden' allocations they use >> that we can make them visible to GHC or have them do what our local fix >> does and avoid using the MPFR allocator for their hidden constant cache. >> >> If they do that then we can actually link to the library like normal >> rather than link it in directly, but it isn't clear to me what would >> happen even with those hooks if we rolled back to something like the old >> custom linker. >> >> -Edward >> >> >> On Thu, May 1, 2014 at 5:30 PM, Simon Marlow > > wrote: >> >> On 01/05/14 15:27, Edward Kmett wrote: >> >> Figured I'd make one case for dynamic linking: >> >> https://github.com/ekmett/__rounded >> >> >> Dynamic linking is finally enabling us to build a version of MPFR >> bindings for Haskell for scientific/high precision computing >> with 7.8. I >> would really hate to lose it after all of these years trying to >> get it >> work, as I have a rather large edifice being built atop that >> platform. >> We tried and failed due to limitations of the old linker for >> almost 3 years. >> >> >> I understand the issues with MPFR. But how is dynamic linking helping? >> >> >> That said, -dynamic-too seems to cause me all sorts of problems >> elsewhere. ^C'ing out of a build and restarting it will often >> make a .o >> but lose the .dyn_o, leading to GHC + cabal getting confused and >> refusing to build until I clean. This hits me several times a day. >> >> >> We should fix this (or at least make it a lot less likely). Is >> there a ticket? >> >> Cheers, >> Simon >> >> >> -Edward >> >> >> On Thu, May 1, 2014 at 3:29 AM, Simon Peyton Jones >> >> >__> >> wrote: >> >> | Dynamic linking has been a huge headache in GHC, and it's not >> clear that >> | it's an overall improvement compared with the static >> linker. Now that >> | 7.8 is out of the way, it's time to have a conversation about >> whether we >> | want to do dynamic linking again for 7.10, or revert to >> static >> linking. >> >> I echo this. Dynamic linking has had many un-anticipated >> costs and >> it is still very far from sorted out. It originally felt >> like a >> Fantastic Idea to give up our own linker and adopt the system >> linker, but it now feels to me like a black hole, endlessly >> sucking >> effort and increasing complexity. >> >> My viewpoint is highly un-informed about details; I just >> watch the >> traffic going by. And of course it does have benefits that >> doubtless generate less traffic. >> >> Simon >> >> | >> | >> | >> | > >> | > On Tue, Apr 29, 2014 at 6:13 PM, Simon Peyton Jones >> | > >> > >> > > >__>> wrote: >> | > >> | > As Austin has told us, there's a draft of the *GHC >> Status Report >> | for >> | > the HCAR*, here:____ >> | > >> | > >> https://ghc.haskell.org/trac/__ghc/wiki/Status/May14____ >> >> | > >> | > Have we missed out something you have been working >> hard on? Do >> | > take a moment to add a bullet in an appropriate >> place (it's a >> | > wiki). I'd like to be sure that we are giving >> credit to all the >> | > appropriate people, so please help us fix that too. >> GHC is >> a team >> | > effort.____ >> | > >> | > Deadline is 1 May I think.____ >> | > >> | > Thanks____ >> | > >> | > Simon____ >> | > >> | > __ __ >> | > >> | > >> | > _________________________________________________ >> | > ghc-devs mailing list >> | > ghc-devs at haskell.org >> > >> >> >> >> >> | > http://www.haskell.org/__mailman/listinfo/ghc-devs >> >> | > >> | > >> | > >> | > >> | > _________________________________________________ >> | > ghc-devs mailing list >> | > ghc-devs at haskell.org >> > >> | > http://www.haskell.org/__mailman/listinfo/ghc-devs >> >> | > >> _________________________________________________ >> ghc-devs mailing list >> ghc-devs at haskell.org >> > >> http://www.haskell.org/__mailman/listinfo/ghc-devs >> >> >> >> >> From bos at serpentine.com Fri May 2 19:17:39 2014 From: bos at serpentine.com (Bryan O'Sullivan) Date: Fri, 2 May 2014 12:17:39 -0700 Subject: GHC status report In-Reply-To: References: <618BE556AADD624C9C918AA5D5911BEF0A58F2FC@DB3PRD3001MB020.064d.mgd.msft.net> <536128AF.7080209@gmail.com> <618BE556AADD624C9C918AA5D5911BEF0A590A80@DB3PRD3001MB020.064d.mgd.msft.net> <5362BCDB.2060500@gmail.com> <5363981B.7040704@gmail.com> <5363A1FB.6070506@gmail.com> Message-ID: On Fri, May 2, 2014 at 10:19 AM, Edward Kmett wrote: > I may have to dig to find an example, but when I last checked it seemed > that c++ libraries would load fine, but there was a problem with static > initializers not getting called, when loading from ghci, so if your c++ > library needed them then you'd have problems. > This has been a longstanding problem, but was reported closed in https://ghc.haskell.org/trac/ghc/ticket/5435 -------------- next part -------------- An HTML attachment was scrubbed... URL: From simonpj at microsoft.com Fri May 2 08:45:32 2014 From: simonpj at microsoft.com (Simon Peyton Jones) Date: Fri, 2 May 2014 08:45:32 +0000 Subject: Unexpected failure to inline, even with pragma In-Reply-To: References: <1398953652.2600.20.camel@kirk> Message-ID: <618BE556AADD624C9C918AA5D5911BEF0A5AAFFB@DB3PRD3001MB020.064d.mgd.msft.net> | Is -O required for optimization across module bounds? Yes, without -O GHC doesn?t put inlinings into interface files, so an importing module can't see them. Use -fno-omit-interface-pragmas to tell GHC to put the stuff in the interface file regardless. | Also, since I really want a certain level of inlining for a plugin I'm | working on; is there a way to force (from the plugin, i.e. using the | API) to force inlining of a term at its call-site? Yes, use the magic function 'inline'. http://www.haskell.org/ghc/docs/7.8.2/html/libraries/base-4.7.0.0/GHC-Exts.html#v%3Ainline (But I don?t know how much people have exercised this recently, and I think it's a bit fragile because it vanishes after a single inlining.) | Alternatively | (weaker), can I force - from a compiler plugin - the inliner to behave | as if -O was set even if it wasn't? Well, you could invoke the simplifier from the plugin, setting the DynFlags to -O first. But I don?t think the plugin can side-effect the DynFlags for downstream passes. Simon From marlowsd at gmail.com Fri May 2 19:44:35 2014 From: marlowsd at gmail.com (Simon Marlow) Date: Fri, 02 May 2014 20:44:35 +0100 Subject: GHC status report In-Reply-To: References: <618BE556AADD624C9C918AA5D5911BEF0A58F2FC@DB3PRD3001MB020.064d.mgd.msft.net> <536128AF.7080209@gmail.com> <618BE556AADD624C9C918AA5D5911BEF0A590A80@DB3PRD3001MB020.064d.mgd.msft.net> <5362BCDB.2060500@gmail.com> <5363981B.7040704@gmail.com> <5363A1FB.6070506@gmail.com> Message-ID: <5363F5A3.9080009@gmail.com> On 02/05/14 18:19, Edward Kmett wrote: > I may have to dig to find an example, but when I last checked it seemed > that c++ libraries would load fine, but there was a problem with static > initializers not getting called, when loading from ghci, so if your c++ > library needed them then you'd have problems. I think we're getting confused here. External C++ libraries are, and always have been, loaded by the system linker, regardless of whether GHCi itself is dynamically linked. So there's no difference in 7.8 with respect to how external C++ code is loaded. However, if you link the C++ code into the same library as the Haskell code as you're doing with MPFR, then of course there is a difference (let's call that *internal* C++ code, for want of a better name). I think that's a rare case (I understand why you need to do it), and most people should be linking their C++ code via separate shared libraries. > An earlier version of the MPFR hackery used a static initializer to > replace the GHC garbage collection hook for GMP with one that played > evil games to figure out if it was being called from the MPFR constant > cache. > > That initialized and loaded fine from ghc, but not from ghci. Our static > initializer was never being called, despite the library being loaded. > > If your C++ practices there forbid static initializers -- some places do > -- that may be why you aren't seeing the issue. Absolutely not, we're drowning in static initialisers :) Cheers, Simon > -Edward > > > On Fri, May 2, 2014 at 9:47 AM, Simon Marlow > wrote: > > On 02/05/2014 14:28, Edward Kmett wrote: > > Perhaps. We actually tried that originally, but had issues about > > where and how to get cabal to place it. We'd need it to go somewhere > > installed rather than the local build dir lest it not be there when > > we go to use the lib, but IIRC, cabal couldn't/wouldn't tell me where > > it was putting the final installed version and then there is the > > issue of the local in place runs vs. post cabal install runs and > > referencing that dir from subsequent projects. If we want a > > transparent ?cabal install rounded` It isn't clear to me how to get > > there down this path, but it is entirely possible I just missed > > something obvious. > > > > MPFR/rounded was just an off the cuff example. Another place where > > the dynamic linker really helps is external c++ libraries which > > should now actually get all of their initializers called in the right > > order when launched from ghci. > > External C++ libraries work just fine with the statically linked GHCi - > it uses the system linker to load them, and all the initalizers get > called, in the right order, as they should. So this is where I'm > confused about what the problems actually are - there seems to be this > perception that GHCi didn't work with external C++ code, but as far as I > know it works just fine (indeed we're doing it a lot at Facebook, so > there's at least an existence proof that depending on a non-trivial > amount of external C++ with a statically-linked GHCi can work). > > Cheers, > Simon > > > > > > > >> Cheers, > >> Simon > >> > >>> Switching to the system dynamic linker fo ghci seems to have > resolved > >>> all of that effortlessly. > >>> > >>> Dan Peebles has been talking to the MPFR folks to see if we can > get them > >>> to expose enough information about the 'hidden' allocations > they use > >>> that we can make them visible to GHC or have them do what our > local fix > >>> does and avoid using the MPFR allocator for their hidden > constant cache. > >>> > >>> If they do that then we can actually link to the library like > normal > >>> rather than link it in directly, but it isn't clear to me what > would > >>> happen even with those hooks if we rolled back to something > like the old > >>> custom linker. > >>> > >>> -Edward > >>> > >>> > >>> On Thu, May 1, 2014 at 5:30 PM, Simon Marlow > > >>> >> wrote: > >>> > >>> On 01/05/14 15:27, Edward Kmett wrote: > >>> > >>> Figured I'd make one case for dynamic linking: > >>> > >>> https://github.com/ekmett/__rounded > >>> > >>> > >>> Dynamic linking is finally enabling us to build a > version of MPFR > >>> bindings for Haskell for scientific/high precision > computing > >>> with 7.8. I > >>> would really hate to lose it after all of these years > trying to > >>> get it > >>> work, as I have a rather large edifice being built atop > that > >>> platform. > >>> We tried and failed due to limitations of the old > linker for > >>> almost 3 years. > >>> > >>> > >>> I understand the issues with MPFR. But how is dynamic > linking helping? > >>> > >>> > >>> That said, -dynamic-too seems to cause me all sorts of > problems > >>> elsewhere. ^C'ing out of a build and restarting it will > often > >>> make a .o > >>> but lose the .dyn_o, leading to GHC + cabal getting > confused and > >>> refusing to build until I clean. This hits me several > times a day. > >>> > >>> > >>> We should fix this (or at least make it a lot less likely). Is > >>> there a ticket? > >>> > >>> Cheers, > >>> Simon > >>> > >>> > >>> -Edward > >>> > >>> > >>> On Thu, May 1, 2014 at 3:29 AM, Simon Peyton Jones > >>> > > > >>> >>__> > >>> wrote: > >>> > >>> | Dynamic linking has been a huge headache in GHC, > and it's not > >>> clear that > >>> | it's an overall improvement compared with the static > >>> linker. Now that > >>> | 7.8 is out of the way, it's time to have a > conversation about > >>> whether we > >>> | want to do dynamic linking again for 7.10, or > revert to > >>> static > >>> linking. > >>> > >>> I echo this. Dynamic linking has had many > un-anticipated > >>> costs and > >>> it is still very far from sorted out. It > originally felt > >>> like a > >>> Fantastic Idea to give up our own linker and adopt > the system > >>> linker, but it now feels to me like a black hole, > endlessly > >>> sucking > >>> effort and increasing complexity. > >>> > >>> My viewpoint is highly un-informed about details; > I just > >>> watch the > >>> traffic going by. And of course it does have > benefits that > >>> doubtless generate less traffic. > >>> > >>> Simon > >>> > >>> | > >>> | > >>> | > >>> | > > >>> | > On Tue, Apr 29, 2014 at 6:13 PM, Simon Peyton > Jones > >>> | > > > >>> >> > >>> > >>> > > >>> >>__>> wrote: > >>> | > > >>> | > As Austin has told us, there's a draft of > the *GHC > >>> Status Report > >>> | for > >>> | > the HCAR*, here:____ > >>> | > > >>> | > > >>> https://ghc.haskell.org/trac/__ghc/wiki/Status/May14____ > >>> > >>> | > > >>> | > Have we missed out something you have > been working > >>> hard on? Do > >>> | > take a moment to add a bullet in an > appropriate > >>> place (it's a > >>> | > wiki). I'd like to be sure that we are giving > >>> credit to all the > >>> | > appropriate people, so please help us fix > that too. > >>> GHC is > >>> a team > >>> | > effort.____ > >>> | > > >>> | > Deadline is 1 May I think.____ > >>> | > > >>> | > Thanks____ > >>> | > > >>> | > Simon____ > >>> | > > >>> | > __ __ > >>> | > > >>> | > > >>> | > > _________________________________________________ > >>> | > ghc-devs mailing list > >>> | > ghc-devs at haskell.org > > > >>> >> > >>> > > >>> >>> > >>> > >>> | > http://www.haskell.org/__mailman/listinfo/ghc-devs > >>> > >>> | > > >>> | > > >>> | > > >>> | > > >>> | > _________________________________________________ > >>> | > ghc-devs mailing list > >>> | > ghc-devs at haskell.org > > > >>> >> > >>> | > http://www.haskell.org/__mailman/listinfo/ghc-devs > >>> > >>> | > > >>> _________________________________________________ > >>> ghc-devs mailing list > >>> ghc-devs at haskell.org > > > >>> >> > >>> http://www.haskell.org/__mailman/listinfo/ghc-devs > >>> > >>> > >>> > >>> > >>> > > From marlowsd at gmail.com Fri May 2 19:45:41 2014 From: marlowsd at gmail.com (Simon Marlow) Date: Fri, 02 May 2014 20:45:41 +0100 Subject: GHC status report In-Reply-To: References: <618BE556AADD624C9C918AA5D5911BEF0A58F2FC@DB3PRD3001MB020.064d.mgd.msft.net> <536128AF.7080209@gmail.com> <5362BC24.9030101@gmail.com> <5363990D.5080200@gmail.com> Message-ID: <5363F5E5.6040004@gmail.com> Can you give me a quick summary of how to reproduce the problem? (not including the GHC build steps) Cheers, Simon On 02/05/14 18:18, Dominick Samperi wrote: > I downloaded HEAD and placed DYNAMIC_GHC_PROGRAMS=NO in the "quick" > section of mk/build.mk (with BuildFlavour = quick), and set > DYNAMIC_GHC_PROGRAMS=NO > in my environment before running configure (just to be sure!). Near > the end of the build > I saw some messages like "Warning: vectorization failure," but the > build completed. > > The status at the end of configure doesn't say that dynamic linking > via RTS has been > turned off, and I don't know how to check that this is so. > Nevertheless, I checked > the linking issue and it is NOT fixed with this build, so > DYNAMIC_GHC_PROGRAMS=YES is required to prevent the problems > reported by me and others. > > > On Fri, May 2, 2014 at 9:09 AM, Simon Marlow wrote: >> On 02/05/2014 01:09, Dominick Samperi wrote: >> >>> If I understand your last comment correctly linking to libR should >>> continue to work, even if you revert to static linking of Haskell compiled >>> code via RTS linker. Since you say this is the way things have always >>> been, perhaps the real explanation for why 7.8 fixed the issue is that >>> some bug was fixed along the way... >> >> >> Indeed. To know for sure we would have to test 7.8 with >> DYNAMIC_GHC_PROGRAMS=NO with your setup - is there a way to do that? >> >> Cheers, >> Simon >> >> >> >>> Note that R is a C library, so the C++ issues that Carter mentions are >>> not a factor here. >>> >>> Thanks, >>> Dominick >>> >>> On Thu, May 1, 2014 at 5:27 PM, Simon Marlow wrote: >>>> >>>> On 01/05/14 14:48, Dominick Samperi wrote: >>>>> >>>>> >>>>> The problem with some graphics libraries used via FFI (and other >>>>> libraries >>>>> that are not thread-safe), if I understand the situation correctly, is >>>>> that ghci >>>>> forks a thread when it shouldn't, causing some programs to miscalculate >>>>> the available stack space (because they think there is only one thread). >>>> >>>> >>>>> >>>>> >>>>> The new dynamic linking support and the flag -fno-ghci-sandbox fixes >>>>> this problem, and I would not vote for the removal of these features. >>>> >>>> >>>> >>>> So I understand how -fno-ghci-sandbox avoids problems with GUI libraries >>>> that use thread-local state. But how is dynamic linking involved here? >>>> What improved in GHC 7.8 relative to 7.6 for you? And could you clarify >>>> "miscalculate the available stack space"? What needs to calculate stack >>>> space? Why? C stack space? >>>> >>>> We can certainly make a smoother experience around -fno-ghci-sandbox for >>>> using GUI libraries. >>>> >>>> >>>>> It is not clear to me from Simon's original post how linking to all of >>>>> those C++ libs can continue to work if dynamic linking is removed >>>>> in 7.10? Perhaps I misunderstand what you mean by "revert to >>>>> static linking"? >>>> >>>> >>>> >>>> When I say "revert to static linking" I mean make GHCi static linked, and >>>> have it load Haskell code compiled for static linking using the RTS >>>> linker >>>> (like it did in 7.6). Foreign libraries would still be loaded using the >>>> system linker, as they always have been. >>>> >>>> To be clear, I'm not officially proposing that we drop dynamic linking, >>>> but >>>> I think it's worthwhile exploring the design space again, given that we >>>> know >>>> dynamic linking has been tougher than we expected. >>>> >>>> Cheers, >>>> Simon >>>> >>>> >>>> >>>>> Thanks, >>>>> Dominick >>>>> >>>>> >>>>> On Wed, Apr 30, 2014 at 9:26 PM, George Colpitts >>>>> wrote: >>>>>> >>>>>> >>>>>> To elaborate, in the past, I had a lot of problems using libraries from >>>>>> the >>>>>> ghci prompt on the Mac but I haven't tried recently. >>>>>> >>>>>> As an example, on the web page for the book the Haskell School of >>>>>> Expression >>>>>> it says: >>>>>> >>>>>> Note for OS X users: running graphics applications from GHCi is no >>>>>> longer >>>>>> supported. Instead, one has to compile a graphics program using GHC in >>>>>> order >>>>>> to run it (see example/GMIExamples.lhs for an example). >>>>>> >>>>>> I had similar problems using the Yale Euterpea music program from ghci. >>>>>> When >>>>>> I inquired I was referred to >>>>>> https://ghc.haskell.org/trac/ghc/ticket/4244 >>>>>> and https://ghc.haskell.org/trac/ghc/ticket/781. I see that the latter >>>>>> is >>>>>> now scheduled for 7.10.1 >>>>>> >>>>>> >>>>>> On Wed, Apr 30, 2014 at 1:45 PM, Simon Marlow >>>>>> wrote: >>>>>>> >>>>>>> >>>>>>> >>>>>>> On 30/04/2014 01:35, George Colpitts wrote: >>>>>>>> >>>>>>>> >>>>>>>> >>>>>>>> It doesn't have anything about the dynamic linking changes made for >>>>>>>> 7.8. >>>>>>>> I think it's worth mentioning the improvements we expect to get from >>>>>>>> that. The highlights of the release notes do mention it, so maybe >>>>>>>> that >>>>>>>> suffices. >>>>>>>> >>>>>>>> In particular, I'm hoping that it is going to fix a lot of problems >>>>>>>> with >>>>>>>> using foreign libraries such as OpenGL from ghci. I could be wrong >>>>>>>> about >>>>>>>> that though. >>>>>>> >>>>>>> >>>>>>> >>>>>>> >>>>>>> I'd like to understand more about what those problems are. As a data >>>>>>> point, at Facebook we're using static linking (I compiled GHC with >>>>>>> DYNAMIC_GHC_PROGRAMS=NO), we're loading upwards of 50 3rd-party C++ >>>>>>> libraries and one gigantic shared library consisting of a ton of >>>>>>> in-house >>>>>>> C++ code, together with all our Haskell code into GHCi, and it works >>>>>>> perfectly. The key to using the static linker is to not use it for >>>>>>> C++ >>>>>>> code >>>>>>> - you want all your external C++ code in shared libraries and load >>>>>>> those >>>>>>> using the system linker. >>>>>>> >>>>>>> Dynamic linking has been a huge headache in GHC, and it's not clear >>>>>>> that >>>>>>> it's an overall improvement compared with the static linker. Now that >>>>>>> 7.8 >>>>>>> is out of the way, it's time to have a conversation about whether we >>>>>>> want to >>>>>>> do dynamic linking again for 7.10, or revert to static linking. I >>>>>>> think >>>>>>> Austin is going to update >>>>>>> https://ghc.haskell.org/trac/ghc/wiki/DynamicGhcPrograms, and then >>>>>>> we'll >>>>>>> see >>>>>>> where we stand. >>>>>>> >>>>>>> Cheers, >>>>>>> Simon >>>>>>> >>>>>>> >>>>>>> >>>>>>>> >>>>>>>> On Tue, Apr 29, 2014 at 6:13 PM, Simon Peyton Jones >>>>>>>> > wrote: >>>>>>>> >>>>>>>> As Austin has told us, there's a draft of the *GHC Status >>>>>>>> Report >>>>>>>> for >>>>>>>> the HCAR*, here:____ >>>>>>>> >>>>>>>> https://ghc.haskell.org/trac/ghc/wiki/Status/May14____ >>>>>>>> >>>>>>>> >>>>>>>> Have we missed out something you have been working hard on? >>>>>>>> Do >>>>>>>> take a moment to add a bullet in an appropriate place (it's a >>>>>>>> wiki). I'd like to be sure that we are giving credit to all >>>>>>>> the >>>>>>>> appropriate people, so please help us fix that too. GHC is a >>>>>>>> team >>>>>>>> effort.____ >>>>>>>> >>>>>>>> Deadline is 1 May I think.____ >>>>>>>> >>>>>>>> Thanks____ >>>>>>>> >>>>>>>> Simon____ >>>>>>>> >>>>>>>> __ __ >>>>>>>> >>>>>>>> >>>>>>>> _______________________________________________ >>>>>>>> ghc-devs mailing list >>>>>>>> ghc-devs at haskell.org >>>>>>>> http://www.haskell.org/mailman/listinfo/ghc-devs >>>>>>>> >>>>>>>> >>>>>>>> >>>>>>>> >>>>>>>> >>>>>>>> _______________________________________________ >>>>>>>> ghc-devs mailing list >>>>>>>> ghc-devs at haskell.org >>>>>>>> http://www.haskell.org/mailman/listinfo/ghc-devs >>>>>>>> >>>>>> >>>>>> >>>>>> _______________________________________________ >>>>>> ghc-devs mailing list >>>>>> ghc-devs at haskell.org >>>>>> http://www.haskell.org/mailman/listinfo/ghc-devs >>>>>> >>>> >> From marlowsd at gmail.com Fri May 2 13:09:33 2014 From: marlowsd at gmail.com (Simon Marlow) Date: Fri, 02 May 2014 14:09:33 +0100 Subject: GHC status report In-Reply-To: References: <618BE556AADD624C9C918AA5D5911BEF0A58F2FC@DB3PRD3001MB020.064d.mgd.msft.net> <536128AF.7080209@gmail.com> <5362BC24.9030101@gmail.com> Message-ID: <5363990D.5080200@gmail.com> On 02/05/2014 01:09, Dominick Samperi wrote: > If I understand your last comment correctly linking to libR should > continue to work, even if you revert to static linking of Haskell compiled > code via RTS linker. Since you say this is the way things have always > been, perhaps the real explanation for why 7.8 fixed the issue is that > some bug was fixed along the way... Indeed. To know for sure we would have to test 7.8 with DYNAMIC_GHC_PROGRAMS=NO with your setup - is there a way to do that? Cheers, Simon > Note that R is a C library, so the C++ issues that Carter mentions are > not a factor here. > > Thanks, > Dominick > > On Thu, May 1, 2014 at 5:27 PM, Simon Marlow wrote: >> On 01/05/14 14:48, Dominick Samperi wrote: >>> >>> The problem with some graphics libraries used via FFI (and other libraries >>> that are not thread-safe), if I understand the situation correctly, is >>> that ghci >>> forks a thread when it shouldn't, causing some programs to miscalculate >>> the available stack space (because they think there is only one thread). >> >>> >>> >>> The new dynamic linking support and the flag -fno-ghci-sandbox fixes >>> this problem, and I would not vote for the removal of these features. >> >> >> So I understand how -fno-ghci-sandbox avoids problems with GUI libraries >> that use thread-local state. But how is dynamic linking involved here? >> What improved in GHC 7.8 relative to 7.6 for you? And could you clarify >> "miscalculate the available stack space"? What needs to calculate stack >> space? Why? C stack space? >> >> We can certainly make a smoother experience around -fno-ghci-sandbox for >> using GUI libraries. >> >> >>> It is not clear to me from Simon's original post how linking to all of >>> those C++ libs can continue to work if dynamic linking is removed >>> in 7.10? Perhaps I misunderstand what you mean by "revert to >>> static linking"? >> >> >> When I say "revert to static linking" I mean make GHCi static linked, and >> have it load Haskell code compiled for static linking using the RTS linker >> (like it did in 7.6). Foreign libraries would still be loaded using the >> system linker, as they always have been. >> >> To be clear, I'm not officially proposing that we drop dynamic linking, but >> I think it's worthwhile exploring the design space again, given that we know >> dynamic linking has been tougher than we expected. >> >> Cheers, >> Simon >> >> >> >>> Thanks, >>> Dominick >>> >>> >>> On Wed, Apr 30, 2014 at 9:26 PM, George Colpitts >>> wrote: >>>> >>>> To elaborate, in the past, I had a lot of problems using libraries from >>>> the >>>> ghci prompt on the Mac but I haven't tried recently. >>>> >>>> As an example, on the web page for the book the Haskell School of >>>> Expression >>>> it says: >>>> >>>> Note for OS X users: running graphics applications from GHCi is no longer >>>> supported. Instead, one has to compile a graphics program using GHC in >>>> order >>>> to run it (see example/GMIExamples.lhs for an example). >>>> >>>> I had similar problems using the Yale Euterpea music program from ghci. >>>> When >>>> I inquired I was referred to https://ghc.haskell.org/trac/ghc/ticket/4244 >>>> and https://ghc.haskell.org/trac/ghc/ticket/781. I see that the latter is >>>> now scheduled for 7.10.1 >>>> >>>> >>>> On Wed, Apr 30, 2014 at 1:45 PM, Simon Marlow wrote: >>>>> >>>>> >>>>> On 30/04/2014 01:35, George Colpitts wrote: >>>>>> >>>>>> >>>>>> It doesn't have anything about the dynamic linking changes made for >>>>>> 7.8. >>>>>> I think it's worth mentioning the improvements we expect to get from >>>>>> that. The highlights of the release notes do mention it, so maybe that >>>>>> suffices. >>>>>> >>>>>> In particular, I'm hoping that it is going to fix a lot of problems >>>>>> with >>>>>> using foreign libraries such as OpenGL from ghci. I could be wrong >>>>>> about >>>>>> that though. >>>>> >>>>> >>>>> >>>>> I'd like to understand more about what those problems are. As a data >>>>> point, at Facebook we're using static linking (I compiled GHC with >>>>> DYNAMIC_GHC_PROGRAMS=NO), we're loading upwards of 50 3rd-party C++ >>>>> libraries and one gigantic shared library consisting of a ton of >>>>> in-house >>>>> C++ code, together with all our Haskell code into GHCi, and it works >>>>> perfectly. The key to using the static linker is to not use it for C++ >>>>> code >>>>> - you want all your external C++ code in shared libraries and load those >>>>> using the system linker. >>>>> >>>>> Dynamic linking has been a huge headache in GHC, and it's not clear that >>>>> it's an overall improvement compared with the static linker. Now that >>>>> 7.8 >>>>> is out of the way, it's time to have a conversation about whether we >>>>> want to >>>>> do dynamic linking again for 7.10, or revert to static linking. I think >>>>> Austin is going to update >>>>> https://ghc.haskell.org/trac/ghc/wiki/DynamicGhcPrograms, and then we'll >>>>> see >>>>> where we stand. >>>>> >>>>> Cheers, >>>>> Simon >>>>> >>>>> >>>>> >>>>>> >>>>>> On Tue, Apr 29, 2014 at 6:13 PM, Simon Peyton Jones >>>>>> > wrote: >>>>>> >>>>>> As Austin has told us, there's a draft of the *GHC Status Report >>>>>> for >>>>>> the HCAR*, here:____ >>>>>> >>>>>> https://ghc.haskell.org/trac/ghc/wiki/Status/May14____ >>>>>> >>>>>> >>>>>> Have we missed out something you have been working hard on? Do >>>>>> take a moment to add a bullet in an appropriate place (it's a >>>>>> wiki). I'd like to be sure that we are giving credit to all the >>>>>> appropriate people, so please help us fix that too. GHC is a team >>>>>> effort.____ >>>>>> >>>>>> Deadline is 1 May I think.____ >>>>>> >>>>>> Thanks____ >>>>>> >>>>>> Simon____ >>>>>> >>>>>> __ __ >>>>>> >>>>>> >>>>>> _______________________________________________ >>>>>> ghc-devs mailing list >>>>>> ghc-devs at haskell.org >>>>>> http://www.haskell.org/mailman/listinfo/ghc-devs >>>>>> >>>>>> >>>>>> >>>>>> >>>>>> >>>>>> _______________________________________________ >>>>>> ghc-devs mailing list >>>>>> ghc-devs at haskell.org >>>>>> http://www.haskell.org/mailman/listinfo/ghc-devs >>>>>> >>>> >>>> >>>> _______________________________________________ >>>> ghc-devs mailing list >>>> ghc-devs at haskell.org >>>> http://www.haskell.org/mailman/listinfo/ghc-devs >>>> >> From marlowsd at gmail.com Fri May 2 13:05:31 2014 From: marlowsd at gmail.com (Simon Marlow) Date: Fri, 02 May 2014 14:05:31 +0100 Subject: GHC status report In-Reply-To: References: <618BE556AADD624C9C918AA5D5911BEF0A58F2FC@DB3PRD3001MB020.064d.mgd.msft.net> <536128AF.7080209@gmail.com> <618BE556AADD624C9C918AA5D5911BEF0A590A80@DB3PRD3001MB020.064d.mgd.msft.net> <5362BCDB.2060500@gmail.com> Message-ID: <5363981B.7040704@gmail.com> On 02/05/2014 00:46, Edward Kmett wrote: > With the old custom linker we weren't able to get our custom MPFR linked > in properly on all platforms for use in ghci. > > On Macs we ran into some rather interesting problems. We could get it to > work for actual executables, but ghci would segfault with stuff resolved > to clearly wrong addresses. If I recall correctly it may have been some > kind of MachO symbol type that wasn't being resolved properly by the > custom GHC linker, perhaps? We chased after it off and on for a long > time to no avail. > > It was complicated a great deal by having to build their library and > merge it directly into ours, because we couldn't use system MPFR, due to > the issues with the GHC garbage collector hooks into GMP. I think this is the whole problem. Normally you would use an external dynamically-linked MPFR, but because you need custom changes to it, you have a local version of it which needs to get linked with your Haskell code. Presumably you have to arrange to build it with -fPIC somehow? If you have C/C++ code in the same library as your Haskell code, then dynamic linking will work better (at least on OS X, where they tend to change the linking semantics more often than ELF, and we have to duplicate that in our linker). This is a good point, but rather than try to fix that I would instead look at whether you could build your custom MPFR as a shared library, which should work fine regardless of whether GHCi is dynamically linked or not. The only issue should be passing the right -rpath so that executables can find your custom MPFR, which is something we already do for dynamic linking. Cheers, Simon > Switching to the system dynamic linker fo ghci seems to have resolved > all of that effortlessly. > > Dan Peebles has been talking to the MPFR folks to see if we can get them > to expose enough information about the 'hidden' allocations they use > that we can make them visible to GHC or have them do what our local fix > does and avoid using the MPFR allocator for their hidden constant cache. > > If they do that then we can actually link to the library like normal > rather than link it in directly, but it isn't clear to me what would > happen even with those hooks if we rolled back to something like the old > custom linker. > > -Edward > > > On Thu, May 1, 2014 at 5:30 PM, Simon Marlow > wrote: > > On 01/05/14 15:27, Edward Kmett wrote: > > Figured I'd make one case for dynamic linking: > > https://github.com/ekmett/__rounded > > > Dynamic linking is finally enabling us to build a version of MPFR > bindings for Haskell for scientific/high precision computing > with 7.8. I > would really hate to lose it after all of these years trying to > get it > work, as I have a rather large edifice being built atop that > platform. > We tried and failed due to limitations of the old linker for > almost 3 years. > > > I understand the issues with MPFR. But how is dynamic linking helping? > > > That said, -dynamic-too seems to cause me all sorts of problems > elsewhere. ^C'ing out of a build and restarting it will often > make a .o > but lose the .dyn_o, leading to GHC + cabal getting confused and > refusing to build until I clean. This hits me several times a day. > > > We should fix this (or at least make it a lot less likely). Is > there a ticket? > > Cheers, > Simon > > > -Edward > > > On Thu, May 1, 2014 at 3:29 AM, Simon Peyton Jones > > >__> > wrote: > > | Dynamic linking has been a huge headache in GHC, and it's not > clear that > | it's an overall improvement compared with the static > linker. Now that > | 7.8 is out of the way, it's time to have a conversation about > whether we > | want to do dynamic linking again for 7.10, or revert to > static > linking. > > I echo this. Dynamic linking has had many un-anticipated > costs and > it is still very far from sorted out. It originally felt > like a > Fantastic Idea to give up our own linker and adopt the system > linker, but it now feels to me like a black hole, endlessly > sucking > effort and increasing complexity. > > My viewpoint is highly un-informed about details; I just > watch the > traffic going by. And of course it does have benefits that > doubtless generate less traffic. > > Simon > > | > | > | > | > > | > On Tue, Apr 29, 2014 at 6:13 PM, Simon Peyton Jones > | > > > > >__>> wrote: > | > > | > As Austin has told us, there's a draft of the *GHC > Status Report > | for > | > the HCAR*, here:____ > | > > | > > https://ghc.haskell.org/trac/__ghc/wiki/Status/May14____ > > | > > | > Have we missed out something you have been working > hard on? Do > | > take a moment to add a bullet in an appropriate > place (it's a > | > wiki). I'd like to be sure that we are giving > credit to all the > | > appropriate people, so please help us fix that too. > GHC is > a team > | > effort.____ > | > > | > Deadline is 1 May I think.____ > | > > | > Thanks____ > | > > | > Simon____ > | > > | > __ __ > | > > | > > | > _________________________________________________ > | > ghc-devs mailing list > | > ghc-devs at haskell.org > > > > >> > > | > http://www.haskell.org/__mailman/listinfo/ghc-devs > > | > > | > > | > > | > > | > _________________________________________________ > | > ghc-devs mailing list > | > ghc-devs at haskell.org > > > | > http://www.haskell.org/__mailman/listinfo/ghc-devs > > | > > _________________________________________________ > ghc-devs mailing list > ghc-devs at haskell.org > > > http://www.haskell.org/__mailman/listinfo/ghc-devs > > > > > From ekmett at gmail.com Fri May 2 22:39:27 2014 From: ekmett at gmail.com (Edward Kmett) Date: Fri, 2 May 2014 18:39:27 -0400 Subject: GHC status report In-Reply-To: <5363F5A3.9080009@gmail.com> References: <618BE556AADD624C9C918AA5D5911BEF0A58F2FC@DB3PRD3001MB020.064d.mgd.msft.net> <536128AF.7080209@gmail.com> <618BE556AADD624C9C918AA5D5911BEF0A590A80@DB3PRD3001MB020.064d.mgd.msft.net> <5362BCDB.2060500@gmail.com> <5363981B.7040704@gmail.com> <5363A1FB.6070506@gmail.com> <5363F5A3.9080009@gmail.com> Message-ID: Come to think of it the static initializer we were trying _was_ being glued into the haskell package, not the external lib where it might have actually worked so that may be where my confusion came in. -Edward On Fri, May 2, 2014 at 3:44 PM, Simon Marlow wrote: > On 02/05/14 18:19, Edward Kmett wrote: > >> I may have to dig to find an example, but when I last checked it seemed >> that c++ libraries would load fine, but there was a problem with static >> initializers not getting called, when loading from ghci, so if your c++ >> library needed them then you'd have problems. >> > > I think we're getting confused here. External C++ libraries are, and > always have been, loaded by the system linker, regardless of whether GHCi > itself is dynamically linked. So there's no difference in 7.8 with respect > to how external C++ code is loaded. > > However, if you link the C++ code into the same library as the Haskell > code as you're doing with MPFR, then of course there is a difference (let's > call that *internal* C++ code, for want of a better name). I think that's > a rare case (I understand why you need to do it), and most people should be > linking their C++ code via separate shared libraries. > > > An earlier version of the MPFR hackery used a static initializer to >> replace the GHC garbage collection hook for GMP with one that played >> evil games to figure out if it was being called from the MPFR constant >> cache. >> >> That initialized and loaded fine from ghc, but not from ghci. Our static >> initializer was never being called, despite the library being loaded. >> >> If your C++ practices there forbid static initializers -- some places do >> -- that may be why you aren't seeing the issue. >> > > Absolutely not, we're drowning in static initialisers :) > > Cheers, > Simon > > > -Edward >> >> >> On Fri, May 2, 2014 at 9:47 AM, Simon Marlow > > wrote: >> >> On 02/05/2014 14:28, Edward Kmett wrote: >> > Perhaps. We actually tried that originally, but had issues about >> > where and how to get cabal to place it. We'd need it to go >> somewhere >> > installed rather than the local build dir lest it not be there when >> > we go to use the lib, but IIRC, cabal couldn't/wouldn't tell me >> where >> > it was putting the final installed version and then there is the >> > issue of the local in place runs vs. post cabal install runs and >> > referencing that dir from subsequent projects. If we want a >> > transparent ?cabal install rounded` It isn't clear to me how to get >> > there down this path, but it is entirely possible I just missed >> > something obvious. >> > >> > MPFR/rounded was just an off the cuff example. Another place where >> > the dynamic linker really helps is external c++ libraries which >> > should now actually get all of their initializers called in the >> right >> > order when launched from ghci. >> >> External C++ libraries work just fine with the statically linked GHCi >> - >> it uses the system linker to load them, and all the initalizers get >> called, in the right order, as they should. So this is where I'm >> confused about what the problems actually are - there seems to be this >> perception that GHCi didn't work with external C++ code, but as far >> as I >> know it works just fine (indeed we're doing it a lot at Facebook, so >> there's at least an existence proof that depending on a non-trivial >> amount of external C++ with a statically-linked GHCi can work). >> >> Cheers, >> Simon >> >> >> > >> > >> >> Cheers, >> >> Simon >> >> >> >>> Switching to the system dynamic linker fo ghci seems to have >> resolved >> >>> all of that effortlessly. >> >>> >> >>> Dan Peebles has been talking to the MPFR folks to see if we can >> get them >> >>> to expose enough information about the 'hidden' allocations >> they use >> >>> that we can make them visible to GHC or have them do what our >> local fix >> >>> does and avoid using the MPFR allocator for their hidden >> constant cache. >> >>> >> >>> If they do that then we can actually link to the library like >> normal >> >>> rather than link it in directly, but it isn't clear to me what >> would >> >>> happen even with those hooks if we rolled back to something >> like the old >> >>> custom linker. >> >>> >> >>> -Edward >> >>> >> >>> >> >>> On Thu, May 1, 2014 at 5:30 PM, Simon Marlow >> >> >>> >> wrote: >> >>> >> >>> On 01/05/14 15:27, Edward Kmett wrote: >> >>> >> >>> Figured I'd make one case for dynamic linking: >> >>> >> >>> https://github.com/ekmett/__rounded >> >>> >> >>> >> >>> Dynamic linking is finally enabling us to build a >> version of MPFR >> >>> bindings for Haskell for scientific/high precision >> computing >> >>> with 7.8. I >> >>> would really hate to lose it after all of these years >> trying to >> >>> get it >> >>> work, as I have a rather large edifice being built atop >> that >> >>> platform. >> >>> We tried and failed due to limitations of the old >> linker for >> >>> almost 3 years. >> >>> >> >>> >> >>> I understand the issues with MPFR. But how is dynamic >> linking helping? >> >>> >> >>> >> >>> That said, -dynamic-too seems to cause me all sorts of >> problems >> >>> elsewhere. ^C'ing out of a build and restarting it will >> often >> >>> make a .o >> >>> but lose the .dyn_o, leading to GHC + cabal getting >> confused and >> >>> refusing to build until I clean. This hits me several >> times a day. >> >>> >> >>> >> >>> We should fix this (or at least make it a lot less likely). >> Is >> >>> there a ticket? >> >>> >> >>> Cheers, >> >>> Simon >> >>> >> >>> >> >>> -Edward >> >>> >> >>> >> >>> On Thu, May 1, 2014 at 3:29 AM, Simon Peyton Jones >> >>> >> > >> >>> > > >>__> >> >>> wrote: >> >>> >> >>> | Dynamic linking has been a huge headache in GHC, >> and it's not >> >>> clear that >> >>> | it's an overall improvement compared with the >> static >> >>> linker. Now that >> >>> | 7.8 is out of the way, it's time to have a >> conversation about >> >>> whether we >> >>> | want to do dynamic linking again for 7.10, or >> revert to >> >>> static >> >>> linking. >> >>> >> >>> I echo this. Dynamic linking has had many >> un-anticipated >> >>> costs and >> >>> it is still very far from sorted out. It >> originally felt >> >>> like a >> >>> Fantastic Idea to give up our own linker and adopt >> the system >> >>> linker, but it now feels to me like a black hole, >> endlessly >> >>> sucking >> >>> effort and increasing complexity. >> >>> >> >>> My viewpoint is highly un-informed about details; >> I just >> >>> watch the >> >>> traffic going by. And of course it does have >> benefits that >> >>> doubtless generate less traffic. >> >>> >> >>> Simon >> >>> >> >>> | >> >>> | >> >>> | >> >>> | > >> >>> | > On Tue, Apr 29, 2014 at 6:13 PM, Simon Peyton >> Jones >> >>> | > > > > >> >>> > > >> >> >>> > >> >>> > > > >> >>> > >>__>> wrote: >> >>> | > >> >>> | > As Austin has told us, there's a draft of >> the *GHC >> >>> Status Report >> >>> | for >> >>> | > the HCAR*, here:____ >> >>> | > >> >>> | > >> >>> https://ghc.haskell.org/trac/__ghc/wiki/Status/May14____ >> >>> >> >>> | > >> >>> | > Have we missed out something you have >> been working >> >>> hard on? Do >> >>> | > take a moment to add a bullet in an >> appropriate >> >>> place (it's a >> >>> | > wiki). I'd like to be sure that we are >> giving >> >>> credit to all the >> >>> | > appropriate people, so please help us fix >> that too. >> >>> GHC is >> >>> a team >> >>> | > effort.____ >> >>> | > >> >>> | > Deadline is 1 May I think.____ >> >>> | > >> >>> | > Thanks____ >> >>> | > >> >>> | > Simon____ >> >>> | > >> >>> | > __ __ >> >>> | > >> >>> | > >> >>> | > >> _________________________________________________ >> >>> | > ghc-devs mailing list >> >>> | > ghc-devs at haskell.org >> > > >> >>> > > >> >> >>> > > > >> >>> > > >>> >> >>> >> >>> | > http://www.haskell.org/__ >> mailman/listinfo/ghc-devs >> >>> >> >>> | > >> >>> | > >> >>> | > >> >>> | > >> >>> | > ______________________________ >> ___________________ >> >>> | > ghc-devs mailing list >> >>> | > ghc-devs at haskell.org >> > > >> >>> > > >> >> >>> | > http://www.haskell.org/__ >> mailman/listinfo/ghc-devs >> >>> >> >>> | > >> >>> _________________________________________________ >> >>> ghc-devs mailing list >> >>> ghc-devs at haskell.org >> > >> >>> > > >> >> >>> http://www.haskell.org/__mailman/listinfo/ghc-devs >> >>> >> >>> >> >>> >> >>> >> >>> >> >> >> > -------------- next part -------------- An HTML attachment was scrubbed... URL: From djsamperi at gmail.com Sat May 3 00:52:52 2014 From: djsamperi at gmail.com (Dominick Samperi) Date: Fri, 2 May 2014 20:52:52 -0400 Subject: GHC status report In-Reply-To: <5363F5E5.6040004@gmail.com> References: <618BE556AADD624C9C918AA5D5911BEF0A58F2FC@DB3PRD3001MB020.064d.mgd.msft.net> <536128AF.7080209@gmail.com> <5362BC24.9030101@gmail.com> <5363990D.5080200@gmail.com> <5363F5E5.6040004@gmail.com> Message-ID: I posted a ticket related to this (#8371), but the example provided there has no problems today for all versions of ghci that I tested (including 7.6.3), provided -fno-ghci-sandbox is specified. So this problem was clearly related to the threads issue. Today there are problems when DYNAMIC_GHC_PROGRAMS=NO, but they happen later, and I have not yet narrowed this down to a small example. Basically, I have an Haskell app that embeds R (as in the sample code attached to the above ticket), but when it tries to do some calculations it seg faults (works fine with 7.8.2). On Fri, May 2, 2014 at 3:45 PM, Simon Marlow wrote: > Can you give me a quick summary of how to reproduce the problem? (not > including the GHC build steps) > > Cheers, > Simon > > > On 02/05/14 18:18, Dominick Samperi wrote: >> >> I downloaded HEAD and placed DYNAMIC_GHC_PROGRAMS=NO in the "quick" >> section of mk/build.mk (with BuildFlavour = quick), and set >> DYNAMIC_GHC_PROGRAMS=NO >> in my environment before running configure (just to be sure!). Near >> the end of the build >> I saw some messages like "Warning: vectorization failure," but the >> build completed. >> >> The status at the end of configure doesn't say that dynamic linking >> via RTS has been >> turned off, and I don't know how to check that this is so. >> Nevertheless, I checked >> the linking issue and it is NOT fixed with this build, so >> DYNAMIC_GHC_PROGRAMS=YES is required to prevent the problems >> reported by me and others. >> >> >> On Fri, May 2, 2014 at 9:09 AM, Simon Marlow wrote: >>> >>> On 02/05/2014 01:09, Dominick Samperi wrote: >>> >>>> If I understand your last comment correctly linking to libR should >>>> continue to work, even if you revert to static linking of Haskell >>>> compiled >>>> code via RTS linker. Since you say this is the way things have always >>>> been, perhaps the real explanation for why 7.8 fixed the issue is that >>>> some bug was fixed along the way... >>> >>> >>> >>> Indeed. To know for sure we would have to test 7.8 with >>> DYNAMIC_GHC_PROGRAMS=NO with your setup - is there a way to do that? >>> >>> Cheers, >>> Simon >>> >>> >>> >>>> Note that R is a C library, so the C++ issues that Carter mentions are >>>> not a factor here. >>>> >>>> Thanks, >>>> Dominick >>>> >>>> On Thu, May 1, 2014 at 5:27 PM, Simon Marlow wrote: >>>>> >>>>> >>>>> On 01/05/14 14:48, Dominick Samperi wrote: >>>>>> >>>>>> >>>>>> >>>>>> The problem with some graphics libraries used via FFI (and other >>>>>> libraries >>>>>> that are not thread-safe), if I understand the situation correctly, is >>>>>> that ghci >>>>>> forks a thread when it shouldn't, causing some programs to >>>>>> miscalculate >>>>>> the available stack space (because they think there is only one >>>>>> thread). >>>>> >>>>> >>>>> >>>>>> >>>>>> >>>>>> The new dynamic linking support and the flag -fno-ghci-sandbox fixes >>>>>> this problem, and I would not vote for the removal of these features. >>>>> >>>>> >>>>> >>>>> >>>>> So I understand how -fno-ghci-sandbox avoids problems with GUI >>>>> libraries >>>>> that use thread-local state. But how is dynamic linking involved here? >>>>> What improved in GHC 7.8 relative to 7.6 for you? And could you clarify >>>>> "miscalculate the available stack space"? What needs to calculate stack >>>>> space? Why? C stack space? >>>>> >>>>> We can certainly make a smoother experience around -fno-ghci-sandbox >>>>> for >>>>> using GUI libraries. >>>>> >>>>> >>>>>> It is not clear to me from Simon's original post how linking to all of >>>>>> those C++ libs can continue to work if dynamic linking is removed >>>>>> in 7.10? Perhaps I misunderstand what you mean by "revert to >>>>>> static linking"? >>>>> >>>>> >>>>> >>>>> >>>>> When I say "revert to static linking" I mean make GHCi static linked, >>>>> and >>>>> have it load Haskell code compiled for static linking using the RTS >>>>> linker >>>>> (like it did in 7.6). Foreign libraries would still be loaded using >>>>> the >>>>> system linker, as they always have been. >>>>> >>>>> To be clear, I'm not officially proposing that we drop dynamic linking, >>>>> but >>>>> I think it's worthwhile exploring the design space again, given that we >>>>> know >>>>> dynamic linking has been tougher than we expected. >>>>> >>>>> Cheers, >>>>> Simon >>>>> >>>>> >>>>> >>>>>> Thanks, >>>>>> Dominick >>>>>> >>>>>> >>>>>> On Wed, Apr 30, 2014 at 9:26 PM, George Colpitts >>>>>> wrote: >>>>>>> >>>>>>> >>>>>>> >>>>>>> To elaborate, in the past, I had a lot of problems using libraries >>>>>>> from >>>>>>> the >>>>>>> ghci prompt on the Mac but I haven't tried recently. >>>>>>> >>>>>>> As an example, on the web page for the book the Haskell School of >>>>>>> Expression >>>>>>> it says: >>>>>>> >>>>>>> Note for OS X users: running graphics applications from GHCi is no >>>>>>> longer >>>>>>> supported. Instead, one has to compile a graphics program using GHC >>>>>>> in >>>>>>> order >>>>>>> to run it (see example/GMIExamples.lhs for an example). >>>>>>> >>>>>>> I had similar problems using the Yale Euterpea music program from >>>>>>> ghci. >>>>>>> When >>>>>>> I inquired I was referred to >>>>>>> https://ghc.haskell.org/trac/ghc/ticket/4244 >>>>>>> and https://ghc.haskell.org/trac/ghc/ticket/781. I see that the >>>>>>> latter >>>>>>> is >>>>>>> now scheduled for 7.10.1 >>>>>>> >>>>>>> >>>>>>> On Wed, Apr 30, 2014 at 1:45 PM, Simon Marlow >>>>>>> wrote: >>>>>>>> >>>>>>>> >>>>>>>> >>>>>>>> >>>>>>>> On 30/04/2014 01:35, George Colpitts wrote: >>>>>>>>> >>>>>>>>> >>>>>>>>> >>>>>>>>> >>>>>>>>> It doesn't have anything about the dynamic linking changes made for >>>>>>>>> 7.8. >>>>>>>>> I think it's worth mentioning the improvements we expect to get >>>>>>>>> from >>>>>>>>> that. The highlights of the release notes do mention it, so maybe >>>>>>>>> that >>>>>>>>> suffices. >>>>>>>>> >>>>>>>>> In particular, I'm hoping that it is going to fix a lot of problems >>>>>>>>> with >>>>>>>>> using foreign libraries such as OpenGL from ghci. I could be wrong >>>>>>>>> about >>>>>>>>> that though. >>>>>>>> >>>>>>>> >>>>>>>> >>>>>>>> >>>>>>>> >>>>>>>> I'd like to understand more about what those problems are. As a >>>>>>>> data >>>>>>>> point, at Facebook we're using static linking (I compiled GHC with >>>>>>>> DYNAMIC_GHC_PROGRAMS=NO), we're loading upwards of 50 3rd-party C++ >>>>>>>> libraries and one gigantic shared library consisting of a ton of >>>>>>>> in-house >>>>>>>> C++ code, together with all our Haskell code into GHCi, and it works >>>>>>>> perfectly. The key to using the static linker is to not use it for >>>>>>>> C++ >>>>>>>> code >>>>>>>> - you want all your external C++ code in shared libraries and load >>>>>>>> those >>>>>>>> using the system linker. >>>>>>>> >>>>>>>> Dynamic linking has been a huge headache in GHC, and it's not clear >>>>>>>> that >>>>>>>> it's an overall improvement compared with the static linker. Now >>>>>>>> that >>>>>>>> 7.8 >>>>>>>> is out of the way, it's time to have a conversation about whether we >>>>>>>> want to >>>>>>>> do dynamic linking again for 7.10, or revert to static linking. I >>>>>>>> think >>>>>>>> Austin is going to update >>>>>>>> https://ghc.haskell.org/trac/ghc/wiki/DynamicGhcPrograms, and then >>>>>>>> we'll >>>>>>>> see >>>>>>>> where we stand. >>>>>>>> >>>>>>>> Cheers, >>>>>>>> Simon >>>>>>>> >>>>>>>> >>>>>>>> >>>>>>>>> >>>>>>>>> On Tue, Apr 29, 2014 at 6:13 PM, Simon Peyton Jones >>>>>>>>> > wrote: >>>>>>>>> >>>>>>>>> As Austin has told us, there's a draft of the *GHC Status >>>>>>>>> Report >>>>>>>>> for >>>>>>>>> the HCAR*, here:____ >>>>>>>>> >>>>>>>>> https://ghc.haskell.org/trac/ghc/wiki/Status/May14____ >>>>>>>>> >>>>>>>>> >>>>>>>>> Have we missed out something you have been working hard on? >>>>>>>>> Do >>>>>>>>> take a moment to add a bullet in an appropriate place (it's >>>>>>>>> a >>>>>>>>> wiki). I'd like to be sure that we are giving credit to all >>>>>>>>> the >>>>>>>>> appropriate people, so please help us fix that too. GHC is >>>>>>>>> a >>>>>>>>> team >>>>>>>>> effort.____ >>>>>>>>> >>>>>>>>> Deadline is 1 May I think.____ >>>>>>>>> >>>>>>>>> Thanks____ >>>>>>>>> >>>>>>>>> Simon____ >>>>>>>>> >>>>>>>>> __ __ >>>>>>>>> >>>>>>>>> >>>>>>>>> _______________________________________________ >>>>>>>>> ghc-devs mailing list >>>>>>>>> ghc-devs at haskell.org >>>>>>>>> http://www.haskell.org/mailman/listinfo/ghc-devs >>>>>>>>> >>>>>>>>> >>>>>>>>> >>>>>>>>> >>>>>>>>> >>>>>>>>> _______________________________________________ >>>>>>>>> ghc-devs mailing list >>>>>>>>> ghc-devs at haskell.org >>>>>>>>> http://www.haskell.org/mailman/listinfo/ghc-devs >>>>>>>>> >>>>>>> >>>>>>> >>>>>>> _______________________________________________ >>>>>>> ghc-devs mailing list >>>>>>> ghc-devs at haskell.org >>>>>>> http://www.haskell.org/mailman/listinfo/ghc-devs >>>>>>> >>>>> >>> > From carter.schonwald at gmail.com Sat May 3 01:12:00 2014 From: carter.schonwald at gmail.com (Carter Schonwald) Date: Fri, 2 May 2014 21:12:00 -0400 Subject: GHC status report In-Reply-To: References: <618BE556AADD624C9C918AA5D5911BEF0A58F2FC@DB3PRD3001MB020.064d.mgd.msft.net> <536128AF.7080209@gmail.com> <5362BC24.9030101@gmail.com> <5363990D.5080200@gmail.com> <5363F5E5.6040004@gmail.com> Message-ID: if theres a way i can patch llvm-general so that i can use it with llvm static linked into rather than dylinked, i'm all ears! llvm-general has to use some C++ wrappers (that in turn use extern "C" sections) to make parts of the llvm api accessible from hasskell. I had trouble following some of the thread earlier today, but is the suggestion to try building those wrappers with -fPIC would make them play nice? On Fri, May 2, 2014 at 8:52 PM, Dominick Samperi wrote: > I posted a ticket related to this (#8371), but the example provided there > has no problems today for all versions of ghci that I tested (including > 7.6.3), provided -fno-ghci-sandbox is specified. So this problem was > clearly related to the threads issue. > > Today there are problems when DYNAMIC_GHC_PROGRAMS=NO, but they > happen later, and I have not yet narrowed this down to a small example. > Basically, I have an Haskell app that embeds R (as in the sample code > attached to the above ticket), but when it tries to do some calculations > it seg faults (works fine with 7.8.2). > > On Fri, May 2, 2014 at 3:45 PM, Simon Marlow wrote: > > Can you give me a quick summary of how to reproduce the problem? (not > > including the GHC build steps) > > > > Cheers, > > Simon > > > > > > On 02/05/14 18:18, Dominick Samperi wrote: > >> > >> I downloaded HEAD and placed DYNAMIC_GHC_PROGRAMS=NO in the "quick" > >> section of mk/build.mk (with BuildFlavour = quick), and set > >> DYNAMIC_GHC_PROGRAMS=NO > >> in my environment before running configure (just to be sure!). Near > >> the end of the build > >> I saw some messages like "Warning: vectorization failure," but the > >> build completed. > >> > >> The status at the end of configure doesn't say that dynamic linking > >> via RTS has been > >> turned off, and I don't know how to check that this is so. > >> Nevertheless, I checked > >> the linking issue and it is NOT fixed with this build, so > >> DYNAMIC_GHC_PROGRAMS=YES is required to prevent the problems > >> reported by me and others. > >> > >> > >> On Fri, May 2, 2014 at 9:09 AM, Simon Marlow > wrote: > >>> > >>> On 02/05/2014 01:09, Dominick Samperi wrote: > >>> > >>>> If I understand your last comment correctly linking to libR should > >>>> continue to work, even if you revert to static linking of Haskell > >>>> compiled > >>>> code via RTS linker. Since you say this is the way things have always > >>>> been, perhaps the real explanation for why 7.8 fixed the issue is that > >>>> some bug was fixed along the way... > >>> > >>> > >>> > >>> Indeed. To know for sure we would have to test 7.8 with > >>> DYNAMIC_GHC_PROGRAMS=NO with your setup - is there a way to do that? > >>> > >>> Cheers, > >>> Simon > >>> > >>> > >>> > >>>> Note that R is a C library, so the C++ issues that Carter mentions are > >>>> not a factor here. > >>>> > >>>> Thanks, > >>>> Dominick > >>>> > >>>> On Thu, May 1, 2014 at 5:27 PM, Simon Marlow > wrote: > >>>>> > >>>>> > >>>>> On 01/05/14 14:48, Dominick Samperi wrote: > >>>>>> > >>>>>> > >>>>>> > >>>>>> The problem with some graphics libraries used via FFI (and other > >>>>>> libraries > >>>>>> that are not thread-safe), if I understand the situation correctly, > is > >>>>>> that ghci > >>>>>> forks a thread when it shouldn't, causing some programs to > >>>>>> miscalculate > >>>>>> the available stack space (because they think there is only one > >>>>>> thread). > >>>>> > >>>>> > >>>>> > >>>>>> > >>>>>> > >>>>>> The new dynamic linking support and the flag -fno-ghci-sandbox fixes > >>>>>> this problem, and I would not vote for the removal of these > features. > >>>>> > >>>>> > >>>>> > >>>>> > >>>>> So I understand how -fno-ghci-sandbox avoids problems with GUI > >>>>> libraries > >>>>> that use thread-local state. But how is dynamic linking involved > here? > >>>>> What improved in GHC 7.8 relative to 7.6 for you? And could you > clarify > >>>>> "miscalculate the available stack space"? What needs to calculate > stack > >>>>> space? Why? C stack space? > >>>>> > >>>>> We can certainly make a smoother experience around -fno-ghci-sandbox > >>>>> for > >>>>> using GUI libraries. > >>>>> > >>>>> > >>>>>> It is not clear to me from Simon's original post how linking to all > of > >>>>>> those C++ libs can continue to work if dynamic linking is removed > >>>>>> in 7.10? Perhaps I misunderstand what you mean by "revert to > >>>>>> static linking"? > >>>>> > >>>>> > >>>>> > >>>>> > >>>>> When I say "revert to static linking" I mean make GHCi static linked, > >>>>> and > >>>>> have it load Haskell code compiled for static linking using the RTS > >>>>> linker > >>>>> (like it did in 7.6). Foreign libraries would still be loaded using > >>>>> the > >>>>> system linker, as they always have been. > >>>>> > >>>>> To be clear, I'm not officially proposing that we drop dynamic > linking, > >>>>> but > >>>>> I think it's worthwhile exploring the design space again, given that > we > >>>>> know > >>>>> dynamic linking has been tougher than we expected. > >>>>> > >>>>> Cheers, > >>>>> Simon > >>>>> > >>>>> > >>>>> > >>>>>> Thanks, > >>>>>> Dominick > >>>>>> > >>>>>> > >>>>>> On Wed, Apr 30, 2014 at 9:26 PM, George Colpitts > >>>>>> wrote: > >>>>>>> > >>>>>>> > >>>>>>> > >>>>>>> To elaborate, in the past, I had a lot of problems using libraries > >>>>>>> from > >>>>>>> the > >>>>>>> ghci prompt on the Mac but I haven't tried recently. > >>>>>>> > >>>>>>> As an example, on the web page for the book the Haskell School of > >>>>>>> Expression > >>>>>>> it says: > >>>>>>> > >>>>>>> Note for OS X users: running graphics applications from GHCi is no > >>>>>>> longer > >>>>>>> supported. Instead, one has to compile a graphics program using GHC > >>>>>>> in > >>>>>>> order > >>>>>>> to run it (see example/GMIExamples.lhs for an example). > >>>>>>> > >>>>>>> I had similar problems using the Yale Euterpea music program from > >>>>>>> ghci. > >>>>>>> When > >>>>>>> I inquired I was referred to > >>>>>>> https://ghc.haskell.org/trac/ghc/ticket/4244 > >>>>>>> and https://ghc.haskell.org/trac/ghc/ticket/781. I see that the > >>>>>>> latter > >>>>>>> is > >>>>>>> now scheduled for 7.10.1 > >>>>>>> > >>>>>>> > >>>>>>> On Wed, Apr 30, 2014 at 1:45 PM, Simon Marlow > >>>>>>> wrote: > >>>>>>>> > >>>>>>>> > >>>>>>>> > >>>>>>>> > >>>>>>>> On 30/04/2014 01:35, George Colpitts wrote: > >>>>>>>>> > >>>>>>>>> > >>>>>>>>> > >>>>>>>>> > >>>>>>>>> It doesn't have anything about the dynamic linking changes made > for > >>>>>>>>> 7.8. > >>>>>>>>> I think it's worth mentioning the improvements we expect to get > >>>>>>>>> from > >>>>>>>>> that. The highlights of the release notes do mention it, so maybe > >>>>>>>>> that > >>>>>>>>> suffices. > >>>>>>>>> > >>>>>>>>> In particular, I'm hoping that it is going to fix a lot of > problems > >>>>>>>>> with > >>>>>>>>> using foreign libraries such as OpenGL from ghci. I could be > wrong > >>>>>>>>> about > >>>>>>>>> that though. > >>>>>>>> > >>>>>>>> > >>>>>>>> > >>>>>>>> > >>>>>>>> > >>>>>>>> I'd like to understand more about what those problems are. As a > >>>>>>>> data > >>>>>>>> point, at Facebook we're using static linking (I compiled GHC with > >>>>>>>> DYNAMIC_GHC_PROGRAMS=NO), we're loading upwards of 50 3rd-party > C++ > >>>>>>>> libraries and one gigantic shared library consisting of a ton of > >>>>>>>> in-house > >>>>>>>> C++ code, together with all our Haskell code into GHCi, and it > works > >>>>>>>> perfectly. The key to using the static linker is to not use it > for > >>>>>>>> C++ > >>>>>>>> code > >>>>>>>> - you want all your external C++ code in shared libraries and load > >>>>>>>> those > >>>>>>>> using the system linker. > >>>>>>>> > >>>>>>>> Dynamic linking has been a huge headache in GHC, and it's not > clear > >>>>>>>> that > >>>>>>>> it's an overall improvement compared with the static linker. Now > >>>>>>>> that > >>>>>>>> 7.8 > >>>>>>>> is out of the way, it's time to have a conversation about whether > we > >>>>>>>> want to > >>>>>>>> do dynamic linking again for 7.10, or revert to static linking. I > >>>>>>>> think > >>>>>>>> Austin is going to update > >>>>>>>> https://ghc.haskell.org/trac/ghc/wiki/DynamicGhcPrograms, and > then > >>>>>>>> we'll > >>>>>>>> see > >>>>>>>> where we stand. > >>>>>>>> > >>>>>>>> Cheers, > >>>>>>>> Simon > >>>>>>>> > >>>>>>>> > >>>>>>>> > >>>>>>>>> > >>>>>>>>> On Tue, Apr 29, 2014 at 6:13 PM, Simon Peyton Jones > >>>>>>>>> > wrote: > >>>>>>>>> > >>>>>>>>> As Austin has told us, there's a draft of the *GHC Status > >>>>>>>>> Report > >>>>>>>>> for > >>>>>>>>> the HCAR*, here:____ > >>>>>>>>> > >>>>>>>>> https://ghc.haskell.org/trac/ghc/wiki/Status/May14____ > >>>>>>>>> > >>>>>>>>> > >>>>>>>>> Have we missed out something you have been working hard > on? > >>>>>>>>> Do > >>>>>>>>> take a moment to add a bullet in an appropriate place > (it's > >>>>>>>>> a > >>>>>>>>> wiki). I'd like to be sure that we are giving credit to > all > >>>>>>>>> the > >>>>>>>>> appropriate people, so please help us fix that too. GHC > is > >>>>>>>>> a > >>>>>>>>> team > >>>>>>>>> effort.____ > >>>>>>>>> > >>>>>>>>> Deadline is 1 May I think.____ > >>>>>>>>> > >>>>>>>>> Thanks____ > >>>>>>>>> > >>>>>>>>> Simon____ > >>>>>>>>> > >>>>>>>>> __ __ > >>>>>>>>> > >>>>>>>>> > >>>>>>>>> _______________________________________________ > >>>>>>>>> ghc-devs mailing list > >>>>>>>>> ghc-devs at haskell.org > >>>>>>>>> http://www.haskell.org/mailman/listinfo/ghc-devs > >>>>>>>>> > >>>>>>>>> > >>>>>>>>> > >>>>>>>>> > >>>>>>>>> > >>>>>>>>> _______________________________________________ > >>>>>>>>> ghc-devs mailing list > >>>>>>>>> ghc-devs at haskell.org > >>>>>>>>> http://www.haskell.org/mailman/listinfo/ghc-devs > >>>>>>>>> > >>>>>>> > >>>>>>> > >>>>>>> _______________________________________________ > >>>>>>> ghc-devs mailing list > >>>>>>> ghc-devs at haskell.org > >>>>>>> http://www.haskell.org/mailman/listinfo/ghc-devs > >>>>>>> > >>>>> > >>> > > > _______________________________________________ > ghc-devs mailing list > ghc-devs at haskell.org > http://www.haskell.org/mailman/listinfo/ghc-devs > -------------- next part -------------- An HTML attachment was scrubbed... URL: From djsamperi at gmail.com Sat May 3 03:15:45 2014 From: djsamperi at gmail.com (Dominick Samperi) Date: Fri, 2 May 2014 23:15:45 -0400 Subject: GHC status report In-Reply-To: <5363F5E5.6040004@gmail.com> References: <618BE556AADD624C9C918AA5D5911BEF0A58F2FC@DB3PRD3001MB020.064d.mgd.msft.net> <536128AF.7080209@gmail.com> <5362BC24.9030101@gmail.com> <5363990D.5080200@gmail.com> <5363F5E5.6040004@gmail.com> Message-ID: I'm trying to understand the dynamic linking situation with the help of https://ghc.haskell.org/trac/ghc/wiki/Status/GHC-7.8, and according to this information I need to specify DYNAMIC_GHC_PROGRAMS=YES for ghci to use the system linker. I don't understand why you suggested I test with DYNAMIC_GHC_PROGRAMS=NO? Another interesting twist is that my experience under Windows is the opposite of the negative experience described on this page. What I mean by this is more versions of ghci seem to work under Windows (correctly linking to R.dll) than work under Linux! On Fri, May 2, 2014 at 3:45 PM, Simon Marlow wrote: > Can you give me a quick summary of how to reproduce the problem? (not > including the GHC build steps) > > Cheers, > Simon > > > On 02/05/14 18:18, Dominick Samperi wrote: >> >> I downloaded HEAD and placed DYNAMIC_GHC_PROGRAMS=NO in the "quick" >> section of mk/build.mk (with BuildFlavour = quick), and set >> DYNAMIC_GHC_PROGRAMS=NO >> in my environment before running configure (just to be sure!). Near >> the end of the build >> I saw some messages like "Warning: vectorization failure," but the >> build completed. >> >> The status at the end of configure doesn't say that dynamic linking >> via RTS has been >> turned off, and I don't know how to check that this is so. >> Nevertheless, I checked >> the linking issue and it is NOT fixed with this build, so >> DYNAMIC_GHC_PROGRAMS=YES is required to prevent the problems >> reported by me and others. >> >> >> On Fri, May 2, 2014 at 9:09 AM, Simon Marlow wrote: >>> >>> On 02/05/2014 01:09, Dominick Samperi wrote: >>> >>>> If I understand your last comment correctly linking to libR should >>>> continue to work, even if you revert to static linking of Haskell >>>> compiled >>>> code via RTS linker. Since you say this is the way things have always >>>> been, perhaps the real explanation for why 7.8 fixed the issue is that >>>> some bug was fixed along the way... >>> >>> >>> >>> Indeed. To know for sure we would have to test 7.8 with >>> DYNAMIC_GHC_PROGRAMS=NO with your setup - is there a way to do that? >>> >>> Cheers, >>> Simon >>> >>> >>> >>>> Note that R is a C library, so the C++ issues that Carter mentions are >>>> not a factor here. >>>> >>>> Thanks, >>>> Dominick >>>> >>>> On Thu, May 1, 2014 at 5:27 PM, Simon Marlow wrote: >>>>> >>>>> >>>>> On 01/05/14 14:48, Dominick Samperi wrote: >>>>>> >>>>>> >>>>>> >>>>>> The problem with some graphics libraries used via FFI (and other >>>>>> libraries >>>>>> that are not thread-safe), if I understand the situation correctly, is >>>>>> that ghci >>>>>> forks a thread when it shouldn't, causing some programs to >>>>>> miscalculate >>>>>> the available stack space (because they think there is only one >>>>>> thread). >>>>> >>>>> >>>>> >>>>>> >>>>>> >>>>>> The new dynamic linking support and the flag -fno-ghci-sandbox fixes >>>>>> this problem, and I would not vote for the removal of these features. >>>>> >>>>> >>>>> >>>>> >>>>> So I understand how -fno-ghci-sandbox avoids problems with GUI >>>>> libraries >>>>> that use thread-local state. But how is dynamic linking involved here? >>>>> What improved in GHC 7.8 relative to 7.6 for you? And could you clarify >>>>> "miscalculate the available stack space"? What needs to calculate stack >>>>> space? Why? C stack space? >>>>> >>>>> We can certainly make a smoother experience around -fno-ghci-sandbox >>>>> for >>>>> using GUI libraries. >>>>> >>>>> >>>>>> It is not clear to me from Simon's original post how linking to all of >>>>>> those C++ libs can continue to work if dynamic linking is removed >>>>>> in 7.10? Perhaps I misunderstand what you mean by "revert to >>>>>> static linking"? >>>>> >>>>> >>>>> >>>>> >>>>> When I say "revert to static linking" I mean make GHCi static linked, >>>>> and >>>>> have it load Haskell code compiled for static linking using the RTS >>>>> linker >>>>> (like it did in 7.6). Foreign libraries would still be loaded using >>>>> the >>>>> system linker, as they always have been. >>>>> >>>>> To be clear, I'm not officially proposing that we drop dynamic linking, >>>>> but >>>>> I think it's worthwhile exploring the design space again, given that we >>>>> know >>>>> dynamic linking has been tougher than we expected. >>>>> >>>>> Cheers, >>>>> Simon >>>>> >>>>> >>>>> >>>>>> Thanks, >>>>>> Dominick >>>>>> >>>>>> >>>>>> On Wed, Apr 30, 2014 at 9:26 PM, George Colpitts >>>>>> wrote: >>>>>>> >>>>>>> >>>>>>> >>>>>>> To elaborate, in the past, I had a lot of problems using libraries >>>>>>> from >>>>>>> the >>>>>>> ghci prompt on the Mac but I haven't tried recently. >>>>>>> >>>>>>> As an example, on the web page for the book the Haskell School of >>>>>>> Expression >>>>>>> it says: >>>>>>> >>>>>>> Note for OS X users: running graphics applications from GHCi is no >>>>>>> longer >>>>>>> supported. Instead, one has to compile a graphics program using GHC >>>>>>> in >>>>>>> order >>>>>>> to run it (see example/GMIExamples.lhs for an example). >>>>>>> >>>>>>> I had similar problems using the Yale Euterpea music program from >>>>>>> ghci. >>>>>>> When >>>>>>> I inquired I was referred to >>>>>>> https://ghc.haskell.org/trac/ghc/ticket/4244 >>>>>>> and https://ghc.haskell.org/trac/ghc/ticket/781. I see that the >>>>>>> latter >>>>>>> is >>>>>>> now scheduled for 7.10.1 >>>>>>> >>>>>>> >>>>>>> On Wed, Apr 30, 2014 at 1:45 PM, Simon Marlow >>>>>>> wrote: >>>>>>>> >>>>>>>> >>>>>>>> >>>>>>>> >>>>>>>> On 30/04/2014 01:35, George Colpitts wrote: >>>>>>>>> >>>>>>>>> >>>>>>>>> >>>>>>>>> >>>>>>>>> It doesn't have anything about the dynamic linking changes made for >>>>>>>>> 7.8. >>>>>>>>> I think it's worth mentioning the improvements we expect to get >>>>>>>>> from >>>>>>>>> that. The highlights of the release notes do mention it, so maybe >>>>>>>>> that >>>>>>>>> suffices. >>>>>>>>> >>>>>>>>> In particular, I'm hoping that it is going to fix a lot of problems >>>>>>>>> with >>>>>>>>> using foreign libraries such as OpenGL from ghci. I could be wrong >>>>>>>>> about >>>>>>>>> that though. >>>>>>>> >>>>>>>> >>>>>>>> >>>>>>>> >>>>>>>> >>>>>>>> I'd like to understand more about what those problems are. As a >>>>>>>> data >>>>>>>> point, at Facebook we're using static linking (I compiled GHC with >>>>>>>> DYNAMIC_GHC_PROGRAMS=NO), we're loading upwards of 50 3rd-party C++ >>>>>>>> libraries and one gigantic shared library consisting of a ton of >>>>>>>> in-house >>>>>>>> C++ code, together with all our Haskell code into GHCi, and it works >>>>>>>> perfectly. The key to using the static linker is to not use it for >>>>>>>> C++ >>>>>>>> code >>>>>>>> - you want all your external C++ code in shared libraries and load >>>>>>>> those >>>>>>>> using the system linker. >>>>>>>> >>>>>>>> Dynamic linking has been a huge headache in GHC, and it's not clear >>>>>>>> that >>>>>>>> it's an overall improvement compared with the static linker. Now >>>>>>>> that >>>>>>>> 7.8 >>>>>>>> is out of the way, it's time to have a conversation about whether we >>>>>>>> want to >>>>>>>> do dynamic linking again for 7.10, or revert to static linking. I >>>>>>>> think >>>>>>>> Austin is going to update >>>>>>>> https://ghc.haskell.org/trac/ghc/wiki/DynamicGhcPrograms, and then >>>>>>>> we'll >>>>>>>> see >>>>>>>> where we stand. >>>>>>>> >>>>>>>> Cheers, >>>>>>>> Simon >>>>>>>> >>>>>>>> >>>>>>>> >>>>>>>>> >>>>>>>>> On Tue, Apr 29, 2014 at 6:13 PM, Simon Peyton Jones >>>>>>>>> > wrote: >>>>>>>>> >>>>>>>>> As Austin has told us, there's a draft of the *GHC Status >>>>>>>>> Report >>>>>>>>> for >>>>>>>>> the HCAR*, here:____ >>>>>>>>> >>>>>>>>> https://ghc.haskell.org/trac/ghc/wiki/Status/May14____ >>>>>>>>> >>>>>>>>> >>>>>>>>> Have we missed out something you have been working hard on? >>>>>>>>> Do >>>>>>>>> take a moment to add a bullet in an appropriate place (it's >>>>>>>>> a >>>>>>>>> wiki). I'd like to be sure that we are giving credit to all >>>>>>>>> the >>>>>>>>> appropriate people, so please help us fix that too. GHC is >>>>>>>>> a >>>>>>>>> team >>>>>>>>> effort.____ >>>>>>>>> >>>>>>>>> Deadline is 1 May I think.____ >>>>>>>>> >>>>>>>>> Thanks____ >>>>>>>>> >>>>>>>>> Simon____ >>>>>>>>> >>>>>>>>> __ __ >>>>>>>>> >>>>>>>>> >>>>>>>>> _______________________________________________ >>>>>>>>> ghc-devs mailing list >>>>>>>>> ghc-devs at haskell.org >>>>>>>>> http://www.haskell.org/mailman/listinfo/ghc-devs >>>>>>>>> >>>>>>>>> >>>>>>>>> >>>>>>>>> >>>>>>>>> >>>>>>>>> _______________________________________________ >>>>>>>>> ghc-devs mailing list >>>>>>>>> ghc-devs at haskell.org >>>>>>>>> http://www.haskell.org/mailman/listinfo/ghc-devs >>>>>>>>> >>>>>>> >>>>>>> >>>>>>> _______________________________________________ >>>>>>> ghc-devs mailing list >>>>>>> ghc-devs at haskell.org >>>>>>> http://www.haskell.org/mailman/listinfo/ghc-devs >>>>>>> >>>>> >>> > From fuuzetsu at fuuzetsu.co.uk Sat May 3 06:31:47 2014 From: fuuzetsu at fuuzetsu.co.uk (Mateusz Kowalczyk) Date: Sat, 03 May 2014 08:31:47 +0200 Subject: [commit: ghc] master: Per-thread allocation counters and limits (b0534f7) In-Reply-To: <20140502135022.821402416A@ghc.haskell.org> References: <20140502135022.821402416A@ghc.haskell.org> Message-ID: <53648D53.9000601@fuuzetsu.co.uk> On 05/02/2014 03:50 PM, git at git.haskell.org wrote: > Repository : ssh://git at git.haskell.org/ghc > > On branch : master > Link : http://ghc.haskell.org/trac/ghc/changeset/b0534f78a73f972e279eed4447a5687bd6a8308e/ghc > >> --------------------------------------------------------------- > > commit b0534f78a73f972e279eed4447a5687bd6a8308e > Author: Simon Marlow > Date: Mon Apr 28 16:55:47 2014 +0100 > > Per-thread allocation counters and limits > > This tracks the amount of memory allocation by each thread in a > counter stored in the TSO. Optionally, when the counter drops below > zero (it counts down), the thread can be sent an asynchronous > exception: AllocationLimitExceeded. When this happens, given a small > additional limit so that it can handle the exception. See > documentation in GHC.Conc for more details. > > Allocation limits are similar to timeouts, but > > - timeouts use real time, not CPU time. Allocation limits do not > count anything while the thread is blocked or in foreign code. > > - timeouts don't re-trigger if the thread catches the exception, > allocation limits do. > > - timeouts can catch non-allocating loops, if you use > -fno-omit-yields. This doesn't work for allocation limits. > > I couldn't measure any impact on benchmarks with these changes, even > for nofib/smp. > > >> --------------------------------------------------------------- > > b0534f78a73f972e279eed4447a5687bd6a8308e > compiler/cmm/CmmLayoutStack.hs | 9 +- > compiler/codeGen/StgCmmForeign.hs | 268 ++++++++++++++------ > includes/CodeGen.Platform.hs | 4 +- > includes/rts/Constants.h | 6 + > includes/rts/Flags.h | 8 + > includes/rts/Threads.h | 8 +- > includes/rts/storage/TSO.h | 31 ++- > libraries/base/Control/Exception.hs | 1 + > libraries/base/Control/Exception/Base.hs | 1 + > libraries/base/GHC/Conc.lhs | 6 + > libraries/base/GHC/Conc/Sync.lhs | 92 ++++++- > libraries/base/GHC/IO/Exception.hs | 21 +- > rts/HeapStackCheck.cmm | 4 +- > rts/Linker.c | 4 + > rts/Prelude.h | 2 + > rts/RaiseAsync.c | 54 ++++ > rts/RaiseAsync.h | 4 + > rts/RtsFlags.c | 10 + > rts/RtsStartup.c | 1 + > rts/Schedule.c | 19 ++ > rts/Threads.c | 77 +++--- > rts/package.conf.in | 2 + > rts/sm/Storage.c | 6 + > testsuite/tests/concurrent/should_run/all.T | 7 + > .../tests/concurrent/should_run/allocLimit1.hs | 9 + > .../tests/concurrent/should_run/allocLimit1.stderr | 1 + > .../tests/concurrent/should_run/allocLimit2.hs | 17 ++ > .../tests/concurrent/should_run/allocLimit3.hs | 15 ++ > .../tests/concurrent/should_run/allocLimit3.stderr | 1 + > .../should_run/allocLimit3.stdout} | 1 - > .../tests/concurrent/should_run/allocLimit4.hs | 31 +++ > utils/deriveConstants/DeriveConstants.hs | 1 + > 32 files changed, 576 insertions(+), 145 deletions(-) > > Diff suppressed because of size. To see it, use: > > git diff-tree --root --patch-with-stat --no-color --find-copies-harder --ignore-space-at-eol --cc b0534f78a73f972e279eed4447a5687bd6a8308e > _______________________________________________ > ghc-commits mailing list > ghc-commits at haskell.org > http://www.haskell.org/mailman/listinfo/ghc-commits > I just tried to compile a snapshot involving this commit and got a compile failure: http://lpaste.net/103540 I was compiling with GHC 7.8.2 on a 32-bit machine. -- Mateusz K. From hvriedel at gmail.com Sat May 3 06:35:27 2014 From: hvriedel at gmail.com (Herbert Valerio Riedel) Date: Sat, 03 May 2014 08:35:27 +0200 Subject: [commit: ghc] master: Per-thread allocation counters and limits (b0534f7) In-Reply-To: <53648D53.9000601@fuuzetsu.co.uk> (Mateusz Kowalczyk's message of "Sat, 03 May 2014 08:31:47 +0200") References: <20140502135022.821402416A@ghc.haskell.org> <53648D53.9000601@fuuzetsu.co.uk> Message-ID: <87fvkrpdxs.fsf@gmail.com> On 2014-05-03 at 08:31:47 +0200, Mateusz Kowalczyk wrote: [...] > I just tried to compile a snapshot involving this commit and got a > compile failure: > > http://lpaste.net/103540 > > I was compiling with GHC 7.8.2 on a 32-bit machine. The nightly 32bit GHC HEAD PPA build failed as well, see https://launchpadlibrarian.net/174440396/buildlog_ubuntu-precise-i386.ghc-head_7.9.20140502-1_FAILEDTOBUILD.txt.gz From fw at deneb.enyo.de Sat May 3 10:05:27 2014 From: fw at deneb.enyo.de (Florian Weimer) Date: Sat, 03 May 2014 12:05:27 +0200 Subject: C-- specfication Message-ID: <87iopntbx4.fsf@mid.deneb.enyo.de> I'm looking for a specification of C--. I can't find it on the cminuscminus.org web site, and it's also not included in the release tarball. Does anybody know where to get it? From benl at ouroborus.net Sat May 3 10:30:04 2014 From: benl at ouroborus.net (Ben Lippmeier) Date: Sat, 3 May 2014 20:30:04 +1000 Subject: C-- specfication In-Reply-To: <87iopntbx4.fsf@mid.deneb.enyo.de> References: <87iopntbx4.fsf@mid.deneb.enyo.de> Message-ID: <2CAC6828-B838-4EB4-AA76-0C8A7DF66237@ouroborus.net> On 3 May 2014, at 20:05 , Florian Weimer wrote: > I'm looking for a specification of C--. I can't find it on the > cminuscminus.org web site, and it's also not included in the release > tarball. Does anybody know where to get it? Ka-ching: http://www.cs.tufts.edu/~nr/c--/extern/man2.pdf Ben. From benl at ouroborus.net Sat May 3 10:33:06 2014 From: benl at ouroborus.net (Ben Lippmeier) Date: Sat, 3 May 2014 20:33:06 +1000 Subject: C-- specfication In-Reply-To: <2CAC6828-B838-4EB4-AA76-0C8A7DF66237@ouroborus.net> References: <87iopntbx4.fsf@mid.deneb.enyo.de> <2CAC6828-B838-4EB4-AA76-0C8A7DF66237@ouroborus.net> Message-ID: On 3 May 2014, at 20:30 , Ben Lippmeier wrote: > > On 3 May 2014, at 20:05 , Florian Weimer wrote: > >> I'm looking for a specification of C--. I can't find it on the >> cminuscminus.org web site, and it's also not included in the release >> tarball. Does anybody know where to get it? > > Ka-ching: http://www.cs.tufts.edu/~nr/c--/extern/man2.pdf Note that GHC doesn't actually implement C-- as per the spec. It's got an intermediate language named Cmm that is "inspired by" C--, but they're not the same thing. Ben. From rarash at student.chalmers.se Sat May 3 10:33:05 2014 From: rarash at student.chalmers.se (Arash Rouhani) Date: Sat, 3 May 2014 12:33:05 +0200 Subject: C-- specfication In-Reply-To: <87iopntbx4.fsf@mid.deneb.enyo.de> References: <87iopntbx4.fsf@mid.deneb.enyo.de> Message-ID: <5364C5E1.9030404@student.chalmers.se> (Sorry Florian, I forgot to "reply to list"!) Hi Florian! Forget Cminusminus.org, in my experience it seems to have diverged from the GHC version of Cminusminus. I would recommend these resources 1. See the top of https://github.com/ghc/ghc/blob/master/compiler/cmm/CmmParse.y 2. Be ready to occasionally look into https://github.com/ghc/ghc/blob/master/includes/Cmm.h 3. Edward Yang's blog post is a must-read http://blog.ezyang.com/2013/07/no-grammar-no-problem/ (less than a year old) 4. You can also get the big picture of Cmm from David Terei's bachelor thesis: https://davidterei.com/downloads/papers/terei:2009:honours_thesis.pdf 5. 2 years ago, Simon Marlow extended the classical Cmm syntax to make it much nicer: https://github.com/ghc/ghc/commit/a7c0387d20c1c9994d1100b14fbb8fb4e28a259e 6. The commentary (it is kinda outdated in my experience, but worth taking a look :)), https://ghc.haskell.org/trac/ghc/wiki/Commentary/Rts/Cmm *and* https://ghc.haskell.org/trac/ghc/wiki/Commentary/Compiler/CmmType 7. Read the code! There's a lot of Cmm files and after looking at various parts of it for a while parts start to make sense :) 8. Shameless plug: You might find sections 4.2 and 4.2.1 from my master thesis helpful to understand the difference between arguments and fields. http://arashrouhani.com/papers/master-thesis.pdf And it will take time to learn Cmm. The most unintuitive thing for me that took me a while to understand is that there are no function calls in "classical" cmm code. The newer syntax allows function calls but you should know that they are kind of magical. Hope this helps! :) (Sorry for giving so many reading references :p) Cheers, Arash On 2014-05-03 12:05, Florian Weimer wrote: > I'm looking for a specification of C--. I can't find it on the > cminuscminus.org web site, and it's also not included in the release > tarball. Does anybody know where to get it? > _______________________________________________ > ghc-devs mailing list > ghc-devs at haskell.org > http://www.haskell.org/mailman/listinfo/ghc-devs -------------- next part -------------- An HTML attachment was scrubbed... URL: From shumovichy at gmail.com Sat May 3 10:34:37 2014 From: shumovichy at gmail.com (Yuras Shumovich) Date: Sat, 03 May 2014 13:34:37 +0300 Subject: C-- specfication In-Reply-To: <87iopntbx4.fsf@mid.deneb.enyo.de> References: <87iopntbx4.fsf@mid.deneb.enyo.de> Message-ID: <1399113277.4718.3.camel@shum-lt> Are you interested in ghc's cmm? It is different from the original C--. (And it differs between ghc versions.) Here is the best thing I found: https://github.com/ghc/ghc/blob/master/compiler/cmm/CmmParse.y There is a wiki page: https://ghc.haskell.org/trac/ghc/wiki/Commentary/Compiler/CmmType But is it out of date and sometimes misleading. On Sat, 2014-05-03 at 12:05 +0200, Florian Weimer wrote: > I'm looking for a specification of C--. I can't find it on the > cminuscminus.org web site, and it's also not included in the release > tarball. Does anybody know where to get it? > _______________________________________________ > ghc-devs mailing list > ghc-devs at haskell.org > http://www.haskell.org/mailman/listinfo/ghc-devs From karel.gardas at centrum.cz Sat May 3 11:00:20 2014 From: karel.gardas at centrum.cz (Karel Gardas) Date: Sat, 03 May 2014 13:00:20 +0200 Subject: [commit: ghc] master: Per-thread allocation counters and limits (b0534f7) In-Reply-To: <87fvkrpdxs.fsf@gmail.com> References: <20140502135022.821402416A@ghc.haskell.org> <53648D53.9000601@fuuzetsu.co.uk> <87fvkrpdxs.fsf@gmail.com> Message-ID: <5364CC44.8060804@centrum.cz> On 05/ 3/14 08:35 AM, Herbert Valerio Riedel wrote: > On 2014-05-03 at 08:31:47 +0200, Mateusz Kowalczyk wrote: > > [...] > >> I just tried to compile a snapshot involving this commit and got a >> compile failure: >> >> http://lpaste.net/103540 >> >> I was compiling with GHC 7.8.2 on a 32-bit machine. > > The nightly 32bit GHC HEAD PPA build failed as well, see > > https://launchpadlibrarian.net/174440396/buildlog_ubuntu-precise-i386.ghc-head_7.9.20140502-1_FAILEDTOBUILD.txt.gz All builders (solaris/freebsd/smartos) fail too. Example: http://haskell.inf.elte.hu/builders/solaris-x86-head/47/10.html build a day ago was ok: http://haskell.inf.elte.hu/builders/solaris-x86-head/46.html Thanks, Karel From fw at deneb.enyo.de Sat May 3 11:11:11 2014 From: fw at deneb.enyo.de (Florian Weimer) Date: Sat, 03 May 2014 13:11:11 +0200 Subject: C-- specfication In-Reply-To: <1399113277.4718.3.camel@shum-lt> (Yuras Shumovich's message of "Sat, 03 May 2014 13:34:37 +0300") References: <87iopntbx4.fsf@mid.deneb.enyo.de> <1399113277.4718.3.camel@shum-lt> Message-ID: <87eh0bt8vk.fsf@mid.deneb.enyo.de> * Yuras Shumovich: > Are you interested in ghc's cmm? It is different from the original C--. > (And it differs between ghc versions.) Actually, I'm interested in some form of Mini-C (in the spirit of Mini-ML or Featherweight Java) for some experiment, and I assumed that people here would know where to get the C-- specification. Looks like I wasn't mistaken, thanks. :) I'm not sure yet if C-- fits my needs, though. From ghc at abacathoo.org Sat May 3 11:59:16 2014 From: ghc at abacathoo.org (William Kenyon) Date: Sat, 3 May 2014 11:59:16 +0000 Subject: [commit: ghc] master: Per-thread allocation counters and limits (b0534f7) In-Reply-To: <53648D53.9000601@fuuzetsu.co.uk> References: <20140502135022.821402416A@ghc.haskell.org> <53648D53.9000601@fuuzetsu.co.uk> Message-ID: I think this should fix the problem. It certainly doesn't break anything on a 64 bit machine, and should fix the problem on a 32 bit machine (although I can't test that) On 3 May 2014 06:31, Mateusz Kowalczyk wrote: > On 05/02/2014 03:50 PM, git at git.haskell.org wrote: > > Repository : ssh://git at git.haskell.org/ghc > > > > On branch : master > > Link : > http://ghc.haskell.org/trac/ghc/changeset/b0534f78a73f972e279eed4447a5687bd6a8308e/ghc > > > >> --------------------------------------------------------------- > > > > commit b0534f78a73f972e279eed4447a5687bd6a8308e > > Author: Simon Marlow > > Date: Mon Apr 28 16:55:47 2014 +0100 > > > > Per-thread allocation counters and limits > > > > This tracks the amount of memory allocation by each thread in a > > counter stored in the TSO. Optionally, when the counter drops below > > zero (it counts down), the thread can be sent an asynchronous > > exception: AllocationLimitExceeded. When this happens, given a small > > additional limit so that it can handle the exception. See > > documentation in GHC.Conc for more details. > > > > Allocation limits are similar to timeouts, but > > > > - timeouts use real time, not CPU time. Allocation limits do not > > count anything while the thread is blocked or in foreign code. > > > > - timeouts don't re-trigger if the thread catches the exception, > > allocation limits do. > > > > - timeouts can catch non-allocating loops, if you use > > -fno-omit-yields. This doesn't work for allocation limits. > > > > I couldn't measure any impact on benchmarks with these changes, even > > for nofib/smp. > > > > > >> --------------------------------------------------------------- > > > > b0534f78a73f972e279eed4447a5687bd6a8308e > > compiler/cmm/CmmLayoutStack.hs | 9 +- > > compiler/codeGen/StgCmmForeign.hs | 268 > ++++++++++++++------ > > includes/CodeGen.Platform.hs | 4 +- > > includes/rts/Constants.h | 6 + > > includes/rts/Flags.h | 8 + > > includes/rts/Threads.h | 8 +- > > includes/rts/storage/TSO.h | 31 ++- > > libraries/base/Control/Exception.hs | 1 + > > libraries/base/Control/Exception/Base.hs | 1 + > > libraries/base/GHC/Conc.lhs | 6 + > > libraries/base/GHC/Conc/Sync.lhs | 92 ++++++- > > libraries/base/GHC/IO/Exception.hs | 21 +- > > rts/HeapStackCheck.cmm | 4 +- > > rts/Linker.c | 4 + > > rts/Prelude.h | 2 + > > rts/RaiseAsync.c | 54 ++++ > > rts/RaiseAsync.h | 4 + > > rts/RtsFlags.c | 10 + > > rts/RtsStartup.c | 1 + > > rts/Schedule.c | 19 ++ > > rts/Threads.c | 77 +++--- > > rts/package.conf.in | 2 + > > rts/sm/Storage.c | 6 + > > testsuite/tests/concurrent/should_run/all.T | 7 + > > .../tests/concurrent/should_run/allocLimit1.hs | 9 + > > .../tests/concurrent/should_run/allocLimit1.stderr | 1 + > > .../tests/concurrent/should_run/allocLimit2.hs | 17 ++ > > .../tests/concurrent/should_run/allocLimit3.hs | 15 ++ > > .../tests/concurrent/should_run/allocLimit3.stderr | 1 + > > .../should_run/allocLimit3.stdout} | 1 - > > .../tests/concurrent/should_run/allocLimit4.hs | 31 +++ > > utils/deriveConstants/DeriveConstants.hs | 1 + > > 32 files changed, 576 insertions(+), 145 deletions(-) > > > > Diff suppressed because of size. To see it, use: > > > > git diff-tree --root --patch-with-stat --no-color > --find-copies-harder --ignore-space-at-eol --cc > b0534f78a73f972e279eed4447a5687bd6a8308e > > _______________________________________________ > > ghc-commits mailing list > > ghc-commits at haskell.org > > http://www.haskell.org/mailman/listinfo/ghc-commits > > > > I just tried to compile a snapshot involving this commit and got a > compile failure: > > http://lpaste.net/103540 > > I was compiling with GHC 7.8.2 on a 32-bit machine. > > -- > Mateusz K. > _______________________________________________ > ghc-devs mailing list > ghc-devs at haskell.org > http://www.haskell.org/mailman/listinfo/ghc-devs > -------------- next part -------------- An HTML attachment was scrubbed... URL: -------------- next part -------------- A non-text attachment was scrubbed... Name: 0001-Fixed-inconsistent-word-widths-for-an-addition-and-s.patch Type: text/x-patch Size: 1638 bytes Desc: not available URL: From slyich at gmail.com Sat May 3 19:29:14 2014 From: slyich at gmail.com (Sergei Trofimovich) Date: Sat, 3 May 2014 22:29:14 +0300 Subject: [PATCH] fix rts exported symbols base_GHCziIOziException_allocationLimitExceeded_closure Message-ID: <1399145354-4411-1-git-send-email-slyich@gmail.com> From: Sergei Trofimovich Commit b0534f78a73f972e279eed4447a5687bd6a8308e added new exported rts symbols, but slightly misspelled them. Observer on first compiled program: > Linking dist/build/haskell-updater/haskell-updater ... > /usr/lib64/ghc-7.9.20140503/rts-1.0/libHSrts.a(Schedule.o): In function `scheduleWaitThread': > (.text+0xc4c): undefined reference to `base_GHCziIOziException_allocationLimitExceeded_closure' > /usr/lib64/ghc-7.9.20140503/rts-1.0/libHSrts.a(RtsStartup.o): In function `hs_init_ghc': > (.text+0x2fa): undefined reference to `base_GHCziIOziException_allocationLimitExceeded_closure' > collect2: error: ld returned 1 exit status CC: Simon Marlow Signed-off-by: Sergei Trofimovich --- rts/package.conf.in | 4 ++-- rts/win32/libHSbase.def | 1 + 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/rts/package.conf.in b/rts/package.conf.in index 25fb5eb..914dd9c 100644 --- a/rts/package.conf.in +++ b/rts/package.conf.in @@ -98,7 +98,7 @@ ld-options: , "-Wl,-u,_base_ControlziExceptionziBase_nonTermination_closure" , "-Wl,-u,_base_GHCziIOziException_blockedIndefinitelyOnMVar_closure" , "-Wl,-u,_base_GHCziIOziException_blockedIndefinitelyOnSTM_closure" - , "-Wl,-u,_base_GHCziIOziException_allocationQuotaExceeded_closure" + , "-Wl,-u,_base_GHCziIOziException_allocationLimitExceeded_closure" , "-Wl,-u,_base_ControlziExceptionziBase_nestedAtomically_closure" , "-Wl,-u,_base_GHCziWeak_runFinalizzerBatch_closure" , "-Wl,-u,_base_GHCziTopHandler_flushStdHandles_closure" @@ -139,7 +139,7 @@ ld-options: , "-Wl,-u,base_ControlziExceptionziBase_nonTermination_closure" , "-Wl,-u,base_GHCziIOziException_blockedIndefinitelyOnMVar_closure" , "-Wl,-u,base_GHCziIOziException_blockedIndefinitelyOnSTM_closure" - , "-Wl,-u,base_GHCziIOziException_allocationQuotaExceeded_closure" + , "-Wl,-u,base_GHCziIOziException_allocationLimitExceeded_closure" , "-Wl,-u,base_ControlziExceptionziBase_nestedAtomically_closure" , "-Wl,-u,base_GHCziWeak_runFinalizzerBatch_closure" , "-Wl,-u,base_GHCziTopHandler_flushStdHandles_closure" diff --git a/rts/win32/libHSbase.def b/rts/win32/libHSbase.def index 119237b..6bb19da 100644 --- a/rts/win32/libHSbase.def +++ b/rts/win32/libHSbase.def @@ -36,6 +36,7 @@ EXPORTS base_GHCziPack_unpackCString_closure base_GHCziIOziException_blockedIndefinitelyOnMVar_closure base_GHCziIOziException_blockedIndefinitelyOnSTM_closure + base_GHCziIOziException_allocationLimitExceeded_closure base_GHCziIOziException_stackOverflow_closure base_ControlziExceptionziBase_nonTermination_closure -- 1.9.2 From mail at joachim-breitner.de Sat May 3 20:08:07 2014 From: mail at joachim-breitner.de (Joachim Breitner) Date: Sat, 03 May 2014 22:08:07 +0200 Subject: Validate failures Message-ID: <1399147687.19761.1.camel@kirk> Hi, I?m seeing these failures on travis. Anyone feeling responsible? master: Actual stderr output differs from expected: --- /dev/null 2014-05-03 18:30:46.325826237 +0000 +++ ./ffi/should_compile/cc004.comp.stderr 2014-05-03 19:08:47.864969234 +0000 @@ -0,0 +1,73 @@ + +cc004.hs:16:1: Warning: + the 'stdcall' calling convention is unsupported on this platform, + treating as ccall + When checking declaration: + foreign import stdcall safe "static p" m_stdcall + :: StablePtr a -> IO (StablePtr b) + +cc004.hs:21:1: Warning: + the 'stdcall' calling convention is unsupported on this platform, + treating as ccall + When checking declaration: + foreign import stdcall safe "static my_sin" my_sin + :: Double -> IO Double + +cc004.hs:22:1: Warning: + the 'stdcall' calling convention is unsupported on this platform, + treating as ccall + When checking declaration: + foreign import stdcall safe "static my_cos" my_cos + :: Double -> IO Double + +cc004.hs:24:1: Warning: + the 'stdcall' calling convention is unsupported on this platform, + treating as ccall + When checking declaration: + foreign import stdcall safe "static m1" m8 :: IO Int8 + +cc004.hs:25:1: Warning: + the 'stdcall' calling convention is unsupported on this platform, + treating as ccall + When checking declaration: + foreign import stdcall safe "static m2" m16 :: IO Int16 + +cc004.hs:26:1: Warning: + the 'stdcall' calling convention is unsupported on this platform, + treating as ccall + When checking declaration: + foreign import stdcall safe "static m3" m32 :: IO Int32 + +cc004.hs:27:1: Warning: + the 'stdcall' calling convention is unsupported on this platform, + treating as ccall + When checking declaration: + foreign import stdcall safe "static m4" m64 :: IO Int64 + +cc004.hs:29:1: Warning: + the 'stdcall' calling convention is unsupported on this platform, + treating as ccall + When checking declaration: + foreign import stdcall safe "dynamic" d8 + :: FunPtr (IO Int8) -> IO Int8 + +cc004.hs:30:1: Warning: + the 'stdcall' calling convention is unsupported on this platform, + treating as ccall + When checking declaration: + foreign import stdcall safe "dynamic" d16 + :: FunPtr (IO Int16) -> IO Int16 + +cc004.hs:31:1: Warning: + the 'stdcall' calling convention is unsupported on this platform, + treating as ccall + When checking declaration: + foreign import stdcall safe "dynamic" d32 + :: FunPtr (IO Int32) -> IO Int32 + +cc004.hs:32:1: Warning: + the 'stdcall' calling convention is unsupported on this platform, + treating as ccall + When checking declaration: + foreign import stdcall safe "dynamic" d64 + :: FunPtr (IO Int64) -> IO Int64 *** unexpected failure for cc004(normal) and Wrong exit code (expected 0 , actual 1 ) Stdout: Stderr: cgrun051: OK *** unexpected failure for cgrun051(normal) (https://s3.amazonaws.com/archive.travis-ci.org/jobs/24347514/log.txt) ghc-7.8: Unexpected failures: annotations/should_compile/th annth_compunits [bad exit code] (normal) annotations/should_compile/th annth_make [bad stdout] (normal) Please merge 0fe726829d468badf830dd82bc296832d709733b into ghc-7.8 (this annotates the tests to require have_dynamic()) Greetings, Joachim -- Joachim ?nomeata? Breitner mail at joachim-breitner.de ? http://www.joachim-breitner.de/ Jabber: nomeata at joachim-breitner.de ? GPG-Key: 0xF0FBF51F Debian Developer: nomeata at debian.org -------------- next part -------------- A non-text attachment was scrubbed... Name: signature.asc Type: application/pgp-signature Size: 836 bytes Desc: This is a digitally signed message part URL: From ghc at abacathoo.org Sun May 4 08:34:16 2014 From: ghc at abacathoo.org (William Kenyon) Date: Sun, 4 May 2014 09:34:16 +0100 Subject: [commit: ghc] master: Per-thread allocation counters and limits (b0534f7) In-Reply-To: References: <20140502135022.821402416A@ghc.haskell.org> <53648D53.9000601@fuuzetsu.co.uk> Message-ID: I tested my patch on an old 32 bit laptop over night and it didn't work. I think it's best to revert Simon's patch and let him fix it when he gets chance. On 3 May 2014 12:59, William Kenyon wrote: > I think this should fix the problem. > It certainly doesn't break anything on a 64 bit machine, > and should fix the problem on a 32 bit machine (although I can't test that) > -------------- next part -------------- An HTML attachment was scrubbed... URL: From ptrommler at me.com Sun May 4 09:18:39 2014 From: ptrommler at me.com (Peter Trommler) Date: Sun, 04 May 2014 11:18:39 +0200 Subject: [PATCH] make UNREG build as a platform with 0 hardware registers In-Reply-To: <1398938602-16939-1-git-send-email-slyich@gmail.com> References: <1398938602-16939-1-git-send-email-slyich@gmail.com> Message-ID: Ticket #9055 has a patch that uses the MACHREGS_NO_REGS macro coming from compiler/codeGen/Platform/NoRegs.hs. I think globalRegMaybe should depend on the target platform of the code to be generated and not on the host platform. Using the NO_REGS macro does the latter. I am thinking of cross-compilation here, but I might be missing something major. Peter On 01 May 2014, at 12:03, slyich at gmail.com wrote: > From: Sergei Trofimovich > > 83a003fcaec93dbfd5b46837f2bf3353412b9877 introduced optimization > which likes to know if a reg is a hardware reg via 'globalRegMaybe': > > But --enable-unregisterised does not define that function: > > ghc-stage1: panic! (the 'impossible' happened) > (GHC version 7.9.20140419 for x86_64-unknown-linux): > globalRegMaybe not defined for this platform > > CC: Simon Marlow > Signed-off-by: Sergei Trofimovich > --- > includes/CodeGen.Platform.hs | 4 ++++ > 1 file changed, 4 insertions(+) > > diff --git a/includes/CodeGen.Platform.hs b/includes/CodeGen.Platform.hs > index 3d6dd41..1e7c17d 100644 > --- a/includes/CodeGen.Platform.hs > +++ b/includes/CodeGen.Platform.hs > @@ -743,7 +743,11 @@ globalRegMaybe CurrentNursery = Just (RealRegSingle REG_CurrentNursery > # endif > globalRegMaybe _ = Nothing > #else > +# ifdef NO_REGS > +globalRegMaybe _ = Nothing > +# else > globalRegMaybe = panic "globalRegMaybe not defined for this platform" > +# endif /* !NO_REGS */ > #endif > > freeReg :: RegNo -> FastBool > -- > 1.9.2 > > _______________________________________________ > ghc-devs mailing list > ghc-devs at haskell.org > http://www.haskell.org/mailman/listinfo/ghc-devs From johan.tibell at gmail.com Sun May 4 10:10:12 2014 From: johan.tibell at gmail.com (Johan Tibell) Date: Sun, 4 May 2014 12:10:12 +0200 Subject: Adding atomic primops Message-ID: Hi, I found myself needing atomic operations on basic, mutable numeric values. I wrote a short design doc that I'd like feedback on: https://ghc.haskell.org/trac/ghc/wiki/AtomicPrimops I will try to implement these for 7.10. -- Johan -------------- next part -------------- An HTML attachment was scrubbed... URL: From afarmer at ittc.ku.edu Sun May 4 14:53:20 2014 From: afarmer at ittc.ku.edu (Andrew Farmer) Date: Sun, 4 May 2014 09:53:20 -0500 Subject: C-- specfication In-Reply-To: <5364C5E1.9030404@student.chalmers.se> References: <87iopntbx4.fsf@mid.deneb.enyo.de> <5364C5E1.9030404@student.chalmers.se> Message-ID: Are all of these links collected on the GHC wiki somewhere? If not, would you mind adding them? I, for one, appreciate a curated list of references like this! On Sat, May 3, 2014 at 5:33 AM, Arash Rouhani wrote: > (Sorry Florian, I forgot to "reply to list"!) > > Hi Florian! > > Forget Cminusminus.org, in my experience it seems to have diverged from the > GHC version of Cminusminus. > > I would recommend these resources > > See the top of > https://github.com/ghc/ghc/blob/master/compiler/cmm/CmmParse.y > Be ready to occasionally look into > https://github.com/ghc/ghc/blob/master/includes/Cmm.h > Edward Yang's blog post is a must-read > http://blog.ezyang.com/2013/07/no-grammar-no-problem/ (less than a year old) > You can also get the big picture of Cmm from David Terei's bachelor thesis: > https://davidterei.com/downloads/papers/terei:2009:honours_thesis.pdf > 2 years ago, Simon Marlow extended the classical Cmm syntax to make it much > nicer: > https://github.com/ghc/ghc/commit/a7c0387d20c1c9994d1100b14fbb8fb4e28a259e > The commentary (it is kinda outdated in my experience, but worth taking a > look :)), https://ghc.haskell.org/trac/ghc/wiki/Commentary/Rts/Cmm and > https://ghc.haskell.org/trac/ghc/wiki/Commentary/Compiler/CmmType > Read the code! There's a lot of Cmm files and after looking at various parts > of it for a while parts start to make sense :) > Shameless plug: You might find sections 4.2 and 4.2.1 from my master thesis > helpful to understand the difference between arguments and fields. > http://arashrouhani.com/papers/master-thesis.pdf > > And it will take time to learn Cmm. The most unintuitive thing for me that > took me a while to understand is that there are no function calls in > "classical" cmm code. The newer syntax allows function calls but you should > know that they are kind of magical. Hope this helps! :) > > (Sorry for giving so many reading references :p) > > Cheers, > Arash > > > > On 2014-05-03 12:05, Florian Weimer wrote: > > I'm looking for a specification of C--. I can't find it on the > cminuscminus.org web site, and it's also not included in the release > tarball. Does anybody know where to get it? > _______________________________________________ > ghc-devs mailing list > ghc-devs at haskell.org > http://www.haskell.org/mailman/listinfo/ghc-devs > > > > _______________________________________________ > ghc-devs mailing list > ghc-devs at haskell.org > http://www.haskell.org/mailman/listinfo/ghc-devs > From slyich at gmail.com Sun May 4 15:45:37 2014 From: slyich at gmail.com (Sergei Trofimovich) Date: Sun, 4 May 2014 18:45:37 +0300 Subject: [commit: ghc] master: Per-thread allocation counters and limits (b0534f7) In-Reply-To: References: <20140502135022.821402416A@ghc.haskell.org> <53648D53.9000601@fuuzetsu.co.uk> Message-ID: <20140504184537.57fb8b90@sf> On Sun, 4 May 2014 09:34:16 +0100 William Kenyon wrote: > I tested my patch on an old 32 bit laptop over night and it didn't work. > I think it's best to revert Simon's patch and let him fix it when he gets > chance. > > On 3 May 2014 12:59, William Kenyon wrote: > > > I think this should fix the problem. > > It certainly doesn't break anything on a 64 bit machine, > > and should fix the problem on a 32 bit machine (although I can't test that) To be more precise the patch hits codegen limitation: "inplace/bin/ghc-stage1" -static -H32m -O -optc-march=i686 -opta-march=i686 -optl-Wl,-O1 -optl-Wl,--as-needed -optl-Wl,--hash-style=gnu -Iincludes -Iincludes/dist -Iincludes/dist-derivedconstants/header -Iincludes/dist-ghcconstants/header -Irts -Irts/dist/build -DCOMPILING_RTS -package-name rts -dcmm-lint -i -irts -irts/dist/build -irts/dist/build/autogen -Irts/dist/build -Irts/dist/build/autogen -O2 -c rts/PrimOps.cmm -o rts/dist/build/PrimOps.o ghc-stage1: panic! (the 'impossible' happened) (GHC version 7.9.20140504 for i386-unknown-linux): iselExpr64(i386) I64[_cfk::P32 + 60] - %MO_SS_Conv_W32_W64((Hp + 4) - I32[_cfl::I32]) Does it make sense to have 64-bit alloc_limit on 32-bit box? -- Sergei -------------- next part -------------- A non-text attachment was scrubbed... Name: signature.asc Type: application/pgp-signature Size: 198 bytes Desc: not available URL: From johan.tibell at gmail.com Sun May 4 16:06:56 2014 From: johan.tibell at gmail.com (Johan Tibell) Date: Sun, 4 May 2014 18:06:56 +0200 Subject: [commit: ghc] master: Per-thread allocation counters and limits (b0534f7) In-Reply-To: <20140504184537.57fb8b90@sf> References: <20140502135022.821402416A@ghc.haskell.org> <53648D53.9000601@fuuzetsu.co.uk> <20140504184537.57fb8b90@sf> Message-ID: On Sun, May 4, 2014 at 5:45 PM, Sergei Trofimovich wrote: > > Does it make sense to have 64-bit alloc_limit on 32-bit box? > I think so. You allocate 2^32 bytes pretty quickly. -------------- next part -------------- An HTML attachment was scrubbed... URL: From iavor.diatchki at gmail.com Sun May 4 17:12:49 2014 From: iavor.diatchki at gmail.com (Iavor Diatchki) Date: Sun, 4 May 2014 10:12:49 -0700 Subject: Branch cleanup coming soon - please take inventory In-Reply-To: References: Message-ID: Hi, good idea! I've been thinking I should clean up my branches :) I updated the wiki to reflect the state of the branches I know about. In short `wip/ext-solver` + `master` subsumes all of: `type-nats`, `type-nats-simple`, and `decision-procedure`. Cheers, Iavor On Wed, Apr 30, 2014 at 6:33 AM, Austin Seipp wrote: > Hello all, > > I was talking about this on IRC the other day, and it reminded me I > wanted to do this a while back. > > At the moment, we have a *lot* of branches hanging out in the GHC tree: > > $ git branch -r | grep origin | wc -l > 89 > $ > > So I'd like to start deleting all the old ones that are merged and > don't need to hang around. > > A while back I kept a list that was curated of what branches were dead > and could be removed. Here it is: > > https://ghc.haskell.org/trac/ghc/wiki/ActiveBranches > > This page is a bit out of date, but still many of the comments are > accurate, particularly what can already be deleted. > > I will likely be *deleting* these merged branches soon unless someone > speaks up. Note that: > > - Anything I cannot be 100% certain is merged will stay. > - Anything which is effectively 'in-limbo' (like local-gc, or > supercompiler) will stay. > > We also have a lot of WIP branches here too. If you all would all take > inventory of your branches and make sure they're catalogued on that > page, it would be really nice. Just add it for now - I'll get rid of > the old entries once I delete them later. > > -- > Regards, > > Austin Seipp, Haskell Consultant > Well-Typed LLP, http://www.well-typed.com/ > _______________________________________________ > ghc-devs mailing list > ghc-devs at haskell.org > http://www.haskell.org/mailman/listinfo/ghc-devs > -------------- next part -------------- An HTML attachment was scrubbed... URL: From ghc at abacathoo.org Sun May 4 17:50:59 2014 From: ghc at abacathoo.org (William Kenyon) Date: Sun, 4 May 2014 17:50:59 +0000 Subject: [commit: ghc] master: Per-thread allocation counters and limits (b0534f7) In-Reply-To: References: <20140502135022.821402416A@ghc.haskell.org> <53648D53.9000601@fuuzetsu.co.uk> <20140504184537.57fb8b90@sf> Message-ID: According to google, 2^32 bytes = 4GB, I think that is more memory than a 32 bit machine can handle anyway? Maybe alloc_limit should be 32 bits on a 32 bit machine, and 64 bit on a 64 bit machine? On 4 May 2014 16:06, Johan Tibell wrote: > On Sun, May 4, 2014 at 5:45 PM, Sergei Trofimovich wrote: >> >> Does it make sense to have 64-bit alloc_limit on 32-bit box? >> > > I think so. You allocate 2^32 bytes pretty quickly. > > _______________________________________________ > ghc-devs mailing list > ghc-devs at haskell.org > http://www.haskell.org/mailman/listinfo/ghc-devs > > -------------- next part -------------- An HTML attachment was scrubbed... URL: From johan.tibell at gmail.com Sun May 4 17:54:19 2014 From: johan.tibell at gmail.com (Johan Tibell) Date: Sun, 4 May 2014 19:54:19 +0200 Subject: [commit: ghc] master: Per-thread allocation counters and limits (b0534f7) In-Reply-To: References: <20140502135022.821402416A@ghc.haskell.org> <53648D53.9000601@fuuzetsu.co.uk> <20140504184537.57fb8b90@sf> Message-ID: I thought the limit was the total amount allocated, not the amount live. On Sun, May 4, 2014 at 7:50 PM, William Kenyon wrote: > According to google, > > 2^32 bytes = 4GB, > > I think that is more memory than a 32 bit machine can handle anyway? > > Maybe alloc_limit should be 32 bits on a 32 bit machine, and 64 bit on a > 64 bit machine? > > > On 4 May 2014 16:06, Johan Tibell wrote: > >> On Sun, May 4, 2014 at 5:45 PM, Sergei Trofimovich wrote: >>> >>> Does it make sense to have 64-bit alloc_limit on 32-bit box? >>> >> >> I think so. You allocate 2^32 bytes pretty quickly. >> >> _______________________________________________ >> ghc-devs mailing list >> ghc-devs at haskell.org >> http://www.haskell.org/mailman/listinfo/ghc-devs >> >> > -------------- next part -------------- An HTML attachment was scrubbed... URL: From ghc at abacathoo.org Sun May 4 17:54:52 2014 From: ghc at abacathoo.org (William Kenyon) Date: Sun, 4 May 2014 17:54:52 +0000 Subject: [commit: ghc] master: Per-thread allocation counters and limits (b0534f7) In-Reply-To: References: <20140502135022.821402416A@ghc.haskell.org> <53648D53.9000601@fuuzetsu.co.uk> <20140504184537.57fb8b90@sf> Message-ID: On second thoughts, alloc_limit needs to be signed. > * This is an integer, because we might update it in a place where > * it isn't convenient to raise the exception, so we want it to > * stay negative until we get around to checking it. This only leaves 2^31 bytes = 2GB. I suppose the problem is more complex than I thought. On 4 May 2014 17:50, William Kenyon wrote: > According to google, > > 2^32 bytes = 4GB, > > I think that is more memory than a 32 bit machine can handle anyway? > > Maybe alloc_limit should be 32 bits on a 32 bit machine, and 64 bit on a > 64 bit machine? > > > On 4 May 2014 16:06, Johan Tibell wrote: > >> On Sun, May 4, 2014 at 5:45 PM, Sergei Trofimovich wrote: >>> >>> Does it make sense to have 64-bit alloc_limit on 32-bit box? >>> >> >> I think so. You allocate 2^32 bytes pretty quickly. >> >> _______________________________________________ >> ghc-devs mailing list >> ghc-devs at haskell.org >> http://www.haskell.org/mailman/listinfo/ghc-devs >> >> > -------------- next part -------------- An HTML attachment was scrubbed... URL: From rarash at student.chalmers.se Sun May 4 18:54:25 2014 From: rarash at student.chalmers.se (Arash Rouhani) Date: Sun, 4 May 2014 20:54:25 +0200 Subject: C-- specfication In-Reply-To: References: <87iopntbx4.fsf@mid.deneb.enyo.de> <5364C5E1.9030404@student.chalmers.se> Message-ID: <53668CE1.6050506@student.chalmers.se> Hi Andrew, Thanks for the encouragement! :) I went ahead and updated the wiki and incorporated my links. I also gave some more guidelines for each link. [1] Cheers, Arash [1]: https://ghc.haskell.org/trac/ghc/wiki/Commentary/Rts/Cmm On 2014-05-04 16:53, Andrew Farmer wrote: > Are all of these links collected on the GHC wiki somewhere? If not, > would you mind adding them? > > I, for one, appreciate a curated list of references like this! > > On Sat, May 3, 2014 at 5:33 AM, Arash Rouhani > wrote: >> (Sorry Florian, I forgot to "reply to list"!) >> >> Hi Florian! >> >> Forget Cminusminus.org, in my experience it seems to have diverged from the >> GHC version of Cminusminus. >> >> I would recommend these resources >> >> See the top of >> https://github.com/ghc/ghc/blob/master/compiler/cmm/CmmParse.y >> Be ready to occasionally look into >> https://github.com/ghc/ghc/blob/master/includes/Cmm.h >> Edward Yang's blog post is a must-read >> http://blog.ezyang.com/2013/07/no-grammar-no-problem/ (less than a year old) >> You can also get the big picture of Cmm from David Terei's bachelor thesis: >> https://davidterei.com/downloads/papers/terei:2009:honours_thesis.pdf >> 2 years ago, Simon Marlow extended the classical Cmm syntax to make it much >> nicer: >> https://github.com/ghc/ghc/commit/a7c0387d20c1c9994d1100b14fbb8fb4e28a259e >> The commentary (it is kinda outdated in my experience, but worth taking a >> look :)), https://ghc.haskell.org/trac/ghc/wiki/Commentary/Rts/Cmm and >> https://ghc.haskell.org/trac/ghc/wiki/Commentary/Compiler/CmmType >> Read the code! There's a lot of Cmm files and after looking at various parts >> of it for a while parts start to make sense :) >> Shameless plug: You might find sections 4.2 and 4.2.1 from my master thesis >> helpful to understand the difference between arguments and fields. >> http://arashrouhani.com/papers/master-thesis.pdf >> >> And it will take time to learn Cmm. The most unintuitive thing for me that >> took me a while to understand is that there are no function calls in >> "classical" cmm code. The newer syntax allows function calls but you should >> know that they are kind of magical. Hope this helps! :) >> >> (Sorry for giving so many reading references :p) >> >> Cheers, >> Arash >> >> >> >> On 2014-05-03 12:05, Florian Weimer wrote: >> >> I'm looking for a specification of C--. I can't find it on the >> cminuscminus.org web site, and it's also not included in the release >> tarball. Does anybody know where to get it? >> _______________________________________________ >> ghc-devs mailing list >> ghc-devs at haskell.org >> http://www.haskell.org/mailman/listinfo/ghc-devs >> >> >> >> _______________________________________________ >> ghc-devs mailing list >> ghc-devs at haskell.org >> http://www.haskell.org/mailman/listinfo/ghc-devs >> From marlowsd at gmail.com Sun May 4 19:36:44 2014 From: marlowsd at gmail.com (Simon Marlow) Date: Sun, 04 May 2014 20:36:44 +0100 Subject: [commit: ghc] master: Per-thread allocation counters and limits (b0534f7) In-Reply-To: <20140504184537.57fb8b90@sf> References: <20140502135022.821402416A@ghc.haskell.org> <53648D53.9000601@fuuzetsu.co.uk> <20140504184537.57fb8b90@sf> Message-ID: <536696CC.9000004@gmail.com> On 04/05/14 16:45, Sergei Trofimovich wrote: > On Sun, 4 May 2014 09:34:16 +0100 > William Kenyon wrote: > >> I tested my patch on an old 32 bit laptop over night and it didn't work. >> I think it's best to revert Simon's patch and let him fix it when he gets >> chance. >> >> On 3 May 2014 12:59, William Kenyon wrote: >> >>> I think this should fix the problem. >>> It certainly doesn't break anything on a 64 bit machine, >>> and should fix the problem on a 32 bit machine (although I can't test that) > > To be more precise the patch hits codegen limitation: > > "inplace/bin/ghc-stage1" -static -H32m -O -optc-march=i686 -opta-march=i686 -optl-Wl,-O1 -optl-Wl,--as-needed -optl-Wl,--hash-style=gnu -Iincludes -Iincludes/dist -Iincludes/dist-derivedconstants/header -Iincludes/dist-ghcconstants/header -Irts -Irts/dist/build -DCOMPILING_RTS -package-name rts -dcmm-lint -i -irts -irts/dist/build -irts/dist/build/autogen -Irts/dist/build -Irts/dist/build/autogen -O2 -c rts/PrimOps.cmm -o rts/dist/build/PrimOps.o > ghc-stage1: panic! (the 'impossible' happened) > (GHC version 7.9.20140504 for i386-unknown-linux): > iselExpr64(i386) > I64[_cfk::P32 + 60] - %MO_SS_Conv_W32_W64((Hp + 4) - I32[_cfl::I32]) > > Does it make sense to have 64-bit alloc_limit on 32-bit box? Sorry about this, just validating a revert patch to fix the builds while I figure out how to fix the breakage on 32-bit machines. The alloc limit needs to be 64 bits, even on 32-bit machines. Cheers, Simon From jwlato at gmail.com Sun May 4 22:32:44 2014 From: jwlato at gmail.com (John Lato) Date: Sun, 4 May 2014 15:32:44 -0700 Subject: Adding atomic primops In-Reply-To: References: Message-ID: Hello, IMHO I think the desire to include these features is leading to a slightly cavalier attitude towards reordering concerns. Even assuming that the Cmm code generator doesn't reorder reads/writes around `CallishMachOp`, I don't see why this behavior should always be true, leading to possible future pain. Also, it's possible that LLVM may decide to reorder memory accesses AIUI because the underlying LLVM variables won't be synchronized. In a nutshell, even though everything may work now I suspect it'll become an ill-specified mess in a few years time. I don't have a ton of experience implementing these sorts of features in compilers though, so probably only worth a half cent. John L. On May 4, 2014 3:10 AM, "Johan Tibell" wrote: > Hi, > > I found myself needing atomic operations on basic, mutable numeric values. > I wrote a short design doc that I'd like feedback on: > > https://ghc.haskell.org/trac/ghc/wiki/AtomicPrimops > > I will try to implement these for 7.10. > > -- Johan > > > _______________________________________________ > ghc-devs mailing list > ghc-devs at haskell.org > http://www.haskell.org/mailman/listinfo/ghc-devs > > -------------- next part -------------- An HTML attachment was scrubbed... URL: From rrnewton at gmail.com Mon May 5 01:34:51 2014 From: rrnewton at gmail.com (Ryan Newton) Date: Sun, 4 May 2014 21:34:51 -0400 Subject: Adding atomic primops In-Reply-To: References: Message-ID: This would be fantastic and I'd be happy to work with you to expose the extra ops through the atomic-primops pkg. This would continue our trend of supporting gcc intrinsic style atomics (full fence, no configurabilit of the memory model a la lllvm). These word sized ops are most important, but ultimately there are the other sizes to support as well -- even 128 bit. On Sunday, May 4, 2014, Johan Tibell wrote: > Hi, > > I found myself needing atomic operations on basic, mutable numeric values. > I wrote a short design doc that I'd like feedback on: > > https://ghc.haskell.org/trac/ghc/wiki/AtomicPrimops > > I will try to implement these for 7.10. > > -- Johan > > -- Sent from Gmail Mobile -------------- next part -------------- An HTML attachment was scrubbed... URL: From carter.schonwald at gmail.com Mon May 5 03:14:54 2014 From: carter.schonwald at gmail.com (Carter Schonwald) Date: Sun, 4 May 2014 23:14:54 -0400 Subject: Adding atomic primops In-Reply-To: References: Message-ID: ryan, any thoughts on the (valid!) concern John Lato raises? I know you mentioned fighting ghc optimizations when writing concurrent code a while ago, and i believe I asked if you could document the issues some time so we can all think about how to make the sitch easier, could you share your thoughts? AFAIK, there isn't a clear "this is the memory ordering rules" even in an informal sense for ghc core / stg / cmm, and maybe we need to pin down some "informal" guarantees we want to hold? -Carter On Sun, May 4, 2014 at 6:32 PM, John Lato wrote: > Hello, > > IMHO I think the desire to include these features is leading to a slightly > cavalier attitude towards reordering concerns. Even assuming that the Cmm > code generator doesn't reorder reads/writes around `CallishMachOp`, I don't > see why this behavior should always be true, leading to possible future > pain. Also, it's possible that LLVM may decide to reorder memory accesses > AIUI because the underlying LLVM variables won't be synchronized. > > In a nutshell, even though everything may work now I suspect it'll become > an ill-specified mess in a few years time. I don't have a ton of > experience implementing these sorts of features in compilers though, so > probably only worth a half cent. > > John L. > On May 4, 2014 3:10 AM, "Johan Tibell" wrote: > >> Hi, >> >> I found myself needing atomic operations on basic, mutable numeric >> values. I wrote a short design doc that I'd like feedback on: >> >> https://ghc.haskell.org/trac/ghc/wiki/AtomicPrimops >> >> I will try to implement these for 7.10. >> >> -- Johan >> >> >> _______________________________________________ >> ghc-devs mailing list >> ghc-devs at haskell.org >> http://www.haskell.org/mailman/listinfo/ghc-devs >> >> > _______________________________________________ > ghc-devs mailing list > ghc-devs at haskell.org > http://www.haskell.org/mailman/listinfo/ghc-devs > > -------------- next part -------------- An HTML attachment was scrubbed... URL: From rrnewton at gmail.com Mon May 5 04:18:07 2014 From: rrnewton at gmail.com (Ryan Newton) Date: Mon, 5 May 2014 00:18:07 -0400 Subject: Adding atomic primops In-Reply-To: References: Message-ID: Hi John & Carter, Deferring for a moment issues with CAS on lazy/pointer values, which pertain to Carter's question, I want to understand the ordering concern WRT only the "IntArray" primops that Johan listed. First, to my knowledge GHC doesn't do any reordering of effectful memory operations (e.g. readMutVar/writeMutVar). That is, I thought that threaded "State#" param was ironclad from the compiler's point of view. (In fact, if GHC does any optimization of these imperative bits, could someone point me to it?) For Johan's primops to work, each primop must represent a full memory fence that is respected both by the architecture, and by *both* compilers (GHC & LLVM). Since I don't think GHC is a problem, let's talk about LLVM. We need to verify that LLVM understands not to float regular loads and stores past one of its own atomic instructions. If that is the case (even without anything being marked "volatile"), then I think we are in ok shape, right? In the grand scheme of things isn't this a place where purity has done us good? All the memory traffic related to pure computation is and should be separate from these primops on mutable vars and arrays, and there shouldn't need to be any special ordering constraints *between* those two classes, should there? (Part 2)* CAS on lazy/pointer values* -- this bit *was *an ill-specified mess to begin with, for sure ;-). In part, the problem was that it was somewhat unusual and sussed out other cabal/GHC issues (including a regression in 7.8that I think is a GHC bug, but haven't filed yet [where a spurious "!" on a function arg of "Any" type changes behavior]). Even once the commitment was made to use the "ticketed" approach. (Carter, it's described in this trac ticket .) Johan, FYI, I think we should actually backpedal on casMutVar# and casArray# and not expose a type like the one we have in 7.8: MutableArray# s a -> Int# -> a -> a -> State# s -> (# State# s, Int#, a #) I can't think of any good reason to use it, since we should never trust that "a" return value -- it's poison, and covering it up successfully requires careful attention to NOINLINEs. Rather, for 7.10, better to commit directly IMHO to the "Any" type to beat back the compiler: casMutVarTicketed# :: MutVar# RealWorld a -> Any a -> Any a -> State# RealWorld -> (# State# RealWorld, Int#, Any a #) Cheers, -Ryan > IMHO I think the desire to include these features is leading to a slightly > cavalier attitude towards reordering concerns. Even assuming that the Cmm > code generator doesn't reorder reads/writes around `CallishMachOp`, I don't > see why this behavior should always be true, leading to possible future > pain. Also, it's possible that LLVM may decide to reorder memory accesses > AIUI because the underlying LLVM variables won't be synchronized. > > In a nutshell, even though everything may work now I suspect it'll become > an ill-specified mess in a few years time. I don't have a ton of > experience implementing these sorts of features in compilers though, so > probably only worth a half cent. > > John L. > On May 4, 2014 3:10 AM, "Johan Tibell" wrote: > >> Hi, >> >> I found myself needing atomic operations on basic, mutable numeric >> values. I wrote a short design doc that I'd like feedback on: >> >> https://ghc.haskell.org/trac/ghc/wiki/AtomicPrimops >> >> I will try to implement these for 7.10. >> >> -- Johan >> >> >> _______________________________________________ >> ghc-devs mailing list >> ghc-devs at haskell.org >> http://www.haskell.org/mailman/listinfo/ghc-devs >> >> > _______________________________________________ > ghc-devs mailing list > ghc-devs at haskell.org > http://www.haskell.org/mailman/listinfo/ghc-devs > > -------------- next part -------------- An HTML attachment was scrubbed... URL: From rrnewton at gmail.com Mon May 5 04:25:53 2014 From: rrnewton at gmail.com (Ryan Newton) Date: Mon, 5 May 2014 00:25:53 -0400 Subject: Adding atomic primops In-Reply-To: References: Message-ID: > > For Johan's primops to work, each primop must represent a full memory > fence that is respected both by the architecture, and by *both* compilers > (GHC & LLVM). Since I don't think GHC is a problem, let's talk about LLVM. > We need to verify that LLVM understands not to float regular loads and > stores past one of its own atomic instructions. If that is the case (even > without anything being marked "volatile"), then I think we are in ok shape, > right? > Clarification -- this is assuming we're using the "SequentiallyConsistent" setting in the LLVM backend to get full fences on each op, which correspond to the gcc-compatible __sync_* builtins: http://llvm.org/docs/Atomics.html#sequentiallyconsistent -------------- next part -------------- An HTML attachment was scrubbed... URL: From rrnewton at gmail.com Mon May 5 04:46:26 2014 From: rrnewton at gmail.com (Ryan Newton) Date: Mon, 5 May 2014 00:46:26 -0400 Subject: Adding atomic primops In-Reply-To: References: Message-ID: One last comment -- none of the above is to suggest that I don't think we should eventually have a memory model (a la Java or C++11). But I (and Johan) don't think the addition of the primops Johan listed should wait on it. Further, I don't think these primops make the state of affairs any worse, given that we've *already* had the combination of IORef operations & parallel IO Threads for a long time, without a memory model. I think the informal agreement we've been muddling along with is something like this: - IORef operations have the same behavior as the analogous C operations -- no implied synchronization - all IORef ops are "volatile" wrt GHC (GHC won't reordered) - atomicModifyIORef does what its name implies Though I confess, I'm personally unclear on what the agreement is in at least two places: - What Haskell operations constitute grabbing a "lock" to protect IORef reads and writes? (We often use MVar based strategies for locking, but do they give a *guarantee* that they provide the necessary memory fences for the previous/subsequent IORef operations?) - Is the de-facto "volatile" status I implied before extended to the backends (C / LLVM)? I don't know but assume not. Note that even if not, this doesn't cause a problem for the proposed atomic primops, all of which are themselves Perhaps I and others get away with this level of murkiness because we depend on IORefs so little, with so much happening in the pure code ;-). Ah, and last of all -- while we do need to sort out all this stuff -- I want to point out that adding Johan's proposed primops isn't the key decision point. That ship sailed with 7.2 ;-). This is just about fleshing out what's already there (e.g. fetch and Xor in addition to fetch and Add) and improving the implementations by going to in-line primops. Best, -Ryan On Mon, May 5, 2014 at 12:25 AM, Ryan Newton wrote: > For Johan's primops to work, each primop must represent a full memory >> fence that is respected both by the architecture, and by *both*compilers (GHC & LLVM). Since I don't think GHC is a problem, let's talk >> about LLVM. We need to verify that LLVM understands not to float regular >> loads and stores past one of its own atomic instructions. If that is the >> case (even without anything being marked "volatile"), then I think we are >> in ok shape, right? >> > > Clarification -- this is assuming we're using the "SequentiallyConsistent" > setting in the LLVM backend to get full fences on each op, which correspond > to the gcc-compatible __sync_* builtins: > > http://llvm.org/docs/Atomics.html#sequentiallyconsistent > > > -------------- next part -------------- An HTML attachment was scrubbed... URL: From carter.schonwald at gmail.com Mon May 5 04:59:26 2014 From: carter.schonwald at gmail.com (Carter Schonwald) Date: Mon, 5 May 2014 00:59:26 -0400 Subject: Adding atomic primops In-Reply-To: References: Message-ID: what sailed in ghc 7.2? On Mon, May 5, 2014 at 12:46 AM, Ryan Newton wrote: > One last comment -- none of the above is to suggest that I don't think we > should eventually have a memory model (a la Java or C++11). But I (and > Johan) don't think the addition of the primops Johan listed should wait on > it. Further, I don't think these primops make the state of affairs any > worse, given that we've *already* had the combination of IORef operations > & parallel IO Threads for a long time, without a memory model. > > I think the informal agreement we've been muddling along with is something > like this: > > - IORef operations have the same behavior as the analogous C > operations -- no implied synchronization > - all IORef ops are "volatile" wrt GHC (GHC won't reordered) > - atomicModifyIORef does what its name implies > > Though I confess, I'm personally unclear on what the agreement is in at > least two places: > > - What Haskell operations constitute grabbing a "lock" to protect > IORef reads and writes? (We often use MVar based strategies for locking, > but do they give a *guarantee* that they provide the necessary memory > fences for the previous/subsequent IORef operations?) > - Is the de-facto "volatile" status I implied before extended to the > backends (C / LLVM)? I don't know but assume not. Note that even if not, > this doesn't cause a problem for the proposed atomic primops, all of which > are themselves > > Perhaps I and others get away with this level of murkiness because we > depend on IORefs so little, with so much happening in the pure code ;-). > > Ah, and last of all -- while we do need to sort out all this stuff -- I > want to point out that adding Johan's proposed primops isn't the key > decision point. That ship sailed with 7.2 ;-). This is just about > fleshing out what's already there (e.g. fetch and Xor in addition to fetch > and Add) and improving the implementations by going to in-line primops. > > Best, > -Ryan > > > On Mon, May 5, 2014 at 12:25 AM, Ryan Newton wrote: > >> For Johan's primops to work, each primop must represent a full memory >>> fence that is respected both by the architecture, and by *both*compilers (GHC & LLVM). Since I don't think GHC is a problem, let's talk >>> about LLVM. We need to verify that LLVM understands not to float regular >>> loads and stores past one of its own atomic instructions. If that is the >>> case (even without anything being marked "volatile"), then I think we are >>> in ok shape, right? >>> >> >> Clarification -- this is assuming we're using the >> "SequentiallyConsistent" setting in the LLVM backend to get full fences on >> each op, which correspond to the gcc-compatible __sync_* builtins: >> >> http://llvm.org/docs/Atomics.html#sequentiallyconsistent >> >> >> > > _______________________________________________ > ghc-devs mailing list > ghc-devs at haskell.org > http://www.haskell.org/mailman/listinfo/ghc-devs > > -------------- next part -------------- An HTML attachment was scrubbed... URL: From rrnewton at gmail.com Mon May 5 05:04:08 2014 From: rrnewton at gmail.com (Ryan Newton) Date: Mon, 5 May 2014 01:04:08 -0400 Subject: Adding atomic primops In-Reply-To: References: Message-ID: Oh, just the first CAS primop -- the initial decision to include these kinds of ops. Sent from my phone. On May 5, 2014 12:59 AM, "Carter Schonwald" wrote: > what sailed in ghc 7.2? > > > On Mon, May 5, 2014 at 12:46 AM, Ryan Newton wrote: > >> One last comment -- none of the above is to suggest that I don't think we >> should eventually have a memory model (a la Java or C++11). But I (and >> Johan) don't think the addition of the primops Johan listed should wait on >> it. Further, I don't think these primops make the state of affairs any >> worse, given that we've *already* had the combination of IORef >> operations & parallel IO Threads for a long time, without a memory model. >> >> I think the informal agreement we've been muddling along with is >> something like this: >> >> - IORef operations have the same behavior as the analogous C >> operations -- no implied synchronization >> - all IORef ops are "volatile" wrt GHC (GHC won't reordered) >> - atomicModifyIORef does what its name implies >> >> Though I confess, I'm personally unclear on what the agreement is in at >> least two places: >> >> - What Haskell operations constitute grabbing a "lock" to protect >> IORef reads and writes? (We often use MVar based strategies for locking, >> but do they give a *guarantee* that they provide the necessary memory >> fences for the previous/subsequent IORef operations?) >> - Is the de-facto "volatile" status I implied before extended to the >> backends (C / LLVM)? I don't know but assume not. Note that even if not, >> this doesn't cause a problem for the proposed atomic primops, all of which >> are themselves >> >> Perhaps I and others get away with this level of murkiness because we >> depend on IORefs so little, with so much happening in the pure code ;-). >> >> Ah, and last of all -- while we do need to sort out all this stuff -- I >> want to point out that adding Johan's proposed primops isn't the key >> decision point. That ship sailed with 7.2 ;-). This is just about >> fleshing out what's already there (e.g. fetch and Xor in addition to fetch >> and Add) and improving the implementations by going to in-line primops. >> >> Best, >> -Ryan >> >> >> On Mon, May 5, 2014 at 12:25 AM, Ryan Newton wrote: >> >>> For Johan's primops to work, each primop must represent a full memory >>>> fence that is respected both by the architecture, and by *both*compilers (GHC & LLVM). Since I don't think GHC is a problem, let's talk >>>> about LLVM. We need to verify that LLVM understands not to float regular >>>> loads and stores past one of its own atomic instructions. If that is the >>>> case (even without anything being marked "volatile"), then I think we are >>>> in ok shape, right? >>>> >>> >>> Clarification -- this is assuming we're using the >>> "SequentiallyConsistent" setting in the LLVM backend to get full fences on >>> each op, which correspond to the gcc-compatible __sync_* builtins: >>> >>> http://llvm.org/docs/Atomics.html#sequentiallyconsistent >>> >>> >>> >> >> _______________________________________________ >> ghc-devs mailing list >> ghc-devs at haskell.org >> http://www.haskell.org/mailman/listinfo/ghc-devs >> >> > -------------- next part -------------- An HTML attachment was scrubbed... URL: From jwlato at gmail.com Mon May 5 06:17:41 2014 From: jwlato at gmail.com (John Lato) Date: Sun, 4 May 2014 23:17:41 -0700 Subject: Adding atomic primops In-Reply-To: References: Message-ID: Hi Ryan, It's a little late here, but I've tried to put all my thoughts in order on this topic. On Sun, May 4, 2014 at 9:18 PM, Ryan Newton wrote: > Hi John & Carter, > > Deferring for a moment issues with CAS on lazy/pointer values, which > pertain to Carter's question, I want to understand the ordering concern WRT > only the "IntArray" primops that Johan listed. First, to my knowledge GHC > doesn't do any reordering of effectful memory operations (e.g. > readMutVar/writeMutVar). That is, I thought that threaded "State#" param > was ironclad from the compiler's point of view. (In fact, if GHC does any > optimization of these imperative bits, could someone point me to it?) > My understanding is that GHC does do reordering of memory operations, in the CmmSink pass ( http://www.haskell.org/ghc/docs/latest/html/libraries/ghc/src/CmmSink.html, http://blog.ezyang.com/2014/01/so-you-want-to-add-a-new-concurrency-primitive-to-ghc/). In particular ghc may currently reorder loads, although it doesn't seem to reorder stores (at this time). And ghc *currently* only performs these reorderings in limited cases. > > For Johan's primops to work, each primop must represent a full memory > fence that is respected both by the architecture, and by *both* compilers > (GHC & LLVM). Since I don't think GHC is a problem, let's talk about LLVM. > We need to verify that LLVM understands not to float regular loads and > stores past one of its own atomic instructions. If that is the case (even > without anything being marked "volatile"), then I think we are in ok shape, > right? > Provided the operations are SequentiallyConsistent (could probably use Acquire/Release for reads/writes) I think LLVM will handle this appropriately. > > In the grand scheme of things isn't this a place where purity has done us > good? All the memory traffic related to pure computation is and should be > separate from these primops on mutable vars and arrays, and there shouldn't > need to be any special ordering constraints *between* those two classes, > should there? > Perhaps. But it's still important to get ordering right WRT multiple mutable ops, so I'm not sure that purity actually helps that much, except that we can get away with underspecified operations moreso than in C++. (also x86 has a stronger model than other archs, it's possible that we currently get away with stuff that's unsafe on other platforms) I have to confess that I don't understand what you mean by suggesting we should implement these primops without having an underlying memory model. What does atomicReadIntArray# mean if there's no memory model in which its defined? How can you be sure that other ghc hackers won't break some assumptions that the implementations rely upon, if they don't have a memory model to describe how operations should behave? This is strongly related to the TODO: in Johan's proposal: just because that may be true now (I don't know if it is!) doesn't mean it will remain so in the future. Of course, given the limited number of GHC hackers, everything may work out fine in the end. It just seems to me that it would be more sensible to define the semantics first and build the primops around them, rather than primops first and semantics later. Best, John > (Part 2)* CAS on lazy/pointer values* -- this bit *was *an ill-specified > mess to begin with, for sure ;-). In part, the problem was that it was > somewhat unusual and sussed out other cabal/GHC issues > (including a regression in 7.8that I think is a GHC bug, but haven't filed yet [where a spurious "!" on > a function arg of "Any" type changes behavior]). Even once the commitment > was made to use the "ticketed" approach. (Carter, it's described in this > trac ticket .) > > Johan, FYI, I think we should actually backpedal on casMutVar# and > casArray# and not expose a type like the one we have in 7.8: > > MutableArray# s a -> Int# -> a -> a -> State# s -> (# State# s, Int#, a #) > > > I can't think of any good reason to use it, since we should never trust > that "a" return value -- it's poison, and covering it up successfully > requires careful attention to NOINLINEs. > Rather, for 7.10, better to commit directly IMHO to the "Any" type to beat > back the compiler: > > casMutVarTicketed# :: MutVar# RealWorld a -> Any a -> Any a -> > State# RealWorld -> (# State# RealWorld, Int#, Any a #) > > Cheers, > -Ryan > > > > >> IMHO I think the desire to include these features is leading to a >> slightly cavalier attitude towards reordering concerns. Even assuming that >> the Cmm code generator doesn't reorder reads/writes around `CallishMachOp`, >> I don't see why this behavior should always be true, leading to possible >> future pain. Also, it's possible that LLVM may decide to reorder memory >> accesses AIUI because the underlying LLVM variables won't be synchronized. >> >> In a nutshell, even though everything may work now I suspect it'll become >> an ill-specified mess in a few years time. I don't have a ton of >> experience implementing these sorts of features in compilers though, so >> probably only worth a half cent. >> >> John L. >> On May 4, 2014 3:10 AM, "Johan Tibell" wrote: >> >>> Hi, >>> >>> I found myself needing atomic operations on basic, mutable numeric >>> values. I wrote a short design doc that I'd like feedback on: >>> >>> https://ghc.haskell.org/trac/ghc/wiki/AtomicPrimops >>> >>> I will try to implement these for 7.10. >>> >>> -- Johan >>> >>> >>> _______________________________________________ >>> ghc-devs mailing list >>> ghc-devs at haskell.org >>> http://www.haskell.org/mailman/listinfo/ghc-devs >>> >>> >> _______________________________________________ >> ghc-devs mailing list >> ghc-devs at haskell.org >> http://www.haskell.org/mailman/listinfo/ghc-devs >> >> -------------- next part -------------- An HTML attachment was scrubbed... URL: From simonpj at microsoft.com Mon May 5 08:49:38 2014 From: simonpj at microsoft.com (Simon Peyton Jones) Date: Mon, 5 May 2014 08:49:38 +0000 Subject: C-- specfication In-Reply-To: <53668CE1.6050506@student.chalmers.se> References: <87iopntbx4.fsf@mid.deneb.enyo.de> <5364C5E1.9030404@student.chalmers.se> <53668CE1.6050506@student.chalmers.se> Message-ID: <618BE556AADD624C9C918AA5D5911BEF0C0B1847@DB3PRD3001MB020.064d.mgd.msft.net> Thank you Arash! Simon | -----Original Message----- | From: ghc-devs [mailto:ghc-devs-bounces at haskell.org] On Behalf Of Arash | Rouhani | Sent: 04 May 2014 19:54 | To: Andrew Farmer | Cc: ghc-devs at haskell.org | Subject: Re: C-- specfication | | Hi Andrew, | | Thanks for the encouragement! :) | | I went ahead and updated the wiki and incorporated my links. I also gave | some more guidelines for each link. [1] | | Cheers, | Arash | | | | [1]: https://ghc.haskell.org/trac/ghc/wiki/Commentary/Rts/Cmm | | On 2014-05-04 16:53, Andrew Farmer wrote: | > Are all of these links collected on the GHC wiki somewhere? If not, | > would you mind adding them? | > | > I, for one, appreciate a curated list of references like this! | > | > On Sat, May 3, 2014 at 5:33 AM, Arash Rouhani | > wrote: | >> (Sorry Florian, I forgot to "reply to list"!) | >> | >> Hi Florian! | >> | >> Forget Cminusminus.org, in my experience it seems to have diverged | >> from the GHC version of Cminusminus. | >> | >> I would recommend these resources | >> | >> See the top of | >> https://github.com/ghc/ghc/blob/master/compiler/cmm/CmmParse.y | >> Be ready to occasionally look into | >> https://github.com/ghc/ghc/blob/master/includes/Cmm.h | >> Edward Yang's blog post is a must-read | >> http://blog.ezyang.com/2013/07/no-grammar-no-problem/ (less than a | >> year old) You can also get the big picture of Cmm from David Terei's | bachelor thesis: | >> https://davidterei.com/downloads/papers/terei:2009:honours_thesis.pdf | >> 2 years ago, Simon Marlow extended the classical Cmm syntax to make | >> it much | >> nicer: | >> https://github.com/ghc/ghc/commit/a7c0387d20c1c9994d1100b14fbb8fb4e28 | >> a259e The commentary (it is kinda outdated in my experience, but | >> worth taking a look :)), | >> https://ghc.haskell.org/trac/ghc/wiki/Commentary/Rts/Cmm and | >> https://ghc.haskell.org/trac/ghc/wiki/Commentary/Compiler/CmmType | >> Read the code! There's a lot of Cmm files and after looking at | >> various parts of it for a while parts start to make sense :) | >> Shameless plug: You might find sections 4.2 and 4.2.1 from my master | >> thesis helpful to understand the difference between arguments and | fields. | >> http://arashrouhani.com/papers/master-thesis.pdf | >> | >> And it will take time to learn Cmm. The most unintuitive thing for me | >> that took me a while to understand is that there are no function | >> calls in "classical" cmm code. The newer syntax allows function calls | >> but you should know that they are kind of magical. Hope this helps! | >> :) | >> | >> (Sorry for giving so many reading references :p) | >> | >> Cheers, | >> Arash | >> | >> | >> | >> On 2014-05-03 12:05, Florian Weimer wrote: | >> | >> I'm looking for a specification of C--. I can't find it on the | >> cminuscminus.org web site, and it's also not included in the release | >> tarball. Does anybody know where to get it? | >> _______________________________________________ | >> ghc-devs mailing list | >> ghc-devs at haskell.org | >> http://www.haskell.org/mailman/listinfo/ghc-devs | >> | >> | >> | >> _______________________________________________ | >> ghc-devs mailing list | >> ghc-devs at haskell.org | >> http://www.haskell.org/mailman/listinfo/ghc-devs | >> | | _______________________________________________ | ghc-devs mailing list | ghc-devs at haskell.org | http://www.haskell.org/mailman/listinfo/ghc-devs From fuuzetsu at fuuzetsu.co.uk Mon May 5 09:56:30 2014 From: fuuzetsu at fuuzetsu.co.uk (Mateusz Kowalczyk) Date: Mon, 05 May 2014 11:56:30 +0200 Subject: Adding a dependency to the build system Message-ID: <5367604E.4040705@fuuzetsu.co.uk> Hi, Today I have split Haddock up a little to allow users to use the Haddock parser without incurring the dependency on GHC. This means the Haddock tree looks like this now: haddock/haddock.cabal haddock/src/? haddock/haddock-library/haddock-library.cabal haddock/haddock-library/src/? haddock/haddock-library/? haddock/? For details see [1]. In the haddock.cabal, we now depend on haddock-library. While this works fine in a regular development scenario, GHC build system needs to be made aware that it has to build haddock/haddock-library before haddock/. I tried looking at the build system but it is far too complicated to comprehend in a reasonable amount of time. Can someone already familiar with it make the change (in a separate branch or give me the diff so I can push the Haddock changes while at the same time updating submodule + build system) or tell me what exactly needs changing? haddock-library only uses a subset of Haddock's existing dependencies so there should be no problem on that end. A workaround would be to simply include haddock-library paths as additional source locations but I don't like it this approach as it breaks the ?haddock-library is its own package? abstraction. For example, this would not work if we ever wanted to move haddock-library to its own repository. Thanks! [1]: https://github.com/Fuuzetsu/haddock/tree/parser-split -- Mateusz K. From simonpj at microsoft.com Mon May 5 13:15:19 2014 From: simonpj at microsoft.com (Simon Peyton Jones) Date: Mon, 5 May 2014 13:15:19 +0000 Subject: cgrun051 Message-ID: <618BE556AADD624C9C918AA5D5911BEF0C0B2B9E@DB3PRD3001MB020.064d.mgd.msft.net> I'm getting Unexpected failures: . cgrun051 [bad exit code] (normal,hpc,optasm,profasm,ghci,threaded1,threaded2,dyn,profthreaded,optllvm,g1) =====> cgrun051(optasm) 46 of 98 [0, 2, 0] cd . && '/5playpen/simonpj/HEAD-2/inplace/bin/ghc-stage2' -fforce-recomp -dcore-lint -dcmm-lint -dno-debug-output -no-user-package-db -rtsopts -fno-ghci-history -o cgrun051 cgrun051.hs -O -fasm >cgrun051.comp.stderr 2>&1 cd . && ./cgrun051 cgrun051.run.stdout 2>cgrun051.run.stderr Wrong exit code (expected 0 , actual 1 ) cgrun051 throws an exception, so presumably should have exit code 1. And it does. But the test seems to test for exit code 0. Why does the test check for 0 not 1? And what has changed? This is HEAD. I don't have a virgin head right now, but I don't think any of my changes could cause this. I am also seeing the ffi/should_compile cc004 [stderr mismatch] (normal) errors that Joachim reported. It'd be great if someone could fix that, whatever it is. SImon -------------- next part -------------- An HTML attachment was scrubbed... URL: From austin at well-typed.com Mon May 5 16:54:20 2014 From: austin at well-typed.com (Austin Seipp) Date: Mon, 5 May 2014 11:54:20 -0500 Subject: Status updates Message-ID: Hi all, - The HCAR entry was quickly completed last week thanks to everyone, much appreciated for the quick response! And it made me aware of some other new things in the pipeline, too. :) - Simon is in-progress reviewing the ORF work still. But it's happening, so be patient of course (it's a large patch after all). - After a short discussion last week and a small grace period I killed external core, and removed all traces of it from the GHC tree. We constantly add things to GHC as Richard noted, so removing something was nice, even if a little sad. The result was about 3,000 fewer lines in the source tree. - I need to send a patch upstream to Ross for the AMP changes, but I slacked off a bit since the release of the new transformers got pushed back, pending some discussions on libraries at haskell.org - I'll be sending the results to Ross later today. - I spent some time working on removing the need for a build from creation of the source distribution like I mentioned last week - so 'make sdist' almost works out of the box. I believe it works fine, but it needs some more testing, and I feel like I should float the patch by for review on the list first, Simon in particular might have something to say. Do watch this space. - I'm going to continue working on trying HEAD with Stackage and putting the results somewhere, I just sort of left this as is right now. Also, remember from last week, the 7.8.3 milestone has been shaped up to be what we will look at - please do look over the tickets here when you get a chance! I'll be likely seeing if any new tickets will go here today: https://ghc.haskell.org/trac/ghc/milestone/7.8.3 https://ghc.haskell.org/trac/ghc/query?status=infoneeded&status=merge&status=new&status=patch&group=status&milestone=7.8.3 Some other things worth noting: - It's time to merge up a lot of the patch queue. I'll be doing that soon - if you floated a patch by and want to discuss it or you want to make me aware of a patch you have, please let me know. At worst you will just inform me of something I already knew. - Side note, since a few people might be keen to know - Herbert took the time this week to move darcs.haskell.org onto a new server, effectively putting it in legacy mode. The switch has not yet happened, because we need to do a DNS switch. That's all, it was pretty light this week for me actually! We didn't actually have a call today yet actually, but we will have one next week and have more to say for sure. Do let me know if you have questions. -- Regards, Austin Seipp, Haskell Consultant Well-Typed LLP, http://www.well-typed.com/ From roma at ro-che.info Mon May 5 17:36:27 2014 From: roma at ro-che.info (Roman Cheplyaka) Date: Mon, 5 May 2014 20:36:27 +0300 Subject: Status updates In-Reply-To: References: Message-ID: <20140505173627.GA20718@sniper> Hi Austin, Could you consider #9012 for 7.8.3? * Austin Seipp [2014-05-05 11:54:20-0500] > Hi all, > > - The HCAR entry was quickly completed last week thanks to everyone, > much appreciated for the quick response! And it made me aware of some > other new things in the pipeline, too. :) > > - Simon is in-progress reviewing the ORF work still. But it's > happening, so be patient of course (it's a large patch after all). > > - After a short discussion last week and a small grace period I > killed external core, and removed all traces of it from the GHC tree. > We constantly add things to GHC as Richard noted, so removing > something was nice, even if a little sad. The result was about 3,000 > fewer lines in the source tree. > > - I need to send a patch upstream to Ross for the AMP changes, but I > slacked off a bit since the release of the new transformers got pushed > back, pending some discussions on libraries at haskell.org - I'll be > sending the results to Ross later today. > > - I spent some time working on removing the need for a build from > creation of the source distribution like I mentioned last week - so > 'make sdist' almost works out of the box. I believe it works fine, but > it needs some more testing, and I feel like I should float the patch > by for review on the list first, Simon in particular might have > something to say. Do watch this space. > > - I'm going to continue working on trying HEAD with Stackage and > putting the results somewhere, I just sort of left this as is right > now. > > Also, remember from last week, the 7.8.3 milestone has been shaped up > to be what we will look at - please do look over the tickets here when > you get a chance! I'll be likely seeing if any new tickets will go > here today: > > https://ghc.haskell.org/trac/ghc/milestone/7.8.3 > https://ghc.haskell.org/trac/ghc/query?status=infoneeded&status=merge&status=new&status=patch&group=status&milestone=7.8.3 > > Some other things worth noting: > > - It's time to merge up a lot of the patch queue. I'll be doing that > soon - if you floated a patch by and want to discuss it or you want to > make me aware of a patch you have, please let me know. At worst you > will just inform me of something I already knew. > > - Side note, since a few people might be keen to know - Herbert took > the time this week to move darcs.haskell.org onto a new server, > effectively putting it in legacy mode. The switch has not yet > happened, because we need to do a DNS switch. > > That's all, it was pretty light this week for me actually! We didn't > actually have a call today yet actually, but we will have one next > week and have more to say for sure. > > Do let me know if you have questions. > > -- > Regards, > > Austin Seipp, Haskell Consultant > Well-Typed LLP, http://www.well-typed.com/ > _______________________________________________ > ghc-devs mailing list > ghc-devs at haskell.org > http://www.haskell.org/mailman/listinfo/ghc-devs -------------- next part -------------- A non-text attachment was scrubbed... Name: signature.asc Type: application/pgp-signature Size: 819 bytes Desc: Digital signature URL: From rrnewton at gmail.com Mon May 5 18:08:39 2014 From: rrnewton at gmail.com (Ryan Newton) Date: Mon, 5 May 2014 14:08:39 -0400 Subject: Adding atomic primops In-Reply-To: References: Message-ID: Hi John, My understanding is that GHC does do reordering of memory operations, in > the CmmSink pass ( > http://www.haskell.org/ghc/docs/latest/html/libraries/ghc/src/CmmSink.html, > > http://blog.ezyang.com/2014/01/so-you-want-to-add-a-new-concurrency-primitive-to-ghc/). > In particular ghc may currently reorder loads, although it doesn't seem to > reorder stores (at this time). And ghc *currently* only performs these > reorderings in limited cases. > Thanks! That's a great summary by ezyang and I hadn't yet read it. I have to confess that I don't understand what you mean by suggesting we > should implement these primops without having an underlying memory model. > Oh, no, I think we should work on getting as close as possible to said memory model. But given how much work it's been for other languages I hope we can pipeline some of the implementation tasks, at the same time as that is going on. For example, we've got one GSOC working on a concurrent data structure, and it would be great if they could have a GHC branch to test inlined primops, even if there is much more work to do to verify the safety of that prototype before it makes it to the master branch. (There's also the social question of getting someone with enough time to do this memory model -- or port it from other languages. Suggestions?) > What does atomicReadIntArray# mean if there's no memory model in which > its defined? How can you be sure that other ghc hackers won't break some > assumptions that the implementations rely upon, if they don't have a memory > model to describe how operations should behave? This is strongly related > to the TODO: in Johan's proposal: just because that may be true now (I > don't know if it is!) doesn't mean it will remain so in the future. > I totally agree. I'm just not sure where we should go with it. I think as a practical matter we need some kind of memory model fuzz tester for GHC, since we certainly won't have formal verification throughout the whole compiler. There's been some neat work on this in the memory models community, it seems. It sounds like Jan-Willem also suggests that there should be invasive changes made to the compiler to reify the memory model as a DAG of dependencies on the individual operations. I guess the concrete choice for Johan's proposed changes is to figure out if its possible to quickly hack the relevant CMM passes that might reorder (to be primop aware), rather than make the more general improvement that Jan-Willem suggested in the comments on ezyang's post. Of course, given the limited number of GHC hackers, everything may work out > fine in the end. It just seems to me that it would be more sensible to > define the semantics first and build the primops around them, rather than > primops first and semantics later. > I think it's a bit of a chicken and egg, because we need to get interesting enough data structures and libraries to make someone care enough to do this work ;-). I think we need a collaboration with someone who does memory model stuff for a living if we could get them interested or make this into "research" somehow. -------------- next part -------------- An HTML attachment was scrubbed... URL: From marlowsd at gmail.com Mon May 5 19:33:51 2014 From: marlowsd at gmail.com (Simon Marlow) Date: Mon, 05 May 2014 20:33:51 +0100 Subject: Adding atomic primops In-Reply-To: References: Message-ID: <5367E79F.3070700@gmail.com> On 04/05/14 11:10, Johan Tibell wrote: > I found myself needing atomic operations on basic, mutable numeric > values. I wrote a short design doc that I'd like feedback on: > > https://ghc.haskell.org/trac/ghc/wiki/AtomicPrimops > > I will try to implement these for 7.10. Right now, all CmmUnsafeForeignCalls (this includes CallishMachOps) are assumed to read and clobber arbitrary memory, so we won't commute reads or writes past them. We could relax this in the future, so the best thing to do would be to write down what semantics you expect (hah, I realise how difficult this is! An informal description will have to suffice.) Cheers, Simon From marlowsd at gmail.com Mon May 5 20:54:44 2014 From: marlowsd at gmail.com (Simon Marlow) Date: Mon, 05 May 2014 21:54:44 +0100 Subject: GHC status report In-Reply-To: References: <618BE556AADD624C9C918AA5D5911BEF0A58F2FC@DB3PRD3001MB020.064d.mgd.msft.net> <536128AF.7080209@gmail.com> <5362BC24.9030101@gmail.com> <5363990D.5080200@gmail.com> <5363F5E5.6040004@gmail.com> Message-ID: <5367FA94.9040206@gmail.com> I don't see any reason why llvm-general with the shared-llvm flag shouldn't work with a statically linked GHCi (7.6.3 or 7.8 with DYNAMIC_GHC_PROGRAMS=NO). Doesn't it work? On 03/05/14 02:12, Carter Schonwald wrote: > if theres a way i can patch llvm-general so that i can use it with llvm > static linked into rather than dylinked, i'm all ears! > > llvm-general has to use some C++ wrappers (that in turn use extern "C" > sections) to make parts of the llvm api accessible from hasskell. > > I had trouble following some of the thread earlier today, but is the > suggestion to try building those wrappers with -fPIC would make them > play nice? > > > On Fri, May 2, 2014 at 8:52 PM, Dominick Samperi > wrote: > > I posted a ticket related to this (#8371), but the example provided > there > has no problems today for all versions of ghci that I tested (including > 7.6.3), provided -fno-ghci-sandbox is specified. So this problem was > clearly related to the threads issue. > > Today there are problems when DYNAMIC_GHC_PROGRAMS=NO, but they > happen later, and I have not yet narrowed this down to a small example. > Basically, I have an Haskell app that embeds R (as in the sample code > attached to the above ticket), but when it tries to do some calculations > it seg faults (works fine with 7.8.2). > > On Fri, May 2, 2014 at 3:45 PM, Simon Marlow > wrote: > > Can you give me a quick summary of how to reproduce the problem? (not > > including the GHC build steps) > > > > Cheers, > > Simon > > > > > > On 02/05/14 18:18, Dominick Samperi wrote: > >> > >> I downloaded HEAD and placed DYNAMIC_GHC_PROGRAMS=NO in the "quick" > >> section of mk/build.mk (with BuildFlavour = > quick), and set > >> DYNAMIC_GHC_PROGRAMS=NO > >> in my environment before running configure (just to be sure!). Near > >> the end of the build > >> I saw some messages like "Warning: vectorization failure," but the > >> build completed. > >> > >> The status at the end of configure doesn't say that dynamic linking > >> via RTS has been > >> turned off, and I don't know how to check that this is so. > >> Nevertheless, I checked > >> the linking issue and it is NOT fixed with this build, so > >> DYNAMIC_GHC_PROGRAMS=YES is required to prevent the problems > >> reported by me and others. > >> > >> > >> On Fri, May 2, 2014 at 9:09 AM, Simon Marlow > wrote: > >>> > >>> On 02/05/2014 01:09, Dominick Samperi wrote: > >>> > >>>> If I understand your last comment correctly linking to libR should > >>>> continue to work, even if you revert to static linking of Haskell > >>>> compiled > >>>> code via RTS linker. Since you say this is the way things have > always > >>>> been, perhaps the real explanation for why 7.8 fixed the issue > is that > >>>> some bug was fixed along the way... > >>> > >>> > >>> > >>> Indeed. To know for sure we would have to test 7.8 with > >>> DYNAMIC_GHC_PROGRAMS=NO with your setup - is there a way to do > that? > >>> > >>> Cheers, > >>> Simon > >>> > >>> > >>> > >>>> Note that R is a C library, so the C++ issues that Carter > mentions are > >>>> not a factor here. > >>>> > >>>> Thanks, > >>>> Dominick > >>>> > >>>> On Thu, May 1, 2014 at 5:27 PM, Simon Marlow > > wrote: > >>>>> > >>>>> > >>>>> On 01/05/14 14:48, Dominick Samperi wrote: > >>>>>> > >>>>>> > >>>>>> > >>>>>> The problem with some graphics libraries used via FFI (and other > >>>>>> libraries > >>>>>> that are not thread-safe), if I understand the situation > correctly, is > >>>>>> that ghci > >>>>>> forks a thread when it shouldn't, causing some programs to > >>>>>> miscalculate > >>>>>> the available stack space (because they think there is only one > >>>>>> thread). > >>>>> > >>>>> > >>>>> > >>>>>> > >>>>>> > >>>>>> The new dynamic linking support and the flag > -fno-ghci-sandbox fixes > >>>>>> this problem, and I would not vote for the removal of these > features. > >>>>> > >>>>> > >>>>> > >>>>> > >>>>> So I understand how -fno-ghci-sandbox avoids problems with GUI > >>>>> libraries > >>>>> that use thread-local state. But how is dynamic linking > involved here? > >>>>> What improved in GHC 7.8 relative to 7.6 for you? And could > you clarify > >>>>> "miscalculate the available stack space"? What needs to > calculate stack > >>>>> space? Why? C stack space? > >>>>> > >>>>> We can certainly make a smoother experience around > -fno-ghci-sandbox > >>>>> for > >>>>> using GUI libraries. > >>>>> > >>>>> > >>>>>> It is not clear to me from Simon's original post how linking > to all of > >>>>>> those C++ libs can continue to work if dynamic linking is > removed > >>>>>> in 7.10? Perhaps I misunderstand what you mean by "revert to > >>>>>> static linking"? > >>>>> > >>>>> > >>>>> > >>>>> > >>>>> When I say "revert to static linking" I mean make GHCi static > linked, > >>>>> and > >>>>> have it load Haskell code compiled for static linking using > the RTS > >>>>> linker > >>>>> (like it did in 7.6). Foreign libraries would still be > loaded using > >>>>> the > >>>>> system linker, as they always have been. > >>>>> > >>>>> To be clear, I'm not officially proposing that we drop > dynamic linking, > >>>>> but > >>>>> I think it's worthwhile exploring the design space again, > given that we > >>>>> know > >>>>> dynamic linking has been tougher than we expected. > >>>>> > >>>>> Cheers, > >>>>> Simon > >>>>> > >>>>> > >>>>> > >>>>>> Thanks, > >>>>>> Dominick > >>>>>> > >>>>>> > >>>>>> On Wed, Apr 30, 2014 at 9:26 PM, George Colpitts > >>>>>> > wrote: > >>>>>>> > >>>>>>> > >>>>>>> > >>>>>>> To elaborate, in the past, I had a lot of problems using > libraries > >>>>>>> from > >>>>>>> the > >>>>>>> ghci prompt on the Mac but I haven't tried recently. > >>>>>>> > >>>>>>> As an example, on the web page for the book the Haskell > School of > >>>>>>> Expression > >>>>>>> it says: > >>>>>>> > >>>>>>> Note for OS X users: running graphics applications from > GHCi is no > >>>>>>> longer > >>>>>>> supported. Instead, one has to compile a graphics program > using GHC > >>>>>>> in > >>>>>>> order > >>>>>>> to run it (see example/GMIExamples.lhs for an example). > >>>>>>> > >>>>>>> I had similar problems using the Yale Euterpea music > program from > >>>>>>> ghci. > >>>>>>> When > >>>>>>> I inquired I was referred to > >>>>>>> https://ghc.haskell.org/trac/ghc/ticket/4244 > >>>>>>> and https://ghc.haskell.org/trac/ghc/ticket/781. I see that the > >>>>>>> latter > >>>>>>> is > >>>>>>> now scheduled for 7.10.1 > >>>>>>> > >>>>>>> > >>>>>>> On Wed, Apr 30, 2014 at 1:45 PM, Simon Marlow > > > >>>>>>> wrote: > >>>>>>>> > >>>>>>>> > >>>>>>>> > >>>>>>>> > >>>>>>>> On 30/04/2014 01:35, George Colpitts wrote: > >>>>>>>>> > >>>>>>>>> > >>>>>>>>> > >>>>>>>>> > >>>>>>>>> It doesn't have anything about the dynamic linking > changes made for > >>>>>>>>> 7.8. > >>>>>>>>> I think it's worth mentioning the improvements we expect > to get > >>>>>>>>> from > >>>>>>>>> that. The highlights of the release notes do mention it, > so maybe > >>>>>>>>> that > >>>>>>>>> suffices. > >>>>>>>>> > >>>>>>>>> In particular, I'm hoping that it is going to fix a lot > of problems > >>>>>>>>> with > >>>>>>>>> using foreign libraries such as OpenGL from ghci. I could > be wrong > >>>>>>>>> about > >>>>>>>>> that though. > >>>>>>>> > >>>>>>>> > >>>>>>>> > >>>>>>>> > >>>>>>>> > >>>>>>>> I'd like to understand more about what those problems are. > As a > >>>>>>>> data > >>>>>>>> point, at Facebook we're using static linking (I compiled > GHC with > >>>>>>>> DYNAMIC_GHC_PROGRAMS=NO), we're loading upwards of 50 > 3rd-party C++ > >>>>>>>> libraries and one gigantic shared library consisting of a > ton of > >>>>>>>> in-house > >>>>>>>> C++ code, together with all our Haskell code into GHCi, > and it works > >>>>>>>> perfectly. The key to using the static linker is to not > use it for > >>>>>>>> C++ > >>>>>>>> code > >>>>>>>> - you want all your external C++ code in shared libraries > and load > >>>>>>>> those > >>>>>>>> using the system linker. > >>>>>>>> > >>>>>>>> Dynamic linking has been a huge headache in GHC, and it's > not clear > >>>>>>>> that > >>>>>>>> it's an overall improvement compared with the static > linker. Now > >>>>>>>> that > >>>>>>>> 7.8 > >>>>>>>> is out of the way, it's time to have a conversation about > whether we > >>>>>>>> want to > >>>>>>>> do dynamic linking again for 7.10, or revert to static > linking. I > >>>>>>>> think > >>>>>>>> Austin is going to update > >>>>>>>> https://ghc.haskell.org/trac/ghc/wiki/DynamicGhcPrograms, > and then > >>>>>>>> we'll > >>>>>>>> see > >>>>>>>> where we stand. > >>>>>>>> > >>>>>>>> Cheers, > >>>>>>>> Simon > >>>>>>>> > >>>>>>>> > >>>>>>>> > >>>>>>>>> > >>>>>>>>> On Tue, Apr 29, 2014 at 6:13 PM, Simon Peyton Jones > >>>>>>>>> > >> wrote: > >>>>>>>>> > >>>>>>>>> As Austin has told us, there's a draft of the *GHC > Status > >>>>>>>>> Report > >>>>>>>>> for > >>>>>>>>> the HCAR*, here:____ > >>>>>>>>> > >>>>>>>>> https://ghc.haskell.org/trac/ghc/wiki/Status/May14____ > >>>>>>>>> > >>>>>>>>> > >>>>>>>>> Have we missed out something you have been > working hard on? > >>>>>>>>> Do > >>>>>>>>> take a moment to add a bullet in an appropriate > place (it's > >>>>>>>>> a > >>>>>>>>> wiki). I'd like to be sure that we are giving > credit to all > >>>>>>>>> the > >>>>>>>>> appropriate people, so please help us fix that > too. GHC is > >>>>>>>>> a > >>>>>>>>> team > >>>>>>>>> effort.____ > >>>>>>>>> > >>>>>>>>> Deadline is 1 May I think.____ > >>>>>>>>> > >>>>>>>>> Thanks____ > >>>>>>>>> > >>>>>>>>> Simon____ > >>>>>>>>> > >>>>>>>>> __ __ > >>>>>>>>> > >>>>>>>>> > >>>>>>>>> _______________________________________________ > >>>>>>>>> ghc-devs mailing list > >>>>>>>>> ghc-devs at haskell.org > > > >>>>>>>>> http://www.haskell.org/mailman/listinfo/ghc-devs > >>>>>>>>> > >>>>>>>>> > >>>>>>>>> > >>>>>>>>> > >>>>>>>>> > >>>>>>>>> _______________________________________________ > >>>>>>>>> ghc-devs mailing list > >>>>>>>>> ghc-devs at haskell.org > >>>>>>>>> http://www.haskell.org/mailman/listinfo/ghc-devs > >>>>>>>>> > >>>>>>> > >>>>>>> > >>>>>>> _______________________________________________ > >>>>>>> ghc-devs mailing list > >>>>>>> ghc-devs at haskell.org > >>>>>>> http://www.haskell.org/mailman/listinfo/ghc-devs > >>>>>>> > >>>>> > >>> > > > _______________________________________________ > ghc-devs mailing list > ghc-devs at haskell.org > http://www.haskell.org/mailman/listinfo/ghc-devs > > From carter.schonwald at gmail.com Mon May 5 20:58:19 2014 From: carter.schonwald at gmail.com (Carter Schonwald) Date: Mon, 5 May 2014 16:58:19 -0400 Subject: GHC status report In-Reply-To: <5367FA94.9040206@gmail.com> References: <618BE556AADD624C9C918AA5D5911BEF0A58F2FC@DB3PRD3001MB020.064d.mgd.msft.net> <536128AF.7080209@gmail.com> <5362BC24.9030101@gmail.com> <5363990D.5080200@gmail.com> <5363F5E5.6040004@gmail.com> <5367FA94.9040206@gmail.com> Message-ID: no, i was saying LLVM-General when static linked to llvm doesnt work. I wasnt talking about ghc being dynamic or static merely that theres no way to get llvm-general to work on ghci in 7.6 afaik On Mon, May 5, 2014 at 4:54 PM, Simon Marlow wrote: > I don't see any reason why llvm-general with the shared-llvm flag > shouldn't work with a statically linked GHCi (7.6.3 or 7.8 with > DYNAMIC_GHC_PROGRAMS=NO). Doesn't it work? > > > On 03/05/14 02:12, Carter Schonwald wrote: > >> if theres a way i can patch llvm-general so that i can use it with llvm >> static linked into rather than dylinked, i'm all ears! >> >> llvm-general has to use some C++ wrappers (that in turn use extern "C" >> sections) to make parts of the llvm api accessible from hasskell. >> >> I had trouble following some of the thread earlier today, but is the >> suggestion to try building those wrappers with -fPIC would make them >> play nice? >> >> >> On Fri, May 2, 2014 at 8:52 PM, Dominick Samperi > > wrote: >> >> I posted a ticket related to this (#8371), but the example provided >> there >> has no problems today for all versions of ghci that I tested >> (including >> 7.6.3), provided -fno-ghci-sandbox is specified. So this problem was >> clearly related to the threads issue. >> >> Today there are problems when DYNAMIC_GHC_PROGRAMS=NO, but they >> happen later, and I have not yet narrowed this down to a small >> example. >> Basically, I have an Haskell app that embeds R (as in the sample code >> attached to the above ticket), but when it tries to do some >> calculations >> it seg faults (works fine with 7.8.2). >> >> On Fri, May 2, 2014 at 3:45 PM, Simon Marlow > > wrote: >> > Can you give me a quick summary of how to reproduce the problem? >> (not >> > including the GHC build steps) >> > >> > Cheers, >> > Simon >> > >> > >> > On 02/05/14 18:18, Dominick Samperi wrote: >> >> >> >> I downloaded HEAD and placed DYNAMIC_GHC_PROGRAMS=NO in the >> "quick" >> >> section of mk/build.mk (with BuildFlavour = >> >> quick), and set >> >> DYNAMIC_GHC_PROGRAMS=NO >> >> in my environment before running configure (just to be sure!). >> Near >> >> the end of the build >> >> I saw some messages like "Warning: vectorization failure," but the >> >> build completed. >> >> >> >> The status at the end of configure doesn't say that dynamic >> linking >> >> via RTS has been >> >> turned off, and I don't know how to check that this is so. >> >> Nevertheless, I checked >> >> the linking issue and it is NOT fixed with this build, so >> >> DYNAMIC_GHC_PROGRAMS=YES is required to prevent the problems >> >> reported by me and others. >> >> >> >> >> >> On Fri, May 2, 2014 at 9:09 AM, Simon Marlow > > wrote: >> >>> >> >>> On 02/05/2014 01:09, Dominick Samperi wrote: >> >>> >> >>>> If I understand your last comment correctly linking to libR >> should >> >>>> continue to work, even if you revert to static linking of >> Haskell >> >>>> compiled >> >>>> code via RTS linker. Since you say this is the way things have >> always >> >>>> been, perhaps the real explanation for why 7.8 fixed the issue >> is that >> >>>> some bug was fixed along the way... >> >>> >> >>> >> >>> >> >>> Indeed. To know for sure we would have to test 7.8 with >> >>> DYNAMIC_GHC_PROGRAMS=NO with your setup - is there a way to do >> that? >> >>> >> >>> Cheers, >> >>> Simon >> >>> >> >>> >> >>> >> >>>> Note that R is a C library, so the C++ issues that Carter >> mentions are >> >>>> not a factor here. >> >>>> >> >>>> Thanks, >> >>>> Dominick >> >>>> >> >>>> On Thu, May 1, 2014 at 5:27 PM, Simon Marlow >> > wrote: >> >>>>> >> >>>>> >> >>>>> On 01/05/14 14:48, Dominick Samperi wrote: >> >>>>>> >> >>>>>> >> >>>>>> >> >>>>>> The problem with some graphics libraries used via FFI (and >> other >> >>>>>> libraries >> >>>>>> that are not thread-safe), if I understand the situation >> correctly, is >> >>>>>> that ghci >> >>>>>> forks a thread when it shouldn't, causing some programs to >> >>>>>> miscalculate >> >>>>>> the available stack space (because they think there is only >> one >> >>>>>> thread). >> >>>>> >> >>>>> >> >>>>> >> >>>>>> >> >>>>>> >> >>>>>> The new dynamic linking support and the flag >> -fno-ghci-sandbox fixes >> >>>>>> this problem, and I would not vote for the removal of these >> features. >> >>>>> >> >>>>> >> >>>>> >> >>>>> >> >>>>> So I understand how -fno-ghci-sandbox avoids problems with GUI >> >>>>> libraries >> >>>>> that use thread-local state. But how is dynamic linking >> involved here? >> >>>>> What improved in GHC 7.8 relative to 7.6 for you? And could >> you clarify >> >>>>> "miscalculate the available stack space"? What needs to >> calculate stack >> >>>>> space? Why? C stack space? >> >>>>> >> >>>>> We can certainly make a smoother experience around >> -fno-ghci-sandbox >> >>>>> for >> >>>>> using GUI libraries. >> >>>>> >> >>>>> >> >>>>>> It is not clear to me from Simon's original post how linking >> to all of >> >>>>>> those C++ libs can continue to work if dynamic linking is >> removed >> >>>>>> in 7.10? Perhaps I misunderstand what you mean by "revert to >> >>>>>> static linking"? >> >>>>> >> >>>>> >> >>>>> >> >>>>> >> >>>>> When I say "revert to static linking" I mean make GHCi static >> linked, >> >>>>> and >> >>>>> have it load Haskell code compiled for static linking using >> the RTS >> >>>>> linker >> >>>>> (like it did in 7.6). Foreign libraries would still be >> loaded using >> >>>>> the >> >>>>> system linker, as they always have been. >> >>>>> >> >>>>> To be clear, I'm not officially proposing that we drop >> dynamic linking, >> >>>>> but >> >>>>> I think it's worthwhile exploring the design space again, >> given that we >> >>>>> know >> >>>>> dynamic linking has been tougher than we expected. >> >>>>> >> >>>>> Cheers, >> >>>>> Simon >> >>>>> >> >>>>> >> >>>>> >> >>>>>> Thanks, >> >>>>>> Dominick >> >>>>>> >> >>>>>> >> >>>>>> On Wed, Apr 30, 2014 at 9:26 PM, George Colpitts >> >>>>>> > > wrote: >> >>>>>>> >> >>>>>>> >> >>>>>>> >> >>>>>>> To elaborate, in the past, I had a lot of problems using >> libraries >> >>>>>>> from >> >>>>>>> the >> >>>>>>> ghci prompt on the Mac but I haven't tried recently. >> >>>>>>> >> >>>>>>> As an example, on the web page for the book the Haskell >> School of >> >>>>>>> Expression >> >>>>>>> it says: >> >>>>>>> >> >>>>>>> Note for OS X users: running graphics applications from >> GHCi is no >> >>>>>>> longer >> >>>>>>> supported. Instead, one has to compile a graphics program >> using GHC >> >>>>>>> in >> >>>>>>> order >> >>>>>>> to run it (see example/GMIExamples.lhs for an example). >> >>>>>>> >> >>>>>>> I had similar problems using the Yale Euterpea music >> program from >> >>>>>>> ghci. >> >>>>>>> When >> >>>>>>> I inquired I was referred to >> >>>>>>> https://ghc.haskell.org/trac/ghc/ticket/4244 >> >>>>>>> and https://ghc.haskell.org/trac/ghc/ticket/781. I see that >> the >> >>>>>>> latter >> >>>>>>> is >> >>>>>>> now scheduled for 7.10.1 >> >>>>>>> >> >>>>>>> >> >>>>>>> On Wed, Apr 30, 2014 at 1:45 PM, Simon Marlow >> > >> >> >>>>>>> wrote: >> >>>>>>>> >> >>>>>>>> >> >>>>>>>> >> >>>>>>>> >> >>>>>>>> On 30/04/2014 01:35, George Colpitts wrote: >> >>>>>>>>> >> >>>>>>>>> >> >>>>>>>>> >> >>>>>>>>> >> >>>>>>>>> It doesn't have anything about the dynamic linking >> changes made for >> >>>>>>>>> 7.8. >> >>>>>>>>> I think it's worth mentioning the improvements we expect >> to get >> >>>>>>>>> from >> >>>>>>>>> that. The highlights of the release notes do mention it, >> so maybe >> >>>>>>>>> that >> >>>>>>>>> suffices. >> >>>>>>>>> >> >>>>>>>>> In particular, I'm hoping that it is going to fix a lot >> of problems >> >>>>>>>>> with >> >>>>>>>>> using foreign libraries such as OpenGL from ghci. I could >> be wrong >> >>>>>>>>> about >> >>>>>>>>> that though. >> >>>>>>>> >> >>>>>>>> >> >>>>>>>> >> >>>>>>>> >> >>>>>>>> >> >>>>>>>> I'd like to understand more about what those problems are. >> As a >> >>>>>>>> data >> >>>>>>>> point, at Facebook we're using static linking (I compiled >> GHC with >> >>>>>>>> DYNAMIC_GHC_PROGRAMS=NO), we're loading upwards of 50 >> 3rd-party C++ >> >>>>>>>> libraries and one gigantic shared library consisting of a >> ton of >> >>>>>>>> in-house >> >>>>>>>> C++ code, together with all our Haskell code into GHCi, >> and it works >> >>>>>>>> perfectly. The key to using the static linker is to not >> use it for >> >>>>>>>> C++ >> >>>>>>>> code >> >>>>>>>> - you want all your external C++ code in shared libraries >> and load >> >>>>>>>> those >> >>>>>>>> using the system linker. >> >>>>>>>> >> >>>>>>>> Dynamic linking has been a huge headache in GHC, and it's >> not clear >> >>>>>>>> that >> >>>>>>>> it's an overall improvement compared with the static >> linker. Now >> >>>>>>>> that >> >>>>>>>> 7.8 >> >>>>>>>> is out of the way, it's time to have a conversation about >> whether we >> >>>>>>>> want to >> >>>>>>>> do dynamic linking again for 7.10, or revert to static >> linking. I >> >>>>>>>> think >> >>>>>>>> Austin is going to update >> >>>>>>>> https://ghc.haskell.org/trac/ghc/wiki/DynamicGhcPrograms, >> and then >> >>>>>>>> we'll >> >>>>>>>> see >> >>>>>>>> where we stand. >> >>>>>>>> >> >>>>>>>> Cheers, >> >>>>>>>> Simon >> >>>>>>>> >> >>>>>>>> >> >>>>>>>> >> >>>>>>>>> >> >>>>>>>>> On Tue, Apr 29, 2014 at 6:13 PM, Simon Peyton Jones >> >>>>>>>>> >> >> >> wrote: >> >>>>>>>>> >> >>>>>>>>> As Austin has told us, there's a draft of the *GHC >> Status >> >>>>>>>>> Report >> >>>>>>>>> for >> >>>>>>>>> the HCAR*, here:____ >> >>>>>>>>> >> >>>>>>>>> https://ghc.haskell.org/trac/ghc/wiki/Status/May14____ >> >>>>>>>>> >> >>>>>>>>> >> >>>>>>>>> Have we missed out something you have been >> working hard on? >> >>>>>>>>> Do >> >>>>>>>>> take a moment to add a bullet in an appropriate >> place (it's >> >>>>>>>>> a >> >>>>>>>>> wiki). I'd like to be sure that we are giving >> credit to all >> >>>>>>>>> the >> >>>>>>>>> appropriate people, so please help us fix that >> too. GHC is >> >>>>>>>>> a >> >>>>>>>>> team >> >>>>>>>>> effort.____ >> >>>>>>>>> >> >>>>>>>>> Deadline is 1 May I think.____ >> >>>>>>>>> >> >>>>>>>>> Thanks____ >> >>>>>>>>> >> >>>>>>>>> Simon____ >> >>>>>>>>> >> >>>>>>>>> __ __ >> >>>>>>>>> >> >>>>>>>>> >> >>>>>>>>> _______________________________________________ >> >>>>>>>>> ghc-devs mailing list >> >>>>>>>>> ghc-devs at haskell.org >> > >> >> >>>>>>>>> http://www.haskell.org/mailman/listinfo/ghc-devs >> >>>>>>>>> >> >>>>>>>>> >> >>>>>>>>> >> >>>>>>>>> >> >>>>>>>>> >> >>>>>>>>> _______________________________________________ >> >>>>>>>>> ghc-devs mailing list >> >>>>>>>>> ghc-devs at haskell.org >> >>>>>>>>> http://www.haskell.org/mailman/listinfo/ghc-devs >> >>>>>>>>> >> >>>>>>> >> >>>>>>> >> >>>>>>> _______________________________________________ >> >>>>>>> ghc-devs mailing list >> >>>>>>> ghc-devs at haskell.org >> >>>>>>> http://www.haskell.org/mailman/listinfo/ghc-devs >> >>>>>>> >> >>>>> >> >>> >> > >> _______________________________________________ >> ghc-devs mailing list >> ghc-devs at haskell.org >> http://www.haskell.org/mailman/listinfo/ghc-devs >> >> >> > -------------- next part -------------- An HTML attachment was scrubbed... URL: From marlowsd at gmail.com Mon May 5 20:58:42 2014 From: marlowsd at gmail.com (Simon Marlow) Date: Mon, 05 May 2014 21:58:42 +0100 Subject: GHC status report In-Reply-To: References: <618BE556AADD624C9C918AA5D5911BEF0A58F2FC@DB3PRD3001MB020.064d.mgd.msft.net> <536128AF.7080209@gmail.com> <5362BC24.9030101@gmail.com> <5363990D.5080200@gmail.com> <5363F5E5.6040004@gmail.com> Message-ID: <5367FB82.6050001@gmail.com> On 03/05/14 04:15, Dominick Samperi wrote: > I'm trying to understand the dynamic linking situation with the help of > https://ghc.haskell.org/trac/ghc/wiki/Status/GHC-7.8, and according > to this information I need to specify DYNAMIC_GHC_PROGRAMS=YES > for ghci to use the system linker. I don't understand why you suggested > I test with DYNAMIC_GHC_PROGRAMS=NO? The question I'm trying to answer is "what stops working if we use DYNAMIC_GHC_PROGRAMS=NO?". So that's why I'm interested in what happens if you set this option. Thanks for your help! Cheers, Simon > Another interesting twist is that my experience under Windows > is the opposite of the negative experience described on this > page. What I mean by this is more versions of ghci seem to > work under Windows (correctly linking to R.dll) than work > under Linux! > > > On Fri, May 2, 2014 at 3:45 PM, Simon Marlow wrote: >> Can you give me a quick summary of how to reproduce the problem? (not >> including the GHC build steps) >> >> Cheers, >> Simon >> >> >> On 02/05/14 18:18, Dominick Samperi wrote: >>> >>> I downloaded HEAD and placed DYNAMIC_GHC_PROGRAMS=NO in the "quick" >>> section of mk/build.mk (with BuildFlavour = quick), and set >>> DYNAMIC_GHC_PROGRAMS=NO >>> in my environment before running configure (just to be sure!). Near >>> the end of the build >>> I saw some messages like "Warning: vectorization failure," but the >>> build completed. >>> >>> The status at the end of configure doesn't say that dynamic linking >>> via RTS has been >>> turned off, and I don't know how to check that this is so. >>> Nevertheless, I checked >>> the linking issue and it is NOT fixed with this build, so >>> DYNAMIC_GHC_PROGRAMS=YES is required to prevent the problems >>> reported by me and others. >>> >>> >>> On Fri, May 2, 2014 at 9:09 AM, Simon Marlow wrote: >>>> >>>> On 02/05/2014 01:09, Dominick Samperi wrote: >>>> >>>>> If I understand your last comment correctly linking to libR should >>>>> continue to work, even if you revert to static linking of Haskell >>>>> compiled >>>>> code via RTS linker. Since you say this is the way things have always >>>>> been, perhaps the real explanation for why 7.8 fixed the issue is that >>>>> some bug was fixed along the way... >>>> >>>> >>>> >>>> Indeed. To know for sure we would have to test 7.8 with >>>> DYNAMIC_GHC_PROGRAMS=NO with your setup - is there a way to do that? >>>> >>>> Cheers, >>>> Simon >>>> >>>> >>>> >>>>> Note that R is a C library, so the C++ issues that Carter mentions are >>>>> not a factor here. >>>>> >>>>> Thanks, >>>>> Dominick >>>>> >>>>> On Thu, May 1, 2014 at 5:27 PM, Simon Marlow wrote: >>>>>> >>>>>> >>>>>> On 01/05/14 14:48, Dominick Samperi wrote: >>>>>>> >>>>>>> >>>>>>> >>>>>>> The problem with some graphics libraries used via FFI (and other >>>>>>> libraries >>>>>>> that are not thread-safe), if I understand the situation correctly, is >>>>>>> that ghci >>>>>>> forks a thread when it shouldn't, causing some programs to >>>>>>> miscalculate >>>>>>> the available stack space (because they think there is only one >>>>>>> thread). >>>>>> >>>>>> >>>>>> >>>>>>> >>>>>>> >>>>>>> The new dynamic linking support and the flag -fno-ghci-sandbox fixes >>>>>>> this problem, and I would not vote for the removal of these features. >>>>>> >>>>>> >>>>>> >>>>>> >>>>>> So I understand how -fno-ghci-sandbox avoids problems with GUI >>>>>> libraries >>>>>> that use thread-local state. But how is dynamic linking involved here? >>>>>> What improved in GHC 7.8 relative to 7.6 for you? And could you clarify >>>>>> "miscalculate the available stack space"? What needs to calculate stack >>>>>> space? Why? C stack space? >>>>>> >>>>>> We can certainly make a smoother experience around -fno-ghci-sandbox >>>>>> for >>>>>> using GUI libraries. >>>>>> >>>>>> >>>>>>> It is not clear to me from Simon's original post how linking to all of >>>>>>> those C++ libs can continue to work if dynamic linking is removed >>>>>>> in 7.10? Perhaps I misunderstand what you mean by "revert to >>>>>>> static linking"? >>>>>> >>>>>> >>>>>> >>>>>> >>>>>> When I say "revert to static linking" I mean make GHCi static linked, >>>>>> and >>>>>> have it load Haskell code compiled for static linking using the RTS >>>>>> linker >>>>>> (like it did in 7.6). Foreign libraries would still be loaded using >>>>>> the >>>>>> system linker, as they always have been. >>>>>> >>>>>> To be clear, I'm not officially proposing that we drop dynamic linking, >>>>>> but >>>>>> I think it's worthwhile exploring the design space again, given that we >>>>>> know >>>>>> dynamic linking has been tougher than we expected. >>>>>> >>>>>> Cheers, >>>>>> Simon >>>>>> >>>>>> >>>>>> >>>>>>> Thanks, >>>>>>> Dominick >>>>>>> >>>>>>> >>>>>>> On Wed, Apr 30, 2014 at 9:26 PM, George Colpitts >>>>>>> wrote: >>>>>>>> >>>>>>>> >>>>>>>> >>>>>>>> To elaborate, in the past, I had a lot of problems using libraries >>>>>>>> from >>>>>>>> the >>>>>>>> ghci prompt on the Mac but I haven't tried recently. >>>>>>>> >>>>>>>> As an example, on the web page for the book the Haskell School of >>>>>>>> Expression >>>>>>>> it says: >>>>>>>> >>>>>>>> Note for OS X users: running graphics applications from GHCi is no >>>>>>>> longer >>>>>>>> supported. Instead, one has to compile a graphics program using GHC >>>>>>>> in >>>>>>>> order >>>>>>>> to run it (see example/GMIExamples.lhs for an example). >>>>>>>> >>>>>>>> I had similar problems using the Yale Euterpea music program from >>>>>>>> ghci. >>>>>>>> When >>>>>>>> I inquired I was referred to >>>>>>>> https://ghc.haskell.org/trac/ghc/ticket/4244 >>>>>>>> and https://ghc.haskell.org/trac/ghc/ticket/781. I see that the >>>>>>>> latter >>>>>>>> is >>>>>>>> now scheduled for 7.10.1 >>>>>>>> >>>>>>>> >>>>>>>> On Wed, Apr 30, 2014 at 1:45 PM, Simon Marlow >>>>>>>> wrote: >>>>>>>>> >>>>>>>>> >>>>>>>>> >>>>>>>>> >>>>>>>>> On 30/04/2014 01:35, George Colpitts wrote: >>>>>>>>>> >>>>>>>>>> >>>>>>>>>> >>>>>>>>>> >>>>>>>>>> It doesn't have anything about the dynamic linking changes made for >>>>>>>>>> 7.8. >>>>>>>>>> I think it's worth mentioning the improvements we expect to get >>>>>>>>>> from >>>>>>>>>> that. The highlights of the release notes do mention it, so maybe >>>>>>>>>> that >>>>>>>>>> suffices. >>>>>>>>>> >>>>>>>>>> In particular, I'm hoping that it is going to fix a lot of problems >>>>>>>>>> with >>>>>>>>>> using foreign libraries such as OpenGL from ghci. I could be wrong >>>>>>>>>> about >>>>>>>>>> that though. >>>>>>>>> >>>>>>>>> >>>>>>>>> >>>>>>>>> >>>>>>>>> >>>>>>>>> I'd like to understand more about what those problems are. As a >>>>>>>>> data >>>>>>>>> point, at Facebook we're using static linking (I compiled GHC with >>>>>>>>> DYNAMIC_GHC_PROGRAMS=NO), we're loading upwards of 50 3rd-party C++ >>>>>>>>> libraries and one gigantic shared library consisting of a ton of >>>>>>>>> in-house >>>>>>>>> C++ code, together with all our Haskell code into GHCi, and it works >>>>>>>>> perfectly. The key to using the static linker is to not use it for >>>>>>>>> C++ >>>>>>>>> code >>>>>>>>> - you want all your external C++ code in shared libraries and load >>>>>>>>> those >>>>>>>>> using the system linker. >>>>>>>>> >>>>>>>>> Dynamic linking has been a huge headache in GHC, and it's not clear >>>>>>>>> that >>>>>>>>> it's an overall improvement compared with the static linker. Now >>>>>>>>> that >>>>>>>>> 7.8 >>>>>>>>> is out of the way, it's time to have a conversation about whether we >>>>>>>>> want to >>>>>>>>> do dynamic linking again for 7.10, or revert to static linking. I >>>>>>>>> think >>>>>>>>> Austin is going to update >>>>>>>>> https://ghc.haskell.org/trac/ghc/wiki/DynamicGhcPrograms, and then >>>>>>>>> we'll >>>>>>>>> see >>>>>>>>> where we stand. >>>>>>>>> >>>>>>>>> Cheers, >>>>>>>>> Simon >>>>>>>>> >>>>>>>>> >>>>>>>>> >>>>>>>>>> >>>>>>>>>> On Tue, Apr 29, 2014 at 6:13 PM, Simon Peyton Jones >>>>>>>>>> > wrote: >>>>>>>>>> >>>>>>>>>> As Austin has told us, there's a draft of the *GHC Status >>>>>>>>>> Report >>>>>>>>>> for >>>>>>>>>> the HCAR*, here:____ >>>>>>>>>> >>>>>>>>>> https://ghc.haskell.org/trac/ghc/wiki/Status/May14____ >>>>>>>>>> >>>>>>>>>> >>>>>>>>>> Have we missed out something you have been working hard on? >>>>>>>>>> Do >>>>>>>>>> take a moment to add a bullet in an appropriate place (it's >>>>>>>>>> a >>>>>>>>>> wiki). I'd like to be sure that we are giving credit to all >>>>>>>>>> the >>>>>>>>>> appropriate people, so please help us fix that too. GHC is >>>>>>>>>> a >>>>>>>>>> team >>>>>>>>>> effort.____ >>>>>>>>>> >>>>>>>>>> Deadline is 1 May I think.____ >>>>>>>>>> >>>>>>>>>> Thanks____ >>>>>>>>>> >>>>>>>>>> Simon____ >>>>>>>>>> >>>>>>>>>> __ __ >>>>>>>>>> >>>>>>>>>> >>>>>>>>>> _______________________________________________ >>>>>>>>>> ghc-devs mailing list >>>>>>>>>> ghc-devs at haskell.org >>>>>>>>>> http://www.haskell.org/mailman/listinfo/ghc-devs >>>>>>>>>> >>>>>>>>>> >>>>>>>>>> >>>>>>>>>> >>>>>>>>>> >>>>>>>>>> _______________________________________________ >>>>>>>>>> ghc-devs mailing list >>>>>>>>>> ghc-devs at haskell.org >>>>>>>>>> http://www.haskell.org/mailman/listinfo/ghc-devs >>>>>>>>>> >>>>>>>> >>>>>>>> >>>>>>>> _______________________________________________ >>>>>>>> ghc-devs mailing list >>>>>>>> ghc-devs at haskell.org >>>>>>>> http://www.haskell.org/mailman/listinfo/ghc-devs >>>>>>>> >>>>>> >>>> >> From marlowsd at gmail.com Mon May 5 21:01:38 2014 From: marlowsd at gmail.com (Simon Marlow) Date: Mon, 05 May 2014 22:01:38 +0100 Subject: GHC status report In-Reply-To: References: <618BE556AADD624C9C918AA5D5911BEF0A58F2FC@DB3PRD3001MB020.064d.mgd.msft.net> <536128AF.7080209@gmail.com> <5362BC24.9030101@gmail.com> <5363990D.5080200@gmail.com> <5363F5E5.6040004@gmail.com> <5367FA94.9040206@gmail.com> Message-ID: <5367FC32.7050500@gmail.com> On 05/05/14 21:58, Carter Schonwald wrote: > no, i was saying LLVM-General when static linked to llvm doesnt work. I > wasnt talking about ghc being dynamic or static I believe you that it doesn't work. But I think that if you use a dynamically-linked llvm (i.e. the shared-llvm flag), it *should* work, even with 7.6.3. What goes wrong in that case? Cheers, Simon > merely that theres no way to get llvm-general to work on ghci in 7.6 afaik > > > On Mon, May 5, 2014 at 4:54 PM, Simon Marlow > wrote: > > I don't see any reason why llvm-general with the shared-llvm flag > shouldn't work with a statically linked GHCi (7.6.3 or 7.8 with > DYNAMIC_GHC_PROGRAMS=NO). Doesn't it work? > > > On 03/05/14 02:12, Carter Schonwald wrote: > > if theres a way i can patch llvm-general so that i can use it > with llvm > static linked into rather than dylinked, i'm all ears! > > llvm-general has to use some C++ wrappers (that in turn use > extern "C" > sections) to make parts of the llvm api accessible from hasskell. > > I had trouble following some of the thread earlier today, but is the > suggestion to try building those wrappers with -fPIC would make them > play nice? > > > On Fri, May 2, 2014 at 8:52 PM, Dominick Samperi > > >> wrote: > > I posted a ticket related to this (#8371), but the example > provided > there > has no problems today for all versions of ghci that I > tested (including > 7.6.3), provided -fno-ghci-sandbox is specified. So this > problem was > clearly related to the threads issue. > > Today there are problems when DYNAMIC_GHC_PROGRAMS=NO, but they > happen later, and I have not yet narrowed this down to a > small example. > Basically, I have an Haskell app that embeds R (as in the > sample code > attached to the above ticket), but when it tries to do some > calculations > it seg faults (works fine with 7.8.2). > > On Fri, May 2, 2014 at 3:45 PM, Simon Marlow > > >> wrote: > > Can you give me a quick summary of how to reproduce the > problem? (not > > including the GHC build steps) > > > > Cheers, > > Simon > > > > > > On 02/05/14 18:18, Dominick Samperi wrote: > >> > >> I downloaded HEAD and placed DYNAMIC_GHC_PROGRAMS=NO in > the "quick" > >> section of mk/build.mk > (with BuildFlavour = > > quick), and set > >> DYNAMIC_GHC_PROGRAMS=NO > >> in my environment before running configure (just to be > sure!). Near > >> the end of the build > >> I saw some messages like "Warning: vectorization > failure," but the > >> build completed. > >> > >> The status at the end of configure doesn't say that > dynamic linking > >> via RTS has been > >> turned off, and I don't know how to check that this is so. > >> Nevertheless, I checked > >> the linking issue and it is NOT fixed with this build, so > >> DYNAMIC_GHC_PROGRAMS=YES is required to prevent the > problems > >> reported by me and others. > >> > >> > >> On Fri, May 2, 2014 at 9:09 AM, Simon Marlow > > >> wrote: > >>> > >>> On 02/05/2014 01:09, Dominick Samperi wrote: > >>> > >>>> If I understand your last comment correctly linking > to libR should > >>>> continue to work, even if you revert to static > linking of Haskell > >>>> compiled > >>>> code via RTS linker. Since you say this is the way > things have > always > >>>> been, perhaps the real explanation for why 7.8 fixed > the issue > is that > >>>> some bug was fixed along the way... > >>> > >>> > >>> > >>> Indeed. To know for sure we would have to test 7.8 with > >>> DYNAMIC_GHC_PROGRAMS=NO with your setup - is there a > way to do > that? > >>> > >>> Cheers, > >>> Simon > >>> > >>> > >>> > >>>> Note that R is a C library, so the C++ issues that Carter > mentions are > >>>> not a factor here. > >>>> > >>>> Thanks, > >>>> Dominick > >>>> > >>>> On Thu, May 1, 2014 at 5:27 PM, Simon Marlow > > >> wrote: > >>>>> > >>>>> > >>>>> On 01/05/14 14:48, Dominick Samperi wrote: > >>>>>> > >>>>>> > >>>>>> > >>>>>> The problem with some graphics libraries used via > FFI (and other > >>>>>> libraries > >>>>>> that are not thread-safe), if I understand the > situation > correctly, is > >>>>>> that ghci > >>>>>> forks a thread when it shouldn't, causing some > programs to > >>>>>> miscalculate > >>>>>> the available stack space (because they think there > is only one > >>>>>> thread). > >>>>> > >>>>> > >>>>> > >>>>>> > >>>>>> > >>>>>> The new dynamic linking support and the flag > -fno-ghci-sandbox fixes > >>>>>> this problem, and I would not vote for the removal > of these > features. > >>>>> > >>>>> > >>>>> > >>>>> > >>>>> So I understand how -fno-ghci-sandbox avoids > problems with GUI > >>>>> libraries > >>>>> that use thread-local state. But how is dynamic linking > involved here? > >>>>> What improved in GHC 7.8 relative to 7.6 for you? > And could > you clarify > >>>>> "miscalculate the available stack space"? What needs to > calculate stack > >>>>> space? Why? C stack space? > >>>>> > >>>>> We can certainly make a smoother experience around > -fno-ghci-sandbox > >>>>> for > >>>>> using GUI libraries. > >>>>> > >>>>> > >>>>>> It is not clear to me from Simon's original post > how linking > to all of > >>>>>> those C++ libs can continue to work if dynamic > linking is > removed > >>>>>> in 7.10? Perhaps I misunderstand what you mean by > "revert to > >>>>>> static linking"? > >>>>> > >>>>> > >>>>> > >>>>> > >>>>> When I say "revert to static linking" I mean make > GHCi static > linked, > >>>>> and > >>>>> have it load Haskell code compiled for static > linking using > the RTS > >>>>> linker > >>>>> (like it did in 7.6). Foreign libraries would still be > loaded using > >>>>> the > >>>>> system linker, as they always have been. > >>>>> > >>>>> To be clear, I'm not officially proposing that we drop > dynamic linking, > >>>>> but > >>>>> I think it's worthwhile exploring the design space > again, > given that we > >>>>> know > >>>>> dynamic linking has been tougher than we expected. > >>>>> > >>>>> Cheers, > >>>>> Simon > >>>>> > >>>>> > >>>>> > >>>>>> Thanks, > >>>>>> Dominick > >>>>>> > >>>>>> > >>>>>> On Wed, Apr 30, 2014 at 9:26 PM, George Colpitts > >>>>>> > >> wrote: > >>>>>>> > >>>>>>> > >>>>>>> > >>>>>>> To elaborate, in the past, I had a lot of problems > using > libraries > >>>>>>> from > >>>>>>> the > >>>>>>> ghci prompt on the Mac but I haven't tried recently. > >>>>>>> > >>>>>>> As an example, on the web page for the book the > Haskell > School of > >>>>>>> Expression > >>>>>>> it says: > >>>>>>> > >>>>>>> Note for OS X users: running graphics applications > from > GHCi is no > >>>>>>> longer > >>>>>>> supported. Instead, one has to compile a graphics > program > using GHC > >>>>>>> in > >>>>>>> order > >>>>>>> to run it (see example/GMIExamples.lhs for an > example). > >>>>>>> > >>>>>>> I had similar problems using the Yale Euterpea music > program from > >>>>>>> ghci. > >>>>>>> When > >>>>>>> I inquired I was referred to > >>>>>>> https://ghc.haskell.org/trac/__ghc/ticket/4244 > > >>>>>>> and https://ghc.haskell.org/trac/__ghc/ticket/781 > . I see that the > >>>>>>> latter > >>>>>>> is > >>>>>>> now scheduled for 7.10.1 > >>>>>>> > >>>>>>> > >>>>>>> On Wed, Apr 30, 2014 at 1:45 PM, Simon Marlow > > >> > > >>>>>>> wrote: > >>>>>>>> > >>>>>>>> > >>>>>>>> > >>>>>>>> > >>>>>>>> On 30/04/2014 01:35, George Colpitts wrote: > >>>>>>>>> > >>>>>>>>> > >>>>>>>>> > >>>>>>>>> > >>>>>>>>> It doesn't have anything about the dynamic linking > changes made for > >>>>>>>>> 7.8. > >>>>>>>>> I think it's worth mentioning the improvements > we expect > to get > >>>>>>>>> from > >>>>>>>>> that. The highlights of the release notes do > mention it, > so maybe > >>>>>>>>> that > >>>>>>>>> suffices. > >>>>>>>>> > >>>>>>>>> In particular, I'm hoping that it is going to > fix a lot > of problems > >>>>>>>>> with > >>>>>>>>> using foreign libraries such as OpenGL from > ghci. I could > be wrong > >>>>>>>>> about > >>>>>>>>> that though. > >>>>>>>> > >>>>>>>> > >>>>>>>> > >>>>>>>> > >>>>>>>> > >>>>>>>> I'd like to understand more about what those > problems are. > As a > >>>>>>>> data > >>>>>>>> point, at Facebook we're using static linking (I > compiled > GHC with > >>>>>>>> DYNAMIC_GHC_PROGRAMS=NO), we're loading upwards of 50 > 3rd-party C++ > >>>>>>>> libraries and one gigantic shared library > consisting of a > ton of > >>>>>>>> in-house > >>>>>>>> C++ code, together with all our Haskell code into > GHCi, > and it works > >>>>>>>> perfectly. The key to using the static linker is > to not > use it for > >>>>>>>> C++ > >>>>>>>> code > >>>>>>>> - you want all your external C++ code in shared > libraries > and load > >>>>>>>> those > >>>>>>>> using the system linker. > >>>>>>>> > >>>>>>>> Dynamic linking has been a huge headache in GHC, > and it's > not clear > >>>>>>>> that > >>>>>>>> it's an overall improvement compared with the static > linker. Now > >>>>>>>> that > >>>>>>>> 7.8 > >>>>>>>> is out of the way, it's time to have a > conversation about > whether we > >>>>>>>> want to > >>>>>>>> do dynamic linking again for 7.10, or revert to > static > linking. I > >>>>>>>> think > >>>>>>>> Austin is going to update > >>>>>>>> > https://ghc.haskell.org/trac/__ghc/wiki/DynamicGhcPrograms > , > and then > >>>>>>>> we'll > >>>>>>>> see > >>>>>>>> where we stand. > >>>>>>>> > >>>>>>>> Cheers, > >>>>>>>> Simon > >>>>>>>> > >>>>>>>> > >>>>>>>> > >>>>>>>>> > >>>>>>>>> On Tue, Apr 29, 2014 at 6:13 PM, Simon Peyton Jones > >>>>>>>>> > > >__>> wrote: > >>>>>>>>> > >>>>>>>>> As Austin has told us, there's a draft of > the *GHC > Status > >>>>>>>>> Report > >>>>>>>>> for > >>>>>>>>> the HCAR*, here:____ > >>>>>>>>> > >>>>>>>>> > https://ghc.haskell.org/trac/__ghc/wiki/Status/May14____ > > >>>>>>>>> > >>>>>>>>> > >>>>>>>>> Have we missed out something you have been > working hard on? > >>>>>>>>> Do > >>>>>>>>> take a moment to add a bullet in an > appropriate > place (it's > >>>>>>>>> a > >>>>>>>>> wiki). I'd like to be sure that we are > giving > credit to all > >>>>>>>>> the > >>>>>>>>> appropriate people, so please help us fix > that > too. GHC is > >>>>>>>>> a > >>>>>>>>> team > >>>>>>>>> effort.____ > >>>>>>>>> > >>>>>>>>> Deadline is 1 May I think.____ > >>>>>>>>> > >>>>>>>>> Thanks____ > >>>>>>>>> > >>>>>>>>> Simon____ > >>>>>>>>> > >>>>>>>>> __ __ > >>>>>>>>> > >>>>>>>>> > >>>>>>>>> > _________________________________________________ > >>>>>>>>> ghc-devs mailing list > >>>>>>>>> ghc-devs at haskell.org > > > > >> > > >>>>>>>>> > http://www.haskell.org/__mailman/listinfo/ghc-devs > > >>>>>>>>> > >>>>>>>>> > >>>>>>>>> > >>>>>>>>> > >>>>>>>>> > >>>>>>>>> _________________________________________________ > >>>>>>>>> ghc-devs mailing list > >>>>>>>>> ghc-devs at haskell.org > > > >>>>>>>>> > http://www.haskell.org/__mailman/listinfo/ghc-devs > > >>>>>>>>> > >>>>>>> > >>>>>>> > >>>>>>> _________________________________________________ > >>>>>>> ghc-devs mailing list > >>>>>>> ghc-devs at haskell.org > > > >>>>>>> http://www.haskell.org/__mailman/listinfo/ghc-devs > > >>>>>>> > >>>>> > >>> > > > _________________________________________________ > ghc-devs mailing list > ghc-devs at haskell.org > > > http://www.haskell.org/__mailman/listinfo/ghc-devs > > > > > From carter.schonwald at gmail.com Mon May 5 21:08:29 2014 From: carter.schonwald at gmail.com (Carter Schonwald) Date: Mon, 5 May 2014 17:08:29 -0400 Subject: GHC status report In-Reply-To: <5367FC32.7050500@gmail.com> References: <618BE556AADD624C9C918AA5D5911BEF0A58F2FC@DB3PRD3001MB020.064d.mgd.msft.net> <536128AF.7080209@gmail.com> <5362BC24.9030101@gmail.com> <5363990D.5080200@gmail.com> <5363F5E5.6040004@gmail.com> <5367FA94.9040206@gmail.com> <5367FC32.7050500@gmail.com> Message-ID: i don't have 7.6 setup anymore, i'll see about reproducing the issue later. it falls under the umbrella of "linking not working in ghci", But it could be that didn't try the -fshared-llvm + ghci in 7.6 On Mon, May 5, 2014 at 5:01 PM, Simon Marlow wrote: > On 05/05/14 21:58, Carter Schonwald wrote: > >> no, i was saying LLVM-General when static linked to llvm doesnt work. I >> wasnt talking about ghc being dynamic or static >> > > I believe you that it doesn't work. But I think that if you use a > dynamically-linked llvm (i.e. the shared-llvm flag), it *should* work, even > with 7.6.3. What goes wrong in that case? > > Cheers, > Simon > > merely that theres no way to get llvm-general to work on ghci in 7.6 afaik >> >> >> On Mon, May 5, 2014 at 4:54 PM, Simon Marlow > > wrote: >> >> I don't see any reason why llvm-general with the shared-llvm flag >> shouldn't work with a statically linked GHCi (7.6.3 or 7.8 with >> DYNAMIC_GHC_PROGRAMS=NO). Doesn't it work? >> >> >> On 03/05/14 02:12, Carter Schonwald wrote: >> >> if theres a way i can patch llvm-general so that i can use it >> with llvm >> static linked into rather than dylinked, i'm all ears! >> >> llvm-general has to use some C++ wrappers (that in turn use >> extern "C" >> sections) to make parts of the llvm api accessible from hasskell. >> >> I had trouble following some of the thread earlier today, but is >> the >> suggestion to try building those wrappers with -fPIC would make >> them >> play nice? >> >> >> On Fri, May 2, 2014 at 8:52 PM, Dominick Samperi >> >> >> wrote: >> >> I posted a ticket related to this (#8371), but the example >> provided >> there >> has no problems today for all versions of ghci that I >> tested (including >> 7.6.3), provided -fno-ghci-sandbox is specified. So this >> problem was >> clearly related to the threads issue. >> >> Today there are problems when DYNAMIC_GHC_PROGRAMS=NO, but >> they >> happen later, and I have not yet narrowed this down to a >> small example. >> Basically, I have an Haskell app that embeds R (as in the >> sample code >> attached to the above ticket), but when it tries to do some >> calculations >> it seg faults (works fine with 7.8.2). >> >> On Fri, May 2, 2014 at 3:45 PM, Simon Marlow >> >> >> >> wrote: >> > Can you give me a quick summary of how to reproduce the >> problem? (not >> > including the GHC build steps) >> > >> > Cheers, >> > Simon >> > >> > >> > On 02/05/14 18:18, Dominick Samperi wrote: >> >> >> >> I downloaded HEAD and placed DYNAMIC_GHC_PROGRAMS=NO in >> the "quick" >> >> section of mk/build.mk >> (with BuildFlavour = >> >> quick), and set >> >> DYNAMIC_GHC_PROGRAMS=NO >> >> in my environment before running configure (just to be >> sure!). Near >> >> the end of the build >> >> I saw some messages like "Warning: vectorization >> failure," but the >> >> build completed. >> >> >> >> The status at the end of configure doesn't say that >> dynamic linking >> >> via RTS has been >> >> turned off, and I don't know how to check that this is >> so. >> >> Nevertheless, I checked >> >> the linking issue and it is NOT fixed with this build, so >> >> DYNAMIC_GHC_PROGRAMS=YES is required to prevent the >> problems >> >> reported by me and others. >> >> >> >> >> >> On Fri, May 2, 2014 at 9:09 AM, Simon Marlow >> >> >> >> wrote: >> >>> >> >>> On 02/05/2014 01:09, Dominick Samperi wrote: >> >>> >> >>>> If I understand your last comment correctly linking >> to libR should >> >>>> continue to work, even if you revert to static >> linking of Haskell >> >>>> compiled >> >>>> code via RTS linker. Since you say this is the way >> things have >> always >> >>>> been, perhaps the real explanation for why 7.8 fixed >> the issue >> is that >> >>>> some bug was fixed along the way... >> >>> >> >>> >> >>> >> >>> Indeed. To know for sure we would have to test 7.8 with >> >>> DYNAMIC_GHC_PROGRAMS=NO with your setup - is there a >> way to do >> that? >> >>> >> >>> Cheers, >> >>> Simon >> >>> >> >>> >> >>> >> >>>> Note that R is a C library, so the C++ issues that >> Carter >> mentions are >> >>>> not a factor here. >> >>>> >> >>>> Thanks, >> >>>> Dominick >> >>>> >> >>>> On Thu, May 1, 2014 at 5:27 PM, Simon Marlow >> >> >> wrote: >> >>>>> >> >>>>> >> >>>>> On 01/05/14 14:48, Dominick Samperi wrote: >> >>>>>> >> >>>>>> >> >>>>>> >> >>>>>> The problem with some graphics libraries used via >> FFI (and other >> >>>>>> libraries >> >>>>>> that are not thread-safe), if I understand the >> situation >> correctly, is >> >>>>>> that ghci >> >>>>>> forks a thread when it shouldn't, causing some >> programs to >> >>>>>> miscalculate >> >>>>>> the available stack space (because they think there >> is only one >> >>>>>> thread). >> >>>>> >> >>>>> >> >>>>> >> >>>>>> >> >>>>>> >> >>>>>> The new dynamic linking support and the flag >> -fno-ghci-sandbox fixes >> >>>>>> this problem, and I would not vote for the removal >> of these >> features. >> >>>>> >> >>>>> >> >>>>> >> >>>>> >> >>>>> So I understand how -fno-ghci-sandbox avoids >> problems with GUI >> >>>>> libraries >> >>>>> that use thread-local state. But how is dynamic >> linking >> involved here? >> >>>>> What improved in GHC 7.8 relative to 7.6 for you? >> And could >> you clarify >> >>>>> "miscalculate the available stack space"? What needs >> to >> calculate stack >> >>>>> space? Why? C stack space? >> >>>>> >> >>>>> We can certainly make a smoother experience around >> -fno-ghci-sandbox >> >>>>> for >> >>>>> using GUI libraries. >> >>>>> >> >>>>> >> >>>>>> It is not clear to me from Simon's original post >> how linking >> to all of >> >>>>>> those C++ libs can continue to work if dynamic >> linking is >> removed >> >>>>>> in 7.10? Perhaps I misunderstand what you mean by >> "revert to >> >>>>>> static linking"? >> >>>>> >> >>>>> >> >>>>> >> >>>>> >> >>>>> When I say "revert to static linking" I mean make >> GHCi static >> linked, >> >>>>> and >> >>>>> have it load Haskell code compiled for static >> linking using >> the RTS >> >>>>> linker >> >>>>> (like it did in 7.6). Foreign libraries would still >> be >> loaded using >> >>>>> the >> >>>>> system linker, as they always have been. >> >>>>> >> >>>>> To be clear, I'm not officially proposing that we drop >> dynamic linking, >> >>>>> but >> >>>>> I think it's worthwhile exploring the design space >> again, >> given that we >> >>>>> know >> >>>>> dynamic linking has been tougher than we expected. >> >>>>> >> >>>>> Cheers, >> >>>>> Simon >> >>>>> >> >>>>> >> >>>>> >> >>>>>> Thanks, >> >>>>>> Dominick >> >>>>>> >> >>>>>> >> >>>>>> On Wed, Apr 30, 2014 at 9:26 PM, George Colpitts >> >>>>>> > >> > >> >> wrote: >> >>>>>>> >> >>>>>>> >> >>>>>>> >> >>>>>>> To elaborate, in the past, I had a lot of problems >> using >> libraries >> >>>>>>> from >> >>>>>>> the >> >>>>>>> ghci prompt on the Mac but I haven't tried recently. >> >>>>>>> >> >>>>>>> As an example, on the web page for the book the >> Haskell >> School of >> >>>>>>> Expression >> >>>>>>> it says: >> >>>>>>> >> >>>>>>> Note for OS X users: running graphics applications >> from >> GHCi is no >> >>>>>>> longer >> >>>>>>> supported. Instead, one has to compile a graphics >> program >> using GHC >> >>>>>>> in >> >>>>>>> order >> >>>>>>> to run it (see example/GMIExamples.lhs for an >> example). >> >>>>>>> >> >>>>>>> I had similar problems using the Yale Euterpea music >> program from >> >>>>>>> ghci. >> >>>>>>> When >> >>>>>>> I inquired I was referred to >> >>>>>>> https://ghc.haskell.org/trac/__ghc/ticket/4244 >> >> >>>>>>> and https://ghc.haskell.org/trac/__ghc/ticket/781 >> . I see that the >> >> >>>>>>> latter >> >>>>>>> is >> >>>>>>> now scheduled for 7.10.1 >> >>>>>>> >> >>>>>>> >> >>>>>>> On Wed, Apr 30, 2014 at 1:45 PM, Simon Marlow >> >> >> >> >> >> >>>>>>> wrote: >> >>>>>>>> >> >>>>>>>> >> >>>>>>>> >> >>>>>>>> >> >>>>>>>> On 30/04/2014 01:35, George Colpitts wrote: >> >>>>>>>>> >> >>>>>>>>> >> >>>>>>>>> >> >>>>>>>>> >> >>>>>>>>> It doesn't have anything about the dynamic linking >> changes made for >> >>>>>>>>> 7.8. >> >>>>>>>>> I think it's worth mentioning the improvements >> we expect >> to get >> >>>>>>>>> from >> >>>>>>>>> that. The highlights of the release notes do >> mention it, >> so maybe >> >>>>>>>>> that >> >>>>>>>>> suffices. >> >>>>>>>>> >> >>>>>>>>> In particular, I'm hoping that it is going to >> fix a lot >> of problems >> >>>>>>>>> with >> >>>>>>>>> using foreign libraries such as OpenGL from >> ghci. I could >> be wrong >> >>>>>>>>> about >> >>>>>>>>> that though. >> >>>>>>>> >> >>>>>>>> >> >>>>>>>> >> >>>>>>>> >> >>>>>>>> >> >>>>>>>> I'd like to understand more about what those >> problems are. >> As a >> >>>>>>>> data >> >>>>>>>> point, at Facebook we're using static linking (I >> compiled >> GHC with >> >>>>>>>> DYNAMIC_GHC_PROGRAMS=NO), we're loading upwards of >> 50 >> 3rd-party C++ >> >>>>>>>> libraries and one gigantic shared library >> consisting of a >> ton of >> >>>>>>>> in-house >> >>>>>>>> C++ code, together with all our Haskell code into >> GHCi, >> and it works >> >>>>>>>> perfectly. The key to using the static linker is >> to not >> use it for >> >>>>>>>> C++ >> >>>>>>>> code >> >>>>>>>> - you want all your external C++ code in shared >> libraries >> and load >> >>>>>>>> those >> >>>>>>>> using the system linker. >> >>>>>>>> >> >>>>>>>> Dynamic linking has been a huge headache in GHC, >> and it's >> not clear >> >>>>>>>> that >> >>>>>>>> it's an overall improvement compared with the >> static >> linker. Now >> >>>>>>>> that >> >>>>>>>> 7.8 >> >>>>>>>> is out of the way, it's time to have a >> conversation about >> whether we >> >>>>>>>> want to >> >>>>>>>> do dynamic linking again for 7.10, or revert to >> static >> linking. I >> >>>>>>>> think >> >>>>>>>> Austin is going to update >> >>>>>>>> >> https://ghc.haskell.org/trac/__ghc/wiki/DynamicGhcPrograms >> , >> >> and then >> >>>>>>>> we'll >> >>>>>>>> see >> >>>>>>>> where we stand. >> >>>>>>>> >> >>>>>>>> Cheers, >> >>>>>>>> Simon >> >>>>>>>> >> >>>>>>>> >> >>>>>>>> >> >>>>>>>>> >> >>>>>>>>> On Tue, Apr 29, 2014 at 6:13 PM, Simon Peyton >> Jones >> >>>>>>>>> > > > >> > > >__>> wrote: >> >>>>>>>>> >> >>>>>>>>> As Austin has told us, there's a draft of >> the *GHC >> Status >> >>>>>>>>> Report >> >>>>>>>>> for >> >>>>>>>>> the HCAR*, here:____ >> >>>>>>>>> >> >>>>>>>>> >> https://ghc.haskell.org/trac/__ghc/wiki/Status/May14____ >> >> >> >>>>>>>>> >> >>>>>>>>> >> >>>>>>>>> Have we missed out something you have been >> working hard on? >> >>>>>>>>> Do >> >>>>>>>>> take a moment to add a bullet in an >> appropriate >> place (it's >> >>>>>>>>> a >> >>>>>>>>> wiki). I'd like to be sure that we are >> giving >> credit to all >> >>>>>>>>> the >> >>>>>>>>> appropriate people, so please help us fix >> that >> too. GHC is >> >>>>>>>>> a >> >>>>>>>>> team >> >>>>>>>>> effort.____ >> >>>>>>>>> >> >>>>>>>>> Deadline is 1 May I think.____ >> >>>>>>>>> >> >>>>>>>>> Thanks____ >> >>>>>>>>> >> >>>>>>>>> Simon____ >> >>>>>>>>> >> >>>>>>>>> __ __ >> >>>>>>>>> >> >>>>>>>>> >> >>>>>>>>> >> _________________________________________________ >> >> >>>>>>>>> ghc-devs mailing list >> >>>>>>>>> ghc-devs at haskell.org >> > > >> >> >> >> >> >> >>>>>>>>> >> http://www.haskell.org/__mailman/listinfo/ghc-devs >> >> >>>>>>>>> >> >>>>>>>>> >> >>>>>>>>> >> >>>>>>>>> >> >>>>>>>>> >> >>>>>>>>> _________________________________________________ >> >>>>>>>>> ghc-devs mailing list >> >>>>>>>>> ghc-devs at haskell.org >> > > >> >>>>>>>>> >> http://www.haskell.org/__mailman/listinfo/ghc-devs >> >> >>>>>>>>> >> >>>>>>> >> >>>>>>> >> >>>>>>> _________________________________________________ >> >> >>>>>>> ghc-devs mailing list >> >>>>>>> ghc-devs at haskell.org >> > >> >>>>>>> http://www.haskell.org/__mailman/listinfo/ghc-devs >> >> >>>>>>> >> >>>>> >> >>> >> > >> _________________________________________________ >> >> ghc-devs mailing list >> ghc-devs at haskell.org >> > >> http://www.haskell.org/__mailman/listinfo/ghc-devs >> >> >> >> >> >> > -------------- next part -------------- An HTML attachment was scrubbed... URL: From marlowsd at gmail.com Mon May 5 21:13:10 2014 From: marlowsd at gmail.com (Simon Marlow) Date: Mon, 05 May 2014 22:13:10 +0100 Subject: GHC status report In-Reply-To: References: <618BE556AADD624C9C918AA5D5911BEF0A58F2FC@DB3PRD3001MB020.064d.mgd.msft.net> <536128AF.7080209@gmail.com> <5362BC24.9030101@gmail.com> <5363990D.5080200@gmail.com> <5363F5E5.6040004@gmail.com> <5367FA94.9040206@gmail.com> <5367FC32.7050500@gmail.com> Message-ID: <5367FEE6.2000903@gmail.com> I think the issue is really "loading static C++ libs into GHCi doesn't work properly", and that's true of all versions of GHC, including 7.8. On 05/05/14 22:08, Carter Schonwald wrote: > i don't have 7.6 setup anymore, i'll see about reproducing the issue > later. it falls under the umbrella of "linking not working in ghci", But > it could be that didn't try the -fshared-llvm + ghci in 7.6 > > > On Mon, May 5, 2014 at 5:01 PM, Simon Marlow > wrote: > > On 05/05/14 21:58, Carter Schonwald wrote: > > no, i was saying LLVM-General when static linked to llvm doesnt > work. I > wasnt talking about ghc being dynamic or static > > > I believe you that it doesn't work. But I think that if you use a > dynamically-linked llvm (i.e. the shared-llvm flag), it *should* > work, even with 7.6.3. What goes wrong in that case? > > Cheers, > Simon > > merely that theres no way to get llvm-general to work on ghci in > 7.6 afaik > > > On Mon, May 5, 2014 at 4:54 PM, Simon Marlow > >> wrote: > > I don't see any reason why llvm-general with the > shared-llvm flag > shouldn't work with a statically linked GHCi (7.6.3 or 7.8 with > DYNAMIC_GHC_PROGRAMS=NO). Doesn't it work? > > > On 03/05/14 02:12, Carter Schonwald wrote: > > if theres a way i can patch llvm-general so that i can > use it > with llvm > static linked into rather than dylinked, i'm all ears! > > llvm-general has to use some C++ wrappers (that in turn use > extern "C" > sections) to make parts of the llvm api accessible from > hasskell. > > I had trouble following some of the thread earlier > today, but is the > suggestion to try building those wrappers with -fPIC > would make them > play nice? > > > On Fri, May 2, 2014 at 8:52 PM, Dominick Samperi > > > > >>> wrote: > > I posted a ticket related to this (#8371), but the > example > provided > there > has no problems today for all versions of ghci that I > tested (including > 7.6.3), provided -fno-ghci-sandbox is specified. > So this > problem was > clearly related to the threads issue. > > Today there are problems when > DYNAMIC_GHC_PROGRAMS=NO, but they > happen later, and I have not yet narrowed this > down to a > small example. > Basically, I have an Haskell app that embeds R (as > in the > sample code > attached to the above ticket), but when it tries > to do some > calculations > it seg faults (works fine with 7.8.2). > > On Fri, May 2, 2014 at 3:45 PM, Simon Marlow > > > > >>> wrote: > > Can you give me a quick summary of how to > reproduce the > problem? (not > > including the GHC build steps) > > > > Cheers, > > Simon > > > > > > On 02/05/14 18:18, Dominick Samperi wrote: > >> > >> I downloaded HEAD and placed > DYNAMIC_GHC_PROGRAMS=NO in > the "quick" > >> section of mk/build.mk > > (with BuildFlavour = > > quick), and set > >> DYNAMIC_GHC_PROGRAMS=NO > >> in my environment before running configure > (just to be > sure!). Near > >> the end of the build > >> I saw some messages like "Warning: vectorization > failure," but the > >> build completed. > >> > >> The status at the end of configure doesn't say > that > dynamic linking > >> via RTS has been > >> turned off, and I don't know how to check that > this is so. > >> Nevertheless, I checked > >> the linking issue and it is NOT fixed with > this build, so > >> DYNAMIC_GHC_PROGRAMS=YES is required to > prevent the > problems > >> reported by me and others. > >> > >> > >> On Fri, May 2, 2014 at 9:09 AM, Simon Marlow > > > > >>> wrote: > >>> > >>> On 02/05/2014 01:09, Dominick Samperi wrote: > >>> > >>>> If I understand your last comment correctly > linking > to libR should > >>>> continue to work, even if you revert to static > linking of Haskell > >>>> compiled > >>>> code via RTS linker. Since you say this is > the way > things have > always > >>>> been, perhaps the real explanation for why > 7.8 fixed > the issue > is that > >>>> some bug was fixed along the way... > >>> > >>> > >>> > >>> Indeed. To know for sure we would have to > test 7.8 with > >>> DYNAMIC_GHC_PROGRAMS=NO with your setup - is > there a > way to do > that? > >>> > >>> Cheers, > >>> Simon > >>> > >>> > >>> > >>>> Note that R is a C library, so the C++ > issues that Carter > mentions are > >>>> not a factor here. > >>>> > >>>> Thanks, > >>>> Dominick > >>>> > >>>> On Thu, May 1, 2014 at 5:27 PM, Simon Marlow > > > > > >>> wrote: > >>>>> > >>>>> > >>>>> On 01/05/14 14:48, Dominick Samperi wrote: > >>>>>> > >>>>>> > >>>>>> > >>>>>> The problem with some graphics libraries > used via > FFI (and other > >>>>>> libraries > >>>>>> that are not thread-safe), if I understand the > situation > correctly, is > >>>>>> that ghci > >>>>>> forks a thread when it shouldn't, causing some > programs to > >>>>>> miscalculate > >>>>>> the available stack space (because they > think there > is only one > >>>>>> thread). > >>>>> > >>>>> > >>>>> > >>>>>> > >>>>>> > >>>>>> The new dynamic linking support and the flag > -fno-ghci-sandbox fixes > >>>>>> this problem, and I would not vote for the > removal > of these > features. > >>>>> > >>>>> > >>>>> > >>>>> > >>>>> So I understand how -fno-ghci-sandbox avoids > problems with GUI > >>>>> libraries > >>>>> that use thread-local state. But how is > dynamic linking > involved here? > >>>>> What improved in GHC 7.8 relative to 7.6 > for you? > And could > you clarify > >>>>> "miscalculate the available stack space"? > What needs to > calculate stack > >>>>> space? Why? C stack space? > >>>>> > >>>>> We can certainly make a smoother experience > around > -fno-ghci-sandbox > >>>>> for > >>>>> using GUI libraries. > >>>>> > >>>>> > >>>>>> It is not clear to me from Simon's > original post > how linking > to all of > >>>>>> those C++ libs can continue to work if dynamic > linking is > removed > >>>>>> in 7.10? Perhaps I misunderstand what you > mean by > "revert to > >>>>>> static linking"? > >>>>> > >>>>> > >>>>> > >>>>> > >>>>> When I say "revert to static linking" I > mean make > GHCi static > linked, > >>>>> and > >>>>> have it load Haskell code compiled for static > linking using > the RTS > >>>>> linker > >>>>> (like it did in 7.6). Foreign libraries > would still be > loaded using > >>>>> the > >>>>> system linker, as they always have been. > >>>>> > >>>>> To be clear, I'm not officially proposing > that we drop > dynamic linking, > >>>>> but > >>>>> I think it's worthwhile exploring the > design space > again, > given that we > >>>>> know > >>>>> dynamic linking has been tougher than we > expected. > >>>>> > >>>>> Cheers, > >>>>> Simon > >>>>> > >>>>> > >>>>> > >>>>>> Thanks, > >>>>>> Dominick > >>>>>> > >>>>>> > >>>>>> On Wed, Apr 30, 2014 at 9:26 PM, George > Colpitts > >>>>>> > > > ____com > > >>> wrote: > >>>>>>> > >>>>>>> > >>>>>>> > >>>>>>> To elaborate, in the past, I had a lot of > problems > using > libraries > >>>>>>> from > >>>>>>> the > >>>>>>> ghci prompt on the Mac but I haven't > tried recently. > >>>>>>> > >>>>>>> As an example, on the web page for the > book the > Haskell > School of > >>>>>>> Expression > >>>>>>> it says: > >>>>>>> > >>>>>>> Note for OS X users: running graphics > applications > from > GHCi is no > >>>>>>> longer > >>>>>>> supported. Instead, one has to compile a > graphics > program > using GHC > >>>>>>> in > >>>>>>> order > >>>>>>> to run it (see example/GMIExamples.lhs for an > example). > >>>>>>> > >>>>>>> I had similar problems using the Yale > Euterpea music > program from > >>>>>>> ghci. > >>>>>>> When > >>>>>>> I inquired I was referred to > >>>>>>> > https://ghc.haskell.org/trac/____ghc/ticket/4244 > > > > >>>>>>> and > https://ghc.haskell.org/trac/____ghc/ticket/781 > > >. I see that the > > >>>>>>> latter > >>>>>>> is > >>>>>>> now scheduled for 7.10.1 > >>>>>>> > >>>>>>> > >>>>>>> On Wed, Apr 30, 2014 at 1:45 PM, Simon Marlow > > > > > >>> > > > >>>>>>> wrote: > >>>>>>>> > >>>>>>>> > >>>>>>>> > >>>>>>>> > >>>>>>>> On 30/04/2014 01:35, George Colpitts wrote: > >>>>>>>>> > >>>>>>>>> > >>>>>>>>> > >>>>>>>>> > >>>>>>>>> It doesn't have anything about the > dynamic linking > changes made for > >>>>>>>>> 7.8. > >>>>>>>>> I think it's worth mentioning the > improvements > we expect > to get > >>>>>>>>> from > >>>>>>>>> that. The highlights of the release > notes do > mention it, > so maybe > >>>>>>>>> that > >>>>>>>>> suffices. > >>>>>>>>> > >>>>>>>>> In particular, I'm hoping that it is > going to > fix a lot > of problems > >>>>>>>>> with > >>>>>>>>> using foreign libraries such as OpenGL from > ghci. I could > be wrong > >>>>>>>>> about > >>>>>>>>> that though. > >>>>>>>> > >>>>>>>> > >>>>>>>> > >>>>>>>> > >>>>>>>> > >>>>>>>> I'd like to understand more about what those > problems are. > As a > >>>>>>>> data > >>>>>>>> point, at Facebook we're using static > linking (I > compiled > GHC with > >>>>>>>> DYNAMIC_GHC_PROGRAMS=NO), we're loading > upwards of 50 > 3rd-party C++ > >>>>>>>> libraries and one gigantic shared library > consisting of a > ton of > >>>>>>>> in-house > >>>>>>>> C++ code, together with all our Haskell > code into > GHCi, > and it works > >>>>>>>> perfectly. The key to using the static > linker is > to not > use it for > >>>>>>>> C++ > >>>>>>>> code > >>>>>>>> - you want all your external C++ code in > shared > libraries > and load > >>>>>>>> those > >>>>>>>> using the system linker. > >>>>>>>> > >>>>>>>> Dynamic linking has been a huge headache > in GHC, > and it's > not clear > >>>>>>>> that > >>>>>>>> it's an overall improvement compared > with the static > linker. Now > >>>>>>>> that > >>>>>>>> 7.8 > >>>>>>>> is out of the way, it's time to have a > conversation about > whether we > >>>>>>>> want to > >>>>>>>> do dynamic linking again for 7.10, or > revert to > static > linking. I > >>>>>>>> think > >>>>>>>> Austin is going to update > >>>>>>>> > https://ghc.haskell.org/trac/____ghc/wiki/DynamicGhcPrograms > > > >, > > and then > >>>>>>>> we'll > >>>>>>>> see > >>>>>>>> where we stand. > >>>>>>>> > >>>>>>>> Cheers, > >>>>>>>> Simon > >>>>>>>> > >>>>>>>> > >>>>>>>> > >>>>>>>>> > >>>>>>>>> On Tue, Apr 29, 2014 at 6:13 PM, Simon > Peyton Jones > >>>>>>>>> > > > >__> > > > > >__>__>> wrote: > >>>>>>>>> > >>>>>>>>> As Austin has told us, there's a > draft of > the *GHC > Status > >>>>>>>>> Report > >>>>>>>>> for > >>>>>>>>> the HCAR*, here:____ > >>>>>>>>> > >>>>>>>>> > https://ghc.haskell.org/trac/____ghc/wiki/Status/May14____ > > > > > > >>>>>>>>> > >>>>>>>>> > >>>>>>>>> Have we missed out something > you have been > working hard on? > >>>>>>>>> Do > >>>>>>>>> take a moment to add a bullet in an > appropriate > place (it's > >>>>>>>>> a > >>>>>>>>> wiki). I'd like to be sure that > we are > giving > credit to all > >>>>>>>>> the > >>>>>>>>> appropriate people, so please > help us fix > that > too. GHC is > >>>>>>>>> a > >>>>>>>>> team > >>>>>>>>> effort.____ > >>>>>>>>> > >>>>>>>>> Deadline is 1 May I think.____ > >>>>>>>>> > >>>>>>>>> Thanks____ > >>>>>>>>> > >>>>>>>>> Simon____ > >>>>>>>>> > >>>>>>>>> __ __ > >>>>>>>>> > >>>>>>>>> > >>>>>>>>> > ___________________________________________________ > > >>>>>>>>> ghc-devs mailing list > >>>>>>>>> ghc-devs at haskell.org > > > > >> > > > >>__> > > > >>>>>>>>> > http://www.haskell.org/____mailman/listinfo/ghc-devs > > > > >>>>>>>>> > >>>>>>>>> > >>>>>>>>> > >>>>>>>>> > >>>>>>>>> > >>>>>>>>> > ___________________________________________________ > >>>>>>>>> ghc-devs mailing list > >>>>>>>>> ghc-devs at haskell.org > > > > >> > >>>>>>>>> > http://www.haskell.org/____mailman/listinfo/ghc-devs > > > > >>>>>>>>> > >>>>>>> > >>>>>>> > >>>>>>> > ___________________________________________________ > > >>>>>>> ghc-devs mailing list > >>>>>>> ghc-devs at haskell.org > > > >> > >>>>>>> > http://www.haskell.org/____mailman/listinfo/ghc-devs > > > > >>>>>>> > >>>>> > >>> > > > ___________________________________________________ > > ghc-devs mailing list > ghc-devs at haskell.org > > > >> > http://www.haskell.org/____mailman/listinfo/ghc-devs > > > > > > > > > From ezyang at mit.edu Sun May 4 10:33:14 2014 From: ezyang at mit.edu (Edward Z. Yang) Date: Sun, 04 May 2014 03:33:14 -0700 Subject: Adding atomic primops In-Reply-To: References: Message-ID: <1399199455-sup-5590@sabre> Hey Johan, Superficial comments for now. Are you planning on supporting word variants? Callish mach-ops, as generated from primops, are not sunk across, but this behavior today is accidental (see Note [Foreign calls clobber heap]), so be sure to adjust the notes. Edward Excerpts from Johan Tibell's message of 2014-05-04 03:10:12 -0700: > Hi, > > I found myself needing atomic operations on basic, mutable numeric values. > I wrote a short design doc that I'd like feedback on: > > https://ghc.haskell.org/trac/ghc/wiki/AtomicPrimops > > I will try to implement these for 7.10. > > -- Johan From simonpj at microsoft.com Tue May 6 12:06:54 2014 From: simonpj at microsoft.com (Simon Peyton Jones) Date: Tue, 6 May 2014 12:06:54 +0000 Subject: GHC rewrite rules and constructor wrappers? In-Reply-To: References: Message-ID: <618BE556AADD624C9C918AA5D5911BEF0C0C8788@DB3PRD3001MB020.064d.mgd.msft.net> Can you give an example? Generally the wrapper does stuff like evaluating arguments for a strict constructor, and unboxing UNPACKed fields. So if you have data T = MkT ! {-# UNPACK #-} Int the wrapper looks something like this $WMkT x = case x of I# y -> MkT y That is, it evaluates and unboxes the argument. The source-language reference to MkT gets replaced with a call to the wrapper. In a RULE suppose you write f (MkT x) = ?blah? and have a call ?f (MkT e)?. After replacing MkT by its wrapper call we?d have RULE f ($WMkT x) = ...blah... and ....f ($WMkT e).... Now if the wrapper for MkT is inlined, we?ll see (f (case e of ?)) which won?t match well! At the moment, the very first run of the simplifier has almost all inlinings switched off, so the rule will indeed have a chance to fire. But (a) I want to change the early simplifier run to do more inlining, and (b) in any case it all fails if you had, say ...f (h x).... where h x = $WMkT e Here you want h to inline, exposing the opportunity for the rule to fire. I don?t know if this is the source of your problem, but it might be. The usual solution to the interaction between RULES and inlining is to delay inlining until the rule has had a chance to fire. But in this case the inlining isn?t under your control: it?s the wrapper for MkT. Something very similar happens for the wrappers after strictness analysis; if an (automatically generated, INLINE) wrapper is inlined too early, a rule might not fire. The crude but effective solution for strictness wappers is to give them an INLINE[0] pragma; ie don?t inline till phase 0. Maybe we should do the same for constructor wrappers. That was probably more than you wanted to know. Do send a concrete example. Thanks Simon From: ghc-devs [mailto:ghc-devs-bounces at haskell.org] On Behalf Of Conal Elliott Sent: 29 April 2014 23:03 To: glasgow-haskell-users at haskell.org; ghc-devs at haskell.org Subject: GHC rewrite rules and constructor wrappers? I'm trying to sort out the relationship of GHC rewrite rules and constructor wrappers. I have rules like > "reify/(:<)" reifyEP (:<) = kPrim VecSP This rule seems to fire for `reifyEP ($W:<)` rather than `reifyEP (:<)`. If I'm tracking (uncertain), `($W:<)` inlines to `(:<)`. Sometimes I'm able to preserve the `$W` form, but sometimes I get the bare form when inlining a definition from another already-compiled module. In those cases, I don't know how to get my rules to fire. Advice and explanation appreciated, including pointers explanations of the role of these wrappers in GHC. -- Conal -------------- next part -------------- An HTML attachment was scrubbed... URL: From yo.eight at gmail.com Tue May 6 17:01:39 2014 From: yo.eight at gmail.com (Yorick Laupa) Date: Tue, 06 May 2014 19:01:39 +0200 Subject: Automating Windows setup for development In-Reply-To: <535677C6.8010309@gmail.com> References: <535677C6.8010309@gmail.com> Message-ID: <53691573.9070606@gmail.com> We have a case at work when we have to add GHC mingw to PATH. I don't know if it's ghc related or cabal. For instance, We can't build cabal-install with a ld more recent than GHC mingw one. We tried with ld version 2.4. GHC 7.8.2 use a version like 2.2. Build ends with: "Setup.exe: command not found" whereas Setup.exe is located in current directory When we add GHC mingw to PATH, everything is working properly Regards, Yorick On 04/22/2014 04:08 PM, Simon Marlow wrote: > This reminds me: the instructions shouldn't be recommending that > people add GHC's own mingw tools to their PATH. The build should work > without that, and indeed we want to know if the build is using gcc > from PATH because that's a bug (and could cause real problems). > > Cheers, > Simon > > On 22/04/2014 02:12, Austin Seipp wrote: >> This is really cool, thanks! >> >> If you wouldn't mind, perhaps that page should be updated (the MSYS2 >> page) to point to your Powershell script. That would be really useful >> and make it much easier to find for people who don't follow the >> mailing list. >> >> On Mon, Apr 21, 2014 at 8:03 PM, Niklas Larsson >> wrote: >>> Hi! >>> >>> I have made a Powershell script that sets up a GHC build environment on >>> Windows from scratch. It's at https://github.com/melted/getghc. It >>> largely >>> follows the instructions at >>> https://ghc.haskell.org/trac/ghc/wiki/Building/Preparation/Windows/MSYS2. >>> It >>> has no dependencies aside from Powershell 3.0. >>> >>> The reason I made it was to make it easier to set up a build bot on >>> a clean >>> machine. But it's probably generally useful for people who want to >>> develop >>> GHC on Windows. >>> >>> Usage: >>> - Put the script in an empty directory >>> - Run it >>> - Hope for the best >>> >>> Potential problems: >>> - If Python 2.7 is already installed and not on the path, the script >>> wont >>> install it, and msys wont pick up the path. Solution: Add the path >>> to python >>> in the control panel. >>> - Powershell wont run unsigned scripts by default. The error message >>> will >>> give a hint how to disable that. I will add a signed version as soon >>> as I >>> can figure out how. >>> >>> Niklas >>> >>> _______________________________________________ >>> ghc-devs mailing list >>> ghc-devs at haskell.org >>> http://www.haskell.org/mailman/listinfo/ghc-devs >>> >> >> >> > _______________________________________________ > ghc-devs mailing list > ghc-devs at haskell.org > http://www.haskell.org/mailman/listinfo/ghc-devs > From conal at conal.net Wed May 7 03:50:28 2014 From: conal at conal.net (Conal Elliott) Date: Tue, 6 May 2014 20:50:28 -0700 Subject: Simplifying casts and beta-reduction Message-ID: I'm looking for tools to help simplify Core terms that involve casts. In particular, I want to beta-reduce when the function is wrapped with a cast. Do the GHC sources have such utility functions? Here is an example of a lambda expression with a cast. In context, it's applied to two type arguments and two dictionary arguments and returns a function of one more argument. (The function `(-->)` is defined as `(f --> h) g = h . g . f`.) > ((\ (@ a8) (@ b) > ($dEncodable :: Encodable a8) > ($dEncodable1 :: Encodable b) -> > case $dEncodable of _ > D:Encodable _ tpl_B3 -> > case $dEncodable1 of _ > D:Encodable tpl_B2 _ -> > \ (g :: a8 -> b) (eta :: Encode a8) -> tpl_B2 (g (tpl_B3 eta)) > ) > `cast` (forall a8 b. > _R > -> _R > -> b>_R > -> Sub (Sym (TFCo:R:Encode(->)[0] _N _N)) > :: (forall a8 b. (Encodable a8, Encodable b) => > (a8 -> b) -> Encode a8 -> Encode b) > ~# > (forall a8 b. (Encodable a8, Encodable b) => > (a8 -> b) -> Encode (a8 -> b)))) I can imagine pushing the `cast` down through the type lambdas while stripping off `forall` coercions, then pushing the remaining `cast` through the dictionary arguments, while stripping off the outer `_R ->` coercion wrappers, and then pushing the cast into the `case` alternatives and the lambda body, leaving something like > (\ (@ a8) (@ b) > ($dEncodable :: Encodable a8) > ($dEncodable1 :: Encodable b) -> > case $dEncodable of _ > D:Encodable _ tpl_B3 -> > case $dEncodable1 of _ > D:Encodable tpl_B2 _ -> > \ (g :: a8 -> b) -> > (\ (eta :: Encode a8) -> tpl_B2 (g (tpl_B3 eta))) > `cast` (Sub (Sym (TFCo:R:Encode(->)[0] _N _N)) > :: (Encode a8 -> Encode b) > ~# > (Encode (a8 -> b)))) Now, given type, dictionary, and function arguments, I think we could beta-reduce. Before I try implementing these transformations, does something like them already exist in GHC? Thanks, -- Conal -------------- next part -------------- An HTML attachment was scrubbed... URL: From conal at conal.net Wed May 7 03:51:43 2014 From: conal at conal.net (Conal Elliott) Date: Tue, 6 May 2014 20:51:43 -0700 Subject: Simplifying casts and beta-reduction In-Reply-To: References: Message-ID: P.S. Never mind the remark about `(-->)`. I inlined and simplified it away in the example code. On Tue, May 6, 2014 at 8:50 PM, Conal Elliott wrote: > I'm looking for tools to help simplify Core terms that involve casts. In > particular, I want to beta-reduce when the function is wrapped with a cast. > Do the GHC sources have such utility functions? > > Here is an example of a lambda expression with a cast. In context, it's > applied to two type arguments and two dictionary arguments and returns a > function of one more argument. (The function `(-->)` is defined as `(f --> > h) g = h . g . f`.) > > > ((\ (@ a8) (@ b) > > ($dEncodable :: Encodable a8) > > ($dEncodable1 :: Encodable b) -> > > case $dEncodable of _ > > D:Encodable _ tpl_B3 -> > > case $dEncodable1 of _ > > D:Encodable tpl_B2 _ -> > > \ (g :: a8 -> b) (eta :: Encode a8) -> tpl_B2 (g (tpl_B3 > eta)) > > ) > > `cast` (forall a8 b. > > _R > > -> _R > > -> b>_R > > -> Sub (Sym (TFCo:R:Encode(->)[0] _N _N)) > > :: (forall a8 b. (Encodable a8, Encodable b) => > > (a8 -> b) -> Encode a8 -> Encode b) > > ~# > > (forall a8 b. (Encodable a8, Encodable b) => > > (a8 -> b) -> Encode (a8 -> b)))) > > I can imagine pushing the `cast` down through the type lambdas while > stripping off `forall` coercions, then pushing the remaining `cast` through > the dictionary arguments, while stripping off the outer `_R > ->` coercion wrappers, and then pushing the cast into the `case` > alternatives and the lambda body, leaving something like > > > (\ (@ a8) (@ b) > > ($dEncodable :: Encodable a8) > > ($dEncodable1 :: Encodable b) -> > > case $dEncodable of _ > > D:Encodable _ tpl_B3 -> > > case $dEncodable1 of _ > > D:Encodable tpl_B2 _ -> > > \ (g :: a8 -> b) -> > > (\ (eta :: Encode a8) -> tpl_B2 (g (tpl_B3 eta))) > > `cast` (Sub (Sym (TFCo:R:Encode(->)[0] _N _N)) > > :: (Encode a8 -> Encode b) > > ~# > > (Encode (a8 -> b)))) > > Now, given type, dictionary, and function arguments, I think we could > beta-reduce. > > Before I try implementing these transformations, does something like them > already exist in GHC? > > Thanks, -- Conal > -------------- next part -------------- An HTML attachment was scrubbed... URL: From djsamperi at gmail.com Wed May 7 04:11:48 2014 From: djsamperi at gmail.com (Dominick Samperi) Date: Wed, 7 May 2014 00:11:48 -0400 Subject: GHC status report In-Reply-To: <5367FB82.6050001@gmail.com> References: <618BE556AADD624C9C918AA5D5911BEF0A58F2FC@DB3PRD3001MB020.064d.mgd.msft.net> <536128AF.7080209@gmail.com> <5362BC24.9030101@gmail.com> <5363990D.5080200@gmail.com> <5363F5E5.6040004@gmail.com> <5367FB82.6050001@gmail.com> Message-ID: OK, so if I understand correctly, there is no point trying to narrow down my issue further as it is not supposed to work with DYNAMIC_GHC_PROGRAMS=NO (because this disables use of the system linker). Furthermore, if the plan to disable some form of GHC dynamic linkage is carried out, this should not affect how external C/C++ libs are linked to (using the system linker). From other comments in this thread it appears that there may be problems linking to C++ libs that require static initialization. On Mon, May 5, 2014 at 4:58 PM, Simon Marlow wrote: > On 03/05/14 04:15, Dominick Samperi wrote: >> >> I'm trying to understand the dynamic linking situation with the help of >> https://ghc.haskell.org/trac/ghc/wiki/Status/GHC-7.8, and according >> to this information I need to specify DYNAMIC_GHC_PROGRAMS=YES >> for ghci to use the system linker. I don't understand why you suggested >> I test with DYNAMIC_GHC_PROGRAMS=NO? > > > The question I'm trying to answer is "what stops working if we use > DYNAMIC_GHC_PROGRAMS=NO?". So that's why I'm interested in what happens if > you set this option. > > Thanks for your help! > > Cheers, > Simon > > > >> Another interesting twist is that my experience under Windows >> is the opposite of the negative experience described on this >> page. What I mean by this is more versions of ghci seem to >> work under Windows (correctly linking to R.dll) than work >> under Linux! >> >> >> On Fri, May 2, 2014 at 3:45 PM, Simon Marlow wrote: >>> >>> Can you give me a quick summary of how to reproduce the problem? (not >>> including the GHC build steps) >>> >>> Cheers, >>> Simon >>> >>> >>> On 02/05/14 18:18, Dominick Samperi wrote: >>>> >>>> >>>> I downloaded HEAD and placed DYNAMIC_GHC_PROGRAMS=NO in the "quick" >>>> section of mk/build.mk (with BuildFlavour = quick), and set >>>> DYNAMIC_GHC_PROGRAMS=NO >>>> in my environment before running configure (just to be sure!). Near >>>> the end of the build >>>> I saw some messages like "Warning: vectorization failure," but the >>>> build completed. >>>> >>>> The status at the end of configure doesn't say that dynamic linking >>>> via RTS has been >>>> turned off, and I don't know how to check that this is so. >>>> Nevertheless, I checked >>>> the linking issue and it is NOT fixed with this build, so >>>> DYNAMIC_GHC_PROGRAMS=YES is required to prevent the problems >>>> reported by me and others. >>>> >>>> >>>> On Fri, May 2, 2014 at 9:09 AM, Simon Marlow wrote: >>>>> >>>>> >>>>> On 02/05/2014 01:09, Dominick Samperi wrote: >>>>> >>>>>> If I understand your last comment correctly linking to libR should >>>>>> continue to work, even if you revert to static linking of Haskell >>>>>> compiled >>>>>> code via RTS linker. Since you say this is the way things have always >>>>>> been, perhaps the real explanation for why 7.8 fixed the issue is that >>>>>> some bug was fixed along the way... >>>>> >>>>> >>>>> >>>>> >>>>> Indeed. To know for sure we would have to test 7.8 with >>>>> DYNAMIC_GHC_PROGRAMS=NO with your setup - is there a way to do that? >>>>> >>>>> Cheers, >>>>> Simon >>>>> >>>>> >>>>> >>>>>> Note that R is a C library, so the C++ issues that Carter mentions are >>>>>> not a factor here. >>>>>> >>>>>> Thanks, >>>>>> Dominick >>>>>> >>>>>> On Thu, May 1, 2014 at 5:27 PM, Simon Marlow >>>>>> wrote: >>>>>>> >>>>>>> >>>>>>> >>>>>>> On 01/05/14 14:48, Dominick Samperi wrote: >>>>>>>> >>>>>>>> >>>>>>>> >>>>>>>> >>>>>>>> The problem with some graphics libraries used via FFI (and other >>>>>>>> libraries >>>>>>>> that are not thread-safe), if I understand the situation correctly, >>>>>>>> is >>>>>>>> that ghci >>>>>>>> forks a thread when it shouldn't, causing some programs to >>>>>>>> miscalculate >>>>>>>> the available stack space (because they think there is only one >>>>>>>> thread). >>>>>>> >>>>>>> >>>>>>> >>>>>>> >>>>>>>> >>>>>>>> >>>>>>>> The new dynamic linking support and the flag -fno-ghci-sandbox fixes >>>>>>>> this problem, and I would not vote for the removal of these >>>>>>>> features. >>>>>>> >>>>>>> >>>>>>> >>>>>>> >>>>>>> >>>>>>> So I understand how -fno-ghci-sandbox avoids problems with GUI >>>>>>> libraries >>>>>>> that use thread-local state. But how is dynamic linking involved >>>>>>> here? >>>>>>> What improved in GHC 7.8 relative to 7.6 for you? And could you >>>>>>> clarify >>>>>>> "miscalculate the available stack space"? What needs to calculate >>>>>>> stack >>>>>>> space? Why? C stack space? >>>>>>> >>>>>>> We can certainly make a smoother experience around -fno-ghci-sandbox >>>>>>> for >>>>>>> using GUI libraries. >>>>>>> >>>>>>> >>>>>>>> It is not clear to me from Simon's original post how linking to all >>>>>>>> of >>>>>>>> those C++ libs can continue to work if dynamic linking is removed >>>>>>>> in 7.10? Perhaps I misunderstand what you mean by "revert to >>>>>>>> static linking"? >>>>>>> >>>>>>> >>>>>>> >>>>>>> >>>>>>> >>>>>>> When I say "revert to static linking" I mean make GHCi static linked, >>>>>>> and >>>>>>> have it load Haskell code compiled for static linking using the RTS >>>>>>> linker >>>>>>> (like it did in 7.6). Foreign libraries would still be loaded using >>>>>>> the >>>>>>> system linker, as they always have been. >>>>>>> >>>>>>> To be clear, I'm not officially proposing that we drop dynamic >>>>>>> linking, >>>>>>> but >>>>>>> I think it's worthwhile exploring the design space again, given that >>>>>>> we >>>>>>> know >>>>>>> dynamic linking has been tougher than we expected. >>>>>>> >>>>>>> Cheers, >>>>>>> Simon >>>>>>> >>>>>>> >>>>>>> >>>>>>>> Thanks, >>>>>>>> Dominick >>>>>>>> >>>>>>>> >>>>>>>> On Wed, Apr 30, 2014 at 9:26 PM, George Colpitts >>>>>>>> wrote: >>>>>>>>> >>>>>>>>> >>>>>>>>> >>>>>>>>> >>>>>>>>> To elaborate, in the past, I had a lot of problems using libraries >>>>>>>>> from >>>>>>>>> the >>>>>>>>> ghci prompt on the Mac but I haven't tried recently. >>>>>>>>> >>>>>>>>> As an example, on the web page for the book the Haskell School of >>>>>>>>> Expression >>>>>>>>> it says: >>>>>>>>> >>>>>>>>> Note for OS X users: running graphics applications from GHCi is no >>>>>>>>> longer >>>>>>>>> supported. Instead, one has to compile a graphics program using GHC >>>>>>>>> in >>>>>>>>> order >>>>>>>>> to run it (see example/GMIExamples.lhs for an example). >>>>>>>>> >>>>>>>>> I had similar problems using the Yale Euterpea music program from >>>>>>>>> ghci. >>>>>>>>> When >>>>>>>>> I inquired I was referred to >>>>>>>>> https://ghc.haskell.org/trac/ghc/ticket/4244 >>>>>>>>> and https://ghc.haskell.org/trac/ghc/ticket/781. I see that the >>>>>>>>> latter >>>>>>>>> is >>>>>>>>> now scheduled for 7.10.1 >>>>>>>>> >>>>>>>>> >>>>>>>>> On Wed, Apr 30, 2014 at 1:45 PM, Simon Marlow >>>>>>>>> wrote: >>>>>>>>>> >>>>>>>>>> >>>>>>>>>> >>>>>>>>>> >>>>>>>>>> >>>>>>>>>> On 30/04/2014 01:35, George Colpitts wrote: >>>>>>>>>>> >>>>>>>>>>> >>>>>>>>>>> >>>>>>>>>>> >>>>>>>>>>> >>>>>>>>>>> It doesn't have anything about the dynamic linking changes made >>>>>>>>>>> for >>>>>>>>>>> 7.8. >>>>>>>>>>> I think it's worth mentioning the improvements we expect to get >>>>>>>>>>> from >>>>>>>>>>> that. The highlights of the release notes do mention it, so maybe >>>>>>>>>>> that >>>>>>>>>>> suffices. >>>>>>>>>>> >>>>>>>>>>> In particular, I'm hoping that it is going to fix a lot of >>>>>>>>>>> problems >>>>>>>>>>> with >>>>>>>>>>> using foreign libraries such as OpenGL from ghci. I could be >>>>>>>>>>> wrong >>>>>>>>>>> about >>>>>>>>>>> that though. >>>>>>>>>> >>>>>>>>>> >>>>>>>>>> >>>>>>>>>> >>>>>>>>>> >>>>>>>>>> >>>>>>>>>> I'd like to understand more about what those problems are. As a >>>>>>>>>> data >>>>>>>>>> point, at Facebook we're using static linking (I compiled GHC with >>>>>>>>>> DYNAMIC_GHC_PROGRAMS=NO), we're loading upwards of 50 3rd-party >>>>>>>>>> C++ >>>>>>>>>> libraries and one gigantic shared library consisting of a ton of >>>>>>>>>> in-house >>>>>>>>>> C++ code, together with all our Haskell code into GHCi, and it >>>>>>>>>> works >>>>>>>>>> perfectly. The key to using the static linker is to not use it >>>>>>>>>> for >>>>>>>>>> C++ >>>>>>>>>> code >>>>>>>>>> - you want all your external C++ code in shared libraries and load >>>>>>>>>> those >>>>>>>>>> using the system linker. >>>>>>>>>> >>>>>>>>>> Dynamic linking has been a huge headache in GHC, and it's not >>>>>>>>>> clear >>>>>>>>>> that >>>>>>>>>> it's an overall improvement compared with the static linker. Now >>>>>>>>>> that >>>>>>>>>> 7.8 >>>>>>>>>> is out of the way, it's time to have a conversation about whether >>>>>>>>>> we >>>>>>>>>> want to >>>>>>>>>> do dynamic linking again for 7.10, or revert to static linking. I >>>>>>>>>> think >>>>>>>>>> Austin is going to update >>>>>>>>>> https://ghc.haskell.org/trac/ghc/wiki/DynamicGhcPrograms, and then >>>>>>>>>> we'll >>>>>>>>>> see >>>>>>>>>> where we stand. >>>>>>>>>> >>>>>>>>>> Cheers, >>>>>>>>>> Simon >>>>>>>>>> >>>>>>>>>> >>>>>>>>>> >>>>>>>>>>> >>>>>>>>>>> On Tue, Apr 29, 2014 at 6:13 PM, Simon Peyton Jones >>>>>>>>>>> > wrote: >>>>>>>>>>> >>>>>>>>>>> As Austin has told us, there's a draft of the *GHC Status >>>>>>>>>>> Report >>>>>>>>>>> for >>>>>>>>>>> the HCAR*, here:____ >>>>>>>>>>> >>>>>>>>>>> https://ghc.haskell.org/trac/ghc/wiki/Status/May14____ >>>>>>>>>>> >>>>>>>>>>> >>>>>>>>>>> Have we missed out something you have been working hard >>>>>>>>>>> on? >>>>>>>>>>> Do >>>>>>>>>>> take a moment to add a bullet in an appropriate place >>>>>>>>>>> (it's >>>>>>>>>>> a >>>>>>>>>>> wiki). I'd like to be sure that we are giving credit to >>>>>>>>>>> all >>>>>>>>>>> the >>>>>>>>>>> appropriate people, so please help us fix that too. GHC >>>>>>>>>>> is >>>>>>>>>>> a >>>>>>>>>>> team >>>>>>>>>>> effort.____ >>>>>>>>>>> >>>>>>>>>>> Deadline is 1 May I think.____ >>>>>>>>>>> >>>>>>>>>>> Thanks____ >>>>>>>>>>> >>>>>>>>>>> Simon____ >>>>>>>>>>> >>>>>>>>>>> __ __ >>>>>>>>>>> >>>>>>>>>>> >>>>>>>>>>> _______________________________________________ >>>>>>>>>>> ghc-devs mailing list >>>>>>>>>>> ghc-devs at haskell.org >>>>>>>>>>> http://www.haskell.org/mailman/listinfo/ghc-devs >>>>>>>>>>> >>>>>>>>>>> >>>>>>>>>>> >>>>>>>>>>> >>>>>>>>>>> >>>>>>>>>>> _______________________________________________ >>>>>>>>>>> ghc-devs mailing list >>>>>>>>>>> ghc-devs at haskell.org >>>>>>>>>>> http://www.haskell.org/mailman/listinfo/ghc-devs >>>>>>>>>>> >>>>>>>>> >>>>>>>>> >>>>>>>>> _______________________________________________ >>>>>>>>> ghc-devs mailing list >>>>>>>>> ghc-devs at haskell.org >>>>>>>>> http://www.haskell.org/mailman/listinfo/ghc-devs >>>>>>>>> >>>>>>> >>>>> >>> > From mail at joachim-breitner.de Wed May 7 07:27:29 2014 From: mail at joachim-breitner.de (Joachim Breitner) Date: Wed, 07 May 2014 09:27:29 +0200 Subject: Validate failures In-Reply-To: <1399147687.19761.1.camel@kirk> References: <1399147687.19761.1.camel@kirk> Message-ID: <1399447649.2258.1.camel@kirk> Hi, I?m still seeing these failures. Am I the only one? Am Samstag, den 03.05.2014, 22:08 +0200 schrieb Joachim Breitner: > I?m seeing these failures on travis. Anyone feeling responsible? > > master: > *** unexpected failure for cc004(normal) > *** unexpected failure for cgrun051(normal) If travis is not mistaken, this was somehow caused by Austin?s "Remove external core" commit http://git.haskell.org/ghc.git/commit/5bf22f06ef71f61094de7564dee770f136d5481a Also this is still valid: > ghc-7.8: > > Unexpected failures: > annotations/should_compile/th annth_compunits [bad exit code] (normal) > annotations/should_compile/th annth_make [bad stdout] (normal) > > Please merge 0fe726829d468badf830dd82bc296832d709733b into ghc-7.8 (this > annotates the tests to require have_dynamic()) Greetings, Joachim -- Joachim ?nomeata? Breitner mail at joachim-breitner.de ? http://www.joachim-breitner.de/ Jabber: nomeata at joachim-breitner.de ? GPG-Key: 0xF0FBF51F Debian Developer: nomeata at debian.org -------------- next part -------------- A non-text attachment was scrubbed... Name: signature.asc Type: application/pgp-signature Size: 836 bytes Desc: This is a digitally signed message part URL: From simonpj at microsoft.com Wed May 7 08:28:49 2014 From: simonpj at microsoft.com (Simon Peyton Jones) Date: Wed, 7 May 2014 08:28:49 +0000 Subject: Simplifying casts and beta-reduction In-Reply-To: References: Message-ID: <618BE556AADD624C9C918AA5D5911BEF0C0DDD7C@DB3PRD3001MB020.064d.mgd.msft.net> Absolutely. There?s a whole module that does this: OptCoercion. If you want to see what programs look like without coercion optimisation, try ?fno-opt-coercion. The rules are described in our paper Evidence normalization in System FC: http://research.microsoft.com/en-us/um/people/simonpj/papers/ext-f/ I hope that?s useful. Simon From: ghc-devs [mailto:ghc-devs-bounces at haskell.org] On Behalf Of Conal Elliott Sent: 07 May 2014 04:50 To: ghc-devs at haskell.org Subject: Simplifying casts and beta-reduction I'm looking for tools to help simplify Core terms that involve casts. In particular, I want to beta-reduce when the function is wrapped with a cast. Do the GHC sources have such utility functions? Here is an example of a lambda expression with a cast. In context, it's applied to two type arguments and two dictionary arguments and returns a function of one more argument. (The function `(-->)` is defined as `(f --> h) g = h . g . f`.) > ((\ (@ a8) (@ b) > ($dEncodable :: Encodable a8) > ($dEncodable1 :: Encodable b) -> > case $dEncodable of _ > D:Encodable _ tpl_B3 -> > case $dEncodable1 of _ > D:Encodable tpl_B2 _ -> > \ (g :: a8 -> b) (eta :: Encode a8) -> tpl_B2 (g (tpl_B3 eta)) > ) > `cast` (forall a8 b. > _R > -> _R > -> b>_R > -> Sub (Sym (TFCo:R:Encode(->)[0] _N _N)) > :: (forall a8 b. (Encodable a8, Encodable b) => > (a8 -> b) -> Encode a8 -> Encode b) > ~# > (forall a8 b. (Encodable a8, Encodable b) => > (a8 -> b) -> Encode (a8 -> b)))) I can imagine pushing the `cast` down through the type lambdas while stripping off `forall` coercions, then pushing the remaining `cast` through the dictionary arguments, while stripping off the outer `_R ->` coercion wrappers, and then pushing the cast into the `case` alternatives and the lambda body, leaving something like > (\ (@ a8) (@ b) > ($dEncodable :: Encodable a8) > ($dEncodable1 :: Encodable b) -> > case $dEncodable of _ > D:Encodable _ tpl_B3 -> > case $dEncodable1 of _ > D:Encodable tpl_B2 _ -> > \ (g :: a8 -> b) -> > (\ (eta :: Encode a8) -> tpl_B2 (g (tpl_B3 eta))) > `cast` (Sub (Sym (TFCo:R:Encode(->)[0] _N _N)) > :: (Encode a8 -> Encode b) > ~# > (Encode (a8 -> b)))) Now, given type, dictionary, and function arguments, I think we could beta-reduce. Before I try implementing these transformations, does something like them already exist in GHC? Thanks, -- Conal -------------- next part -------------- An HTML attachment was scrubbed... URL: From mail at joachim-breitner.de Wed May 7 12:54:41 2014 From: mail at joachim-breitner.de (Joachim Breitner) Date: Wed, 07 May 2014 14:54:41 +0200 Subject: Bugsquashing at ZuriHac Message-ID: <1399467281.2258.33.camel@kirk> Dear fellow deverlopers, I?ll be attending ZuriHac in a month time, without a project of my own that I plan to pursue. Hence I?m considering to run a ?GHC bug squashing? project there. Besides getting bugs squashed, this should hopefully attract new contributors and allow us to teach them the ropes and tricks and the need for notes efficiently by shoulder-surfing and face-to-face discussions. Who of you is going to attend ZuriHac as well and will want to join me in managing this project? Also, this means its a good time to start tagging tickets as suitable for beginners. I know we have a list somewhere, but googling for "ghc easy tickets" does not find it... but clicking through the wiki I find https://ghc.haskell.org/trac/ghc/wiki/Newcomers#Fixingabug which is unfortunately quite small. I?ll also look for tickets of difficulty easy and moderate. Greetings, Joachim -- Joachim ?nomeata? Breitner mail at joachim-breitner.de ? http://www.joachim-breitner.de/ Jabber: nomeata at joachim-breitner.de ? GPG-Key: 0xF0FBF51F Debian Developer: nomeata at debian.org -------------- next part -------------- A non-text attachment was scrubbed... Name: signature.asc Type: application/pgp-signature Size: 836 bytes Desc: This is a digitally signed message part URL: From conal at conal.net Wed May 7 20:02:14 2014 From: conal at conal.net (Conal Elliott) Date: Wed, 7 May 2014 13:02:14 -0700 Subject: Simplifying casts and beta-reduction In-Reply-To: <618BE556AADD624C9C918AA5D5911BEF0C0DDD7C@DB3PRD3001MB020.064d.mgd.msft.net> References: <618BE556AADD624C9C918AA5D5911BEF0C0DDD7C@DB3PRD3001MB020.064d.mgd.msft.net> Message-ID: Very useful, indeed! Exactly what I was looking for. Thanks, Simon. Now I've read the evidence normalization and the deferred types paper, and I have a much better understanding of what's going on. -- Conal On Wed, May 7, 2014 at 1:28 AM, Simon Peyton Jones wrote: > Absolutely. There?s a whole module that does this: OptCoercion. If you > want to see what programs look like without coercion optimisation, try > ?fno-opt-coercion. > > > > The rules are described in our paper *Evidence normalization in System > FC: http://research.microsoft.com/en-us/um/people/simonpj/papers/ext-f/ > * > > > > I hope that?s useful. > > > > Simon > > > > *From:* ghc-devs [mailto:ghc-devs-bounces at haskell.org] *On Behalf Of *Conal > Elliott > *Sent:* 07 May 2014 04:50 > *To:* ghc-devs at haskell.org > *Subject:* Simplifying casts and beta-reduction > > > > I'm looking for tools to help simplify Core terms that involve casts. In > particular, I want to beta-reduce when the function is wrapped with a cast. > Do the GHC sources have such utility functions? > > Here is an example of a lambda expression with a cast. In context, it's > applied to two type arguments and two dictionary arguments and returns a > function of one more argument. (The function `(-->)` is defined as `(f --> > h) g = h . g . f`.) > > > ((\ (@ a8) (@ b) > > ($dEncodable :: Encodable a8) > > ($dEncodable1 :: Encodable b) -> > > case $dEncodable of _ > > D:Encodable _ tpl_B3 -> > > case $dEncodable1 of _ > > D:Encodable tpl_B2 _ -> > > \ (g :: a8 -> b) (eta :: Encode a8) -> tpl_B2 (g (tpl_B3 > eta)) > > ) > > `cast` (forall a8 b. > > _R > > -> _R > > -> b>_R > > -> Sub (Sym (TFCo:R:Encode(->)[0] _N _N)) > > :: (forall a8 b. (Encodable a8, Encodable b) => > > (a8 -> b) -> Encode a8 -> Encode b) > > ~# > > (forall a8 b. (Encodable a8, Encodable b) => > > (a8 -> b) -> Encode (a8 -> b)))) > > I can imagine pushing the `cast` down through the type lambdas while > stripping off `forall` coercions, then pushing the remaining `cast` through > the dictionary arguments, while stripping off the outer `_R > ->` coercion wrappers, and then pushing the cast into the `case` > alternatives and the lambda body, leaving something like > > > (\ (@ a8) (@ b) > > ($dEncodable :: Encodable a8) > > ($dEncodable1 :: Encodable b) -> > > case $dEncodable of _ > > D:Encodable _ tpl_B3 -> > > case $dEncodable1 of _ > > D:Encodable tpl_B2 _ -> > > \ (g :: a8 -> b) -> > > (\ (eta :: Encode a8) -> tpl_B2 (g (tpl_B3 eta))) > > `cast` (Sub (Sym (TFCo:R:Encode(->)[0] _N _N)) > > :: (Encode a8 -> Encode b) > > ~# > > (Encode (a8 -> b)))) > > Now, given type, dictionary, and function arguments, I think we could > beta-reduce. > > Before I try implementing these transformations, does something like them > already exist in GHC? > > Thanks, -- Conal > -------------- next part -------------- An HTML attachment was scrubbed... URL: From ezyang at mit.edu Wed May 7 07:32:24 2014 From: ezyang at mit.edu (Edward Z. Yang) Date: Wed, 07 May 2014 00:32:24 -0700 Subject: Validate failures In-Reply-To: <1399447649.2258.1.camel@kirk> References: <1399147687.19761.1.camel@kirk> <1399447649.2258.1.camel@kirk> Message-ID: <1399447851-sup-8605@sabre> Excerpts from Joachim Breitner's message of 2014-05-07 00:27:29 -0700: > Hi, > > I?m still seeing these failures. Am I the only one? I'm seeing them. Edward > Am Samstag, den 03.05.2014, 22:08 +0200 schrieb Joachim Breitner: > > I?m seeing these failures on travis. Anyone feeling responsible? > > > > master: > > *** unexpected failure for cc004(normal) > > *** unexpected failure for cgrun051(normal) > > If travis is not mistaken, this was somehow caused by > Austin?s "Remove external core" commit > http://git.haskell.org/ghc.git/commit/5bf22f06ef71f61094de7564dee770f136d5481a > > Also this is still valid: > > > ghc-7.8: > > > > Unexpected failures: > > annotations/should_compile/th annth_compunits [bad exit code] (normal) > > annotations/should_compile/th annth_make [bad stdout] (normal) > > > > Please merge 0fe726829d468badf830dd82bc296832d709733b into ghc-7.8 (this > > annotates the tests to require have_dynamic()) > > > Greetings, > Joachim > From conal at conal.net Thu May 8 03:18:50 2014 From: conal at conal.net (Conal Elliott) Date: Wed, 7 May 2014 20:18:50 -0700 Subject: Simplifying casts and beta-reduction In-Reply-To: References: <618BE556AADD624C9C918AA5D5911BEF0C0DDD7C@DB3PRD3001MB020.064d.mgd.msft.net> Message-ID: I'm still sorting through how to optimize these almost-beta-redexes in the form `((\ x -> u) |> co) v`, shifting coercions to enable beta-reduction (as described in section 3.1 of "Evidence normalization"). Is it done by `simplCast` (with help from `simplCoercion`), as called indirectly from `simplifyExpr` in `SimplCore`? I think I'm now calling `simplifyExpr` from HERMIT but I'm not getting the cast-shifting I'm looking for. -- Conal On Wed, May 7, 2014 at 1:02 PM, Conal Elliott wrote: > Very useful, indeed! Exactly what I was looking for. Thanks, Simon. Now > I've read the evidence normalization and the deferred types paper, and I > have a much better understanding of what's going on. > > -- Conal > > > > On Wed, May 7, 2014 at 1:28 AM, Simon Peyton Jones wrote: > >> Absolutely. There?s a whole module that does this: OptCoercion. If you >> want to see what programs look like without coercion optimisation, try >> ?fno-opt-coercion. >> >> >> >> The rules are described in our paper *Evidence normalization in System >> FC: http://research.microsoft.com/en-us/um/people/simonpj/papers/ext-f/ >> * >> >> >> >> I hope that?s useful. >> >> >> >> Simon >> >> >> >> *From:* ghc-devs [mailto:ghc-devs-bounces at haskell.org] *On Behalf Of *Conal >> Elliott >> *Sent:* 07 May 2014 04:50 >> *To:* ghc-devs at haskell.org >> *Subject:* Simplifying casts and beta-reduction >> >> >> >> I'm looking for tools to help simplify Core terms that involve casts. In >> particular, I want to beta-reduce when the function is wrapped with a cast. >> Do the GHC sources have such utility functions? >> >> Here is an example of a lambda expression with a cast. In context, it's >> applied to two type arguments and two dictionary arguments and returns a >> function of one more argument. (The function `(-->)` is defined as `(f --> >> h) g = h . g . f`.) >> >> > ((\ (@ a8) (@ b) >> > ($dEncodable :: Encodable a8) >> > ($dEncodable1 :: Encodable b) -> >> > case $dEncodable of _ >> > D:Encodable _ tpl_B3 -> >> > case $dEncodable1 of _ >> > D:Encodable tpl_B2 _ -> >> > \ (g :: a8 -> b) (eta :: Encode a8) -> tpl_B2 (g (tpl_B3 >> eta)) >> > ) >> > `cast` (forall a8 b. >> > _R >> > -> _R >> > -> b>_R >> > -> Sub (Sym (TFCo:R:Encode(->)[0] _N _N)) >> > :: (forall a8 b. (Encodable a8, Encodable b) => >> > (a8 -> b) -> Encode a8 -> Encode b) >> > ~# >> > (forall a8 b. (Encodable a8, Encodable b) => >> > (a8 -> b) -> Encode (a8 -> b)))) >> >> I can imagine pushing the `cast` down through the type lambdas while >> stripping off `forall` coercions, then pushing the remaining `cast` through >> the dictionary arguments, while stripping off the outer `_R >> ->` coercion wrappers, and then pushing the cast into the `case` >> alternatives and the lambda body, leaving something like >> >> > (\ (@ a8) (@ b) >> > ($dEncodable :: Encodable a8) >> > ($dEncodable1 :: Encodable b) -> >> > case $dEncodable of _ >> > D:Encodable _ tpl_B3 -> >> > case $dEncodable1 of _ >> > D:Encodable tpl_B2 _ -> >> > \ (g :: a8 -> b) -> >> > (\ (eta :: Encode a8) -> tpl_B2 (g (tpl_B3 eta))) >> > `cast` (Sub (Sym (TFCo:R:Encode(->)[0] _N _N)) >> > :: (Encode a8 -> Encode b) >> > ~# >> > (Encode (a8 -> b)))) >> >> Now, given type, dictionary, and function arguments, I think we could >> beta-reduce. >> >> Before I try implementing these transformations, does something like them >> already exist in GHC? >> >> Thanks, -- Conal >> > > -------------- next part -------------- An HTML attachment was scrubbed... URL: From simonpj at microsoft.com Thu May 8 07:54:09 2014 From: simonpj at microsoft.com (Simon Peyton Jones) Date: Thu, 8 May 2014 07:54:09 +0000 Subject: Simplifying casts and beta-reduction In-Reply-To: References: <618BE556AADD624C9C918AA5D5911BEF0C0DDD7C@DB3PRD3001MB020.064d.mgd.msft.net> Message-ID: <618BE556AADD624C9C918AA5D5911BEF0C84EAF1@DB3PRD3001MB020.064d.mgd.msft.net> Yes, that?s right: simplCast is the guy. I can?t explain why it?s not working for you, though Simon From: conal.elliott at gmail.com [mailto:conal.elliott at gmail.com] On Behalf Of Conal Elliott Sent: 08 May 2014 04:19 To: Simon Peyton Jones Cc: ghc-devs at haskell.org Subject: Re: Simplifying casts and beta-reduction I'm still sorting through how to optimize these almost-beta-redexes in the form `((\ x -> u) |> co) v`, shifting coercions to enable beta-reduction (as described in section 3.1 of "Evidence normalization"). Is it done by `simplCast` (with help from `simplCoercion`), as called indirectly from `simplifyExpr` in `SimplCore`? I think I'm now calling `simplifyExpr` from HERMIT but I'm not getting the cast-shifting I'm looking for. -- Conal On Wed, May 7, 2014 at 1:02 PM, Conal Elliott > wrote: Very useful, indeed! Exactly what I was looking for. Thanks, Simon. Now I've read the evidence normalization and the deferred types paper, and I have a much better understanding of what's going on. -- Conal On Wed, May 7, 2014 at 1:28 AM, Simon Peyton Jones > wrote: Absolutely. There?s a whole module that does this: OptCoercion. If you want to see what programs look like without coercion optimisation, try ?fno-opt-coercion. The rules are described in our paper Evidence normalization in System FC: http://research.microsoft.com/en-us/um/people/simonpj/papers/ext-f/ I hope that?s useful. Simon From: ghc-devs [mailto:ghc-devs-bounces at haskell.org] On Behalf Of Conal Elliott Sent: 07 May 2014 04:50 To: ghc-devs at haskell.org Subject: Simplifying casts and beta-reduction I'm looking for tools to help simplify Core terms that involve casts. In particular, I want to beta-reduce when the function is wrapped with a cast. Do the GHC sources have such utility functions? Here is an example of a lambda expression with a cast. In context, it's applied to two type arguments and two dictionary arguments and returns a function of one more argument. (The function `(-->)` is defined as `(f --> h) g = h . g . f`.) > ((\ (@ a8) (@ b) > ($dEncodable :: Encodable a8) > ($dEncodable1 :: Encodable b) -> > case $dEncodable of _ > D:Encodable _ tpl_B3 -> > case $dEncodable1 of _ > D:Encodable tpl_B2 _ -> > \ (g :: a8 -> b) (eta :: Encode a8) -> tpl_B2 (g (tpl_B3 eta)) > ) > `cast` (forall a8 b. > _R > -> _R > -> b>_R > -> Sub (Sym (TFCo:R:Encode(->)[0] _N _N)) > :: (forall a8 b. (Encodable a8, Encodable b) => > (a8 -> b) -> Encode a8 -> Encode b) > ~# > (forall a8 b. (Encodable a8, Encodable b) => > (a8 -> b) -> Encode (a8 -> b)))) I can imagine pushing the `cast` down through the type lambdas while stripping off `forall` coercions, then pushing the remaining `cast` through the dictionary arguments, while stripping off the outer `_R ->` coercion wrappers, and then pushing the cast into the `case` alternatives and the lambda body, leaving something like > (\ (@ a8) (@ b) > ($dEncodable :: Encodable a8) > ($dEncodable1 :: Encodable b) -> > case $dEncodable of _ > D:Encodable _ tpl_B3 -> > case $dEncodable1 of _ > D:Encodable tpl_B2 _ -> > \ (g :: a8 -> b) -> > (\ (eta :: Encode a8) -> tpl_B2 (g (tpl_B3 eta))) > `cast` (Sub (Sym (TFCo:R:Encode(->)[0] _N _N)) > :: (Encode a8 -> Encode b) > ~# > (Encode (a8 -> b)))) Now, given type, dictionary, and function arguments, I think we could beta-reduce. Before I try implementing these transformations, does something like them already exist in GHC? Thanks, -- Conal -------------- next part -------------- An HTML attachment was scrubbed... URL: From carette at mcmaster.ca Thu May 8 12:01:25 2014 From: carette at mcmaster.ca (Jacques Carette) Date: Thu, 08 May 2014 08:01:25 -0400 Subject: Simplifying casts and beta-reduction In-Reply-To: References: <618BE556AADD624C9C918AA5D5911BEF0C0DDD7C@DB3PRD3001MB020.064d.mgd.msft.net> Message-ID: <536B7215.9080607@mcmaster.ca> Sorry to jump in mid-conversation, but since I read about people doing exactly this a few days ago, I thought this might be useful. See the paper Michael D. Adams , Andrew Farmer , Jos? Pedro Magalh?es: Optimizing SYB is easy! PEPM 2014 : 71-82 http://www.ittc.ku.edu/csdl/fpg/files/Adams-13-OSIE.pdf where they use Hermit http://www.ittc.ku.edu/csdl/fpg/software/hermit.html http://hackage.haskell.org/package/hermit to do exactly this transformation [and a fair bit more]. Jacques On 2014-05-07 11:18 PM, Conal Elliott wrote: > I'm still sorting through how to optimize these almost-beta-redexes in > the form `((\ x -> u) |> co) v`, shifting coercions to enable > beta-reduction (as described in section 3.1 of "Evidence > normalization"). Is it done by `simplCast` (with help from > `simplCoercion`), as called indirectly from `simplifyExpr` in > `SimplCore`? I think I'm now calling `simplifyExpr` from HERMIT but > I'm not getting the cast-shifting I'm looking for. > > -- Conal > > > On Wed, May 7, 2014 at 1:02 PM, Conal Elliott > wrote: > > Very useful, indeed! Exactly what I was looking for. Thanks, > Simon. Now I've read the evidence normalization and the deferred > types paper, and I have a much better understanding of what's > going on. > > -- Conal > > > > On Wed, May 7, 2014 at 1:28 AM, Simon Peyton Jones > > wrote: > > Absolutely. There's a whole module that does this: > OptCoercion. If you want to see what programs look like > without coercion optimisation, try --fno-opt-coercion. > > The rules are described in our paper /Evidence normalization > in System FC: > http://research.microsoft.com/en-us/um/people/simonpj/papers/ext-f// > > // > > I hope that's useful. > > Simon > > *From:*ghc-devs [mailto:ghc-devs-bounces at haskell.org > ] *On Behalf Of *Conal > Elliott > *Sent:* 07 May 2014 04:50 > *To:* ghc-devs at haskell.org > *Subject:* Simplifying casts and beta-reduction > > I'm looking for tools to help simplify Core terms that involve > casts. In particular, I want to beta-reduce when the function > is wrapped with a cast. Do the GHC sources have such utility > functions? > > Here is an example of a lambda expression with a cast. In > context, it's applied to two type arguments and two dictionary > arguments and returns a function of one more argument. (The > function `(-->)` is defined as `(f --> h) g = h . g . f`.) > > > ((\ (@ a8) (@ b) > > ($dEncodable :: Encodable a8) > > ($dEncodable1 :: Encodable b) -> > > case $dEncodable of _ > > D:Encodable _ tpl_B3 -> > > case $dEncodable1 of _ > > D:Encodable tpl_B2 _ -> > > \ (g :: a8 -> b) (eta :: Encode a8) -> tpl_B2 (g > (tpl_B3 eta)) > > ) > > `cast` (forall a8 b. > > _R > > -> _R > > -> b>_R > > -> Sub (Sym (TFCo:R:Encode(->)[0] _N _N)) > > :: (forall a8 b. (Encodable a8, Encodable b) => > > (a8 -> b) -> Encode a8 -> Encode b) > > ~# > > (forall a8 b. (Encodable a8, Encodable b) => > > (a8 -> b) -> Encode (a8 -> b)))) > > I can imagine pushing the `cast` down through the type lambdas > while stripping off `forall` coercions, then pushing the > remaining `cast` through the dictionary arguments, while > stripping off the outer `_R ->` coercion > wrappers, and then pushing the cast into the `case` > alternatives and the lambda body, leaving something like > > > (\ (@ a8) (@ b) > > ($dEncodable :: Encodable a8) > > ($dEncodable1 :: Encodable b) -> > > case $dEncodable of _ > > D:Encodable _ tpl_B3 -> > > case $dEncodable1 of _ > > D:Encodable tpl_B2 _ -> > > \ (g :: a8 -> b) -> > > (\ (eta :: Encode a8) -> tpl_B2 (g (tpl_B3 eta))) > > `cast` (Sub (Sym (TFCo:R:Encode(->)[0] _N > _N)) > > :: (Encode a8 -> Encode b) > > ~# > > (Encode (a8 -> b)))) > > Now, given type, dictionary, and function arguments, I think > we could beta-reduce. > > Before I try implementing these transformations, does > something like them already exist in GHC? > > Thanks, -- Conal > > > > > > _______________________________________________ > ghc-devs mailing list > ghc-devs at haskell.org > http://www.haskell.org/mailman/listinfo/ghc-devs -------------- next part -------------- An HTML attachment was scrubbed... URL: From simonpj at microsoft.com Thu May 8 12:03:22 2014 From: simonpj at microsoft.com (Simon Peyton Jones) Date: Thu, 8 May 2014 12:03:22 +0000 Subject: Cabal can't open a TCP connection Message-ID: <618BE556AADD624C9C918AA5D5911BEF0C850EB4@DB3PRD3001MB020.064d.mgd.msft.net> Dear ghc-devs Cabal can't open a TCP connection from my Linux box. It used to work fine. Here's what it says: cabal -v3 update Downloading the latest package list from hackage.haskell.org Sending: GET http://hackage.haskell.org/packages/archive/00-index.tar.gz HTTP/1.1 User-Agent: cabal-install/1.16.0.2 Host: hackage.haskell.org proxy uri host: , port: Creating new connection to cabal: openTCPConnection: host lookup failure for "" simonpj at cam-05-unx:~/code/HEAD$ cabal --version cabal-install version 1.16.0.2 using version 1.16.0.3 of the Cabal library simonpj at cam-05-unx:~/code/HEAD$ Can anyone help me work out what to do? git works just fine, so the internet is connected all right. Thanks Simon -------------- next part -------------- An HTML attachment was scrubbed... URL: From hvriedel at gmail.com Thu May 8 12:40:56 2014 From: hvriedel at gmail.com (Herbert Valerio Riedel) Date: Thu, 08 May 2014 14:40:56 +0200 Subject: Cabal can't open a TCP connection In-Reply-To: <618BE556AADD624C9C918AA5D5911BEF0C850EB4@DB3PRD3001MB020.064d.mgd.msft.net> (Simon Peyton Jones's message of "Thu, 8 May 2014 12:03:22 +0000") References: <618BE556AADD624C9C918AA5D5911BEF0C850EB4@DB3PRD3001MB020.064d.mgd.msft.net> Message-ID: <87siok30kn.fsf@gmail.com> On 2014-05-08 at 14:03:22 +0200, Simon Peyton Jones wrote: > Dear ghc-devs > Cabal can't open a TCP connection from my Linux box. It used to work fine. Here's what it says: [...] > proxy uri host: , port: > Creating new connection to > cabal: openTCPConnection: host lookup failure for "" my best guess: your proxy settings seem off From simonpj at microsoft.com Thu May 8 13:22:29 2014 From: simonpj at microsoft.com (Simon Peyton Jones) Date: Thu, 8 May 2014 13:22:29 +0000 Subject: Cabal can't open a TCP connection In-Reply-To: <87siok30kn.fsf@gmail.com> References: <618BE556AADD624C9C918AA5D5911BEF0C850EB4@DB3PRD3001MB020.064d.mgd.msft.net> <87siok30kn.fsf@gmail.com> Message-ID: <618BE556AADD624C9C918AA5D5911BEF0C851099@DB3PRD3001MB020.064d.mgd.msft.net> | my best guess: your proxy settings seem off I think that's a good guess. On this machine we used to have to use a proxy (so $http_proxy had a URL in it), but now we don't (so $http_proxy is empty). Maybe that's confusing Cabal. On a machine that doesn't need to use a proxy server, what should $http_proxy be set to? Simon | -----Original Message----- | From: Herbert Valerio Riedel [mailto:hvriedel at gmail.com] | Sent: 08 May 2014 13:41 | To: Simon Peyton Jones | Cc: ghc-devs at haskell.org; Simon Marlow | Subject: Re: Cabal can't open a TCP connection | | On 2014-05-08 at 14:03:22 +0200, Simon Peyton Jones wrote: | > Dear ghc-devs | > Cabal can't open a TCP connection from my Linux box. It used to work | fine. Here's what it says: | | [...] | | > proxy uri host: , port: | > Creating new connection to | > cabal: openTCPConnection: host lookup failure for "" | | my best guess: your proxy settings seem off From ky3 at atamo.com Thu May 8 13:48:17 2014 From: ky3 at atamo.com (Kim-Ee Yeoh) Date: Thu, 8 May 2014 20:48:17 +0700 Subject: Cabal can't open a TCP connection In-Reply-To: <618BE556AADD624C9C918AA5D5911BEF0C851099@DB3PRD3001MB020.064d.mgd.msft.net> References: <618BE556AADD624C9C918AA5D5911BEF0C850EB4@DB3PRD3001MB020.064d.mgd.msft.net> <87siok30kn.fsf@gmail.com> <618BE556AADD624C9C918AA5D5911BEF0C851099@DB3PRD3001MB020.064d.mgd.msft.net> Message-ID: On Thu, May 8, 2014 at 8:22 PM, Simon Peyton Jones wrote: > On a machine that doesn't need to use a proxy server, what should > $http_proxy be set to? It's a Maybe (Maybe String) problem. Blame Cabal for not ignoring an empty http_proxy. The *nix programs I've tried treat empty as unset. The solution is: unset HTTP_PROXY. -- Kim-Ee -------------- next part -------------- An HTML attachment was scrubbed... URL: From metaniklas at gmail.com Thu May 8 14:25:15 2014 From: metaniklas at gmail.com (Niklas Larsson) Date: Thu, 8 May 2014 16:25:15 +0200 Subject: SV: Cabal can't open a TCP connection Message-ID: <536b93ee.a50b700a.7fb0.3114@mx.google.com> Looks like your proxy configuration is wrong. Git has its own proxy settings in .gitconfig. Look at the http_proxy environment variable. If you're not actually behind a proxy the problem could be the existence of http_proxy or HTTP_PROXY. ----- Ursprungligt meddelande ----- Fr?n: "Simon Peyton Jones" Skickat: ?2014-?05-?08 14:04 Till: "ghc-devs at haskell.org" Kopia: "Simon Marlow" ?mne: Cabal can't open a TCP connection Dear ghc-devs Cabal can?t open a TCP connection from my Linux box. It used to work fine. Here?s what it says: cabal -v3 update Downloading the latest package list from hackage.haskell.org Sending: GET http://hackage.haskell.org/packages/archive/00-index.tar.gz HTTP/1.1 User-Agent: cabal-install/1.16.0.2 Host: hackage.haskell.org proxy uri host: , port: Creating new connection to cabal: openTCPConnection: host lookup failure for "" simonpj at cam-05-unx:~/code/HEAD$ cabal --version cabal-install version 1.16.0.2 using version 1.16.0.3 of the Cabal library simonpj at cam-05-unx:~/code/HEAD$ Can anyone help me work out what to do? git works just fine, so the internet is connected all right. Thanks Simon -------------- next part -------------- An HTML attachment was scrubbed... URL: From simonpj at microsoft.com Thu May 8 16:20:16 2014 From: simonpj at microsoft.com (Simon Peyton Jones) Date: Thu, 8 May 2014 16:20:16 +0000 Subject: Cabal can't open a TCP connection In-Reply-To: References: <618BE556AADD624C9C918AA5D5911BEF0C850EB4@DB3PRD3001MB020.064d.mgd.msft.net> <87siok30kn.fsf@gmail.com> <618BE556AADD624C9C918AA5D5911BEF0C851099@DB3PRD3001MB020.064d.mgd.msft.net> Message-ID: <618BE556AADD624C9C918AA5D5911BEF0C8512DB@DB3PRD3001MB020.064d.mgd.msft.net> Spot on, Kim-Ee. Thanks. unsetting http_proxy fixed it. I?m fwding to cabal-devel: it would be great that if ?http_proxy? was set to ??, then it behaved just as if it was un-set. The current behaviour is very confusing (to me anyway). Simon From: Kim-Ee Yeoh [mailto:ky3 at atamo.com] Sent: 08 May 2014 14:48 To: Simon Peyton Jones Cc: Herbert Valerio Riedel; Simon Marlow; ghc-devs at haskell.org Subject: Re: Cabal can't open a TCP connection On Thu, May 8, 2014 at 8:22 PM, Simon Peyton Jones > wrote: On a machine that doesn't need to use a proxy server, what should $http_proxy be set to? It's a Maybe (Maybe String) problem. Blame Cabal for not ignoring an empty http_proxy. The *nix programs I've tried treat empty as unset. The solution is: unset HTTP_PROXY. -- Kim-Ee ________________________________ Fr?n: Simon Peyton Jones Skickat: ?2014-?05-?08 14:04 Till: ghc-devs at haskell.org Kopia: Simon Marlow ?mne: Cabal can't open a TCP connection Dear ghc-devs Cabal can?t open a TCP connection from my Linux box. It used to work fine. Here?s what it says: cabal -v3 update Downloading the latest package list from hackage.haskell.org Sending: GET http://hackage.haskell.org/packages/archive/00-index.tar.gz HTTP/1.1 User-Agent: cabal-install/1.16.0.2 Host: hackage.haskell.org proxy uri host: , port: Creating new connection to cabal: openTCPConnection: host lookup failure for "" simonpj at cam-05-unx:~/code/HEAD$ cabal --version cabal-install version 1.16.0.2 using version 1.16.0.3 of the Cabal library simonpj at cam-05-unx:~/code/HEAD$ Can anyone help me work out what to do? git works just fine, so the internet is connected all right. Thanks Simon -------------- next part -------------- An HTML attachment was scrubbed... URL: From ganesh at earth.li Thu May 8 17:25:30 2014 From: ganesh at earth.li (Ganesh Sittampalam) Date: Thu, 08 May 2014 18:25:30 +0100 Subject: Cabal can't open a TCP connection In-Reply-To: <618BE556AADD624C9C918AA5D5911BEF0C8512DB@DB3PRD3001MB020.064d.mgd.msft.net> References: <618BE556AADD624C9C918AA5D5911BEF0C850EB4@DB3PRD3001MB020.064d.mgd.msft.net> <87siok30kn.fsf@gmail.com> <618BE556AADD624C9C918AA5D5911BEF0C851099@DB3PRD3001MB020.064d.mgd.msft.net> <618BE556AADD624C9C918AA5D5911BEF0C8512DB@DB3PRD3001MB020.064d.mgd.msft.net> Message-ID: <536BBE0A.4030800@earth.li> I think this fix would belong in the HTTP library. I've opened https://github.com/haskell/HTTP/issues/66 - the only argument against making the change I can see is that it might not be consistent with other tools, but that doesn't seem to be the case. If noone has an opposing view I'll probably implement it soon. On 08/05/2014 17:20, Simon Peyton Jones wrote: > Spot on, Kim-Ee. Thanks. unsetting http_proxy fixed it. > > > > I?m fwding to cabal-devel: it would be great that if ?http_proxy? was > set to ??, then it behaved just as if it was un-set. The current > behaviour is very confusing (to me anyway). > > > > Simon > > > > *From:*Kim-Ee Yeoh [mailto:ky3 at atamo.com] > *Sent:* 08 May 2014 14:48 > *To:* Simon Peyton Jones > *Cc:* Herbert Valerio Riedel; Simon Marlow; ghc-devs at haskell.org > *Subject:* Re: Cabal can't open a TCP connection > > > > > > On Thu, May 8, 2014 at 8:22 PM, Simon Peyton Jones > > wrote: > > On a machine that doesn't need to use a proxy server, what should > $http_proxy be set to? > > > > It's a Maybe (Maybe String) problem. Blame Cabal for not ignoring an > empty http_proxy. The *nix programs I've tried treat empty as unset. > > The solution is: unset HTTP_PROXY. > > > -- Kim-Ee > > > > ------------------------------------------------------------------------ > > *Fr?n: *Simon Peyton Jones > *Skickat: *?2014-?05-?08 14:04 > *Till: *ghc-devs at haskell.org > *Kopia: *Simon Marlow > *?mne: *Cabal can't open a TCP connection > > Dear ghc-devs > > Cabal can?t open a TCP connection from my Linux box. It used to work > fine. Here?s what it says: > > cabal -v3 update > > Downloading the latest package list from hackage.haskell.org > > Sending: > > GET http://hackage.haskell.org/packages/archive/00-index.tar.gz HTTP/1.1 > > User-Agent: cabal-install/1.16.0.2 > > Host: hackage.haskell.org > > proxy uri host: , port: > > Creating new connection to > > cabal: openTCPConnection: host lookup failure for "" > > > > simonpj at cam-05-unx:~/code/HEAD$ cabal --version > > cabal-install version 1.16.0.2 > > using version 1.16.0.3 of the Cabal library > > simonpj at cam-05-unx:~/code/HEAD$ > > Can anyone help me work out what to do? git works just fine, so the > internet is connected all right. > > Thanks > > Simon > > > > > > _______________________________________________ > ghc-devs mailing list > ghc-devs at haskell.org > http://www.haskell.org/mailman/listinfo/ghc-devs > From conal at conal.net Thu May 8 18:04:44 2014 From: conal at conal.net (Conal Elliott) Date: Thu, 8 May 2014 11:04:44 -0700 Subject: Simplifying casts and beta-reduction In-Reply-To: <536B7215.9080607@mcmaster.ca> References: <618BE556AADD624C9C918AA5D5911BEF0C0DDD7C@DB3PRD3001MB020.064d.mgd.msft.net> <536B7215.9080607@mcmaster.ca> Message-ID: Thanks, Jacques! That paper looks tremendously relevant to what I'm doing. -- Conal On Thu, May 8, 2014 at 5:01 AM, Jacques Carette wrote: > Sorry to jump in mid-conversation, but since I read about people doing > exactly this a few days ago, I thought this might be useful. See the paper > Michael D. Adams, > Andrew Farmer, > Jos? Pedro Magalh?es: Optimizing SYB is easy! PEPM 2014: > 71-82 > http://www.ittc.ku.edu/csdl/fpg/files/Adams-13-OSIE.pdf > > where they use Hermit > http://www.ittc.ku.edu/csdl/fpg/software/hermit.html > http://hackage.haskell.org/package/hermit > to do exactly this transformation [and a fair bit more]. > > Jacques > > > On 2014-05-07 11:18 PM, Conal Elliott wrote: > > I'm still sorting through how to optimize these almost-beta-redexes in > the form `((\ x -> u) |> co) v`, shifting coercions to enable > beta-reduction (as described in section 3.1 of "Evidence normalization"). > Is it done by `simplCast` (with help from `simplCoercion`), as called > indirectly from `simplifyExpr` in `SimplCore`? I think I'm now calling > `simplifyExpr` from HERMIT but I'm not getting the cast-shifting I'm > looking for. > > -- Conal > > > On Wed, May 7, 2014 at 1:02 PM, Conal Elliott wrote: > >> Very useful, indeed! Exactly what I was looking for. Thanks, Simon. Now >> I've read the evidence normalization and the deferred types paper, and I >> have a much better understanding of what's going on. >> >> -- Conal >> >> >> >> On Wed, May 7, 2014 at 1:28 AM, Simon Peyton Jones > > wrote: >> >>> Absolutely. There?s a whole module that does this: OptCoercion. If >>> you want to see what programs look like without coercion optimisation, try >>> ?fno-opt-coercion. >>> >>> >>> >>> The rules are described in our paper *Evidence normalization in System >>> FC: http://research.microsoft.com/en-us/um/people/simonpj/papers/ext-f/ >>> * >>> >>> >>> >>> I hope that?s useful. >>> >>> >>> >>> Simon >>> >>> >>> >>> *From:* ghc-devs [mailto:ghc-devs-bounces at haskell.org] *On Behalf Of *Conal >>> Elliott >>> *Sent:* 07 May 2014 04:50 >>> *To:* ghc-devs at haskell.org >>> *Subject:* Simplifying casts and beta-reduction >>> >>> >>> >>> I'm looking for tools to help simplify Core terms that involve casts. In >>> particular, I want to beta-reduce when the function is wrapped with a cast. >>> Do the GHC sources have such utility functions? >>> >>> Here is an example of a lambda expression with a cast. In context, it's >>> applied to two type arguments and two dictionary arguments and returns a >>> function of one more argument. (The function `(-->)` is defined as `(f --> >>> h) g = h . g . f`.) >>> >>> > ((\ (@ a8) (@ b) >>> > ($dEncodable :: Encodable a8) >>> > ($dEncodable1 :: Encodable b) -> >>> > case $dEncodable of _ >>> > D:Encodable _ tpl_B3 -> >>> > case $dEncodable1 of _ >>> > D:Encodable tpl_B2 _ -> >>> > \ (g :: a8 -> b) (eta :: Encode a8) -> tpl_B2 (g (tpl_B3 >>> eta)) >>> > ) >>> > `cast` (forall a8 b. >>> > _R >>> > -> _R >>> > -> b>_R >>> > -> Sub (Sym (TFCo:R:Encode(->)[0] _N _N)) >>> > :: (forall a8 b. (Encodable a8, Encodable b) => >>> > (a8 -> b) -> Encode a8 -> Encode b) >>> > ~# >>> > (forall a8 b. (Encodable a8, Encodable b) => >>> > (a8 -> b) -> Encode (a8 -> b)))) >>> >>> I can imagine pushing the `cast` down through the type lambdas while >>> stripping off `forall` coercions, then pushing the remaining `cast` through >>> the dictionary arguments, while stripping off the outer `_R >>> ->` coercion wrappers, and then pushing the cast into the `case` >>> alternatives and the lambda body, leaving something like >>> >>> > (\ (@ a8) (@ b) >>> > ($dEncodable :: Encodable a8) >>> > ($dEncodable1 :: Encodable b) -> >>> > case $dEncodable of _ >>> > D:Encodable _ tpl_B3 -> >>> > case $dEncodable1 of _ >>> > D:Encodable tpl_B2 _ -> >>> > \ (g :: a8 -> b) -> >>> > (\ (eta :: Encode a8) -> tpl_B2 (g (tpl_B3 eta))) >>> > `cast` (Sub (Sym (TFCo:R:Encode(->)[0] _N _N)) >>> > :: (Encode a8 -> Encode b) >>> > ~# >>> > (Encode (a8 -> b)))) >>> >>> Now, given type, dictionary, and function arguments, I think we could >>> beta-reduce. >>> >>> Before I try implementing these transformations, does something like >>> them already exist in GHC? >>> >>> Thanks, -- Conal >>> >> >> > > > _______________________________________________ > ghc-devs mailing listghc-devs at haskell.orghttp://www.haskell.org/mailman/listinfo/ghc-devs > > > -------------- next part -------------- An HTML attachment was scrubbed... URL: From conal at conal.net Thu May 8 19:32:32 2014 From: conal at conal.net (Conal Elliott) Date: Thu, 8 May 2014 12:32:32 -0700 Subject: Simplifying casts and beta-reduction In-Reply-To: <618BE556AADD624C9C918AA5D5911BEF0C84EAF1@DB3PRD3001MB020.064d.mgd.msft.net> References: <618BE556AADD624C9C918AA5D5911BEF0C0DDD7C@DB3PRD3001MB020.064d.mgd.msft.net> <618BE556AADD624C9C918AA5D5911BEF0C84EAF1@DB3PRD3001MB020.064d.mgd.msft.net> Message-ID: Thanks, Simon. I'll keep poking around. On Thu, May 8, 2014 at 12:54 AM, Simon Peyton Jones wrote: > Yes, that?s right: simplCast is the guy. I can?t explain why it?s not > working for you, though > > > > Simon > > > > *From:* conal.elliott at gmail.com [mailto:conal.elliott at gmail.com] *On > Behalf Of *Conal Elliott > *Sent:* 08 May 2014 04:19 > *To:* Simon Peyton Jones > *Cc:* ghc-devs at haskell.org > *Subject:* Re: Simplifying casts and beta-reduction > > > > I'm still sorting through how to optimize these almost-beta-redexes in the > form `((\ x -> u) |> co) v`, shifting coercions to enable beta-reduction > (as described in section 3.1 of "Evidence normalization"). Is it done by > `simplCast` (with help from `simplCoercion`), as called indirectly from > `simplifyExpr` in `SimplCore`? I think I'm now calling `simplifyExpr` from > HERMIT but I'm not getting the cast-shifting I'm looking for. > > -- Conal > > > > On Wed, May 7, 2014 at 1:02 PM, Conal Elliott wrote: > > Very useful, indeed! Exactly what I was looking for. Thanks, Simon. Now > I've read the evidence normalization and the deferred types paper, and I > have a much better understanding of what's going on. > > -- Conal > > > > On Wed, May 7, 2014 at 1:28 AM, Simon Peyton Jones > wrote: > > Absolutely. There?s a whole module that does this: OptCoercion. If you > want to see what programs look like without coercion optimisation, try > ?fno-opt-coercion. > > > > The rules are described in our paper *Evidence normalization in System > FC: http://research.microsoft.com/en-us/um/people/simonpj/papers/ext-f/ > * > > > > I hope that?s useful. > > > > Simon > > > > *From:* ghc-devs [mailto:ghc-devs-bounces at haskell.org] *On Behalf Of *Conal > Elliott > *Sent:* 07 May 2014 04:50 > *To:* ghc-devs at haskell.org > *Subject:* Simplifying casts and beta-reduction > > > > I'm looking for tools to help simplify Core terms that involve casts. In > particular, I want to beta-reduce when the function is wrapped with a cast. > Do the GHC sources have such utility functions? > > Here is an example of a lambda expression with a cast. In context, it's > applied to two type arguments and two dictionary arguments and returns a > function of one more argument. (The function `(-->)` is defined as `(f --> > h) g = h . g . f`.) > > > ((\ (@ a8) (@ b) > > ($dEncodable :: Encodable a8) > > ($dEncodable1 :: Encodable b) -> > > case $dEncodable of _ > > D:Encodable _ tpl_B3 -> > > case $dEncodable1 of _ > > D:Encodable tpl_B2 _ -> > > \ (g :: a8 -> b) (eta :: Encode a8) -> tpl_B2 (g (tpl_B3 > eta)) > > ) > > `cast` (forall a8 b. > > _R > > -> _R > > -> b>_R > > -> Sub (Sym (TFCo:R:Encode(->)[0] _N _N)) > > :: (forall a8 b. (Encodable a8, Encodable b) => > > (a8 -> b) -> Encode a8 -> Encode b) > > ~# > > (forall a8 b. (Encodable a8, Encodable b) => > > (a8 -> b) -> Encode (a8 -> b)))) > > I can imagine pushing the `cast` down through the type lambdas while > stripping off `forall` coercions, then pushing the remaining `cast` through > the dictionary arguments, while stripping off the outer `_R > ->` coercion wrappers, and then pushing the cast into the `case` > alternatives and the lambda body, leaving something like > > > (\ (@ a8) (@ b) > > ($dEncodable :: Encodable a8) > > ($dEncodable1 :: Encodable b) -> > > case $dEncodable of _ > > D:Encodable _ tpl_B3 -> > > case $dEncodable1 of _ > > D:Encodable tpl_B2 _ -> > > \ (g :: a8 -> b) -> > > (\ (eta :: Encode a8) -> tpl_B2 (g (tpl_B3 eta))) > > `cast` (Sub (Sym (TFCo:R:Encode(->)[0] _N _N)) > > :: (Encode a8 -> Encode b) > > ~# > > (Encode (a8 -> b)))) > > Now, given type, dictionary, and function arguments, I think we could > beta-reduce. > > Before I try implementing these transformations, does something like them > already exist in GHC? > > Thanks, -- Conal > > > > > -------------- next part -------------- An HTML attachment was scrubbed... URL: From groldugin at cse.unsw.edu.au Fri May 9 04:08:30 2014 From: groldugin at cse.unsw.edu.au (George Roldugin) Date: Fri, 9 May 2014 14:08:30 +1000 Subject: GHC not parsing TH pretty printed code Message-ID: <90857027-3771-4FD5-AFF9-3468B7A6DE8C@cse.unsw.edu.au> Hi all, I've hit a problem with GHC 7.8 where the code pretty printed by Template Haskell fails to parse. The problem is with the placement of explicit semicolons in place of indentation. The following code pretty printed by TH won't parse: bar = do {let x = 5; return x} GHC expects the following placement of semicolons: bar = do {let x = 5 ; return x} I reported this bug and included sample TH code to reproduce the problem here: https://ghc.haskell.org/trac/ghc/ticket/9022 I rely on compiling code constructed with TH for my thesis project. Is there a work around I could use besides going back to GHC 7.6? Cheers, George From eir at cis.upenn.edu Fri May 9 04:24:54 2014 From: eir at cis.upenn.edu (Richard Eisenberg) Date: Fri, 9 May 2014 00:24:54 -0400 Subject: GHC not parsing TH pretty printed code In-Reply-To: <90857027-3771-4FD5-AFF9-3468B7A6DE8C@cse.unsw.edu.au> References: <90857027-3771-4FD5-AFF9-3468B7A6DE8C@cse.unsw.edu.au> Message-ID: Well, the problem isn't quite that the semicolon is expected before the second line -- it's that the semicolon is interpreted as separating let-definitions, not do-statements. For example, the following works: bar = do {let {x = 5}; return x} Looking quickly through the TH's pretty-printer code, there seem to be several places where problems like this might arise, due to lack of braces or too many of them. What to do? If you're blocked by this issue, just edit the pretty-printer code. The code is actually quite straightforward. Get the sources (https://ghc.haskell.org/trac/ghc/wiki/Building/GettingTheSources), prep your machine (https://ghc.haskell.org/trac/ghc/wiki/Building/Preparation), and build. Given that TH has changed since the 7.8 release, I recommend saying `sync-all checkout ghc-7.8` to get the 7.8 branch before building. After building, do some sanity checks to make sure your hand-built GHC is working. Then, just edit libraries/template-haskell/Language/Haskell/TH/Ppr.hs until things work. In particular, I bet adding a call to `braces` on line 150 will go a long way here. Even if we fixed the bug you reported, that bugfix would be in HEAD, where TH is different than in 7.8. It's possible it would be merged for 7.8.3, but my guess is that you don't want to wait that long. I hope this helps! Richard On May 9, 2014, at 12:08 AM, George Roldugin wrote: > Hi all, > > I've hit a problem with GHC 7.8 where the code pretty printed by Template Haskell fails to parse. > > The problem is with the placement of explicit semicolons in place of indentation. > > The following code pretty printed by TH won't parse: > > bar = do {let x = 5; > return x} > > > GHC expects the following placement of semicolons: > > bar = do {let x = 5 > ; return x} > > > I reported this bug and included sample TH code to reproduce the problem here: > https://ghc.haskell.org/trac/ghc/ticket/9022 > > I rely on compiling code constructed with TH for my thesis project. > > Is there a work around I could use besides going back to GHC 7.6? > > Cheers, > George > _______________________________________________ > ghc-devs mailing list > ghc-devs at haskell.org > http://www.haskell.org/mailman/listinfo/ghc-devs From simonpj at microsoft.com Fri May 9 07:29:15 2014 From: simonpj at microsoft.com (Simon Peyton Jones) Date: Fri, 9 May 2014 07:29:15 +0000 Subject: GHC not parsing TH pretty printed code In-Reply-To: References: <90857027-3771-4FD5-AFF9-3468B7A6DE8C@cse.unsw.edu.au> Message-ID: <618BE556AADD624C9C918AA5D5911BEF0C8516D1@DB3PRD3001MB020.064d.mgd.msft.net> Richard is spot on. Meanwhile, do open a ticket on this. Maybe someone else will jump in to help. Do give a step-by-step way to reproduce the problem. Simon | -----Original Message----- | From: ghc-devs [mailto:ghc-devs-bounces at haskell.org] On Behalf Of | Richard Eisenberg | Sent: 09 May 2014 05:25 | To: George Roldugin | Cc: ghc-devs at haskell.org | Subject: Re: GHC not parsing TH pretty printed code | | Well, the problem isn't quite that the semicolon is expected before the | second line -- it's that the semicolon is interpreted as separating let- | definitions, not do-statements. | | For example, the following works: | | bar = do {let {x = 5}; | return x} | | Looking quickly through the TH's pretty-printer code, there seem to be | several places where problems like this might arise, due to lack of | braces or too many of them. | | What to do? If you're blocked by this issue, just edit the pretty- | printer code. The code is actually quite straightforward. Get the | sources | (https://ghc.haskell.org/trac/ghc/wiki/Building/GettingTheSources), | prep your machine | (https://ghc.haskell.org/trac/ghc/wiki/Building/Preparation), and build. | Given that TH has changed since the 7.8 release, I recommend saying | `sync-all checkout ghc-7.8` to get the 7.8 branch before building. | | After building, do some sanity checks to make sure your hand-built GHC | is working. | | Then, just edit libraries/template-haskell/Language/Haskell/TH/Ppr.hs | until things work. In particular, I bet adding a call to `braces` on | line 150 will go a long way here. | | Even if we fixed the bug you reported, that bugfix would be in HEAD, | where TH is different than in 7.8. It's possible it would be merged for | 7.8.3, but my guess is that you don't want to wait that long. | | I hope this helps! | Richard | | On May 9, 2014, at 12:08 AM, George Roldugin | wrote: | | > Hi all, | > | > I've hit a problem with GHC 7.8 where the code pretty printed by | Template Haskell fails to parse. | > | > The problem is with the placement of explicit semicolons in place of | indentation. | > | > The following code pretty printed by TH won't parse: | > | > bar = do {let x = 5; | > return x} | > | > | > GHC expects the following placement of semicolons: | > | > bar = do {let x = 5 | > ; return x} | > | > | > I reported this bug and included sample TH code to reproduce the | problem here: | > https://ghc.haskell.org/trac/ghc/ticket/9022 | > | > I rely on compiling code constructed with TH for my thesis project. | > | > Is there a work around I could use besides going back to GHC 7.6? | > | > Cheers, | > George | > _______________________________________________ | > ghc-devs mailing list | > ghc-devs at haskell.org | > http://www.haskell.org/mailman/listinfo/ghc-devs | | _______________________________________________ | ghc-devs mailing list | ghc-devs at haskell.org | http://www.haskell.org/mailman/listinfo/ghc-devs From lortabac at gmx.com Fri May 9 09:35:43 2014 From: lortabac at gmx.com (Lorenzo Tabacchini) Date: Fri, 09 May 2014 11:35:43 +0200 Subject: Bugsquashing at ZuriHac In-Reply-To: <1399467281.2258.33.camel@kirk> References: <1399467281.2258.33.camel@kirk> Message-ID: <536CA16F.10609@gmx.com> I am a GHC-newbie happy to help. Besides cloning, building the sources and reading the introductory pages on the GHC wiki, is there anything else I can do to prepare for the event? Are there any easier parts to start reading the code? Thank you From christiaan.baaij at gmail.com Fri May 9 14:29:09 2014 From: christiaan.baaij at gmail.com (Christiaan Baaij) Date: Fri, 9 May 2014 16:29:09 +0200 Subject: Why is an irrefutable pattern desugared to a 'cast', while an incomplete pattern is not? Message-ID: Dear list, When I ask for the desugaring of: > module PatError where > > paterror :: Maybe Int -> Int > paterror (Just i) = i I get the following: > PatError.paterror = > \ (ds_dIS :: Data.Maybe.Maybe GHC.Types.Int) -> > break<1>() > case ds_dIS of _ [Occ=Dead] { > __DEFAULT -> > (\ _ [Occ=Dead, OS=OneShot] -> > Control.Exception.Base.patError > @ GHC.Types.Int "PatError.hs:4:1-21|function paterror"#) > GHC.Prim.void#; > Data.Maybe.Just i_aqG -> break<0>(i_aqG) i_aqG > } Where 'Control.Exception.Base.patError' is applied to 'Int'. However, when I compile the almost identical code with an irrefutable pattern: > module PatError2 where > > patError :: Maybe Int -> Int > patError ~(Just i) = i I get the following core: > PatError2.paterror = > \ (ds_dIT :: Data.Maybe.Maybe GHC.Types.Int) -> > break<1>() > let { > i_aqG :: GHC.Types.Int > [LclId, Str=DmdType] > i_aqG = > case ds_dIT of _ [Occ=Dead] { > __DEFAULT -> > (\ _ [Occ=Dead, OS=OneShot] -> > (Control.Exception.Base.irrefutPatError > @ () "PatError2.hs:4:1-22|(Data.Maybe.Just i)"#) > `cast` (UnivCo representational () GHC.Types.Int > :: () ~# GHC.Types.Int)) > GHC.Prim.void#; > Data.Maybe.Just i_aqG -> i_aqG > } } in > break<0>(i_aqG) i_aqG Where 'Control.Exception.Base.patError' is first applied to '()' after which it is casted to 'GHC.Types.Int'. Out of the [note] for the 'UnivCo' coercion: > The UnivCo ("universal coercion") serves two rather separate functions: > - the implementation for unsafeCoerce# > - placeholder for phantom parameters in a TyConAppCo It seems to be used in the 'unsafeCoerce#' role here. My question is: why can't the irrefutable pattern be translated to 'Control.Exception.Base.irrefutPatError' applied to 'Int'? Instead of using this 'cast'? I find the cast-less version much more readable. Greetings, Christiaan From marlowsd at gmail.com Fri May 9 15:45:42 2014 From: marlowsd at gmail.com (Simon Marlow) Date: Fri, 09 May 2014 16:45:42 +0100 Subject: GHC status report In-Reply-To: References: <618BE556AADD624C9C918AA5D5911BEF0A58F2FC@DB3PRD3001MB020.064d.mgd.msft.net> <536128AF.7080209@gmail.com> <5362BC24.9030101@gmail.com> <5363990D.5080200@gmail.com> <5363F5E5.6040004@gmail.com> <5367FB82.6050001@gmail.com> Message-ID: <536CF826.1020606@gmail.com> On 07/05/2014 05:11, Dominick Samperi wrote: > OK, so if I understand correctly, there is no point trying to > narrow down my issue further as it is not supposed to work > with DYNAMIC_GHC_PROGRAMS=NO (because this disables > use of the system linker). On the contrary, if the external C++ code that you depend on is in a shared library or DLL then DYNAMIC_GHC_PROGRAMS=NO should work fine. > Furthermore, if the plan to disable > some form of GHC dynamic linkage is carried out, this should > not affect how external C/C++ libs are linked to (using the > system linker). Correct. (but there's no plan at the moment) > From other comments in this thread it > appears that there may be problems linking to C++ libs > that require static initialization. Only when both (a) the C++ code is in the same library as the Haskell code (b) DYNAMIC_GHC_PROGRAMS=NO And even then, GHC 7.8 has support for running static initializers in the linker so it might work now. Cheers, Simon > > On Mon, May 5, 2014 at 4:58 PM, Simon Marlow wrote: >> On 03/05/14 04:15, Dominick Samperi wrote: >>> >>> I'm trying to understand the dynamic linking situation with the help of >>> https://ghc.haskell.org/trac/ghc/wiki/Status/GHC-7.8, and according >>> to this information I need to specify DYNAMIC_GHC_PROGRAMS=YES >>> for ghci to use the system linker. I don't understand why you suggested >>> I test with DYNAMIC_GHC_PROGRAMS=NO? >> >> >> The question I'm trying to answer is "what stops working if we use >> DYNAMIC_GHC_PROGRAMS=NO?". So that's why I'm interested in what happens if >> you set this option. >> >> Thanks for your help! >> >> Cheers, >> Simon >> >> >> >>> Another interesting twist is that my experience under Windows >>> is the opposite of the negative experience described on this >>> page. What I mean by this is more versions of ghci seem to >>> work under Windows (correctly linking to R.dll) than work >>> under Linux! >>> >>> >>> On Fri, May 2, 2014 at 3:45 PM, Simon Marlow wrote: >>>> >>>> Can you give me a quick summary of how to reproduce the problem? (not >>>> including the GHC build steps) >>>> >>>> Cheers, >>>> Simon >>>> >>>> >>>> On 02/05/14 18:18, Dominick Samperi wrote: >>>>> >>>>> >>>>> I downloaded HEAD and placed DYNAMIC_GHC_PROGRAMS=NO in the "quick" >>>>> section of mk/build.mk (with BuildFlavour = quick), and set >>>>> DYNAMIC_GHC_PROGRAMS=NO >>>>> in my environment before running configure (just to be sure!). Near >>>>> the end of the build >>>>> I saw some messages like "Warning: vectorization failure," but the >>>>> build completed. >>>>> >>>>> The status at the end of configure doesn't say that dynamic linking >>>>> via RTS has been >>>>> turned off, and I don't know how to check that this is so. >>>>> Nevertheless, I checked >>>>> the linking issue and it is NOT fixed with this build, so >>>>> DYNAMIC_GHC_PROGRAMS=YES is required to prevent the problems >>>>> reported by me and others. >>>>> >>>>> >>>>> On Fri, May 2, 2014 at 9:09 AM, Simon Marlow wrote: >>>>>> >>>>>> >>>>>> On 02/05/2014 01:09, Dominick Samperi wrote: >>>>>> >>>>>>> If I understand your last comment correctly linking to libR should >>>>>>> continue to work, even if you revert to static linking of Haskell >>>>>>> compiled >>>>>>> code via RTS linker. Since you say this is the way things have always >>>>>>> been, perhaps the real explanation for why 7.8 fixed the issue is that >>>>>>> some bug was fixed along the way... >>>>>> >>>>>> >>>>>> >>>>>> >>>>>> Indeed. To know for sure we would have to test 7.8 with >>>>>> DYNAMIC_GHC_PROGRAMS=NO with your setup - is there a way to do that? >>>>>> >>>>>> Cheers, >>>>>> Simon >>>>>> >>>>>> >>>>>> >>>>>>> Note that R is a C library, so the C++ issues that Carter mentions are >>>>>>> not a factor here. >>>>>>> >>>>>>> Thanks, >>>>>>> Dominick >>>>>>> >>>>>>> On Thu, May 1, 2014 at 5:27 PM, Simon Marlow >>>>>>> wrote: >>>>>>>> >>>>>>>> >>>>>>>> >>>>>>>> On 01/05/14 14:48, Dominick Samperi wrote: >>>>>>>>> >>>>>>>>> >>>>>>>>> >>>>>>>>> >>>>>>>>> The problem with some graphics libraries used via FFI (and other >>>>>>>>> libraries >>>>>>>>> that are not thread-safe), if I understand the situation correctly, >>>>>>>>> is >>>>>>>>> that ghci >>>>>>>>> forks a thread when it shouldn't, causing some programs to >>>>>>>>> miscalculate >>>>>>>>> the available stack space (because they think there is only one >>>>>>>>> thread). >>>>>>>> >>>>>>>> >>>>>>>> >>>>>>>> >>>>>>>>> >>>>>>>>> >>>>>>>>> The new dynamic linking support and the flag -fno-ghci-sandbox fixes >>>>>>>>> this problem, and I would not vote for the removal of these >>>>>>>>> features. >>>>>>>> >>>>>>>> >>>>>>>> >>>>>>>> >>>>>>>> >>>>>>>> So I understand how -fno-ghci-sandbox avoids problems with GUI >>>>>>>> libraries >>>>>>>> that use thread-local state. But how is dynamic linking involved >>>>>>>> here? >>>>>>>> What improved in GHC 7.8 relative to 7.6 for you? And could you >>>>>>>> clarify >>>>>>>> "miscalculate the available stack space"? What needs to calculate >>>>>>>> stack >>>>>>>> space? Why? C stack space? >>>>>>>> >>>>>>>> We can certainly make a smoother experience around -fno-ghci-sandbox >>>>>>>> for >>>>>>>> using GUI libraries. >>>>>>>> >>>>>>>> >>>>>>>>> It is not clear to me from Simon's original post how linking to all >>>>>>>>> of >>>>>>>>> those C++ libs can continue to work if dynamic linking is removed >>>>>>>>> in 7.10? Perhaps I misunderstand what you mean by "revert to >>>>>>>>> static linking"? >>>>>>>> >>>>>>>> >>>>>>>> >>>>>>>> >>>>>>>> >>>>>>>> When I say "revert to static linking" I mean make GHCi static linked, >>>>>>>> and >>>>>>>> have it load Haskell code compiled for static linking using the RTS >>>>>>>> linker >>>>>>>> (like it did in 7.6). Foreign libraries would still be loaded using >>>>>>>> the >>>>>>>> system linker, as they always have been. >>>>>>>> >>>>>>>> To be clear, I'm not officially proposing that we drop dynamic >>>>>>>> linking, >>>>>>>> but >>>>>>>> I think it's worthwhile exploring the design space again, given that >>>>>>>> we >>>>>>>> know >>>>>>>> dynamic linking has been tougher than we expected. >>>>>>>> >>>>>>>> Cheers, >>>>>>>> Simon >>>>>>>> >>>>>>>> >>>>>>>> >>>>>>>>> Thanks, >>>>>>>>> Dominick >>>>>>>>> >>>>>>>>> >>>>>>>>> On Wed, Apr 30, 2014 at 9:26 PM, George Colpitts >>>>>>>>> wrote: >>>>>>>>>> >>>>>>>>>> >>>>>>>>>> >>>>>>>>>> >>>>>>>>>> To elaborate, in the past, I had a lot of problems using libraries >>>>>>>>>> from >>>>>>>>>> the >>>>>>>>>> ghci prompt on the Mac but I haven't tried recently. >>>>>>>>>> >>>>>>>>>> As an example, on the web page for the book the Haskell School of >>>>>>>>>> Expression >>>>>>>>>> it says: >>>>>>>>>> >>>>>>>>>> Note for OS X users: running graphics applications from GHCi is no >>>>>>>>>> longer >>>>>>>>>> supported. Instead, one has to compile a graphics program using GHC >>>>>>>>>> in >>>>>>>>>> order >>>>>>>>>> to run it (see example/GMIExamples.lhs for an example). >>>>>>>>>> >>>>>>>>>> I had similar problems using the Yale Euterpea music program from >>>>>>>>>> ghci. >>>>>>>>>> When >>>>>>>>>> I inquired I was referred to >>>>>>>>>> https://ghc.haskell.org/trac/ghc/ticket/4244 >>>>>>>>>> and https://ghc.haskell.org/trac/ghc/ticket/781. I see that the >>>>>>>>>> latter >>>>>>>>>> is >>>>>>>>>> now scheduled for 7.10.1 >>>>>>>>>> >>>>>>>>>> >>>>>>>>>> On Wed, Apr 30, 2014 at 1:45 PM, Simon Marlow >>>>>>>>>> wrote: >>>>>>>>>>> >>>>>>>>>>> >>>>>>>>>>> >>>>>>>>>>> >>>>>>>>>>> >>>>>>>>>>> On 30/04/2014 01:35, George Colpitts wrote: >>>>>>>>>>>> >>>>>>>>>>>> >>>>>>>>>>>> >>>>>>>>>>>> >>>>>>>>>>>> >>>>>>>>>>>> It doesn't have anything about the dynamic linking changes made >>>>>>>>>>>> for >>>>>>>>>>>> 7.8. >>>>>>>>>>>> I think it's worth mentioning the improvements we expect to get >>>>>>>>>>>> from >>>>>>>>>>>> that. The highlights of the release notes do mention it, so maybe >>>>>>>>>>>> that >>>>>>>>>>>> suffices. >>>>>>>>>>>> >>>>>>>>>>>> In particular, I'm hoping that it is going to fix a lot of >>>>>>>>>>>> problems >>>>>>>>>>>> with >>>>>>>>>>>> using foreign libraries such as OpenGL from ghci. I could be >>>>>>>>>>>> wrong >>>>>>>>>>>> about >>>>>>>>>>>> that though. >>>>>>>>>>> >>>>>>>>>>> >>>>>>>>>>> >>>>>>>>>>> >>>>>>>>>>> >>>>>>>>>>> >>>>>>>>>>> I'd like to understand more about what those problems are. As a >>>>>>>>>>> data >>>>>>>>>>> point, at Facebook we're using static linking (I compiled GHC with >>>>>>>>>>> DYNAMIC_GHC_PROGRAMS=NO), we're loading upwards of 50 3rd-party >>>>>>>>>>> C++ >>>>>>>>>>> libraries and one gigantic shared library consisting of a ton of >>>>>>>>>>> in-house >>>>>>>>>>> C++ code, together with all our Haskell code into GHCi, and it >>>>>>>>>>> works >>>>>>>>>>> perfectly. The key to using the static linker is to not use it >>>>>>>>>>> for >>>>>>>>>>> C++ >>>>>>>>>>> code >>>>>>>>>>> - you want all your external C++ code in shared libraries and load >>>>>>>>>>> those >>>>>>>>>>> using the system linker. >>>>>>>>>>> >>>>>>>>>>> Dynamic linking has been a huge headache in GHC, and it's not >>>>>>>>>>> clear >>>>>>>>>>> that >>>>>>>>>>> it's an overall improvement compared with the static linker. Now >>>>>>>>>>> that >>>>>>>>>>> 7.8 >>>>>>>>>>> is out of the way, it's time to have a conversation about whether >>>>>>>>>>> we >>>>>>>>>>> want to >>>>>>>>>>> do dynamic linking again for 7.10, or revert to static linking. I >>>>>>>>>>> think >>>>>>>>>>> Austin is going to update >>>>>>>>>>> https://ghc.haskell.org/trac/ghc/wiki/DynamicGhcPrograms, and then >>>>>>>>>>> we'll >>>>>>>>>>> see >>>>>>>>>>> where we stand. >>>>>>>>>>> >>>>>>>>>>> Cheers, >>>>>>>>>>> Simon >>>>>>>>>>> >>>>>>>>>>> >>>>>>>>>>> >>>>>>>>>>>> >>>>>>>>>>>> On Tue, Apr 29, 2014 at 6:13 PM, Simon Peyton Jones >>>>>>>>>>>> > wrote: >>>>>>>>>>>> >>>>>>>>>>>> As Austin has told us, there's a draft of the *GHC Status >>>>>>>>>>>> Report >>>>>>>>>>>> for >>>>>>>>>>>> the HCAR*, here:____ >>>>>>>>>>>> >>>>>>>>>>>> https://ghc.haskell.org/trac/ghc/wiki/Status/May14____ >>>>>>>>>>>> >>>>>>>>>>>> >>>>>>>>>>>> Have we missed out something you have been working hard >>>>>>>>>>>> on? >>>>>>>>>>>> Do >>>>>>>>>>>> take a moment to add a bullet in an appropriate place >>>>>>>>>>>> (it's >>>>>>>>>>>> a >>>>>>>>>>>> wiki). I'd like to be sure that we are giving credit to >>>>>>>>>>>> all >>>>>>>>>>>> the >>>>>>>>>>>> appropriate people, so please help us fix that too. GHC >>>>>>>>>>>> is >>>>>>>>>>>> a >>>>>>>>>>>> team >>>>>>>>>>>> effort.____ >>>>>>>>>>>> >>>>>>>>>>>> Deadline is 1 May I think.____ >>>>>>>>>>>> >>>>>>>>>>>> Thanks____ >>>>>>>>>>>> >>>>>>>>>>>> Simon____ >>>>>>>>>>>> >>>>>>>>>>>> __ __ >>>>>>>>>>>> >>>>>>>>>>>> >>>>>>>>>>>> _______________________________________________ >>>>>>>>>>>> ghc-devs mailing list >>>>>>>>>>>> ghc-devs at haskell.org >>>>>>>>>>>> http://www.haskell.org/mailman/listinfo/ghc-devs >>>>>>>>>>>> >>>>>>>>>>>> >>>>>>>>>>>> >>>>>>>>>>>> >>>>>>>>>>>> >>>>>>>>>>>> _______________________________________________ >>>>>>>>>>>> ghc-devs mailing list >>>>>>>>>>>> ghc-devs at haskell.org >>>>>>>>>>>> http://www.haskell.org/mailman/listinfo/ghc-devs >>>>>>>>>>>> >>>>>>>>>> >>>>>>>>>> >>>>>>>>>> _______________________________________________ >>>>>>>>>> ghc-devs mailing list >>>>>>>>>> ghc-devs at haskell.org >>>>>>>>>> http://www.haskell.org/mailman/listinfo/ghc-devs >>>>>>>>>> >>>>>>>> >>>>>> >>>> >> From marlowsd at gmail.com Fri May 9 15:47:56 2014 From: marlowsd at gmail.com (Simon Marlow) Date: Fri, 09 May 2014 16:47:56 +0100 Subject: Bugsquashing at ZuriHac In-Reply-To: <1399467281.2258.33.camel@kirk> References: <1399467281.2258.33.camel@kirk> Message-ID: <536CF8AC.3030508@gmail.com> Sounds like a great idea! I'll be around to answer questions. Cheers, Simon On 07/05/2014 13:54, Joachim Breitner wrote: > Dear fellow deverlopers, > > I?ll be attending ZuriHac in a month time, without a project of my own > that I plan to pursue. Hence I?m considering to run a ?GHC bug > squashing? project there. Besides getting bugs squashed, this should > hopefully attract new contributors and allow us to teach them the ropes > and tricks and the need for notes efficiently by shoulder-surfing and > face-to-face discussions. > > Who of you is going to attend ZuriHac as well and will want to join me > in managing this project? > > Also, this means its a good time to start tagging tickets as suitable > for beginners. I know we have a list somewhere, but googling for "ghc > easy tickets" does not find it... but clicking through the wiki I find > https://ghc.haskell.org/trac/ghc/wiki/Newcomers#Fixingabug > which is unfortunately quite small. > > I?ll also look for tickets of difficulty easy and moderate. > > Greetings, > Joachim > > > > > _______________________________________________ > ghc-devs mailing list > ghc-devs at haskell.org > http://www.haskell.org/mailman/listinfo/ghc-devs > From mail at joachim-breitner.de Fri May 9 15:54:47 2014 From: mail at joachim-breitner.de (Joachim Breitner) Date: Fri, 09 May 2014 17:54:47 +0200 Subject: Bugsquashing at ZuriHac In-Reply-To: <536CA16F.10609@gmx.com> References: <1399467281.2258.33.camel@kirk> <536CA16F.10609@gmx.com> Message-ID: <1399650887.13456.2.camel@kirk> Hi, Am Freitag, den 09.05.2014, 11:35 +0200 schrieb Lorenzo Tabacchini: > I am a GHC-newbie happy to help. > Besides cloning, building the sources and reading the introductory pages > on the GHC wiki, is there anything else I can do to prepare for the event? > Are there any easier parts to start reading the code? not sure, and I was a newbie very recently as well, so I can only give so much guidance and I won?t promise success. At least we?ll have fun :-) If you are ready to build the code, then that?s a good start. Bonus points if you can know how to validate the code, and even better if you have a dedicated checkout for that. Of course, you can skim through the list of bugs and mark some as interesting to you (but putting yourself on the CC list) already. Greetings, Joachim -- Joachim ?nomeata? Breitner mail at joachim-breitner.de ? http://www.joachim-breitner.de/ Jabber: nomeata at joachim-breitner.de ? GPG-Key: 0xF0FBF51F Debian Developer: nomeata at debian.org -------------- next part -------------- A non-text attachment was scrubbed... Name: signature.asc Type: application/pgp-signature Size: 836 bytes Desc: This is a digitally signed message part URL: From marlowsd at gmail.com Fri May 9 15:54:59 2014 From: marlowsd at gmail.com (Simon Marlow) Date: Fri, 09 May 2014 16:54:59 +0100 Subject: cgrun051 In-Reply-To: <618BE556AADD624C9C918AA5D5911BEF0C0B2B9E@DB3PRD3001MB020.064d.mgd.msft.net> References: <618BE556AADD624C9C918AA5D5911BEF0C0B2B9E@DB3PRD3001MB020.064d.mgd.msft.net> Message-ID: <536CFA53.90707@gmail.com> On 05/05/2014 14:15, Simon Peyton Jones wrote: > I?m getting > > Unexpected failures: > > . cgrun051 [bad exit code] > (normal,hpc,optasm,profasm,ghci,threaded1,threaded2,dyn,profthreaded,optllvm,g1) > > =====> cgrun051(optasm) 46 of 98 [0, 2, 0] > > cd . && '/5playpen/simonpj/HEAD-2/inplace/bin/ghc-stage2' -fforce-recomp > -dcore-lint -dcmm-lint -dno-debug-output -no-user-package-db -rtsopts > -fno-ghci-history -o cgrun051 cgrun051.hs -O -fasm > >cgrun051.comp.stderr 2>&1 > > cd . && ./cgrun051 cgrun051.run.stdout 2>cgrun051.run.stderr > > Wrong exit code (expected 0 , actual 1 ) > > cgrun051 throws an exception, so presumably should have exit code 1. > And it does. But the test seems to test for exit code 0. Austin changed it in this commit: commit 5bf22f06ef71f61094de7564dee770f136d5481a Author: Austin Seipp Date: Sun Apr 27 21:11:23 2014 -0500 Remove external core Signed-off-by: Austin Seipp Austin - any idea why? Cheers, Simon > Why does the test check for 0 not 1? And what has changed? > > This is HEAD. I don?t have a virgin head right now, but I don?t think > any of my changes could cause this. > > I am also seeing the > > ffi/should_compile cc004 [stderr mismatch] (normal) > > errors that Joachim reported. It?d be great if someone could fix that, > whatever it is. > > SImon > > > > _______________________________________________ > ghc-devs mailing list > ghc-devs at haskell.org > http://www.haskell.org/mailman/listinfo/ghc-devs > From simonpj at microsoft.com Fri May 9 16:33:45 2014 From: simonpj at microsoft.com (Simon Peyton Jones) Date: Fri, 9 May 2014 16:33:45 +0000 Subject: Bugsquashing at ZuriHac In-Reply-To: <536CF8AC.3030508@gmail.com> References: <1399467281.2258.33.camel@kirk> <536CF8AC.3030508@gmail.com> Message-ID: <618BE556AADD624C9C918AA5D5911BEF0C851E99@DB3PRD3001MB020.064d.mgd.msft.net> I'll try to help too, but I won't be there in person Thanks for organising this Simon | -----Original Message----- | From: ghc-devs [mailto:ghc-devs-bounces at haskell.org] On Behalf Of Simon | Marlow | Sent: 09 May 2014 16:48 | To: Joachim Breitner; ghc-devs at haskell.org | Subject: Re: Bugsquashing at ZuriHac | | Sounds like a great idea! I'll be around to answer questions. | | Cheers, | Simon | | On 07/05/2014 13:54, Joachim Breitner wrote: | > Dear fellow deverlopers, | > | > I'll be attending ZuriHac in a month time, without a project of my own | > that I plan to pursue. Hence I'm considering to run a "GHC bug | > squashing" project there. Besides getting bugs squashed, this should | > hopefully attract new contributors and allow us to teach them the | > ropes and tricks and the need for notes efficiently by | > shoulder-surfing and face-to-face discussions. | > | > Who of you is going to attend ZuriHac as well and will want to join me | > in managing this project? | > | > Also, this means its a good time to start tagging tickets as suitable | > for beginners. I know we have a list somewhere, but googling for "ghc | > easy tickets" does not find it... but clicking through the wiki I find | > https://ghc.haskell.org/trac/ghc/wiki/Newcomers#Fixingabug | > which is unfortunately quite small. | > | > I'll also look for tickets of difficulty easy and moderate. | > | > Greetings, | > Joachim | > | > | > | > | > _______________________________________________ | > ghc-devs mailing list | > ghc-devs at haskell.org | > http://www.haskell.org/mailman/listinfo/ghc-devs | > | _______________________________________________ | ghc-devs mailing list | ghc-devs at haskell.org | http://www.haskell.org/mailman/listinfo/ghc-devs From austin at well-typed.com Sat May 10 02:55:08 2014 From: austin at well-typed.com (Austin Seipp) Date: Fri, 9 May 2014 21:55:08 -0500 Subject: cgrun051 In-Reply-To: <536CFA53.90707@gmail.com> References: <618BE556AADD624C9C918AA5D5911BEF0C0B2B9E@DB3PRD3001MB020.064d.mgd.msft.net> <536CFA53.90707@gmail.com> Message-ID: Bah, just a brainfart it seems. cgrun051 and cc004 are fixed. On Fri, May 9, 2014 at 10:54 AM, Simon Marlow wrote: > On 05/05/2014 14:15, Simon Peyton Jones wrote: >> >> I?m getting >> >> Unexpected failures: >> >> . cgrun051 [bad exit code] >> >> (normal,hpc,optasm,profasm,ghci,threaded1,threaded2,dyn,profthreaded,optllvm,g1) >> >> =====> cgrun051(optasm) 46 of 98 [0, 2, 0] >> >> cd . && '/5playpen/simonpj/HEAD-2/inplace/bin/ghc-stage2' -fforce-recomp >> -dcore-lint -dcmm-lint -dno-debug-output -no-user-package-db -rtsopts >> -fno-ghci-history -o cgrun051 cgrun051.hs -O -fasm >> >cgrun051.comp.stderr 2>&1 >> >> cd . && ./cgrun051 cgrun051.run.stdout >> 2>cgrun051.run.stderr >> >> Wrong exit code (expected 0 , actual 1 ) >> >> cgrun051 throws an exception, so presumably should have exit code 1. >> And it does. But the test seems to test for exit code 0. > > > Austin changed it in this commit: > > commit 5bf22f06ef71f61094de7564dee770f136d5481a > Author: Austin Seipp > Date: Sun Apr 27 21:11:23 2014 -0500 > > Remove external core > > Signed-off-by: Austin Seipp > > Austin - any idea why? > > Cheers, > Simon > >> Why does the test check for 0 not 1? And what has changed? >> >> This is HEAD. I don?t have a virgin head right now, but I don?t think >> any of my changes could cause this. >> >> I am also seeing the >> >> ffi/should_compile cc004 [stderr mismatch] (normal) >> >> errors that Joachim reported. It?d be great if someone could fix that, >> whatever it is. >> >> SImon >> >> >> >> _______________________________________________ >> ghc-devs mailing list >> ghc-devs at haskell.org >> http://www.haskell.org/mailman/listinfo/ghc-devs >> > _______________________________________________ > ghc-devs mailing list > ghc-devs at haskell.org > http://www.haskell.org/mailman/listinfo/ghc-devs > -- Regards, Austin Seipp, Haskell Consultant Well-Typed LLP, http://www.well-typed.com/ From ekmett at gmail.com Sat May 10 06:32:58 2014 From: ekmett at gmail.com (Edward Kmett) Date: Sat, 10 May 2014 16:32:58 +1000 Subject: Bugsquashing at ZuriHac In-Reply-To: <1399467281.2258.33.camel@kirk> References: <1399467281.2258.33.camel@kirk> Message-ID: I'll be there, and more than willing to help on the open core library issues for base and the like. -Edward On Wed, May 7, 2014 at 10:54 PM, Joachim Breitner wrote: > Dear fellow deverlopers, > > I?ll be attending ZuriHac in a month time, without a project of my own > that I plan to pursue. Hence I?m considering to run a ?GHC bug > squashing? project there. Besides getting bugs squashed, this should > hopefully attract new contributors and allow us to teach them the ropes > and tricks and the need for notes efficiently by shoulder-surfing and > face-to-face discussions. > > Who of you is going to attend ZuriHac as well and will want to join me > in managing this project? > > Also, this means its a good time to start tagging tickets as suitable > for beginners. I know we have a list somewhere, but googling for "ghc > easy tickets" does not find it... but clicking through the wiki I find > https://ghc.haskell.org/trac/ghc/wiki/Newcomers#Fixingabug > which is unfortunately quite small. > > I?ll also look for tickets of difficulty easy and moderate. > > Greetings, > Joachim > > > -- > Joachim ?nomeata? Breitner > mail at joachim-breitner.de ? http://www.joachim-breitner.de/ > Jabber: nomeata at joachim-breitner.de ? GPG-Key: 0xF0FBF51F > Debian Developer: nomeata at debian.org > > > _______________________________________________ > ghc-devs mailing list > ghc-devs at haskell.org > http://www.haskell.org/mailman/listinfo/ghc-devs > > -------------- next part -------------- An HTML attachment was scrubbed... URL: From mail at joachim-breitner.de Sat May 10 09:42:33 2014 From: mail at joachim-breitner.de (Joachim Breitner) Date: Sat, 10 May 2014 11:42:33 +0200 Subject: How to fix T5979? Message-ID: <1399714953.2557.11.camel@kirk> Hi, SPJ recently committed: commit 12332f1add3eb9615a62abb36898819b2e67e865 Author: Simon Peyton Jones Date: Thu May 8 13:06:05 2014 +0100 Error message wibble, presumably due to recent changes in transformers diff --git a/testsuite/tests/ghci/scripts/T5979.stderr b/testsuite/tests/ghci/scripts/T5979.stderr index fe6e012..7230011 100644 --- a/testsuite/tests/ghci/scripts/T5979.stderr +++ b/testsuite/tests/ghci/scripts/T5979.stderr @@ -1,4 +1,4 @@ : Could not find module ?Control.Monad.Trans.State? - It is not a module in the current program, or in any known package. + It is a member of the hidden package ?transformers-0.3.0.0?. But that breaks when transformers is indeed not installed (as it is the case in a minimal validation run such as on travis): Actual stderr output differs from expected: --- ./ghci/scripts/T5979.stderr 2014-05-10 03:10:07.860423047 +0000 +++ ./ghci/scripts/T5979.run.stderr 2014-05-10 03:32:54.861642002 +0000 @@ -1,4 +1,4 @@ : Could not find module ?Control.Monad.Trans.State? - It is a member of the hidden package ?transformers-0.3.0.0?. + It is not a module in the current program, or in any known package. *** unexpected failure for T5979(ghci) For now I added a reqlib('transformers') to the test, hoping that that helps. But why should the error message mention "transformers" at all when the package import is actually explicit to import "nonexisting"? $ cat T5979.script :set -XPackageImports import "nonexisting" Control.Monad.Trans.State import "transformers" Control.Monad.Trans.State import "transformers" Control.Monad.Trans.Reader I am a bit worried that there is a regression here and SPJs commit just hides it. But gotta run now and cannot investigate further. Greetings, Joachim -- Joachim ?nomeata? Breitner mail at joachim-breitner.de ? http://www.joachim-breitner.de/ Jabber: nomeata at joachim-breitner.de ? GPG-Key: 0xF0FBF51F Debian Developer: nomeata at debian.org -------------- next part -------------- A non-text attachment was scrubbed... Name: signature.asc Type: application/pgp-signature Size: 836 bytes Desc: This is a digitally signed message part URL: From mail at joachim-breitner.de Sat May 10 14:12:28 2014 From: mail at joachim-breitner.de (Joachim Breitner) Date: Sat, 10 May 2014 16:12:28 +0200 Subject: How to fix T5979? In-Reply-To: <1399714953.2557.11.camel@kirk> References: <1399714953.2557.11.camel@kirk> Message-ID: <1399731148.6458.3.camel@kirk> Hi, Am Samstag, den 10.05.2014, 11:42 +0200 schrieb Joachim Breitner: > For now I added a reqlib('transformers') to the test, hoping that that > helps. But why should the error message mention "transformers" at all > when the package import is actually explicit to import "nonexisting"? that did not help, further supporting my theory that something strange was with SPJ?s work tree. Maybe for some reason transformers got de-registered in your package data base? Can someone else with an up-to-date tree run "make TEST=T5979" and see if it works for him? Greetings, Joachim -- Joachim ?nomeata? Breitner mail at joachim-breitner.de ? http://www.joachim-breitner.de/ Jabber: nomeata at joachim-breitner.de ? GPG-Key: 0xF0FBF51F Debian Developer: nomeata at debian.org -------------- next part -------------- A non-text attachment was scrubbed... Name: signature.asc Type: application/pgp-signature Size: 836 bytes Desc: This is a digitally signed message part URL: From mail at joachim-breitner.de Sat May 10 16:30:40 2014 From: mail at joachim-breitner.de (Joachim Breitner) Date: Sat, 10 May 2014 18:30:40 +0200 Subject: How to fix T5979? In-Reply-To: <1399731148.6458.3.camel@kirk> References: <1399714953.2557.11.camel@kirk> <1399731148.6458.3.camel@kirk> Message-ID: <1399739440.13190.2.camel@kirk> Hi, Am Samstag, den 10.05.2014, 16:12 +0200 schrieb Joachim Breitner: > Am Samstag, den 10.05.2014, 11:42 +0200 schrieb Joachim Breitner: > > For now I added a reqlib('transformers') to the test, hoping that that > > helps. But why should the error message mention "transformers" at all > > when the package import is actually explicit to import "nonexisting"? > > that did not help, further supporting my theory that something strange > was with SPJ?s work tree. Maybe for some reason transformers got > de-registered in your package data base? > > Can someone else with an up-to-date tree run "make TEST=T5979" and see > if it works for him? now I also get SPJ?s output. I did not get it until I ran "git submodule update && make", and the reason might be that now, two versions of transformers are registered in the inplace data base $ ./inplace/bin/ghc-pkg list|grep transformers transformers-0.3.0.0 transformers-0.4.0.0 and after $ ./inplace/bin/ghc-pkg unregister transformers-0.3.0.0 I get the original output. Reverting the test output for now. Greetings, Joachim -- Joachim Breitner e-Mail: mail at joachim-breitner.de Homepage: http://www.joachim-breitner.de Jabber-ID: nomeata at joachim-breitner.de -------------- next part -------------- A non-text attachment was scrubbed... Name: signature.asc Type: application/pgp-signature Size: 836 bytes Desc: This is a digitally signed message part URL: From hvriedel at gmail.com Sat May 10 16:49:08 2014 From: hvriedel at gmail.com (Herbert Valerio Riedel) Date: Sat, 10 May 2014 18:49:08 +0200 Subject: How to fix T5979? In-Reply-To: <1399739440.13190.2.camel@kirk> (Joachim Breitner's message of "Sat, 10 May 2014 18:30:40 +0200") References: <1399714953.2557.11.camel@kirk> <1399731148.6458.3.camel@kirk> <1399739440.13190.2.camel@kirk> Message-ID: <87eh01lgu3.fsf@gmail.com> On 2014-05-10 at 18:30:40 +0200, Joachim Breitner wrote: [...] > now I also get SPJ?s output. I did not get it until I ran "git submodule > update && make", and the reason might be that now, two versions of > transformers are registered in the inplace data base > > $ ./inplace/bin/ghc-pkg list|grep transformers > transformers-0.3.0.0 > transformers-0.4.0.0 > and after > $ ./inplace/bin/ghc-pkg unregister transformers-0.3.0.0 > I get the original output. > > Reverting the test output for now. very strange... where does transformers-0.3.0.0 come from? does the build-tree contain a second transformers folder? From carter.schonwald at gmail.com Sat May 10 16:52:20 2014 From: carter.schonwald at gmail.com (Carter Schonwald) Date: Sat, 10 May 2014 12:52:20 -0400 Subject: How to fix T5979? In-Reply-To: <87eh01lgu3.fsf@gmail.com> References: <1399714953.2557.11.camel@kirk> <1399731148.6458.3.camel@kirk> <1399739440.13190.2.camel@kirk> <87eh01lgu3.fsf@gmail.com> Message-ID: ghc 7.8 is built with 0.3.0.0 in its global package db right? On Sat, May 10, 2014 at 12:49 PM, Herbert Valerio Riedel wrote: > On 2014-05-10 at 18:30:40 +0200, Joachim Breitner wrote: > > [...] > > > now I also get SPJ?s output. I did not get it until I ran "git submodule > > update && make", and the reason might be that now, two versions of > > transformers are registered in the inplace data base > > > > $ ./inplace/bin/ghc-pkg list|grep transformers > > transformers-0.3.0.0 > > transformers-0.4.0.0 > > and after > > $ ./inplace/bin/ghc-pkg unregister transformers-0.3.0.0 > > I get the original output. > > > > Reverting the test output for now. > > very strange... where does transformers-0.3.0.0 come from? does the > build-tree contain a second transformers folder? > _______________________________________________ > ghc-devs mailing list > ghc-devs at haskell.org > http://www.haskell.org/mailman/listinfo/ghc-devs > -------------- next part -------------- An HTML attachment was scrubbed... URL: From fuuzetsu at fuuzetsu.co.uk Sun May 11 14:27:01 2014 From: fuuzetsu at fuuzetsu.co.uk (Mateusz Kowalczyk) Date: Sun, 11 May 2014 16:27:01 +0200 Subject: Loading package integer-gmp ... : can't load .so/.DLL for: libgmp.so (libgmp.so: cannot open shared object file: No such file or directory) Message-ID: <536F88B5.7020602@fuuzetsu.co.uk> Hi, Trying to compile GHC in the source tree on NixOS and meeting with failure with: "inplace/bin/ghc-stage2" -hisuf hi -osuf o -hcsuf hc -static -H32m -O -Werror -Wall -H64m -O0 -package-name vector-0.10.9.1 -hide-all-packages -i -ilibraries/vector/. -ilibraries/vector/dist-install/build -ilibraries/vector/dist-install/build/autogen -Ilibraries/vector/dist-install/build -Ilibraries/vector/dist-install/build/autogen -Ilibraries/vector/include -Ilibraries/vector/internal -optP-DVECTOR_BOUNDS_CHECKS -optP-include -optPlibraries/vector/dist-install/build/autogen/cabal_macros.h -package base-4.7.1.0 -package deepseq-1.3.0.2 -package ghc-prim-0.3.1.0 -package primitive-0.5.2.1 -O2 -XHaskell98 -XCPP -XDeriveDataTypeable -O2 -O -dcore-lint -fno-warn-deprecated-flags -no-user-package-db -rtsopts -Wwarn -odir libraries/vector/dist-install/build -hidir libraries/vector/dist-install/build -stubdir libraries/vector/dist-install/build -dynamic-too -c libraries/vector/./Data/Vector/Fusion/Stream/Monadic.hs -o libraries/vector/dist-install/build/Data/Vector/Fusion/Stream/Monadic.o -dyno libraries/vector/dist-install/build/Data/Vector/Fusion/Stream/Monadic.dyn_o Loading package ghc-prim ... linking ... done. Loading package integer-gmp ... : can't load .so/.DLL for: libgmp.so (libgmp.so: cannot open shared object file: No such file or directory) While libgmp isn't anywhere obvious, below is my build.mk and content of the pointed-to directories. Am I missing something here? Is something ignoring the configure option maybe? [shana at lenalee:~/programming/ghc/mk]$ cat build.mk libraries/integer-gmp_CONFIGURE_OPTS += --configure-option=--with-gmp-libraries=/nix/store/qnkyas42nf0knps3va30y29y3zvmgy2v-gmp-5.1.3/lib libraries/integer-gmp_CONFIGURE_OPTS += --configure-option=--with-gmp-includes=/nix/store/qnkyas42nf0knps3va30y29y3zvmgy2v-gmp-5.1.3/include DYNAMIC_BY_DEFAULT = NO [shana at lenalee:~/programming/ghc/mk]$ l /nix/store/qnkyas42nf0knps3va30y29y3zvmgy2v-gmp-5.1.3/lib total 604K dr-xr-xr-x 2 root nixbld 4.0K Jan 1 1970 . dr-xr-xr-x 5 root nixbld 4.0K Jan 1 1970 .. -r-xr-xr-x 1 root nixbld 949 Jan 1 1970 libgmp.la lrwxrwxrwx 1 root nixbld 16 Jan 1 1970 libgmp.so -> libgmp.so.10.1.3 lrwxrwxrwx 1 root nixbld 16 Jan 1 1970 libgmp.so.10 -> libgmp.so.10.1.3 -r-xr-xr-x 1 root nixbld 556K Jan 1 1970 libgmp.so.10.1.3 -r-xr-xr-x 1 root nixbld 1.1K Jan 1 1970 libgmpxx.la lrwxrwxrwx 1 root nixbld 17 Jan 1 1970 libgmpxx.so -> libgmpxx.so.4.3.3 lrwxrwxrwx 1 root nixbld 17 Jan 1 1970 libgmpxx.so.4 -> libgmpxx.so.4.3.3 -r-xr-xr-x 1 root nixbld 30K Jan 1 1970 libgmpxx.so.4.3.3 [shana at lenalee:~/programming/ghc/mk]$ l /nix/store/qnkyas42nf0knps3va30y29y3zvmgy2v-gmp-5.1.3/include total 204K dr-xr-xr-x 2 root nixbld 4.0K Jan 1 1970 . dr-xr-xr-x 5 root nixbld 4.0K Jan 1 1970 .. -r--r--r-- 1 root nixbld 78K Jan 1 1970 gmp.h -r--r--r-- 1 root nixbld 114K Jan 1 1970 gmpxx.h -- Mateusz K. From gergely at risko.hu Sun May 11 15:19:46 2014 From: gergely at risko.hu (Gergely Risko) Date: Sun, 11 May 2014 17:19:46 +0200 Subject: Loading package integer-gmp ... : can't load .so/.DLL for: libgmp.so (libgmp.so: cannot open shared object file: No such file or directory) References: <536F88B5.7020602@fuuzetsu.co.uk> Message-ID: <87ppjkgx65.fsf@gergely.risko.hu> Hi, Interesting. You're already using the libraries/integer-gmp_CONFIGURE_OPTS magic that I wanted to advise. I think you should record the configure and build output, so it's easy to look around in it afterwards (and don't use -j for make, because then the output is mixed). I would look for gmp relevant bits in that, to see if it found it alright. You can also try --with-intree-gmp (or something like that) to force a statically linked intree gmp, that will just work. Also, I think "inplace/bin/ghc-stage2 --interactive" will fail with the same error message, and you can "strace -f -e file" that command to see where the libgmp.so is searched for. It should definitely be searched for in your /nix/store/qnky... directory with your build.mk. I use the same strategy here: https://github.com/nilcons/ceh/blob/master/README.compile-ghc-with-ceh If you just want to quickly try something and not really interested in figuring out what's wrong, then a quick and dirty fix is to "export LD_LIBRARY_PATH=/nix/store/qnkyas42nf0knps3va30y29y3zvmgy2v-gmp-5.1.3/lib" before the whole build or anytime afterwards when you want to use the compiled GHC. But I'd really like to understand what caused it, so if you have time, please investigate! Gergely On Sun, 11 May 2014 16:27:01 +0200, Mateusz Kowalczyk writes: > Hi, > > Trying to compile GHC in the source tree on NixOS and meeting with > failure with: > > "inplace/bin/ghc-stage2" -hisuf hi -osuf o -hcsuf hc -static -H32m -O > -Werror -Wall -H64m -O0 -package-name vector-0.10.9.1 > -hide-all-packages -i -ilibraries/vector/. > -ilibraries/vector/dist-install/build > -ilibraries/vector/dist-install/build/autogen > -Ilibraries/vector/dist-install/build > -Ilibraries/vector/dist-install/build/autogen -Ilibraries/vector/include > -Ilibraries/vector/internal -optP-DVECTOR_BOUNDS_CHECKS -optP-include > -optPlibraries/vector/dist-install/build/autogen/cabal_macros.h -package > base-4.7.1.0 -package deepseq-1.3.0.2 -package ghc-prim-0.3.1.0 -package > primitive-0.5.2.1 -O2 -XHaskell98 -XCPP -XDeriveDataTypeable -O2 -O > -dcore-lint -fno-warn-deprecated-flags -no-user-package-db -rtsopts > -Wwarn -odir libraries/vector/dist-install/build -hidir > libraries/vector/dist-install/build -stubdir > libraries/vector/dist-install/build -dynamic-too -c > libraries/vector/./Data/Vector/Fusion/Stream/Monadic.hs -o > libraries/vector/dist-install/build/Data/Vector/Fusion/Stream/Monadic.o > -dyno > libraries/vector/dist-install/build/Data/Vector/Fusion/Stream/Monadic.dyn_o > Loading package ghc-prim ... linking ... done. > Loading package integer-gmp ... : can't load .so/.DLL for: > libgmp.so (libgmp.so: cannot open shared object file: No such file or > directory) > > While libgmp isn't anywhere obvious, below is my build.mk and content of > the pointed-to directories. Am I missing something here? Is something > ignoring the configure option maybe? > > [shana at lenalee:~/programming/ghc/mk]$ cat build.mk > libraries/integer-gmp_CONFIGURE_OPTS += > --configure-option=--with-gmp-libraries=/nix/store/qnkyas42nf0knps3va30y29y3zvmgy2v-gmp-5.1.3/lib > libraries/integer-gmp_CONFIGURE_OPTS += > --configure-option=--with-gmp-includes=/nix/store/qnkyas42nf0knps3va30y29y3zvmgy2v-gmp-5.1.3/include > DYNAMIC_BY_DEFAULT = NO > > [shana at lenalee:~/programming/ghc/mk]$ l > /nix/store/qnkyas42nf0knps3va30y29y3zvmgy2v-gmp-5.1.3/lib > total 604K > dr-xr-xr-x 2 root nixbld 4.0K Jan 1 1970 . > dr-xr-xr-x 5 root nixbld 4.0K Jan 1 1970 .. > -r-xr-xr-x 1 root nixbld 949 Jan 1 1970 libgmp.la > lrwxrwxrwx 1 root nixbld 16 Jan 1 1970 libgmp.so -> libgmp.so.10.1.3 > lrwxrwxrwx 1 root nixbld 16 Jan 1 1970 libgmp.so.10 -> libgmp.so.10.1.3 > -r-xr-xr-x 1 root nixbld 556K Jan 1 1970 libgmp.so.10.1.3 > -r-xr-xr-x 1 root nixbld 1.1K Jan 1 1970 libgmpxx.la > lrwxrwxrwx 1 root nixbld 17 Jan 1 1970 libgmpxx.so -> libgmpxx.so.4.3.3 > lrwxrwxrwx 1 root nixbld 17 Jan 1 1970 libgmpxx.so.4 -> > libgmpxx.so.4.3.3 > -r-xr-xr-x 1 root nixbld 30K Jan 1 1970 libgmpxx.so.4.3.3 > > [shana at lenalee:~/programming/ghc/mk]$ l > /nix/store/qnkyas42nf0knps3va30y29y3zvmgy2v-gmp-5.1.3/include > total 204K > dr-xr-xr-x 2 root nixbld 4.0K Jan 1 1970 . > dr-xr-xr-x 5 root nixbld 4.0K Jan 1 1970 .. > -r--r--r-- 1 root nixbld 78K Jan 1 1970 gmp.h > -r--r--r-- 1 root nixbld 114K Jan 1 1970 gmpxx.h From fuuzetsu at fuuzetsu.co.uk Sun May 11 17:24:34 2014 From: fuuzetsu at fuuzetsu.co.uk (Mateusz Kowalczyk) Date: Sun, 11 May 2014 19:24:34 +0200 Subject: Loading package integer-gmp ... : can't load .so/.DLL for: libgmp.so (libgmp.so: cannot open shared object file: No such file or directory) In-Reply-To: <536F88B5.7020602@fuuzetsu.co.uk> References: <536F88B5.7020602@fuuzetsu.co.uk> Message-ID: <536FB252.8000703@fuuzetsu.co.uk> On 05/11/2014 04:27 PM, Mateusz Kowalczyk wrote: > Hi, > > Trying to compile GHC in the source tree on NixOS and meeting with > failure with: > > "inplace/bin/ghc-stage2" -hisuf hi -osuf o -hcsuf hc -static -H32m -O > -Werror -Wall -H64m -O0 -package-name vector-0.10.9.1 > -hide-all-packages -i -ilibraries/vector/. > -ilibraries/vector/dist-install/build > -ilibraries/vector/dist-install/build/autogen > -Ilibraries/vector/dist-install/build > -Ilibraries/vector/dist-install/build/autogen -Ilibraries/vector/include > -Ilibraries/vector/internal -optP-DVECTOR_BOUNDS_CHECKS -optP-include > -optPlibraries/vector/dist-install/build/autogen/cabal_macros.h -package > base-4.7.1.0 -package deepseq-1.3.0.2 -package ghc-prim-0.3.1.0 -package > primitive-0.5.2.1 -O2 -XHaskell98 -XCPP -XDeriveDataTypeable -O2 -O > -dcore-lint -fno-warn-deprecated-flags -no-user-package-db -rtsopts > -Wwarn -odir libraries/vector/dist-install/build -hidir > libraries/vector/dist-install/build -stubdir > libraries/vector/dist-install/build -dynamic-too -c > libraries/vector/./Data/Vector/Fusion/Stream/Monadic.hs -o > libraries/vector/dist-install/build/Data/Vector/Fusion/Stream/Monadic.o > -dyno > libraries/vector/dist-install/build/Data/Vector/Fusion/Stream/Monadic.dyn_o > Loading package ghc-prim ... linking ... done. > Loading package integer-gmp ... : can't load .so/.DLL for: > libgmp.so (libgmp.so: cannot open shared object file: No such file or > directory) > > While libgmp isn't anywhere obvious, below is my build.mk and content of > the pointed-to directories. Am I missing something here? Is something > ignoring the configure option maybe? > > [shana at lenalee:~/programming/ghc/mk]$ cat build.mk > libraries/integer-gmp_CONFIGURE_OPTS += > --configure-option=--with-gmp-libraries=/nix/store/qnkyas42nf0knps3va30y29y3zvmgy2v-gmp-5.1.3/lib > libraries/integer-gmp_CONFIGURE_OPTS += > --configure-option=--with-gmp-includes=/nix/store/qnkyas42nf0knps3va30y29y3zvmgy2v-gmp-5.1.3/include > DYNAMIC_BY_DEFAULT = NO > > [shana at lenalee:~/programming/ghc/mk]$ l > /nix/store/qnkyas42nf0knps3va30y29y3zvmgy2v-gmp-5.1.3/lib > total 604K > dr-xr-xr-x 2 root nixbld 4.0K Jan 1 1970 . > dr-xr-xr-x 5 root nixbld 4.0K Jan 1 1970 .. > -r-xr-xr-x 1 root nixbld 949 Jan 1 1970 libgmp.la > lrwxrwxrwx 1 root nixbld 16 Jan 1 1970 libgmp.so -> libgmp.so.10.1.3 > lrwxrwxrwx 1 root nixbld 16 Jan 1 1970 libgmp.so.10 -> libgmp.so.10.1.3 > -r-xr-xr-x 1 root nixbld 556K Jan 1 1970 libgmp.so.10.1.3 > -r-xr-xr-x 1 root nixbld 1.1K Jan 1 1970 libgmpxx.la > lrwxrwxrwx 1 root nixbld 17 Jan 1 1970 libgmpxx.so -> libgmpxx.so.4.3.3 > lrwxrwxrwx 1 root nixbld 17 Jan 1 1970 libgmpxx.so.4 -> > libgmpxx.so.4.3.3 > -r-xr-xr-x 1 root nixbld 30K Jan 1 1970 libgmpxx.so.4.3.3 > > [shana at lenalee:~/programming/ghc/mk]$ l > /nix/store/qnkyas42nf0knps3va30y29y3zvmgy2v-gmp-5.1.3/include > total 204K > dr-xr-xr-x 2 root nixbld 4.0K Jan 1 1970 . > dr-xr-xr-x 5 root nixbld 4.0K Jan 1 1970 .. > -r--r--r-- 1 root nixbld 78K Jan 1 1970 gmp.h > -r--r--r-- 1 root nixbld 114K Jan 1 1970 gmpxx.h > You can find the full build log (including make clean) at [1] as it was requested in private. [1]: http://fuuzetsu.co.uk/misc/ghclog-20140510 -- Mateusz K. From fuuzetsu at fuuzetsu.co.uk Sun May 11 19:00:16 2014 From: fuuzetsu at fuuzetsu.co.uk (Mateusz Kowalczyk) Date: Sun, 11 May 2014 21:00:16 +0200 Subject: Loading package integer-gmp ... : can't load .so/.DLL for: libgmp.so (libgmp.so: cannot open shared object file: No such file or directory) In-Reply-To: <536F88B5.7020602@fuuzetsu.co.uk> References: <536F88B5.7020602@fuuzetsu.co.uk> Message-ID: <536FC8C0.20005@fuuzetsu.co.uk> On 05/11/2014 05:19 PM, Gergely Risko wrote: > The following message is a courtesy copy of an article > that has been posted to gmane.comp.lang.haskell.ghc.devel as well. > > Hi, > > Interesting. You're already using the libraries/integer-gmp_CONFIGURE_OPTS > magic that I wanted to advise. > > I think you should record the configure and build output, so it's easy > to look around in it afterwards (and don't use -j for make, because then > the output is mixed). I would look for gmp relevant bits in that, to > see if it found it alright. You can also try --with-intree-gmp (or > something like that) to force a statically linked intree gmp, that will > just work. I have posted the log in my previous reply to the thread. I'm unsure what -j option was used, I forgot to switch it off. Let me know if you want it re-ran without -j. Do you know what exact setup I need for --with-intree-gmp? > Also, I think "inplace/bin/ghc-stage2 --interactive" will fail with the > same error message, and you can "strace -f -e file" that command to see > where the libgmp.so is searched for. It should definitely be searched > for in your /nix/store/qnky... directory with your build.mk. I use the > same strategy here: > https://github.com/nilcons/ceh/blob/master/README.compile-ghc-with-ceh You're right that stage2 --interactive fails with the error. I attach the result of strace. It seems like a whole lot of stuff is missing. > If you just want to quickly try something and not really interested in > figuring out what's wrong, then a quick and dirty fix is to > "export LD_LIBRARY_PATH=/nix/store/qnkyas42nf0knps3va30y29y3zvmgy2v-gmp-5.1.3/lib" > before the whole build or anytime afterwards when you want to use the > compiled GHC. That's not an option considering that particular store might be garbage collected if it's not registered as being used. I'm unsure of the details but simply said that's a very bad workaround on my distro. > But I'd really like to understand what caused it, so if you have time, > please investigate! I definitely need to solve this properly as I need GHC HEAD for development and I need to change the build system of it a bit for accommodate for some Haddock changes. > Gergely Apologies for those using threaded conversations, I have no idea how to reply to something that shows up as a newsgroup posting from my e-mail client, it seems Reply-To doesn't get set. > On Sun, 11 May 2014 16:27:01 +0200, Mateusz Kowalczyk writes: > >> Hi, >> >> Trying to compile GHC in the source tree on NixOS and meeting with >> failure with: >> >> "inplace/bin/ghc-stage2" -hisuf hi -osuf o -hcsuf hc -static -H32m -O >> -Werror -Wall -H64m -O0 -package-name vector-0.10.9.1 >> -hide-all-packages -i -ilibraries/vector/. >> -ilibraries/vector/dist-install/build >> -ilibraries/vector/dist-install/build/autogen >> -Ilibraries/vector/dist-install/build >> -Ilibraries/vector/dist-install/build/autogen -Ilibraries/vector/include >> -Ilibraries/vector/internal -optP-DVECTOR_BOUNDS_CHECKS -optP-include >> -optPlibraries/vector/dist-install/build/autogen/cabal_macros.h -package >> base-4.7.1.0 -package deepseq-1.3.0.2 -package ghc-prim-0.3.1.0 -package >> primitive-0.5.2.1 -O2 -XHaskell98 -XCPP -XDeriveDataTypeable -O2 -O >> -dcore-lint -fno-warn-deprecated-flags -no-user-package-db -rtsopts >> -Wwarn -odir libraries/vector/dist-install/build -hidir >> libraries/vector/dist-install/build -stubdir >> libraries/vector/dist-install/build -dynamic-too -c >> libraries/vector/./Data/Vector/Fusion/Stream/Monadic.hs -o >> libraries/vector/dist-install/build/Data/Vector/Fusion/Stream/Monadic.o >> -dyno >> libraries/vector/dist-install/build/Data/Vector/Fusion/Stream/Monadic.dyn_o >> Loading package ghc-prim ... linking ... done. >> Loading package integer-gmp ... : can't load .so/.DLL for: >> libgmp.so (libgmp.so: cannot open shared object file: No such file or >> directory) >> >> While libgmp isn't anywhere obvious, below is my build.mk and content of >> the pointed-to directories. Am I missing something here? Is something >> ignoring the configure option maybe? >> >> [shana at lenalee:~/programming/ghc/mk]$ cat build.mk >> libraries/integer-gmp_CONFIGURE_OPTS += >> --configure-option=--with-gmp-libraries=/nix/store/qnkyas42nf0knps3va30y29y3zvmgy2v-gmp-5.1.3/lib >> libraries/integer-gmp_CONFIGURE_OPTS += >> --configure-option=--with-gmp-includes=/nix/store/qnkyas42nf0knps3va30y29y3zvmgy2v-gmp-5.1.3/include >> DYNAMIC_BY_DEFAULT = NO >> >> [shana at lenalee:~/programming/ghc/mk]$ l >> /nix/store/qnkyas42nf0knps3va30y29y3zvmgy2v-gmp-5.1.3/lib >> total 604K >> dr-xr-xr-x 2 root nixbld 4.0K Jan 1 1970 . >> dr-xr-xr-x 5 root nixbld 4.0K Jan 1 1970 .. >> -r-xr-xr-x 1 root nixbld 949 Jan 1 1970 libgmp.la >> lrwxrwxrwx 1 root nixbld 16 Jan 1 1970 libgmp.so -> libgmp.so.10.1.3 >> lrwxrwxrwx 1 root nixbld 16 Jan 1 1970 libgmp.so.10 -> libgmp.so.10.1.3 >> -r-xr-xr-x 1 root nixbld 556K Jan 1 1970 libgmp.so.10.1.3 >> -r-xr-xr-x 1 root nixbld 1.1K Jan 1 1970 libgmpxx.la >> lrwxrwxrwx 1 root nixbld 17 Jan 1 1970 libgmpxx.so -> libgmpxx.so.4.3.3 >> lrwxrwxrwx 1 root nixbld 17 Jan 1 1970 libgmpxx.so.4 -> >> libgmpxx.so.4.3.3 >> -r-xr-xr-x 1 root nixbld 30K Jan 1 1970 libgmpxx.so.4.3.3 >> >> [shana at lenalee:~/programming/ghc/mk]$ l >> /nix/store/qnkyas42nf0knps3va30y29y3zvmgy2v-gmp-5.1.3/include >> total 204K >> dr-xr-xr-x 2 root nixbld 4.0K Jan 1 1970 . >> dr-xr-xr-x 5 root nixbld 4.0K Jan 1 1970 .. >> -r--r--r-- 1 root nixbld 78K Jan 1 1970 gmp.h >> -r--r--r-- 1 root nixbld 114K Jan 1 1970 gmpxx.h -- Mateusz K. -------------- next part -------------- execve("inplace/bin/ghc-stage2", ["inplace/bin/ghc-stage2"], [/* 112 vars */]) = 0 access("/etc/ld-nix.so.preload", R_OK) = -1 ENOENT (No such file or directory) open("/run/opengl-driver/lib/tls/i686/sse2/libdl.so.2", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) stat64("/run/opengl-driver/lib/tls/i686/sse2", 0xbfb643a0) = -1 ENOENT (No such file or directory) open("/run/opengl-driver/lib/tls/i686/libdl.so.2", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) stat64("/run/opengl-driver/lib/tls/i686", 0xbfb643a0) = -1 ENOENT (No such file or directory) open("/run/opengl-driver/lib/tls/sse2/libdl.so.2", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) stat64("/run/opengl-driver/lib/tls/sse2", 0xbfb643a0) = -1 ENOENT (No such file or directory) open("/run/opengl-driver/lib/tls/libdl.so.2", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) stat64("/run/opengl-driver/lib/tls", {st_mode=S_IFDIR|0555, st_size=4096, ...}) = 0 open("/run/opengl-driver/lib/i686/sse2/libdl.so.2", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) stat64("/run/opengl-driver/lib/i686/sse2", 0xbfb643a0) = -1 ENOENT (No such file or directory) open("/run/opengl-driver/lib/i686/libdl.so.2", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) stat64("/run/opengl-driver/lib/i686", 0xbfb643a0) = -1 ENOENT (No such file or directory) open("/run/opengl-driver/lib/sse2/libdl.so.2", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) stat64("/run/opengl-driver/lib/sse2", 0xbfb643a0) = -1 ENOENT (No such file or directory) open("/run/opengl-driver/lib/libdl.so.2", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) stat64("/run/opengl-driver/lib", {st_mode=S_IFDIR|0555, st_size=4096, ...}) = 0 open("/run/opengl-driver-32/lib/tls/i686/sse2/libdl.so.2", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) stat64("/run/opengl-driver-32/lib/tls/i686/sse2", 0xbfb643a0) = -1 ENOENT (No such file or directory) open("/run/opengl-driver-32/lib/tls/i686/libdl.so.2", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) stat64("/run/opengl-driver-32/lib/tls/i686", 0xbfb643a0) = -1 ENOENT (No such file or directory) open("/run/opengl-driver-32/lib/tls/sse2/libdl.so.2", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) stat64("/run/opengl-driver-32/lib/tls/sse2", 0xbfb643a0) = -1 ENOENT (No such file or directory) open("/run/opengl-driver-32/lib/tls/libdl.so.2", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) stat64("/run/opengl-driver-32/lib/tls", {st_mode=S_IFDIR|0555, st_size=4096, ...}) = 0 open("/run/opengl-driver-32/lib/i686/sse2/libdl.so.2", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) stat64("/run/opengl-driver-32/lib/i686/sse2", 0xbfb643a0) = -1 ENOENT (No such file or directory) open("/run/opengl-driver-32/lib/i686/libdl.so.2", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) stat64("/run/opengl-driver-32/lib/i686", 0xbfb643a0) = -1 ENOENT (No such file or directory) open("/run/opengl-driver-32/lib/sse2/libdl.so.2", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) stat64("/run/opengl-driver-32/lib/sse2", 0xbfb643a0) = -1 ENOENT (No such file or directory) open("/run/opengl-driver-32/lib/libdl.so.2", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) stat64("/run/opengl-driver-32/lib", {st_mode=S_IFDIR|0555, st_size=4096, ...}) = 0 open("/nix/store/4v0a2fncxsk2f57jixq7i59k6hdl34fx-glibc-2.19/lib/tls/i686/sse2/libdl.so.2", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) stat64("/nix/store/4v0a2fncxsk2f57jixq7i59k6hdl34fx-glibc-2.19/lib/tls/i686/sse2", 0xbfb643a0) = -1 ENOENT (No such file or directory) open("/nix/store/4v0a2fncxsk2f57jixq7i59k6hdl34fx-glibc-2.19/lib/tls/i686/libdl.so.2", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) stat64("/nix/store/4v0a2fncxsk2f57jixq7i59k6hdl34fx-glibc-2.19/lib/tls/i686", 0xbfb643a0) = -1 ENOENT (No such file or directory) open("/nix/store/4v0a2fncxsk2f57jixq7i59k6hdl34fx-glibc-2.19/lib/tls/sse2/libdl.so.2", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) stat64("/nix/store/4v0a2fncxsk2f57jixq7i59k6hdl34fx-glibc-2.19/lib/tls/sse2", 0xbfb643a0) = -1 ENOENT (No such file or directory) open("/nix/store/4v0a2fncxsk2f57jixq7i59k6hdl34fx-glibc-2.19/lib/tls/libdl.so.2", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) stat64("/nix/store/4v0a2fncxsk2f57jixq7i59k6hdl34fx-glibc-2.19/lib/tls", 0xbfb643a0) = -1 ENOENT (No such file or directory) open("/nix/store/4v0a2fncxsk2f57jixq7i59k6hdl34fx-glibc-2.19/lib/i686/sse2/libdl.so.2", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) stat64("/nix/store/4v0a2fncxsk2f57jixq7i59k6hdl34fx-glibc-2.19/lib/i686/sse2", 0xbfb643a0) = -1 ENOENT (No such file or directory) open("/nix/store/4v0a2fncxsk2f57jixq7i59k6hdl34fx-glibc-2.19/lib/i686/libdl.so.2", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) stat64("/nix/store/4v0a2fncxsk2f57jixq7i59k6hdl34fx-glibc-2.19/lib/i686", 0xbfb643a0) = -1 ENOENT (No such file or directory) open("/nix/store/4v0a2fncxsk2f57jixq7i59k6hdl34fx-glibc-2.19/lib/sse2/libdl.so.2", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) stat64("/nix/store/4v0a2fncxsk2f57jixq7i59k6hdl34fx-glibc-2.19/lib/sse2", 0xbfb643a0) = -1 ENOENT (No such file or directory) open("/nix/store/4v0a2fncxsk2f57jixq7i59k6hdl34fx-glibc-2.19/lib/libdl.so.2", O_RDONLY|O_CLOEXEC) = 3 open("/run/opengl-driver/lib/tls/libc.so.6", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) open("/run/opengl-driver/lib/libc.so.6", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) open("/run/opengl-driver-32/lib/tls/libc.so.6", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) open("/run/opengl-driver-32/lib/libc.so.6", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) open("/nix/store/4v0a2fncxsk2f57jixq7i59k6hdl34fx-glibc-2.19/lib/libc.so.6", O_RDONLY|O_CLOEXEC) = 3 open("/dev/tty", O_RDWR|O_NONBLOCK|O_LARGEFILE) = 3 open("/run/current-system/sw/lib/locale/locale-archive", O_RDONLY|O_LARGEFILE|O_CLOEXEC) = 3 open("/proc/meminfo", O_RDONLY|O_CLOEXEC) = 3 stat64("/home/shana/programming/ghc", {st_mode=S_IFDIR|0755, st_size=4096, ...}) = 0 stat64(".", {st_mode=S_IFDIR|0755, st_size=4096, ...}) = 0 open("/nix/store/4v0a2fncxsk2f57jixq7i59k6hdl34fx-glibc-2.19/lib/gconv/gconv-modules.cache", O_RDONLY) = -1 ENOENT (No such file or directory) open("/nix/store/4v0a2fncxsk2f57jixq7i59k6hdl34fx-glibc-2.19/lib/gconv/gconv-modules", O_RDONLY|O_CLOEXEC) = 3 open("inplace/bin/ghc-stage2", O_RDONLY|O_LARGEFILE) = 3 execve("/home/shana/programming/ghc/inplace/lib/bin/ghc-stage2", ["/home/shana/programming/ghc/inpl"..., "-B/home/shana/programming/ghc/in"...], [/* 111 vars */]) = 0 readlink("/proc/self/exe", "/home/shana/programming/ghc/inpl"..., 4096) = 54 access("/etc/ld-nix.so.preload", R_OK) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/libraries/haskeline/dist-install/build/tls/i686/sse2/libncursesw.so.5", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) stat64("/home/shana/programming/ghc/libraries/haskeline/dist-install/build/tls/i686/sse2", 0xbfcc1250) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/libraries/haskeline/dist-install/build/tls/i686/libncursesw.so.5", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) stat64("/home/shana/programming/ghc/libraries/haskeline/dist-install/build/tls/i686", 0xbfcc1250) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/libraries/haskeline/dist-install/build/tls/sse2/libncursesw.so.5", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) stat64("/home/shana/programming/ghc/libraries/haskeline/dist-install/build/tls/sse2", 0xbfcc1250) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/libraries/haskeline/dist-install/build/tls/libncursesw.so.5", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) stat64("/home/shana/programming/ghc/libraries/haskeline/dist-install/build/tls", 0xbfcc1250) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/libraries/haskeline/dist-install/build/i686/sse2/libncursesw.so.5", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) stat64("/home/shana/programming/ghc/libraries/haskeline/dist-install/build/i686/sse2", 0xbfcc1250) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/libraries/haskeline/dist-install/build/i686/libncursesw.so.5", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) stat64("/home/shana/programming/ghc/libraries/haskeline/dist-install/build/i686", 0xbfcc1250) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/libraries/haskeline/dist-install/build/sse2/libncursesw.so.5", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) stat64("/home/shana/programming/ghc/libraries/haskeline/dist-install/build/sse2", 0xbfcc1250) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/libraries/haskeline/dist-install/build/libncursesw.so.5", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) stat64("/home/shana/programming/ghc/libraries/haskeline/dist-install/build", {st_mode=S_IFDIR|0755, st_size=4096, ...}) = 0 open("/home/shana/programming/ghc/libraries/terminfo/dist-install/build/tls/i686/sse2/libncursesw.so.5", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) stat64("/home/shana/programming/ghc/libraries/terminfo/dist-install/build/tls/i686/sse2", 0xbfcc1250) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/libraries/terminfo/dist-install/build/tls/i686/libncursesw.so.5", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) stat64("/home/shana/programming/ghc/libraries/terminfo/dist-install/build/tls/i686", 0xbfcc1250) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/libraries/terminfo/dist-install/build/tls/sse2/libncursesw.so.5", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) stat64("/home/shana/programming/ghc/libraries/terminfo/dist-install/build/tls/sse2", 0xbfcc1250) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/libraries/terminfo/dist-install/build/tls/libncursesw.so.5", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) stat64("/home/shana/programming/ghc/libraries/terminfo/dist-install/build/tls", 0xbfcc1250) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/libraries/terminfo/dist-install/build/i686/sse2/libncursesw.so.5", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) stat64("/home/shana/programming/ghc/libraries/terminfo/dist-install/build/i686/sse2", 0xbfcc1250) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/libraries/terminfo/dist-install/build/i686/libncursesw.so.5", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) stat64("/home/shana/programming/ghc/libraries/terminfo/dist-install/build/i686", 0xbfcc1250) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/libraries/terminfo/dist-install/build/sse2/libncursesw.so.5", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) stat64("/home/shana/programming/ghc/libraries/terminfo/dist-install/build/sse2", 0xbfcc1250) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/libraries/terminfo/dist-install/build/libncursesw.so.5", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) stat64("/home/shana/programming/ghc/libraries/terminfo/dist-install/build", {st_mode=S_IFDIR|0755, st_size=4096, ...}) = 0 open("/home/shana/programming/ghc/compiler/stage2/build/tls/i686/sse2/libncursesw.so.5", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) stat64("/home/shana/programming/ghc/compiler/stage2/build/tls/i686/sse2", 0xbfcc1250) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/compiler/stage2/build/tls/i686/libncursesw.so.5", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) stat64("/home/shana/programming/ghc/compiler/stage2/build/tls/i686", 0xbfcc1250) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/compiler/stage2/build/tls/sse2/libncursesw.so.5", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) stat64("/home/shana/programming/ghc/compiler/stage2/build/tls/sse2", 0xbfcc1250) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/compiler/stage2/build/tls/libncursesw.so.5", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) stat64("/home/shana/programming/ghc/compiler/stage2/build/tls", 0xbfcc1250) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/compiler/stage2/build/i686/sse2/libncursesw.so.5", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) stat64("/home/shana/programming/ghc/compiler/stage2/build/i686/sse2", 0xbfcc1250) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/compiler/stage2/build/i686/libncursesw.so.5", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) stat64("/home/shana/programming/ghc/compiler/stage2/build/i686", 0xbfcc1250) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/compiler/stage2/build/sse2/libncursesw.so.5", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) stat64("/home/shana/programming/ghc/compiler/stage2/build/sse2", 0xbfcc1250) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/compiler/stage2/build/libncursesw.so.5", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) stat64("/home/shana/programming/ghc/compiler/stage2/build", {st_mode=S_IFDIR|0755, st_size=49152, ...}) = 0 open("/home/shana/programming/ghc/libraries/transformers/dist-install/build/tls/i686/sse2/libncursesw.so.5", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) stat64("/home/shana/programming/ghc/libraries/transformers/dist-install/build/tls/i686/sse2", 0xbfcc1250) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/libraries/transformers/dist-install/build/tls/i686/libncursesw.so.5", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) stat64("/home/shana/programming/ghc/libraries/transformers/dist-install/build/tls/i686", 0xbfcc1250) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/libraries/transformers/dist-install/build/tls/sse2/libncursesw.so.5", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) stat64("/home/shana/programming/ghc/libraries/transformers/dist-install/build/tls/sse2", 0xbfcc1250) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/libraries/transformers/dist-install/build/tls/libncursesw.so.5", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) stat64("/home/shana/programming/ghc/libraries/transformers/dist-install/build/tls", 0xbfcc1250) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/libraries/transformers/dist-install/build/i686/sse2/libncursesw.so.5", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) stat64("/home/shana/programming/ghc/libraries/transformers/dist-install/build/i686/sse2", 0xbfcc1250) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/libraries/transformers/dist-install/build/i686/libncursesw.so.5", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) stat64("/home/shana/programming/ghc/libraries/transformers/dist-install/build/i686", 0xbfcc1250) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/libraries/transformers/dist-install/build/sse2/libncursesw.so.5", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) stat64("/home/shana/programming/ghc/libraries/transformers/dist-install/build/sse2", 0xbfcc1250) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/libraries/transformers/dist-install/build/libncursesw.so.5", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) stat64("/home/shana/programming/ghc/libraries/transformers/dist-install/build", {st_mode=S_IFDIR|0755, st_size=4096, ...}) = 0 open("/home/shana/programming/ghc/libraries/template-haskell/dist-install/build/tls/i686/sse2/libncursesw.so.5", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) stat64("/home/shana/programming/ghc/libraries/template-haskell/dist-install/build/tls/i686/sse2", 0xbfcc1250) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/libraries/template-haskell/dist-install/build/tls/i686/libncursesw.so.5", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) stat64("/home/shana/programming/ghc/libraries/template-haskell/dist-install/build/tls/i686", 0xbfcc1250) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/libraries/template-haskell/dist-install/build/tls/sse2/libncursesw.so.5", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) stat64("/home/shana/programming/ghc/libraries/template-haskell/dist-install/build/tls/sse2", 0xbfcc1250) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/libraries/template-haskell/dist-install/build/tls/libncursesw.so.5", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) stat64("/home/shana/programming/ghc/libraries/template-haskell/dist-install/build/tls", 0xbfcc1250) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/libraries/template-haskell/dist-install/build/i686/sse2/libncursesw.so.5", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) stat64("/home/shana/programming/ghc/libraries/template-haskell/dist-install/build/i686/sse2", 0xbfcc1250) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/libraries/template-haskell/dist-install/build/i686/libncursesw.so.5", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) stat64("/home/shana/programming/ghc/libraries/template-haskell/dist-install/build/i686", 0xbfcc1250) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/libraries/template-haskell/dist-install/build/sse2/libncursesw.so.5", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) stat64("/home/shana/programming/ghc/libraries/template-haskell/dist-install/build/sse2", 0xbfcc1250) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/libraries/template-haskell/dist-install/build/libncursesw.so.5", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) stat64("/home/shana/programming/ghc/libraries/template-haskell/dist-install/build", {st_mode=S_IFDIR|0755, st_size=4096, ...}) = 0 open("/home/shana/programming/ghc/libraries/hpc/dist-install/build/tls/i686/sse2/libncursesw.so.5", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) stat64("/home/shana/programming/ghc/libraries/hpc/dist-install/build/tls/i686/sse2", 0xbfcc1250) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/libraries/hpc/dist-install/build/tls/i686/libncursesw.so.5", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) stat64("/home/shana/programming/ghc/libraries/hpc/dist-install/build/tls/i686", 0xbfcc1250) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/libraries/hpc/dist-install/build/tls/sse2/libncursesw.so.5", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) stat64("/home/shana/programming/ghc/libraries/hpc/dist-install/build/tls/sse2", 0xbfcc1250) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/libraries/hpc/dist-install/build/tls/libncursesw.so.5", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) stat64("/home/shana/programming/ghc/libraries/hpc/dist-install/build/tls", 0xbfcc1250) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/libraries/hpc/dist-install/build/i686/sse2/libncursesw.so.5", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) stat64("/home/shana/programming/ghc/libraries/hpc/dist-install/build/i686/sse2", 0xbfcc1250) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/libraries/hpc/dist-install/build/i686/libncursesw.so.5", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) stat64("/home/shana/programming/ghc/libraries/hpc/dist-install/build/i686", 0xbfcc1250) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/libraries/hpc/dist-install/build/sse2/libncursesw.so.5", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) stat64("/home/shana/programming/ghc/libraries/hpc/dist-install/build/sse2", 0xbfcc1250) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/libraries/hpc/dist-install/build/libncursesw.so.5", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) stat64("/home/shana/programming/ghc/libraries/hpc/dist-install/build", {st_mode=S_IFDIR|0755, st_size=4096, ...}) = 0 open("/home/shana/programming/ghc/libraries/hoopl/dist-install/build/tls/i686/sse2/libncursesw.so.5", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) stat64("/home/shana/programming/ghc/libraries/hoopl/dist-install/build/tls/i686/sse2", 0xbfcc1250) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/libraries/hoopl/dist-install/build/tls/i686/libncursesw.so.5", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) stat64("/home/shana/programming/ghc/libraries/hoopl/dist-install/build/tls/i686", 0xbfcc1250) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/libraries/hoopl/dist-install/build/tls/sse2/libncursesw.so.5", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) stat64("/home/shana/programming/ghc/libraries/hoopl/dist-install/build/tls/sse2", 0xbfcc1250) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/libraries/hoopl/dist-install/build/tls/libncursesw.so.5", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) stat64("/home/shana/programming/ghc/libraries/hoopl/dist-install/build/tls", 0xbfcc1250) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/libraries/hoopl/dist-install/build/i686/sse2/libncursesw.so.5", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) stat64("/home/shana/programming/ghc/libraries/hoopl/dist-install/build/i686/sse2", 0xbfcc1250) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/libraries/hoopl/dist-install/build/i686/libncursesw.so.5", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) stat64("/home/shana/programming/ghc/libraries/hoopl/dist-install/build/i686", 0xbfcc1250) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/libraries/hoopl/dist-install/build/sse2/libncursesw.so.5", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) stat64("/home/shana/programming/ghc/libraries/hoopl/dist-install/build/sse2", 0xbfcc1250) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/libraries/hoopl/dist-install/build/libncursesw.so.5", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) stat64("/home/shana/programming/ghc/libraries/hoopl/dist-install/build", {st_mode=S_IFDIR|0755, st_size=4096, ...}) = 0 open("/home/shana/programming/ghc/libraries/bin-package-db/dist-install/build/tls/i686/sse2/libncursesw.so.5", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) stat64("/home/shana/programming/ghc/libraries/bin-package-db/dist-install/build/tls/i686/sse2", 0xbfcc1250) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/libraries/bin-package-db/dist-install/build/tls/i686/libncursesw.so.5", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) stat64("/home/shana/programming/ghc/libraries/bin-package-db/dist-install/build/tls/i686", 0xbfcc1250) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/libraries/bin-package-db/dist-install/build/tls/sse2/libncursesw.so.5", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) stat64("/home/shana/programming/ghc/libraries/bin-package-db/dist-install/build/tls/sse2", 0xbfcc1250) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/libraries/bin-package-db/dist-install/build/tls/libncursesw.so.5", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) stat64("/home/shana/programming/ghc/libraries/bin-package-db/dist-install/build/tls", 0xbfcc1250) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/libraries/bin-package-db/dist-install/build/i686/sse2/libncursesw.so.5", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) stat64("/home/shana/programming/ghc/libraries/bin-package-db/dist-install/build/i686/sse2", 0xbfcc1250) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/libraries/bin-package-db/dist-install/build/i686/libncursesw.so.5", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) stat64("/home/shana/programming/ghc/libraries/bin-package-db/dist-install/build/i686", 0xbfcc1250) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/libraries/bin-package-db/dist-install/build/sse2/libncursesw.so.5", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) stat64("/home/shana/programming/ghc/libraries/bin-package-db/dist-install/build/sse2", 0xbfcc1250) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/libraries/bin-package-db/dist-install/build/libncursesw.so.5", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) stat64("/home/shana/programming/ghc/libraries/bin-package-db/dist-install/build", {st_mode=S_IFDIR|0755, st_size=4096, ...}) = 0 open("/home/shana/programming/ghc/libraries/binary/dist-install/build/tls/i686/sse2/libncursesw.so.5", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) stat64("/home/shana/programming/ghc/libraries/binary/dist-install/build/tls/i686/sse2", 0xbfcc1250) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/libraries/binary/dist-install/build/tls/i686/libncursesw.so.5", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) stat64("/home/shana/programming/ghc/libraries/binary/dist-install/build/tls/i686", 0xbfcc1250) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/libraries/binary/dist-install/build/tls/sse2/libncursesw.so.5", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) stat64("/home/shana/programming/ghc/libraries/binary/dist-install/build/tls/sse2", 0xbfcc1250) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/libraries/binary/dist-install/build/tls/libncursesw.so.5", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) stat64("/home/shana/programming/ghc/libraries/binary/dist-install/build/tls", 0xbfcc1250) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/libraries/binary/dist-install/build/i686/sse2/libncursesw.so.5", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) stat64("/home/shana/programming/ghc/libraries/binary/dist-install/build/i686/sse2", 0xbfcc1250) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/libraries/binary/dist-install/build/i686/libncursesw.so.5", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) stat64("/home/shana/programming/ghc/libraries/binary/dist-install/build/i686", 0xbfcc1250) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/libraries/binary/dist-install/build/sse2/libncursesw.so.5", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) stat64("/home/shana/programming/ghc/libraries/binary/dist-install/build/sse2", 0xbfcc1250) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/libraries/binary/dist-install/build/libncursesw.so.5", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) stat64("/home/shana/programming/ghc/libraries/binary/dist-install/build", {st_mode=S_IFDIR|0755, st_size=4096, ...}) = 0 open("/home/shana/programming/ghc/libraries/Cabal/Cabal/dist-install/build/tls/i686/sse2/libncursesw.so.5", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) stat64("/home/shana/programming/ghc/libraries/Cabal/Cabal/dist-install/build/tls/i686/sse2", 0xbfcc1250) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/libraries/Cabal/Cabal/dist-install/build/tls/i686/libncursesw.so.5", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) stat64("/home/shana/programming/ghc/libraries/Cabal/Cabal/dist-install/build/tls/i686", 0xbfcc1250) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/libraries/Cabal/Cabal/dist-install/build/tls/sse2/libncursesw.so.5", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) stat64("/home/shana/programming/ghc/libraries/Cabal/Cabal/dist-install/build/tls/sse2", 0xbfcc1250) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/libraries/Cabal/Cabal/dist-install/build/tls/libncursesw.so.5", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) stat64("/home/shana/programming/ghc/libraries/Cabal/Cabal/dist-install/build/tls", 0xbfcc1250) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/libraries/Cabal/Cabal/dist-install/build/i686/sse2/libncursesw.so.5", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) stat64("/home/shana/programming/ghc/libraries/Cabal/Cabal/dist-install/build/i686/sse2", 0xbfcc1250) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/libraries/Cabal/Cabal/dist-install/build/i686/libncursesw.so.5", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) stat64("/home/shana/programming/ghc/libraries/Cabal/Cabal/dist-install/build/i686", 0xbfcc1250) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/libraries/Cabal/Cabal/dist-install/build/sse2/libncursesw.so.5", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) stat64("/home/shana/programming/ghc/libraries/Cabal/Cabal/dist-install/build/sse2", 0xbfcc1250) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/libraries/Cabal/Cabal/dist-install/build/libncursesw.so.5", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) stat64("/home/shana/programming/ghc/libraries/Cabal/Cabal/dist-install/build", {st_mode=S_IFDIR|0755, st_size=4096, ...}) = 0 open("/home/shana/programming/ghc/libraries/process/dist-install/build/tls/i686/sse2/libncursesw.so.5", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) stat64("/home/shana/programming/ghc/libraries/process/dist-install/build/tls/i686/sse2", 0xbfcc1250) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/libraries/process/dist-install/build/tls/i686/libncursesw.so.5", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) stat64("/home/shana/programming/ghc/libraries/process/dist-install/build/tls/i686", 0xbfcc1250) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/libraries/process/dist-install/build/tls/sse2/libncursesw.so.5", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) stat64("/home/shana/programming/ghc/libraries/process/dist-install/build/tls/sse2", 0xbfcc1250) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/libraries/process/dist-install/build/tls/libncursesw.so.5", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) stat64("/home/shana/programming/ghc/libraries/process/dist-install/build/tls", 0xbfcc1250) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/libraries/process/dist-install/build/i686/sse2/libncursesw.so.5", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) stat64("/home/shana/programming/ghc/libraries/process/dist-install/build/i686/sse2", 0xbfcc1250) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/libraries/process/dist-install/build/i686/libncursesw.so.5", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) stat64("/home/shana/programming/ghc/libraries/process/dist-install/build/i686", 0xbfcc1250) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/libraries/process/dist-install/build/sse2/libncursesw.so.5", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) stat64("/home/shana/programming/ghc/libraries/process/dist-install/build/sse2", 0xbfcc1250) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/libraries/process/dist-install/build/libncursesw.so.5", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) stat64("/home/shana/programming/ghc/libraries/process/dist-install/build", {st_mode=S_IFDIR|0755, st_size=4096, ...}) = 0 open("/home/shana/programming/ghc/libraries/pretty/dist-install/build/tls/i686/sse2/libncursesw.so.5", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) stat64("/home/shana/programming/ghc/libraries/pretty/dist-install/build/tls/i686/sse2", 0xbfcc1250) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/libraries/pretty/dist-install/build/tls/i686/libncursesw.so.5", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) stat64("/home/shana/programming/ghc/libraries/pretty/dist-install/build/tls/i686", 0xbfcc1250) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/libraries/pretty/dist-install/build/tls/sse2/libncursesw.so.5", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) stat64("/home/shana/programming/ghc/libraries/pretty/dist-install/build/tls/sse2", 0xbfcc1250) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/libraries/pretty/dist-install/build/tls/libncursesw.so.5", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) stat64("/home/shana/programming/ghc/libraries/pretty/dist-install/build/tls", 0xbfcc1250) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/libraries/pretty/dist-install/build/i686/sse2/libncursesw.so.5", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) stat64("/home/shana/programming/ghc/libraries/pretty/dist-install/build/i686/sse2", 0xbfcc1250) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/libraries/pretty/dist-install/build/i686/libncursesw.so.5", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) stat64("/home/shana/programming/ghc/libraries/pretty/dist-install/build/i686", 0xbfcc1250) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/libraries/pretty/dist-install/build/sse2/libncursesw.so.5", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) stat64("/home/shana/programming/ghc/libraries/pretty/dist-install/build/sse2", 0xbfcc1250) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/libraries/pretty/dist-install/build/libncursesw.so.5", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) stat64("/home/shana/programming/ghc/libraries/pretty/dist-install/build", {st_mode=S_IFDIR|0755, st_size=4096, ...}) = 0 open("/home/shana/programming/ghc/libraries/directory/dist-install/build/tls/i686/sse2/libncursesw.so.5", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) stat64("/home/shana/programming/ghc/libraries/directory/dist-install/build/tls/i686/sse2", 0xbfcc1250) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/libraries/directory/dist-install/build/tls/i686/libncursesw.so.5", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) stat64("/home/shana/programming/ghc/libraries/directory/dist-install/build/tls/i686", 0xbfcc1250) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/libraries/directory/dist-install/build/tls/sse2/libncursesw.so.5", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) stat64("/home/shana/programming/ghc/libraries/directory/dist-install/build/tls/sse2", 0xbfcc1250) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/libraries/directory/dist-install/build/tls/libncursesw.so.5", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) stat64("/home/shana/programming/ghc/libraries/directory/dist-install/build/tls", 0xbfcc1250) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/libraries/directory/dist-install/build/i686/sse2/libncursesw.so.5", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) stat64("/home/shana/programming/ghc/libraries/directory/dist-install/build/i686/sse2", 0xbfcc1250) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/libraries/directory/dist-install/build/i686/libncursesw.so.5", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) stat64("/home/shana/programming/ghc/libraries/directory/dist-install/build/i686", 0xbfcc1250) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/libraries/directory/dist-install/build/sse2/libncursesw.so.5", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) stat64("/home/shana/programming/ghc/libraries/directory/dist-install/build/sse2", 0xbfcc1250) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/libraries/directory/dist-install/build/libncursesw.so.5", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) stat64("/home/shana/programming/ghc/libraries/directory/dist-install/build", {st_mode=S_IFDIR|0755, st_size=4096, ...}) = 0 open("/home/shana/programming/ghc/libraries/unix/dist-install/build/tls/i686/sse2/libncursesw.so.5", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) stat64("/home/shana/programming/ghc/libraries/unix/dist-install/build/tls/i686/sse2", 0xbfcc1250) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/libraries/unix/dist-install/build/tls/i686/libncursesw.so.5", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) stat64("/home/shana/programming/ghc/libraries/unix/dist-install/build/tls/i686", 0xbfcc1250) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/libraries/unix/dist-install/build/tls/sse2/libncursesw.so.5", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) stat64("/home/shana/programming/ghc/libraries/unix/dist-install/build/tls/sse2", 0xbfcc1250) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/libraries/unix/dist-install/build/tls/libncursesw.so.5", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) stat64("/home/shana/programming/ghc/libraries/unix/dist-install/build/tls", 0xbfcc1250) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/libraries/unix/dist-install/build/i686/sse2/libncursesw.so.5", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) stat64("/home/shana/programming/ghc/libraries/unix/dist-install/build/i686/sse2", 0xbfcc1250) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/libraries/unix/dist-install/build/i686/libncursesw.so.5", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) stat64("/home/shana/programming/ghc/libraries/unix/dist-install/build/i686", 0xbfcc1250) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/libraries/unix/dist-install/build/sse2/libncursesw.so.5", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) stat64("/home/shana/programming/ghc/libraries/unix/dist-install/build/sse2", 0xbfcc1250) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/libraries/unix/dist-install/build/libncursesw.so.5", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) stat64("/home/shana/programming/ghc/libraries/unix/dist-install/build", {st_mode=S_IFDIR|0755, st_size=4096, ...}) = 0 open("/home/shana/programming/ghc/libraries/time/dist-install/build/tls/i686/sse2/libncursesw.so.5", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) stat64("/home/shana/programming/ghc/libraries/time/dist-install/build/tls/i686/sse2", 0xbfcc1250) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/libraries/time/dist-install/build/tls/i686/libncursesw.so.5", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) stat64("/home/shana/programming/ghc/libraries/time/dist-install/build/tls/i686", 0xbfcc1250) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/libraries/time/dist-install/build/tls/sse2/libncursesw.so.5", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) stat64("/home/shana/programming/ghc/libraries/time/dist-install/build/tls/sse2", 0xbfcc1250) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/libraries/time/dist-install/build/tls/libncursesw.so.5", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) stat64("/home/shana/programming/ghc/libraries/time/dist-install/build/tls", 0xbfcc1250) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/libraries/time/dist-install/build/i686/sse2/libncursesw.so.5", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) stat64("/home/shana/programming/ghc/libraries/time/dist-install/build/i686/sse2", 0xbfcc1250) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/libraries/time/dist-install/build/i686/libncursesw.so.5", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) stat64("/home/shana/programming/ghc/libraries/time/dist-install/build/i686", 0xbfcc1250) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/libraries/time/dist-install/build/sse2/libncursesw.so.5", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) stat64("/home/shana/programming/ghc/libraries/time/dist-install/build/sse2", 0xbfcc1250) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/libraries/time/dist-install/build/libncursesw.so.5", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) stat64("/home/shana/programming/ghc/libraries/time/dist-install/build", {st_mode=S_IFDIR|0755, st_size=4096, ...}) = 0 open("/home/shana/programming/ghc/libraries/old-locale/dist-install/build/tls/i686/sse2/libncursesw.so.5", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) stat64("/home/shana/programming/ghc/libraries/old-locale/dist-install/build/tls/i686/sse2", 0xbfcc1250) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/libraries/old-locale/dist-install/build/tls/i686/libncursesw.so.5", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) stat64("/home/shana/programming/ghc/libraries/old-locale/dist-install/build/tls/i686", 0xbfcc1250) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/libraries/old-locale/dist-install/build/tls/sse2/libncursesw.so.5", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) stat64("/home/shana/programming/ghc/libraries/old-locale/dist-install/build/tls/sse2", 0xbfcc1250) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/libraries/old-locale/dist-install/build/tls/libncursesw.so.5", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) stat64("/home/shana/programming/ghc/libraries/old-locale/dist-install/build/tls", 0xbfcc1250) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/libraries/old-locale/dist-install/build/i686/sse2/libncursesw.so.5", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) stat64("/home/shana/programming/ghc/libraries/old-locale/dist-install/build/i686/sse2", 0xbfcc1250) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/libraries/old-locale/dist-install/build/i686/libncursesw.so.5", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) stat64("/home/shana/programming/ghc/libraries/old-locale/dist-install/build/i686", 0xbfcc1250) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/libraries/old-locale/dist-install/build/sse2/libncursesw.so.5", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) stat64("/home/shana/programming/ghc/libraries/old-locale/dist-install/build/sse2", 0xbfcc1250) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/libraries/old-locale/dist-install/build/libncursesw.so.5", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) stat64("/home/shana/programming/ghc/libraries/old-locale/dist-install/build", {st_mode=S_IFDIR|0755, st_size=4096, ...}) = 0 open("/home/shana/programming/ghc/libraries/filepath/dist-install/build/tls/i686/sse2/libncursesw.so.5", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) stat64("/home/shana/programming/ghc/libraries/filepath/dist-install/build/tls/i686/sse2", 0xbfcc1250) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/libraries/filepath/dist-install/build/tls/i686/libncursesw.so.5", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) stat64("/home/shana/programming/ghc/libraries/filepath/dist-install/build/tls/i686", 0xbfcc1250) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/libraries/filepath/dist-install/build/tls/sse2/libncursesw.so.5", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) stat64("/home/shana/programming/ghc/libraries/filepath/dist-install/build/tls/sse2", 0xbfcc1250) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/libraries/filepath/dist-install/build/tls/libncursesw.so.5", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) stat64("/home/shana/programming/ghc/libraries/filepath/dist-install/build/tls", 0xbfcc1250) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/libraries/filepath/dist-install/build/i686/sse2/libncursesw.so.5", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) stat64("/home/shana/programming/ghc/libraries/filepath/dist-install/build/i686/sse2", 0xbfcc1250) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/libraries/filepath/dist-install/build/i686/libncursesw.so.5", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) stat64("/home/shana/programming/ghc/libraries/filepath/dist-install/build/i686", 0xbfcc1250) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/libraries/filepath/dist-install/build/sse2/libncursesw.so.5", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) stat64("/home/shana/programming/ghc/libraries/filepath/dist-install/build/sse2", 0xbfcc1250) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/libraries/filepath/dist-install/build/libncursesw.so.5", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) stat64("/home/shana/programming/ghc/libraries/filepath/dist-install/build", {st_mode=S_IFDIR|0755, st_size=4096, ...}) = 0 open("/home/shana/programming/ghc/libraries/containers/dist-install/build/tls/i686/sse2/libncursesw.so.5", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) stat64("/home/shana/programming/ghc/libraries/containers/dist-install/build/tls/i686/sse2", 0xbfcc1250) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/libraries/containers/dist-install/build/tls/i686/libncursesw.so.5", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) stat64("/home/shana/programming/ghc/libraries/containers/dist-install/build/tls/i686", 0xbfcc1250) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/libraries/containers/dist-install/build/tls/sse2/libncursesw.so.5", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) stat64("/home/shana/programming/ghc/libraries/containers/dist-install/build/tls/sse2", 0xbfcc1250) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/libraries/containers/dist-install/build/tls/libncursesw.so.5", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) stat64("/home/shana/programming/ghc/libraries/containers/dist-install/build/tls", 0xbfcc1250) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/libraries/containers/dist-install/build/i686/sse2/libncursesw.so.5", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) stat64("/home/shana/programming/ghc/libraries/containers/dist-install/build/i686/sse2", 0xbfcc1250) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/libraries/containers/dist-install/build/i686/libncursesw.so.5", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) stat64("/home/shana/programming/ghc/libraries/containers/dist-install/build/i686", 0xbfcc1250) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/libraries/containers/dist-install/build/sse2/libncursesw.so.5", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) stat64("/home/shana/programming/ghc/libraries/containers/dist-install/build/sse2", 0xbfcc1250) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/libraries/containers/dist-install/build/libncursesw.so.5", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) stat64("/home/shana/programming/ghc/libraries/containers/dist-install/build", {st_mode=S_IFDIR|0755, st_size=4096, ...}) = 0 open("/home/shana/programming/ghc/libraries/bytestring/dist-install/build/tls/i686/sse2/libncursesw.so.5", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) stat64("/home/shana/programming/ghc/libraries/bytestring/dist-install/build/tls/i686/sse2", 0xbfcc1250) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/libraries/bytestring/dist-install/build/tls/i686/libncursesw.so.5", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) stat64("/home/shana/programming/ghc/libraries/bytestring/dist-install/build/tls/i686", 0xbfcc1250) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/libraries/bytestring/dist-install/build/tls/sse2/libncursesw.so.5", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) stat64("/home/shana/programming/ghc/libraries/bytestring/dist-install/build/tls/sse2", 0xbfcc1250) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/libraries/bytestring/dist-install/build/tls/libncursesw.so.5", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) stat64("/home/shana/programming/ghc/libraries/bytestring/dist-install/build/tls", 0xbfcc1250) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/libraries/bytestring/dist-install/build/i686/sse2/libncursesw.so.5", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) stat64("/home/shana/programming/ghc/libraries/bytestring/dist-install/build/i686/sse2", 0xbfcc1250) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/libraries/bytestring/dist-install/build/i686/libncursesw.so.5", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) stat64("/home/shana/programming/ghc/libraries/bytestring/dist-install/build/i686", 0xbfcc1250) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/libraries/bytestring/dist-install/build/sse2/libncursesw.so.5", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) stat64("/home/shana/programming/ghc/libraries/bytestring/dist-install/build/sse2", 0xbfcc1250) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/libraries/bytestring/dist-install/build/libncursesw.so.5", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) stat64("/home/shana/programming/ghc/libraries/bytestring/dist-install/build", {st_mode=S_IFDIR|0755, st_size=4096, ...}) = 0 open("/home/shana/programming/ghc/libraries/deepseq/dist-install/build/tls/i686/sse2/libncursesw.so.5", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) stat64("/home/shana/programming/ghc/libraries/deepseq/dist-install/build/tls/i686/sse2", 0xbfcc1250) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/libraries/deepseq/dist-install/build/tls/i686/libncursesw.so.5", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) stat64("/home/shana/programming/ghc/libraries/deepseq/dist-install/build/tls/i686", 0xbfcc1250) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/libraries/deepseq/dist-install/build/tls/sse2/libncursesw.so.5", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) stat64("/home/shana/programming/ghc/libraries/deepseq/dist-install/build/tls/sse2", 0xbfcc1250) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/libraries/deepseq/dist-install/build/tls/libncursesw.so.5", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) stat64("/home/shana/programming/ghc/libraries/deepseq/dist-install/build/tls", 0xbfcc1250) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/libraries/deepseq/dist-install/build/i686/sse2/libncursesw.so.5", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) stat64("/home/shana/programming/ghc/libraries/deepseq/dist-install/build/i686/sse2", 0xbfcc1250) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/libraries/deepseq/dist-install/build/i686/libncursesw.so.5", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) stat64("/home/shana/programming/ghc/libraries/deepseq/dist-install/build/i686", 0xbfcc1250) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/libraries/deepseq/dist-install/build/sse2/libncursesw.so.5", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) stat64("/home/shana/programming/ghc/libraries/deepseq/dist-install/build/sse2", 0xbfcc1250) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/libraries/deepseq/dist-install/build/libncursesw.so.5", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) stat64("/home/shana/programming/ghc/libraries/deepseq/dist-install/build", {st_mode=S_IFDIR|0755, st_size=4096, ...}) = 0 open("/home/shana/programming/ghc/libraries/array/dist-install/build/tls/i686/sse2/libncursesw.so.5", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) stat64("/home/shana/programming/ghc/libraries/array/dist-install/build/tls/i686/sse2", 0xbfcc1250) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/libraries/array/dist-install/build/tls/i686/libncursesw.so.5", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) stat64("/home/shana/programming/ghc/libraries/array/dist-install/build/tls/i686", 0xbfcc1250) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/libraries/array/dist-install/build/tls/sse2/libncursesw.so.5", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) stat64("/home/shana/programming/ghc/libraries/array/dist-install/build/tls/sse2", 0xbfcc1250) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/libraries/array/dist-install/build/tls/libncursesw.so.5", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) stat64("/home/shana/programming/ghc/libraries/array/dist-install/build/tls", 0xbfcc1250) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/libraries/array/dist-install/build/i686/sse2/libncursesw.so.5", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) stat64("/home/shana/programming/ghc/libraries/array/dist-install/build/i686/sse2", 0xbfcc1250) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/libraries/array/dist-install/build/i686/libncursesw.so.5", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) stat64("/home/shana/programming/ghc/libraries/array/dist-install/build/i686", 0xbfcc1250) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/libraries/array/dist-install/build/sse2/libncursesw.so.5", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) stat64("/home/shana/programming/ghc/libraries/array/dist-install/build/sse2", 0xbfcc1250) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/libraries/array/dist-install/build/libncursesw.so.5", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) stat64("/home/shana/programming/ghc/libraries/array/dist-install/build", {st_mode=S_IFDIR|0755, st_size=4096, ...}) = 0 open("/home/shana/programming/ghc/libraries/base/dist-install/build/tls/i686/sse2/libncursesw.so.5", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) stat64("/home/shana/programming/ghc/libraries/base/dist-install/build/tls/i686/sse2", 0xbfcc1250) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/libraries/base/dist-install/build/tls/i686/libncursesw.so.5", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) stat64("/home/shana/programming/ghc/libraries/base/dist-install/build/tls/i686", 0xbfcc1250) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/libraries/base/dist-install/build/tls/sse2/libncursesw.so.5", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) stat64("/home/shana/programming/ghc/libraries/base/dist-install/build/tls/sse2", 0xbfcc1250) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/libraries/base/dist-install/build/tls/libncursesw.so.5", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) stat64("/home/shana/programming/ghc/libraries/base/dist-install/build/tls", 0xbfcc1250) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/libraries/base/dist-install/build/i686/sse2/libncursesw.so.5", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) stat64("/home/shana/programming/ghc/libraries/base/dist-install/build/i686/sse2", 0xbfcc1250) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/libraries/base/dist-install/build/i686/libncursesw.so.5", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) stat64("/home/shana/programming/ghc/libraries/base/dist-install/build/i686", 0xbfcc1250) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/libraries/base/dist-install/build/sse2/libncursesw.so.5", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) stat64("/home/shana/programming/ghc/libraries/base/dist-install/build/sse2", 0xbfcc1250) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/libraries/base/dist-install/build/libncursesw.so.5", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) stat64("/home/shana/programming/ghc/libraries/base/dist-install/build", {st_mode=S_IFDIR|0755, st_size=4096, ...}) = 0 open("/home/shana/programming/ghc/libraries/integer-gmp/dist-install/build/tls/i686/sse2/libncursesw.so.5", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) stat64("/home/shana/programming/ghc/libraries/integer-gmp/dist-install/build/tls/i686/sse2", 0xbfcc1250) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/libraries/integer-gmp/dist-install/build/tls/i686/libncursesw.so.5", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) stat64("/home/shana/programming/ghc/libraries/integer-gmp/dist-install/build/tls/i686", 0xbfcc1250) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/libraries/integer-gmp/dist-install/build/tls/sse2/libncursesw.so.5", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) stat64("/home/shana/programming/ghc/libraries/integer-gmp/dist-install/build/tls/sse2", 0xbfcc1250) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/libraries/integer-gmp/dist-install/build/tls/libncursesw.so.5", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) stat64("/home/shana/programming/ghc/libraries/integer-gmp/dist-install/build/tls", 0xbfcc1250) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/libraries/integer-gmp/dist-install/build/i686/sse2/libncursesw.so.5", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) stat64("/home/shana/programming/ghc/libraries/integer-gmp/dist-install/build/i686/sse2", 0xbfcc1250) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/libraries/integer-gmp/dist-install/build/i686/libncursesw.so.5", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) stat64("/home/shana/programming/ghc/libraries/integer-gmp/dist-install/build/i686", 0xbfcc1250) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/libraries/integer-gmp/dist-install/build/sse2/libncursesw.so.5", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) stat64("/home/shana/programming/ghc/libraries/integer-gmp/dist-install/build/sse2", 0xbfcc1250) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/libraries/integer-gmp/dist-install/build/libncursesw.so.5", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) stat64("/home/shana/programming/ghc/libraries/integer-gmp/dist-install/build", {st_mode=S_IFDIR|0755, st_size=4096, ...}) = 0 open("/home/shana/programming/ghc/libraries/ghc-prim/dist-install/build/tls/i686/sse2/libncursesw.so.5", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) stat64("/home/shana/programming/ghc/libraries/ghc-prim/dist-install/build/tls/i686/sse2", 0xbfcc1250) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/libraries/ghc-prim/dist-install/build/tls/i686/libncursesw.so.5", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) stat64("/home/shana/programming/ghc/libraries/ghc-prim/dist-install/build/tls/i686", 0xbfcc1250) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/libraries/ghc-prim/dist-install/build/tls/sse2/libncursesw.so.5", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) stat64("/home/shana/programming/ghc/libraries/ghc-prim/dist-install/build/tls/sse2", 0xbfcc1250) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/libraries/ghc-prim/dist-install/build/tls/libncursesw.so.5", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) stat64("/home/shana/programming/ghc/libraries/ghc-prim/dist-install/build/tls", 0xbfcc1250) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/libraries/ghc-prim/dist-install/build/i686/sse2/libncursesw.so.5", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) stat64("/home/shana/programming/ghc/libraries/ghc-prim/dist-install/build/i686/sse2", 0xbfcc1250) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/libraries/ghc-prim/dist-install/build/i686/libncursesw.so.5", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) stat64("/home/shana/programming/ghc/libraries/ghc-prim/dist-install/build/i686", 0xbfcc1250) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/libraries/ghc-prim/dist-install/build/sse2/libncursesw.so.5", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) stat64("/home/shana/programming/ghc/libraries/ghc-prim/dist-install/build/sse2", 0xbfcc1250) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/libraries/ghc-prim/dist-install/build/libncursesw.so.5", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) stat64("/home/shana/programming/ghc/libraries/ghc-prim/dist-install/build", {st_mode=S_IFDIR|0755, st_size=4096, ...}) = 0 open("/home/shana/programming/ghc/rts/dist/build/tls/i686/sse2/libncursesw.so.5", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) stat64("/home/shana/programming/ghc/rts/dist/build/tls/i686/sse2", 0xbfcc1250) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/rts/dist/build/tls/i686/libncursesw.so.5", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) stat64("/home/shana/programming/ghc/rts/dist/build/tls/i686", 0xbfcc1250) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/rts/dist/build/tls/sse2/libncursesw.so.5", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) stat64("/home/shana/programming/ghc/rts/dist/build/tls/sse2", 0xbfcc1250) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/rts/dist/build/tls/libncursesw.so.5", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) stat64("/home/shana/programming/ghc/rts/dist/build/tls", 0xbfcc1250) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/rts/dist/build/i686/sse2/libncursesw.so.5", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) stat64("/home/shana/programming/ghc/rts/dist/build/i686/sse2", 0xbfcc1250) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/rts/dist/build/i686/libncursesw.so.5", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) stat64("/home/shana/programming/ghc/rts/dist/build/i686", 0xbfcc1250) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/rts/dist/build/sse2/libncursesw.so.5", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) stat64("/home/shana/programming/ghc/rts/dist/build/sse2", 0xbfcc1250) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/rts/dist/build/libncursesw.so.5", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) stat64("/home/shana/programming/ghc/rts/dist/build", {st_mode=S_IFDIR|0755, st_size=36864, ...}) = 0 open("/run/opengl-driver/lib/tls/i686/sse2/libncursesw.so.5", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) stat64("/run/opengl-driver/lib/tls/i686/sse2", 0xbfcc1250) = -1 ENOENT (No such file or directory) open("/run/opengl-driver/lib/tls/i686/libncursesw.so.5", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) stat64("/run/opengl-driver/lib/tls/i686", 0xbfcc1250) = -1 ENOENT (No such file or directory) open("/run/opengl-driver/lib/tls/sse2/libncursesw.so.5", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) stat64("/run/opengl-driver/lib/tls/sse2", 0xbfcc1250) = -1 ENOENT (No such file or directory) open("/run/opengl-driver/lib/tls/libncursesw.so.5", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) stat64("/run/opengl-driver/lib/tls", {st_mode=S_IFDIR|0555, st_size=4096, ...}) = 0 open("/run/opengl-driver/lib/i686/sse2/libncursesw.so.5", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) stat64("/run/opengl-driver/lib/i686/sse2", 0xbfcc1250) = -1 ENOENT (No such file or directory) open("/run/opengl-driver/lib/i686/libncursesw.so.5", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) stat64("/run/opengl-driver/lib/i686", 0xbfcc1250) = -1 ENOENT (No such file or directory) open("/run/opengl-driver/lib/sse2/libncursesw.so.5", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) stat64("/run/opengl-driver/lib/sse2", 0xbfcc1250) = -1 ENOENT (No such file or directory) open("/run/opengl-driver/lib/libncursesw.so.5", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) stat64("/run/opengl-driver/lib", {st_mode=S_IFDIR|0555, st_size=4096, ...}) = 0 open("/run/opengl-driver-32/lib/tls/i686/sse2/libncursesw.so.5", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) stat64("/run/opengl-driver-32/lib/tls/i686/sse2", 0xbfcc1250) = -1 ENOENT (No such file or directory) open("/run/opengl-driver-32/lib/tls/i686/libncursesw.so.5", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) stat64("/run/opengl-driver-32/lib/tls/i686", 0xbfcc1250) = -1 ENOENT (No such file or directory) open("/run/opengl-driver-32/lib/tls/sse2/libncursesw.so.5", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) stat64("/run/opengl-driver-32/lib/tls/sse2", 0xbfcc1250) = -1 ENOENT (No such file or directory) open("/run/opengl-driver-32/lib/tls/libncursesw.so.5", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) stat64("/run/opengl-driver-32/lib/tls", {st_mode=S_IFDIR|0555, st_size=4096, ...}) = 0 open("/run/opengl-driver-32/lib/i686/sse2/libncursesw.so.5", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) stat64("/run/opengl-driver-32/lib/i686/sse2", 0xbfcc1250) = -1 ENOENT (No such file or directory) open("/run/opengl-driver-32/lib/i686/libncursesw.so.5", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) stat64("/run/opengl-driver-32/lib/i686", 0xbfcc1250) = -1 ENOENT (No such file or directory) open("/run/opengl-driver-32/lib/sse2/libncursesw.so.5", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) stat64("/run/opengl-driver-32/lib/sse2", 0xbfcc1250) = -1 ENOENT (No such file or directory) open("/run/opengl-driver-32/lib/libncursesw.so.5", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) stat64("/run/opengl-driver-32/lib", {st_mode=S_IFDIR|0555, st_size=4096, ...}) = 0 open("/home/shana/programming/ghc/inplace/lib/bin/../haskeline-0.7.1.2/tls/i686/sse2/libncursesw.so.5", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) stat64("/home/shana/programming/ghc/inplace/lib/bin/../haskeline-0.7.1.2/tls/i686/sse2", 0xbfcc1250) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/inplace/lib/bin/../haskeline-0.7.1.2/tls/i686/libncursesw.so.5", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) stat64("/home/shana/programming/ghc/inplace/lib/bin/../haskeline-0.7.1.2/tls/i686", 0xbfcc1250) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/inplace/lib/bin/../haskeline-0.7.1.2/tls/sse2/libncursesw.so.5", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) stat64("/home/shana/programming/ghc/inplace/lib/bin/../haskeline-0.7.1.2/tls/sse2", 0xbfcc1250) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/inplace/lib/bin/../haskeline-0.7.1.2/tls/libncursesw.so.5", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) stat64("/home/shana/programming/ghc/inplace/lib/bin/../haskeline-0.7.1.2/tls", 0xbfcc1250) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/inplace/lib/bin/../haskeline-0.7.1.2/i686/sse2/libncursesw.so.5", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) stat64("/home/shana/programming/ghc/inplace/lib/bin/../haskeline-0.7.1.2/i686/sse2", 0xbfcc1250) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/inplace/lib/bin/../haskeline-0.7.1.2/i686/libncursesw.so.5", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) stat64("/home/shana/programming/ghc/inplace/lib/bin/../haskeline-0.7.1.2/i686", 0xbfcc1250) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/inplace/lib/bin/../haskeline-0.7.1.2/sse2/libncursesw.so.5", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) stat64("/home/shana/programming/ghc/inplace/lib/bin/../haskeline-0.7.1.2/sse2", 0xbfcc1250) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/inplace/lib/bin/../haskeline-0.7.1.2/libncursesw.so.5", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) stat64("/home/shana/programming/ghc/inplace/lib/bin/../haskeline-0.7.1.2", 0xbfcc1250) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/inplace/lib/bin/../terminfo-0.4.0.0/tls/i686/sse2/libncursesw.so.5", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) stat64("/home/shana/programming/ghc/inplace/lib/bin/../terminfo-0.4.0.0/tls/i686/sse2", 0xbfcc1250) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/inplace/lib/bin/../terminfo-0.4.0.0/tls/i686/libncursesw.so.5", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) stat64("/home/shana/programming/ghc/inplace/lib/bin/../terminfo-0.4.0.0/tls/i686", 0xbfcc1250) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/inplace/lib/bin/../terminfo-0.4.0.0/tls/sse2/libncursesw.so.5", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) stat64("/home/shana/programming/ghc/inplace/lib/bin/../terminfo-0.4.0.0/tls/sse2", 0xbfcc1250) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/inplace/lib/bin/../terminfo-0.4.0.0/tls/libncursesw.so.5", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) stat64("/home/shana/programming/ghc/inplace/lib/bin/../terminfo-0.4.0.0/tls", 0xbfcc1250) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/inplace/lib/bin/../terminfo-0.4.0.0/i686/sse2/libncursesw.so.5", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) stat64("/home/shana/programming/ghc/inplace/lib/bin/../terminfo-0.4.0.0/i686/sse2", 0xbfcc1250) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/inplace/lib/bin/../terminfo-0.4.0.0/i686/libncursesw.so.5", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) stat64("/home/shana/programming/ghc/inplace/lib/bin/../terminfo-0.4.0.0/i686", 0xbfcc1250) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/inplace/lib/bin/../terminfo-0.4.0.0/sse2/libncursesw.so.5", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) stat64("/home/shana/programming/ghc/inplace/lib/bin/../terminfo-0.4.0.0/sse2", 0xbfcc1250) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/inplace/lib/bin/../terminfo-0.4.0.0/libncursesw.so.5", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) stat64("/home/shana/programming/ghc/inplace/lib/bin/../terminfo-0.4.0.0", 0xbfcc1250) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/inplace/lib/bin/../ghc-7.9.20140510/tls/i686/sse2/libncursesw.so.5", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) stat64("/home/shana/programming/ghc/inplace/lib/bin/../ghc-7.9.20140510/tls/i686/sse2", 0xbfcc1250) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/inplace/lib/bin/../ghc-7.9.20140510/tls/i686/libncursesw.so.5", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) stat64("/home/shana/programming/ghc/inplace/lib/bin/../ghc-7.9.20140510/tls/i686", 0xbfcc1250) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/inplace/lib/bin/../ghc-7.9.20140510/tls/sse2/libncursesw.so.5", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) stat64("/home/shana/programming/ghc/inplace/lib/bin/../ghc-7.9.20140510/tls/sse2", 0xbfcc1250) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/inplace/lib/bin/../ghc-7.9.20140510/tls/libncursesw.so.5", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) stat64("/home/shana/programming/ghc/inplace/lib/bin/../ghc-7.9.20140510/tls", 0xbfcc1250) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/inplace/lib/bin/../ghc-7.9.20140510/i686/sse2/libncursesw.so.5", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) stat64("/home/shana/programming/ghc/inplace/lib/bin/../ghc-7.9.20140510/i686/sse2", 0xbfcc1250) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/inplace/lib/bin/../ghc-7.9.20140510/i686/libncursesw.so.5", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) stat64("/home/shana/programming/ghc/inplace/lib/bin/../ghc-7.9.20140510/i686", 0xbfcc1250) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/inplace/lib/bin/../ghc-7.9.20140510/sse2/libncursesw.so.5", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) stat64("/home/shana/programming/ghc/inplace/lib/bin/../ghc-7.9.20140510/sse2", 0xbfcc1250) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/inplace/lib/bin/../ghc-7.9.20140510/libncursesw.so.5", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) stat64("/home/shana/programming/ghc/inplace/lib/bin/../ghc-7.9.20140510", 0xbfcc1250) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/inplace/lib/bin/../transformers-0.4.0.0/tls/i686/sse2/libncursesw.so.5", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) stat64("/home/shana/programming/ghc/inplace/lib/bin/../transformers-0.4.0.0/tls/i686/sse2", 0xbfcc1250) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/inplace/lib/bin/../transformers-0.4.0.0/tls/i686/libncursesw.so.5", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) stat64("/home/shana/programming/ghc/inplace/lib/bin/../transformers-0.4.0.0/tls/i686", 0xbfcc1250) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/inplace/lib/bin/../transformers-0.4.0.0/tls/sse2/libncursesw.so.5", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) stat64("/home/shana/programming/ghc/inplace/lib/bin/../transformers-0.4.0.0/tls/sse2", 0xbfcc1250) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/inplace/lib/bin/../transformers-0.4.0.0/tls/libncursesw.so.5", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) stat64("/home/shana/programming/ghc/inplace/lib/bin/../transformers-0.4.0.0/tls", 0xbfcc1250) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/inplace/lib/bin/../transformers-0.4.0.0/i686/sse2/libncursesw.so.5", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) stat64("/home/shana/programming/ghc/inplace/lib/bin/../transformers-0.4.0.0/i686/sse2", 0xbfcc1250) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/inplace/lib/bin/../transformers-0.4.0.0/i686/libncursesw.so.5", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) stat64("/home/shana/programming/ghc/inplace/lib/bin/../transformers-0.4.0.0/i686", 0xbfcc1250) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/inplace/lib/bin/../transformers-0.4.0.0/sse2/libncursesw.so.5", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) stat64("/home/shana/programming/ghc/inplace/lib/bin/../transformers-0.4.0.0/sse2", 0xbfcc1250) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/inplace/lib/bin/../transformers-0.4.0.0/libncursesw.so.5", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) stat64("/home/shana/programming/ghc/inplace/lib/bin/../transformers-0.4.0.0", 0xbfcc1250) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/inplace/lib/bin/../template-haskell-2.10.0.0/tls/i686/sse2/libncursesw.so.5", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) stat64("/home/shana/programming/ghc/inplace/lib/bin/../template-haskell-2.10.0.0/tls/i686/sse2", 0xbfcc1250) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/inplace/lib/bin/../template-haskell-2.10.0.0/tls/i686/libncursesw.so.5", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) stat64("/home/shana/programming/ghc/inplace/lib/bin/../template-haskell-2.10.0.0/tls/i686", 0xbfcc1250) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/inplace/lib/bin/../template-haskell-2.10.0.0/tls/sse2/libncursesw.so.5", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) stat64("/home/shana/programming/ghc/inplace/lib/bin/../template-haskell-2.10.0.0/tls/sse2", 0xbfcc1250) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/inplace/lib/bin/../template-haskell-2.10.0.0/tls/libncursesw.so.5", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) stat64("/home/shana/programming/ghc/inplace/lib/bin/../template-haskell-2.10.0.0/tls", 0xbfcc1250) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/inplace/lib/bin/../template-haskell-2.10.0.0/i686/sse2/libncursesw.so.5", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) stat64("/home/shana/programming/ghc/inplace/lib/bin/../template-haskell-2.10.0.0/i686/sse2", 0xbfcc1250) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/inplace/lib/bin/../template-haskell-2.10.0.0/i686/libncursesw.so.5", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) stat64("/home/shana/programming/ghc/inplace/lib/bin/../template-haskell-2.10.0.0/i686", 0xbfcc1250) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/inplace/lib/bin/../template-haskell-2.10.0.0/sse2/libncursesw.so.5", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) stat64("/home/shana/programming/ghc/inplace/lib/bin/../template-haskell-2.10.0.0/sse2", 0xbfcc1250) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/inplace/lib/bin/../template-haskell-2.10.0.0/libncursesw.so.5", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) stat64("/home/shana/programming/ghc/inplace/lib/bin/../template-haskell-2.10.0.0", 0xbfcc1250) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/inplace/lib/bin/../hpc-0.6.0.1/tls/i686/sse2/libncursesw.so.5", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) stat64("/home/shana/programming/ghc/inplace/lib/bin/../hpc-0.6.0.1/tls/i686/sse2", 0xbfcc1250) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/inplace/lib/bin/../hpc-0.6.0.1/tls/i686/libncursesw.so.5", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) stat64("/home/shana/programming/ghc/inplace/lib/bin/../hpc-0.6.0.1/tls/i686", 0xbfcc1250) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/inplace/lib/bin/../hpc-0.6.0.1/tls/sse2/libncursesw.so.5", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) stat64("/home/shana/programming/ghc/inplace/lib/bin/../hpc-0.6.0.1/tls/sse2", 0xbfcc1250) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/inplace/lib/bin/../hpc-0.6.0.1/tls/libncursesw.so.5", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) stat64("/home/shana/programming/ghc/inplace/lib/bin/../hpc-0.6.0.1/tls", 0xbfcc1250) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/inplace/lib/bin/../hpc-0.6.0.1/i686/sse2/libncursesw.so.5", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) stat64("/home/shana/programming/ghc/inplace/lib/bin/../hpc-0.6.0.1/i686/sse2", 0xbfcc1250) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/inplace/lib/bin/../hpc-0.6.0.1/i686/libncursesw.so.5", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) stat64("/home/shana/programming/ghc/inplace/lib/bin/../hpc-0.6.0.1/i686", 0xbfcc1250) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/inplace/lib/bin/../hpc-0.6.0.1/sse2/libncursesw.so.5", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) stat64("/home/shana/programming/ghc/inplace/lib/bin/../hpc-0.6.0.1/sse2", 0xbfcc1250) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/inplace/lib/bin/../hpc-0.6.0.1/libncursesw.so.5", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) stat64("/home/shana/programming/ghc/inplace/lib/bin/../hpc-0.6.0.1", 0xbfcc1250) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/inplace/lib/bin/../hoopl-3.10.0.1/tls/i686/sse2/libncursesw.so.5", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) stat64("/home/shana/programming/ghc/inplace/lib/bin/../hoopl-3.10.0.1/tls/i686/sse2", 0xbfcc1250) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/inplace/lib/bin/../hoopl-3.10.0.1/tls/i686/libncursesw.so.5", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) stat64("/home/shana/programming/ghc/inplace/lib/bin/../hoopl-3.10.0.1/tls/i686", 0xbfcc1250) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/inplace/lib/bin/../hoopl-3.10.0.1/tls/sse2/libncursesw.so.5", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) stat64("/home/shana/programming/ghc/inplace/lib/bin/../hoopl-3.10.0.1/tls/sse2", 0xbfcc1250) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/inplace/lib/bin/../hoopl-3.10.0.1/tls/libncursesw.so.5", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) stat64("/home/shana/programming/ghc/inplace/lib/bin/../hoopl-3.10.0.1/tls", 0xbfcc1250) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/inplace/lib/bin/../hoopl-3.10.0.1/i686/sse2/libncursesw.so.5", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) stat64("/home/shana/programming/ghc/inplace/lib/bin/../hoopl-3.10.0.1/i686/sse2", 0xbfcc1250) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/inplace/lib/bin/../hoopl-3.10.0.1/i686/libncursesw.so.5", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) stat64("/home/shana/programming/ghc/inplace/lib/bin/../hoopl-3.10.0.1/i686", 0xbfcc1250) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/inplace/lib/bin/../hoopl-3.10.0.1/sse2/libncursesw.so.5", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) stat64("/home/shana/programming/ghc/inplace/lib/bin/../hoopl-3.10.0.1/sse2", 0xbfcc1250) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/inplace/lib/bin/../hoopl-3.10.0.1/libncursesw.so.5", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) stat64("/home/shana/programming/ghc/inplace/lib/bin/../hoopl-3.10.0.1", 0xbfcc1250) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/inplace/lib/bin/../bin-package-db-0.0.0.0/tls/i686/sse2/libncursesw.so.5", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) stat64("/home/shana/programming/ghc/inplace/lib/bin/../bin-package-db-0.0.0.0/tls/i686/sse2", 0xbfcc1250) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/inplace/lib/bin/../bin-package-db-0.0.0.0/tls/i686/libncursesw.so.5", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) stat64("/home/shana/programming/ghc/inplace/lib/bin/../bin-package-db-0.0.0.0/tls/i686", 0xbfcc1250) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/inplace/lib/bin/../bin-package-db-0.0.0.0/tls/sse2/libncursesw.so.5", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) stat64("/home/shana/programming/ghc/inplace/lib/bin/../bin-package-db-0.0.0.0/tls/sse2", 0xbfcc1250) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/inplace/lib/bin/../bin-package-db-0.0.0.0/tls/libncursesw.so.5", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) stat64("/home/shana/programming/ghc/inplace/lib/bin/../bin-package-db-0.0.0.0/tls", 0xbfcc1250) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/inplace/lib/bin/../bin-package-db-0.0.0.0/i686/sse2/libncursesw.so.5", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) stat64("/home/shana/programming/ghc/inplace/lib/bin/../bin-package-db-0.0.0.0/i686/sse2", 0xbfcc1250) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/inplace/lib/bin/../bin-package-db-0.0.0.0/i686/libncursesw.so.5", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) stat64("/home/shana/programming/ghc/inplace/lib/bin/../bin-package-db-0.0.0.0/i686", 0xbfcc1250) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/inplace/lib/bin/../bin-package-db-0.0.0.0/sse2/libncursesw.so.5", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) stat64("/home/shana/programming/ghc/inplace/lib/bin/../bin-package-db-0.0.0.0/sse2", 0xbfcc1250) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/inplace/lib/bin/../bin-package-db-0.0.0.0/libncursesw.so.5", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) stat64("/home/shana/programming/ghc/inplace/lib/bin/../bin-package-db-0.0.0.0", 0xbfcc1250) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/inplace/lib/bin/../binary-0.7.1.0/tls/i686/sse2/libncursesw.so.5", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) stat64("/home/shana/programming/ghc/inplace/lib/bin/../binary-0.7.1.0/tls/i686/sse2", 0xbfcc1250) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/inplace/lib/bin/../binary-0.7.1.0/tls/i686/libncursesw.so.5", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) stat64("/home/shana/programming/ghc/inplace/lib/bin/../binary-0.7.1.0/tls/i686", 0xbfcc1250) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/inplace/lib/bin/../binary-0.7.1.0/tls/sse2/libncursesw.so.5", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) stat64("/home/shana/programming/ghc/inplace/lib/bin/../binary-0.7.1.0/tls/sse2", 0xbfcc1250) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/inplace/lib/bin/../binary-0.7.1.0/tls/libncursesw.so.5", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) stat64("/home/shana/programming/ghc/inplace/lib/bin/../binary-0.7.1.0/tls", 0xbfcc1250) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/inplace/lib/bin/../binary-0.7.1.0/i686/sse2/libncursesw.so.5", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) stat64("/home/shana/programming/ghc/inplace/lib/bin/../binary-0.7.1.0/i686/sse2", 0xbfcc1250) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/inplace/lib/bin/../binary-0.7.1.0/i686/libncursesw.so.5", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) stat64("/home/shana/programming/ghc/inplace/lib/bin/../binary-0.7.1.0/i686", 0xbfcc1250) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/inplace/lib/bin/../binary-0.7.1.0/sse2/libncursesw.so.5", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) stat64("/home/shana/programming/ghc/inplace/lib/bin/../binary-0.7.1.0/sse2", 0xbfcc1250) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/inplace/lib/bin/../binary-0.7.1.0/libncursesw.so.5", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) stat64("/home/shana/programming/ghc/inplace/lib/bin/../binary-0.7.1.0", 0xbfcc1250) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/inplace/lib/bin/../Cabal-1.20.0.0/tls/i686/sse2/libncursesw.so.5", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) stat64("/home/shana/programming/ghc/inplace/lib/bin/../Cabal-1.20.0.0/tls/i686/sse2", 0xbfcc1250) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/inplace/lib/bin/../Cabal-1.20.0.0/tls/i686/libncursesw.so.5", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) stat64("/home/shana/programming/ghc/inplace/lib/bin/../Cabal-1.20.0.0/tls/i686", 0xbfcc1250) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/inplace/lib/bin/../Cabal-1.20.0.0/tls/sse2/libncursesw.so.5", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) stat64("/home/shana/programming/ghc/inplace/lib/bin/../Cabal-1.20.0.0/tls/sse2", 0xbfcc1250) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/inplace/lib/bin/../Cabal-1.20.0.0/tls/libncursesw.so.5", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) stat64("/home/shana/programming/ghc/inplace/lib/bin/../Cabal-1.20.0.0/tls", 0xbfcc1250) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/inplace/lib/bin/../Cabal-1.20.0.0/i686/sse2/libncursesw.so.5", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) stat64("/home/shana/programming/ghc/inplace/lib/bin/../Cabal-1.20.0.0/i686/sse2", 0xbfcc1250) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/inplace/lib/bin/../Cabal-1.20.0.0/i686/libncursesw.so.5", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) stat64("/home/shana/programming/ghc/inplace/lib/bin/../Cabal-1.20.0.0/i686", 0xbfcc1250) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/inplace/lib/bin/../Cabal-1.20.0.0/sse2/libncursesw.so.5", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) stat64("/home/shana/programming/ghc/inplace/lib/bin/../Cabal-1.20.0.0/sse2", 0xbfcc1250) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/inplace/lib/bin/../Cabal-1.20.0.0/libncursesw.so.5", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) stat64("/home/shana/programming/ghc/inplace/lib/bin/../Cabal-1.20.0.0", 0xbfcc1250) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/inplace/lib/bin/../process-1.2.0.0/tls/i686/sse2/libncursesw.so.5", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) stat64("/home/shana/programming/ghc/inplace/lib/bin/../process-1.2.0.0/tls/i686/sse2", 0xbfcc1250) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/inplace/lib/bin/../process-1.2.0.0/tls/i686/libncursesw.so.5", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) stat64("/home/shana/programming/ghc/inplace/lib/bin/../process-1.2.0.0/tls/i686", 0xbfcc1250) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/inplace/lib/bin/../process-1.2.0.0/tls/sse2/libncursesw.so.5", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) stat64("/home/shana/programming/ghc/inplace/lib/bin/../process-1.2.0.0/tls/sse2", 0xbfcc1250) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/inplace/lib/bin/../process-1.2.0.0/tls/libncursesw.so.5", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) stat64("/home/shana/programming/ghc/inplace/lib/bin/../process-1.2.0.0/tls", 0xbfcc1250) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/inplace/lib/bin/../process-1.2.0.0/i686/sse2/libncursesw.so.5", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) stat64("/home/shana/programming/ghc/inplace/lib/bin/../process-1.2.0.0/i686/sse2", 0xbfcc1250) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/inplace/lib/bin/../process-1.2.0.0/i686/libncursesw.so.5", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) stat64("/home/shana/programming/ghc/inplace/lib/bin/../process-1.2.0.0/i686", 0xbfcc1250) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/inplace/lib/bin/../process-1.2.0.0/sse2/libncursesw.so.5", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) stat64("/home/shana/programming/ghc/inplace/lib/bin/../process-1.2.0.0/sse2", 0xbfcc1250) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/inplace/lib/bin/../process-1.2.0.0/libncursesw.so.5", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) stat64("/home/shana/programming/ghc/inplace/lib/bin/../process-1.2.0.0", 0xbfcc1250) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/inplace/lib/bin/../pretty-1.1.1.1/tls/i686/sse2/libncursesw.so.5", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) stat64("/home/shana/programming/ghc/inplace/lib/bin/../pretty-1.1.1.1/tls/i686/sse2", 0xbfcc1250) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/inplace/lib/bin/../pretty-1.1.1.1/tls/i686/libncursesw.so.5", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) stat64("/home/shana/programming/ghc/inplace/lib/bin/../pretty-1.1.1.1/tls/i686", 0xbfcc1250) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/inplace/lib/bin/../pretty-1.1.1.1/tls/sse2/libncursesw.so.5", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) stat64("/home/shana/programming/ghc/inplace/lib/bin/../pretty-1.1.1.1/tls/sse2", 0xbfcc1250) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/inplace/lib/bin/../pretty-1.1.1.1/tls/libncursesw.so.5", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) stat64("/home/shana/programming/ghc/inplace/lib/bin/../pretty-1.1.1.1/tls", 0xbfcc1250) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/inplace/lib/bin/../pretty-1.1.1.1/i686/sse2/libncursesw.so.5", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) stat64("/home/shana/programming/ghc/inplace/lib/bin/../pretty-1.1.1.1/i686/sse2", 0xbfcc1250) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/inplace/lib/bin/../pretty-1.1.1.1/i686/libncursesw.so.5", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) stat64("/home/shana/programming/ghc/inplace/lib/bin/../pretty-1.1.1.1/i686", 0xbfcc1250) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/inplace/lib/bin/../pretty-1.1.1.1/sse2/libncursesw.so.5", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) stat64("/home/shana/programming/ghc/inplace/lib/bin/../pretty-1.1.1.1/sse2", 0xbfcc1250) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/inplace/lib/bin/../pretty-1.1.1.1/libncursesw.so.5", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) stat64("/home/shana/programming/ghc/inplace/lib/bin/../pretty-1.1.1.1", 0xbfcc1250) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/inplace/lib/bin/../directory-1.2.1.0/tls/i686/sse2/libncursesw.so.5", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) stat64("/home/shana/programming/ghc/inplace/lib/bin/../directory-1.2.1.0/tls/i686/sse2", 0xbfcc1250) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/inplace/lib/bin/../directory-1.2.1.0/tls/i686/libncursesw.so.5", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) stat64("/home/shana/programming/ghc/inplace/lib/bin/../directory-1.2.1.0/tls/i686", 0xbfcc1250) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/inplace/lib/bin/../directory-1.2.1.0/tls/sse2/libncursesw.so.5", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) stat64("/home/shana/programming/ghc/inplace/lib/bin/../directory-1.2.1.0/tls/sse2", 0xbfcc1250) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/inplace/lib/bin/../directory-1.2.1.0/tls/libncursesw.so.5", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) stat64("/home/shana/programming/ghc/inplace/lib/bin/../directory-1.2.1.0/tls", 0xbfcc1250) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/inplace/lib/bin/../directory-1.2.1.0/i686/sse2/libncursesw.so.5", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) stat64("/home/shana/programming/ghc/inplace/lib/bin/../directory-1.2.1.0/i686/sse2", 0xbfcc1250) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/inplace/lib/bin/../directory-1.2.1.0/i686/libncursesw.so.5", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) stat64("/home/shana/programming/ghc/inplace/lib/bin/../directory-1.2.1.0/i686", 0xbfcc1250) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/inplace/lib/bin/../directory-1.2.1.0/sse2/libncursesw.so.5", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) stat64("/home/shana/programming/ghc/inplace/lib/bin/../directory-1.2.1.0/sse2", 0xbfcc1250) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/inplace/lib/bin/../directory-1.2.1.0/libncursesw.so.5", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) stat64("/home/shana/programming/ghc/inplace/lib/bin/../directory-1.2.1.0", 0xbfcc1250) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/inplace/lib/bin/../unix-2.7.0.1/tls/i686/sse2/libncursesw.so.5", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) stat64("/home/shana/programming/ghc/inplace/lib/bin/../unix-2.7.0.1/tls/i686/sse2", 0xbfcc1250) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/inplace/lib/bin/../unix-2.7.0.1/tls/i686/libncursesw.so.5", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) stat64("/home/shana/programming/ghc/inplace/lib/bin/../unix-2.7.0.1/tls/i686", 0xbfcc1250) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/inplace/lib/bin/../unix-2.7.0.1/tls/sse2/libncursesw.so.5", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) stat64("/home/shana/programming/ghc/inplace/lib/bin/../unix-2.7.0.1/tls/sse2", 0xbfcc1250) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/inplace/lib/bin/../unix-2.7.0.1/tls/libncursesw.so.5", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) stat64("/home/shana/programming/ghc/inplace/lib/bin/../unix-2.7.0.1/tls", 0xbfcc1250) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/inplace/lib/bin/../unix-2.7.0.1/i686/sse2/libncursesw.so.5", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) stat64("/home/shana/programming/ghc/inplace/lib/bin/../unix-2.7.0.1/i686/sse2", 0xbfcc1250) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/inplace/lib/bin/../unix-2.7.0.1/i686/libncursesw.so.5", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) stat64("/home/shana/programming/ghc/inplace/lib/bin/../unix-2.7.0.1/i686", 0xbfcc1250) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/inplace/lib/bin/../unix-2.7.0.1/sse2/libncursesw.so.5", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) stat64("/home/shana/programming/ghc/inplace/lib/bin/../unix-2.7.0.1/sse2", 0xbfcc1250) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/inplace/lib/bin/../unix-2.7.0.1/libncursesw.so.5", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) stat64("/home/shana/programming/ghc/inplace/lib/bin/../unix-2.7.0.1", 0xbfcc1250) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/inplace/lib/bin/../time-1.4.2/tls/i686/sse2/libncursesw.so.5", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) stat64("/home/shana/programming/ghc/inplace/lib/bin/../time-1.4.2/tls/i686/sse2", 0xbfcc1250) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/inplace/lib/bin/../time-1.4.2/tls/i686/libncursesw.so.5", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) stat64("/home/shana/programming/ghc/inplace/lib/bin/../time-1.4.2/tls/i686", 0xbfcc1250) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/inplace/lib/bin/../time-1.4.2/tls/sse2/libncursesw.so.5", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) stat64("/home/shana/programming/ghc/inplace/lib/bin/../time-1.4.2/tls/sse2", 0xbfcc1250) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/inplace/lib/bin/../time-1.4.2/tls/libncursesw.so.5", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) stat64("/home/shana/programming/ghc/inplace/lib/bin/../time-1.4.2/tls", 0xbfcc1250) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/inplace/lib/bin/../time-1.4.2/i686/sse2/libncursesw.so.5", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) stat64("/home/shana/programming/ghc/inplace/lib/bin/../time-1.4.2/i686/sse2", 0xbfcc1250) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/inplace/lib/bin/../time-1.4.2/i686/libncursesw.so.5", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) stat64("/home/shana/programming/ghc/inplace/lib/bin/../time-1.4.2/i686", 0xbfcc1250) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/inplace/lib/bin/../time-1.4.2/sse2/libncursesw.so.5", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) stat64("/home/shana/programming/ghc/inplace/lib/bin/../time-1.4.2/sse2", 0xbfcc1250) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/inplace/lib/bin/../time-1.4.2/libncursesw.so.5", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) stat64("/home/shana/programming/ghc/inplace/lib/bin/../time-1.4.2", 0xbfcc1250) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/inplace/lib/bin/../old-locale-1.0.0.6/tls/i686/sse2/libncursesw.so.5", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) stat64("/home/shana/programming/ghc/inplace/lib/bin/../old-locale-1.0.0.6/tls/i686/sse2", 0xbfcc1250) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/inplace/lib/bin/../old-locale-1.0.0.6/tls/i686/libncursesw.so.5", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) stat64("/home/shana/programming/ghc/inplace/lib/bin/../old-locale-1.0.0.6/tls/i686", 0xbfcc1250) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/inplace/lib/bin/../old-locale-1.0.0.6/tls/sse2/libncursesw.so.5", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) stat64("/home/shana/programming/ghc/inplace/lib/bin/../old-locale-1.0.0.6/tls/sse2", 0xbfcc1250) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/inplace/lib/bin/../old-locale-1.0.0.6/tls/libncursesw.so.5", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) stat64("/home/shana/programming/ghc/inplace/lib/bin/../old-locale-1.0.0.6/tls", 0xbfcc1250) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/inplace/lib/bin/../old-locale-1.0.0.6/i686/sse2/libncursesw.so.5", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) stat64("/home/shana/programming/ghc/inplace/lib/bin/../old-locale-1.0.0.6/i686/sse2", 0xbfcc1250) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/inplace/lib/bin/../old-locale-1.0.0.6/i686/libncursesw.so.5", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) stat64("/home/shana/programming/ghc/inplace/lib/bin/../old-locale-1.0.0.6/i686", 0xbfcc1250) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/inplace/lib/bin/../old-locale-1.0.0.6/sse2/libncursesw.so.5", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) stat64("/home/shana/programming/ghc/inplace/lib/bin/../old-locale-1.0.0.6/sse2", 0xbfcc1250) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/inplace/lib/bin/../old-locale-1.0.0.6/libncursesw.so.5", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) stat64("/home/shana/programming/ghc/inplace/lib/bin/../old-locale-1.0.0.6", 0xbfcc1250) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/inplace/lib/bin/../filepath-1.3.0.2/tls/i686/sse2/libncursesw.so.5", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) stat64("/home/shana/programming/ghc/inplace/lib/bin/../filepath-1.3.0.2/tls/i686/sse2", 0xbfcc1250) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/inplace/lib/bin/../filepath-1.3.0.2/tls/i686/libncursesw.so.5", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) stat64("/home/shana/programming/ghc/inplace/lib/bin/../filepath-1.3.0.2/tls/i686", 0xbfcc1250) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/inplace/lib/bin/../filepath-1.3.0.2/tls/sse2/libncursesw.so.5", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) stat64("/home/shana/programming/ghc/inplace/lib/bin/../filepath-1.3.0.2/tls/sse2", 0xbfcc1250) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/inplace/lib/bin/../filepath-1.3.0.2/tls/libncursesw.so.5", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) stat64("/home/shana/programming/ghc/inplace/lib/bin/../filepath-1.3.0.2/tls", 0xbfcc1250) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/inplace/lib/bin/../filepath-1.3.0.2/i686/sse2/libncursesw.so.5", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) stat64("/home/shana/programming/ghc/inplace/lib/bin/../filepath-1.3.0.2/i686/sse2", 0xbfcc1250) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/inplace/lib/bin/../filepath-1.3.0.2/i686/libncursesw.so.5", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) stat64("/home/shana/programming/ghc/inplace/lib/bin/../filepath-1.3.0.2/i686", 0xbfcc1250) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/inplace/lib/bin/../filepath-1.3.0.2/sse2/libncursesw.so.5", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) stat64("/home/shana/programming/ghc/inplace/lib/bin/../filepath-1.3.0.2/sse2", 0xbfcc1250) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/inplace/lib/bin/../filepath-1.3.0.2/libncursesw.so.5", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) stat64("/home/shana/programming/ghc/inplace/lib/bin/../filepath-1.3.0.2", 0xbfcc1250) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/inplace/lib/bin/../containers-0.5.5.1/tls/i686/sse2/libncursesw.so.5", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) stat64("/home/shana/programming/ghc/inplace/lib/bin/../containers-0.5.5.1/tls/i686/sse2", 0xbfcc1250) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/inplace/lib/bin/../containers-0.5.5.1/tls/i686/libncursesw.so.5", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) stat64("/home/shana/programming/ghc/inplace/lib/bin/../containers-0.5.5.1/tls/i686", 0xbfcc1250) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/inplace/lib/bin/../containers-0.5.5.1/tls/sse2/libncursesw.so.5", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) stat64("/home/shana/programming/ghc/inplace/lib/bin/../containers-0.5.5.1/tls/sse2", 0xbfcc1250) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/inplace/lib/bin/../containers-0.5.5.1/tls/libncursesw.so.5", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) stat64("/home/shana/programming/ghc/inplace/lib/bin/../containers-0.5.5.1/tls", 0xbfcc1250) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/inplace/lib/bin/../containers-0.5.5.1/i686/sse2/libncursesw.so.5", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) stat64("/home/shana/programming/ghc/inplace/lib/bin/../containers-0.5.5.1/i686/sse2", 0xbfcc1250) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/inplace/lib/bin/../containers-0.5.5.1/i686/libncursesw.so.5", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) stat64("/home/shana/programming/ghc/inplace/lib/bin/../containers-0.5.5.1/i686", 0xbfcc1250) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/inplace/lib/bin/../containers-0.5.5.1/sse2/libncursesw.so.5", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) stat64("/home/shana/programming/ghc/inplace/lib/bin/../containers-0.5.5.1/sse2", 0xbfcc1250) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/inplace/lib/bin/../containers-0.5.5.1/libncursesw.so.5", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) stat64("/home/shana/programming/ghc/inplace/lib/bin/../containers-0.5.5.1", 0xbfcc1250) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/inplace/lib/bin/../bytestring-0.10.4.0/tls/i686/sse2/libncursesw.so.5", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) stat64("/home/shana/programming/ghc/inplace/lib/bin/../bytestring-0.10.4.0/tls/i686/sse2", 0xbfcc1250) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/inplace/lib/bin/../bytestring-0.10.4.0/tls/i686/libncursesw.so.5", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) stat64("/home/shana/programming/ghc/inplace/lib/bin/../bytestring-0.10.4.0/tls/i686", 0xbfcc1250) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/inplace/lib/bin/../bytestring-0.10.4.0/tls/sse2/libncursesw.so.5", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) stat64("/home/shana/programming/ghc/inplace/lib/bin/../bytestring-0.10.4.0/tls/sse2", 0xbfcc1250) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/inplace/lib/bin/../bytestring-0.10.4.0/tls/libncursesw.so.5", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) stat64("/home/shana/programming/ghc/inplace/lib/bin/../bytestring-0.10.4.0/tls", 0xbfcc1250) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/inplace/lib/bin/../bytestring-0.10.4.0/i686/sse2/libncursesw.so.5", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) stat64("/home/shana/programming/ghc/inplace/lib/bin/../bytestring-0.10.4.0/i686/sse2", 0xbfcc1250) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/inplace/lib/bin/../bytestring-0.10.4.0/i686/libncursesw.so.5", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) stat64("/home/shana/programming/ghc/inplace/lib/bin/../bytestring-0.10.4.0/i686", 0xbfcc1250) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/inplace/lib/bin/../bytestring-0.10.4.0/sse2/libncursesw.so.5", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) stat64("/home/shana/programming/ghc/inplace/lib/bin/../bytestring-0.10.4.0/sse2", 0xbfcc1250) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/inplace/lib/bin/../bytestring-0.10.4.0/libncursesw.so.5", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) stat64("/home/shana/programming/ghc/inplace/lib/bin/../bytestring-0.10.4.0", 0xbfcc1250) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/inplace/lib/bin/../deepseq-1.3.0.2/tls/i686/sse2/libncursesw.so.5", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) stat64("/home/shana/programming/ghc/inplace/lib/bin/../deepseq-1.3.0.2/tls/i686/sse2", 0xbfcc1250) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/inplace/lib/bin/../deepseq-1.3.0.2/tls/i686/libncursesw.so.5", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) stat64("/home/shana/programming/ghc/inplace/lib/bin/../deepseq-1.3.0.2/tls/i686", 0xbfcc1250) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/inplace/lib/bin/../deepseq-1.3.0.2/tls/sse2/libncursesw.so.5", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) stat64("/home/shana/programming/ghc/inplace/lib/bin/../deepseq-1.3.0.2/tls/sse2", 0xbfcc1250) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/inplace/lib/bin/../deepseq-1.3.0.2/tls/libncursesw.so.5", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) stat64("/home/shana/programming/ghc/inplace/lib/bin/../deepseq-1.3.0.2/tls", 0xbfcc1250) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/inplace/lib/bin/../deepseq-1.3.0.2/i686/sse2/libncursesw.so.5", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) stat64("/home/shana/programming/ghc/inplace/lib/bin/../deepseq-1.3.0.2/i686/sse2", 0xbfcc1250) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/inplace/lib/bin/../deepseq-1.3.0.2/i686/libncursesw.so.5", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) stat64("/home/shana/programming/ghc/inplace/lib/bin/../deepseq-1.3.0.2/i686", 0xbfcc1250) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/inplace/lib/bin/../deepseq-1.3.0.2/sse2/libncursesw.so.5", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) stat64("/home/shana/programming/ghc/inplace/lib/bin/../deepseq-1.3.0.2/sse2", 0xbfcc1250) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/inplace/lib/bin/../deepseq-1.3.0.2/libncursesw.so.5", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) stat64("/home/shana/programming/ghc/inplace/lib/bin/../deepseq-1.3.0.2", 0xbfcc1250) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/inplace/lib/bin/../array-0.5.0.0/tls/i686/sse2/libncursesw.so.5", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) stat64("/home/shana/programming/ghc/inplace/lib/bin/../array-0.5.0.0/tls/i686/sse2", 0xbfcc1250) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/inplace/lib/bin/../array-0.5.0.0/tls/i686/libncursesw.so.5", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) stat64("/home/shana/programming/ghc/inplace/lib/bin/../array-0.5.0.0/tls/i686", 0xbfcc1250) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/inplace/lib/bin/../array-0.5.0.0/tls/sse2/libncursesw.so.5", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) stat64("/home/shana/programming/ghc/inplace/lib/bin/../array-0.5.0.0/tls/sse2", 0xbfcc1250) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/inplace/lib/bin/../array-0.5.0.0/tls/libncursesw.so.5", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) stat64("/home/shana/programming/ghc/inplace/lib/bin/../array-0.5.0.0/tls", 0xbfcc1250) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/inplace/lib/bin/../array-0.5.0.0/i686/sse2/libncursesw.so.5", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) stat64("/home/shana/programming/ghc/inplace/lib/bin/../array-0.5.0.0/i686/sse2", 0xbfcc1250) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/inplace/lib/bin/../array-0.5.0.0/i686/libncursesw.so.5", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) stat64("/home/shana/programming/ghc/inplace/lib/bin/../array-0.5.0.0/i686", 0xbfcc1250) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/inplace/lib/bin/../array-0.5.0.0/sse2/libncursesw.so.5", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) stat64("/home/shana/programming/ghc/inplace/lib/bin/../array-0.5.0.0/sse2", 0xbfcc1250) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/inplace/lib/bin/../array-0.5.0.0/libncursesw.so.5", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) stat64("/home/shana/programming/ghc/inplace/lib/bin/../array-0.5.0.0", 0xbfcc1250) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/inplace/lib/bin/../base-4.7.1.0/tls/i686/sse2/libncursesw.so.5", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) stat64("/home/shana/programming/ghc/inplace/lib/bin/../base-4.7.1.0/tls/i686/sse2", 0xbfcc1250) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/inplace/lib/bin/../base-4.7.1.0/tls/i686/libncursesw.so.5", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) stat64("/home/shana/programming/ghc/inplace/lib/bin/../base-4.7.1.0/tls/i686", 0xbfcc1250) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/inplace/lib/bin/../base-4.7.1.0/tls/sse2/libncursesw.so.5", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) stat64("/home/shana/programming/ghc/inplace/lib/bin/../base-4.7.1.0/tls/sse2", 0xbfcc1250) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/inplace/lib/bin/../base-4.7.1.0/tls/libncursesw.so.5", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) stat64("/home/shana/programming/ghc/inplace/lib/bin/../base-4.7.1.0/tls", 0xbfcc1250) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/inplace/lib/bin/../base-4.7.1.0/i686/sse2/libncursesw.so.5", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) stat64("/home/shana/programming/ghc/inplace/lib/bin/../base-4.7.1.0/i686/sse2", 0xbfcc1250) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/inplace/lib/bin/../base-4.7.1.0/i686/libncursesw.so.5", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) stat64("/home/shana/programming/ghc/inplace/lib/bin/../base-4.7.1.0/i686", 0xbfcc1250) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/inplace/lib/bin/../base-4.7.1.0/sse2/libncursesw.so.5", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) stat64("/home/shana/programming/ghc/inplace/lib/bin/../base-4.7.1.0/sse2", 0xbfcc1250) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/inplace/lib/bin/../base-4.7.1.0/libncursesw.so.5", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) stat64("/home/shana/programming/ghc/inplace/lib/bin/../base-4.7.1.0", 0xbfcc1250) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/inplace/lib/bin/../integer-gmp-0.5.1.0/tls/i686/sse2/libncursesw.so.5", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) stat64("/home/shana/programming/ghc/inplace/lib/bin/../integer-gmp-0.5.1.0/tls/i686/sse2", 0xbfcc1250) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/inplace/lib/bin/../integer-gmp-0.5.1.0/tls/i686/libncursesw.so.5", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) stat64("/home/shana/programming/ghc/inplace/lib/bin/../integer-gmp-0.5.1.0/tls/i686", 0xbfcc1250) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/inplace/lib/bin/../integer-gmp-0.5.1.0/tls/sse2/libncursesw.so.5", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) stat64("/home/shana/programming/ghc/inplace/lib/bin/../integer-gmp-0.5.1.0/tls/sse2", 0xbfcc1250) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/inplace/lib/bin/../integer-gmp-0.5.1.0/tls/libncursesw.so.5", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) stat64("/home/shana/programming/ghc/inplace/lib/bin/../integer-gmp-0.5.1.0/tls", 0xbfcc1250) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/inplace/lib/bin/../integer-gmp-0.5.1.0/i686/sse2/libncursesw.so.5", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) stat64("/home/shana/programming/ghc/inplace/lib/bin/../integer-gmp-0.5.1.0/i686/sse2", 0xbfcc1250) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/inplace/lib/bin/../integer-gmp-0.5.1.0/i686/libncursesw.so.5", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) stat64("/home/shana/programming/ghc/inplace/lib/bin/../integer-gmp-0.5.1.0/i686", 0xbfcc1250) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/inplace/lib/bin/../integer-gmp-0.5.1.0/sse2/libncursesw.so.5", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) stat64("/home/shana/programming/ghc/inplace/lib/bin/../integer-gmp-0.5.1.0/sse2", 0xbfcc1250) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/inplace/lib/bin/../integer-gmp-0.5.1.0/libncursesw.so.5", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) stat64("/home/shana/programming/ghc/inplace/lib/bin/../integer-gmp-0.5.1.0", 0xbfcc1250) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/inplace/lib/bin/../ghc-prim-0.3.1.0/tls/i686/sse2/libncursesw.so.5", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) stat64("/home/shana/programming/ghc/inplace/lib/bin/../ghc-prim-0.3.1.0/tls/i686/sse2", 0xbfcc1250) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/inplace/lib/bin/../ghc-prim-0.3.1.0/tls/i686/libncursesw.so.5", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) stat64("/home/shana/programming/ghc/inplace/lib/bin/../ghc-prim-0.3.1.0/tls/i686", 0xbfcc1250) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/inplace/lib/bin/../ghc-prim-0.3.1.0/tls/sse2/libncursesw.so.5", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) stat64("/home/shana/programming/ghc/inplace/lib/bin/../ghc-prim-0.3.1.0/tls/sse2", 0xbfcc1250) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/inplace/lib/bin/../ghc-prim-0.3.1.0/tls/libncursesw.so.5", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) stat64("/home/shana/programming/ghc/inplace/lib/bin/../ghc-prim-0.3.1.0/tls", 0xbfcc1250) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/inplace/lib/bin/../ghc-prim-0.3.1.0/i686/sse2/libncursesw.so.5", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) stat64("/home/shana/programming/ghc/inplace/lib/bin/../ghc-prim-0.3.1.0/i686/sse2", 0xbfcc1250) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/inplace/lib/bin/../ghc-prim-0.3.1.0/i686/libncursesw.so.5", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) stat64("/home/shana/programming/ghc/inplace/lib/bin/../ghc-prim-0.3.1.0/i686", 0xbfcc1250) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/inplace/lib/bin/../ghc-prim-0.3.1.0/sse2/libncursesw.so.5", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) stat64("/home/shana/programming/ghc/inplace/lib/bin/../ghc-prim-0.3.1.0/sse2", 0xbfcc1250) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/inplace/lib/bin/../ghc-prim-0.3.1.0/libncursesw.so.5", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) stat64("/home/shana/programming/ghc/inplace/lib/bin/../ghc-prim-0.3.1.0", 0xbfcc1250) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/inplace/lib/bin/../rts-1.0/tls/i686/sse2/libncursesw.so.5", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) stat64("/home/shana/programming/ghc/inplace/lib/bin/../rts-1.0/tls/i686/sse2", 0xbfcc1250) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/inplace/lib/bin/../rts-1.0/tls/i686/libncursesw.so.5", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) stat64("/home/shana/programming/ghc/inplace/lib/bin/../rts-1.0/tls/i686", 0xbfcc1250) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/inplace/lib/bin/../rts-1.0/tls/sse2/libncursesw.so.5", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) stat64("/home/shana/programming/ghc/inplace/lib/bin/../rts-1.0/tls/sse2", 0xbfcc1250) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/inplace/lib/bin/../rts-1.0/tls/libncursesw.so.5", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) stat64("/home/shana/programming/ghc/inplace/lib/bin/../rts-1.0/tls", 0xbfcc1250) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/inplace/lib/bin/../rts-1.0/i686/sse2/libncursesw.so.5", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) stat64("/home/shana/programming/ghc/inplace/lib/bin/../rts-1.0/i686/sse2", 0xbfcc1250) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/inplace/lib/bin/../rts-1.0/i686/libncursesw.so.5", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) stat64("/home/shana/programming/ghc/inplace/lib/bin/../rts-1.0/i686", 0xbfcc1250) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/inplace/lib/bin/../rts-1.0/sse2/libncursesw.so.5", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) stat64("/home/shana/programming/ghc/inplace/lib/bin/../rts-1.0/sse2", 0xbfcc1250) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/inplace/lib/bin/../rts-1.0/libncursesw.so.5", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) stat64("/home/shana/programming/ghc/inplace/lib/bin/../rts-1.0", 0xbfcc1250) = -1 ENOENT (No such file or directory) open("/nix/store/wjdpcb8ffiiq74iyamdrn15kafnskhb0-ghcDev-7.9.20140510/lib/tls/i686/sse2/libncursesw.so.5", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) stat64("/nix/store/wjdpcb8ffiiq74iyamdrn15kafnskhb0-ghcDev-7.9.20140510/lib/tls/i686/sse2", 0xbfcc1250) = -1 ENOENT (No such file or directory) open("/nix/store/wjdpcb8ffiiq74iyamdrn15kafnskhb0-ghcDev-7.9.20140510/lib/tls/i686/libncursesw.so.5", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) stat64("/nix/store/wjdpcb8ffiiq74iyamdrn15kafnskhb0-ghcDev-7.9.20140510/lib/tls/i686", 0xbfcc1250) = -1 ENOENT (No such file or directory) open("/nix/store/wjdpcb8ffiiq74iyamdrn15kafnskhb0-ghcDev-7.9.20140510/lib/tls/sse2/libncursesw.so.5", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) stat64("/nix/store/wjdpcb8ffiiq74iyamdrn15kafnskhb0-ghcDev-7.9.20140510/lib/tls/sse2", 0xbfcc1250) = -1 ENOENT (No such file or directory) open("/nix/store/wjdpcb8ffiiq74iyamdrn15kafnskhb0-ghcDev-7.9.20140510/lib/tls/libncursesw.so.5", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) stat64("/nix/store/wjdpcb8ffiiq74iyamdrn15kafnskhb0-ghcDev-7.9.20140510/lib/tls", 0xbfcc1250) = -1 ENOENT (No such file or directory) open("/nix/store/wjdpcb8ffiiq74iyamdrn15kafnskhb0-ghcDev-7.9.20140510/lib/i686/sse2/libncursesw.so.5", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) stat64("/nix/store/wjdpcb8ffiiq74iyamdrn15kafnskhb0-ghcDev-7.9.20140510/lib/i686/sse2", 0xbfcc1250) = -1 ENOENT (No such file or directory) open("/nix/store/wjdpcb8ffiiq74iyamdrn15kafnskhb0-ghcDev-7.9.20140510/lib/i686/libncursesw.so.5", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) stat64("/nix/store/wjdpcb8ffiiq74iyamdrn15kafnskhb0-ghcDev-7.9.20140510/lib/i686", 0xbfcc1250) = -1 ENOENT (No such file or directory) open("/nix/store/wjdpcb8ffiiq74iyamdrn15kafnskhb0-ghcDev-7.9.20140510/lib/sse2/libncursesw.so.5", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) stat64("/nix/store/wjdpcb8ffiiq74iyamdrn15kafnskhb0-ghcDev-7.9.20140510/lib/sse2", 0xbfcc1250) = -1 ENOENT (No such file or directory) open("/nix/store/wjdpcb8ffiiq74iyamdrn15kafnskhb0-ghcDev-7.9.20140510/lib/libncursesw.so.5", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) stat64("/nix/store/wjdpcb8ffiiq74iyamdrn15kafnskhb0-ghcDev-7.9.20140510/lib", 0xbfcc1250) = -1 ENOENT (No such file or directory) open("/nix/store/wjdpcb8ffiiq74iyamdrn15kafnskhb0-ghcDev-7.9.20140510/lib/ghc-7.9.20140510/tls/i686/sse2/libncursesw.so.5", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) stat64("/nix/store/wjdpcb8ffiiq74iyamdrn15kafnskhb0-ghcDev-7.9.20140510/lib/ghc-7.9.20140510/tls/i686/sse2", 0xbfcc1250) = -1 ENOENT (No such file or directory) open("/nix/store/wjdpcb8ffiiq74iyamdrn15kafnskhb0-ghcDev-7.9.20140510/lib/ghc-7.9.20140510/tls/i686/libncursesw.so.5", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) stat64("/nix/store/wjdpcb8ffiiq74iyamdrn15kafnskhb0-ghcDev-7.9.20140510/lib/ghc-7.9.20140510/tls/i686", 0xbfcc1250) = -1 ENOENT (No such file or directory) open("/nix/store/wjdpcb8ffiiq74iyamdrn15kafnskhb0-ghcDev-7.9.20140510/lib/ghc-7.9.20140510/tls/sse2/libncursesw.so.5", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) stat64("/nix/store/wjdpcb8ffiiq74iyamdrn15kafnskhb0-ghcDev-7.9.20140510/lib/ghc-7.9.20140510/tls/sse2", 0xbfcc1250) = -1 ENOENT (No such file or directory) open("/nix/store/wjdpcb8ffiiq74iyamdrn15kafnskhb0-ghcDev-7.9.20140510/lib/ghc-7.9.20140510/tls/libncursesw.so.5", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) stat64("/nix/store/wjdpcb8ffiiq74iyamdrn15kafnskhb0-ghcDev-7.9.20140510/lib/ghc-7.9.20140510/tls", 0xbfcc1250) = -1 ENOENT (No such file or directory) open("/nix/store/wjdpcb8ffiiq74iyamdrn15kafnskhb0-ghcDev-7.9.20140510/lib/ghc-7.9.20140510/i686/sse2/libncursesw.so.5", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) stat64("/nix/store/wjdpcb8ffiiq74iyamdrn15kafnskhb0-ghcDev-7.9.20140510/lib/ghc-7.9.20140510/i686/sse2", 0xbfcc1250) = -1 ENOENT (No such file or directory) open("/nix/store/wjdpcb8ffiiq74iyamdrn15kafnskhb0-ghcDev-7.9.20140510/lib/ghc-7.9.20140510/i686/libncursesw.so.5", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) stat64("/nix/store/wjdpcb8ffiiq74iyamdrn15kafnskhb0-ghcDev-7.9.20140510/lib/ghc-7.9.20140510/i686", 0xbfcc1250) = -1 ENOENT (No such file or directory) open("/nix/store/wjdpcb8ffiiq74iyamdrn15kafnskhb0-ghcDev-7.9.20140510/lib/ghc-7.9.20140510/sse2/libncursesw.so.5", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) stat64("/nix/store/wjdpcb8ffiiq74iyamdrn15kafnskhb0-ghcDev-7.9.20140510/lib/ghc-7.9.20140510/sse2", 0xbfcc1250) = -1 ENOENT (No such file or directory) open("/nix/store/wjdpcb8ffiiq74iyamdrn15kafnskhb0-ghcDev-7.9.20140510/lib/ghc-7.9.20140510/libncursesw.so.5", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) stat64("/nix/store/wjdpcb8ffiiq74iyamdrn15kafnskhb0-ghcDev-7.9.20140510/lib/ghc-7.9.20140510", 0xbfcc1250) = -1 ENOENT (No such file or directory) open("/nix/store/qnkyas42nf0knps3va30y29y3zvmgy2v-gmp-5.1.3/lib/tls/i686/sse2/libncursesw.so.5", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) stat64("/nix/store/qnkyas42nf0knps3va30y29y3zvmgy2v-gmp-5.1.3/lib/tls/i686/sse2", 0xbfcc1250) = -1 ENOENT (No such file or directory) open("/nix/store/qnkyas42nf0knps3va30y29y3zvmgy2v-gmp-5.1.3/lib/tls/i686/libncursesw.so.5", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) stat64("/nix/store/qnkyas42nf0knps3va30y29y3zvmgy2v-gmp-5.1.3/lib/tls/i686", 0xbfcc1250) = -1 ENOENT (No such file or directory) open("/nix/store/qnkyas42nf0knps3va30y29y3zvmgy2v-gmp-5.1.3/lib/tls/sse2/libncursesw.so.5", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) stat64("/nix/store/qnkyas42nf0knps3va30y29y3zvmgy2v-gmp-5.1.3/lib/tls/sse2", 0xbfcc1250) = -1 ENOENT (No such file or directory) open("/nix/store/qnkyas42nf0knps3va30y29y3zvmgy2v-gmp-5.1.3/lib/tls/libncursesw.so.5", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) stat64("/nix/store/qnkyas42nf0knps3va30y29y3zvmgy2v-gmp-5.1.3/lib/tls", 0xbfcc1250) = -1 ENOENT (No such file or directory) open("/nix/store/qnkyas42nf0knps3va30y29y3zvmgy2v-gmp-5.1.3/lib/i686/sse2/libncursesw.so.5", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) stat64("/nix/store/qnkyas42nf0knps3va30y29y3zvmgy2v-gmp-5.1.3/lib/i686/sse2", 0xbfcc1250) = -1 ENOENT (No such file or directory) open("/nix/store/qnkyas42nf0knps3va30y29y3zvmgy2v-gmp-5.1.3/lib/i686/libncursesw.so.5", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) stat64("/nix/store/qnkyas42nf0knps3va30y29y3zvmgy2v-gmp-5.1.3/lib/i686", 0xbfcc1250) = -1 ENOENT (No such file or directory) open("/nix/store/qnkyas42nf0knps3va30y29y3zvmgy2v-gmp-5.1.3/lib/sse2/libncursesw.so.5", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) stat64("/nix/store/qnkyas42nf0knps3va30y29y3zvmgy2v-gmp-5.1.3/lib/sse2", 0xbfcc1250) = -1 ENOENT (No such file or directory) open("/nix/store/qnkyas42nf0knps3va30y29y3zvmgy2v-gmp-5.1.3/lib/libncursesw.so.5", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) stat64("/nix/store/qnkyas42nf0knps3va30y29y3zvmgy2v-gmp-5.1.3/lib", {st_mode=S_IFDIR|0555, st_size=4096, ...}) = 0 open("/nix/store/3v2029bmc8ay73sa9yn4yrgil5jf8l0c-ncurses-5.9/lib/tls/i686/sse2/libncursesw.so.5", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) stat64("/nix/store/3v2029bmc8ay73sa9yn4yrgil5jf8l0c-ncurses-5.9/lib/tls/i686/sse2", 0xbfcc1250) = -1 ENOENT (No such file or directory) open("/nix/store/3v2029bmc8ay73sa9yn4yrgil5jf8l0c-ncurses-5.9/lib/tls/i686/libncursesw.so.5", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) stat64("/nix/store/3v2029bmc8ay73sa9yn4yrgil5jf8l0c-ncurses-5.9/lib/tls/i686", 0xbfcc1250) = -1 ENOENT (No such file or directory) open("/nix/store/3v2029bmc8ay73sa9yn4yrgil5jf8l0c-ncurses-5.9/lib/tls/sse2/libncursesw.so.5", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) stat64("/nix/store/3v2029bmc8ay73sa9yn4yrgil5jf8l0c-ncurses-5.9/lib/tls/sse2", 0xbfcc1250) = -1 ENOENT (No such file or directory) open("/nix/store/3v2029bmc8ay73sa9yn4yrgil5jf8l0c-ncurses-5.9/lib/tls/libncursesw.so.5", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) stat64("/nix/store/3v2029bmc8ay73sa9yn4yrgil5jf8l0c-ncurses-5.9/lib/tls", 0xbfcc1250) = -1 ENOENT (No such file or directory) open("/nix/store/3v2029bmc8ay73sa9yn4yrgil5jf8l0c-ncurses-5.9/lib/i686/sse2/libncursesw.so.5", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) stat64("/nix/store/3v2029bmc8ay73sa9yn4yrgil5jf8l0c-ncurses-5.9/lib/i686/sse2", 0xbfcc1250) = -1 ENOENT (No such file or directory) open("/nix/store/3v2029bmc8ay73sa9yn4yrgil5jf8l0c-ncurses-5.9/lib/i686/libncursesw.so.5", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) stat64("/nix/store/3v2029bmc8ay73sa9yn4yrgil5jf8l0c-ncurses-5.9/lib/i686", 0xbfcc1250) = -1 ENOENT (No such file or directory) open("/nix/store/3v2029bmc8ay73sa9yn4yrgil5jf8l0c-ncurses-5.9/lib/sse2/libncursesw.so.5", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) stat64("/nix/store/3v2029bmc8ay73sa9yn4yrgil5jf8l0c-ncurses-5.9/lib/sse2", 0xbfcc1250) = -1 ENOENT (No such file or directory) open("/nix/store/3v2029bmc8ay73sa9yn4yrgil5jf8l0c-ncurses-5.9/lib/libncursesw.so.5", O_RDONLY|O_CLOEXEC) = 3 open("/home/shana/programming/ghc/libraries/haskeline/dist-install/build/librt.so.1", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/libraries/terminfo/dist-install/build/librt.so.1", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/compiler/stage2/build/librt.so.1", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/libraries/transformers/dist-install/build/librt.so.1", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/libraries/template-haskell/dist-install/build/librt.so.1", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/libraries/hpc/dist-install/build/librt.so.1", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/libraries/hoopl/dist-install/build/librt.so.1", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/libraries/bin-package-db/dist-install/build/librt.so.1", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/libraries/binary/dist-install/build/librt.so.1", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/libraries/Cabal/Cabal/dist-install/build/librt.so.1", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/libraries/process/dist-install/build/librt.so.1", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/libraries/pretty/dist-install/build/librt.so.1", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/libraries/directory/dist-install/build/librt.so.1", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/libraries/unix/dist-install/build/librt.so.1", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/libraries/time/dist-install/build/librt.so.1", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/libraries/old-locale/dist-install/build/librt.so.1", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/libraries/filepath/dist-install/build/librt.so.1", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/libraries/containers/dist-install/build/librt.so.1", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/libraries/bytestring/dist-install/build/librt.so.1", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/libraries/deepseq/dist-install/build/librt.so.1", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/libraries/array/dist-install/build/librt.so.1", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/libraries/base/dist-install/build/librt.so.1", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/libraries/integer-gmp/dist-install/build/librt.so.1", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/libraries/ghc-prim/dist-install/build/librt.so.1", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/rts/dist/build/librt.so.1", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) open("/run/opengl-driver/lib/tls/librt.so.1", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) open("/run/opengl-driver/lib/librt.so.1", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) open("/run/opengl-driver-32/lib/tls/librt.so.1", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) open("/run/opengl-driver-32/lib/librt.so.1", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) open("/nix/store/qnkyas42nf0knps3va30y29y3zvmgy2v-gmp-5.1.3/lib/librt.so.1", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) open("/nix/store/3v2029bmc8ay73sa9yn4yrgil5jf8l0c-ncurses-5.9/lib/librt.so.1", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) open("/nix/store/4v0a2fncxsk2f57jixq7i59k6hdl34fx-glibc-2.19/lib/tls/i686/sse2/librt.so.1", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) stat64("/nix/store/4v0a2fncxsk2f57jixq7i59k6hdl34fx-glibc-2.19/lib/tls/i686/sse2", 0xbfcc1230) = -1 ENOENT (No such file or directory) open("/nix/store/4v0a2fncxsk2f57jixq7i59k6hdl34fx-glibc-2.19/lib/tls/i686/librt.so.1", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) stat64("/nix/store/4v0a2fncxsk2f57jixq7i59k6hdl34fx-glibc-2.19/lib/tls/i686", 0xbfcc1230) = -1 ENOENT (No such file or directory) open("/nix/store/4v0a2fncxsk2f57jixq7i59k6hdl34fx-glibc-2.19/lib/tls/sse2/librt.so.1", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) stat64("/nix/store/4v0a2fncxsk2f57jixq7i59k6hdl34fx-glibc-2.19/lib/tls/sse2", 0xbfcc1230) = -1 ENOENT (No such file or directory) open("/nix/store/4v0a2fncxsk2f57jixq7i59k6hdl34fx-glibc-2.19/lib/tls/librt.so.1", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) stat64("/nix/store/4v0a2fncxsk2f57jixq7i59k6hdl34fx-glibc-2.19/lib/tls", 0xbfcc1230) = -1 ENOENT (No such file or directory) open("/nix/store/4v0a2fncxsk2f57jixq7i59k6hdl34fx-glibc-2.19/lib/i686/sse2/librt.so.1", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) stat64("/nix/store/4v0a2fncxsk2f57jixq7i59k6hdl34fx-glibc-2.19/lib/i686/sse2", 0xbfcc1230) = -1 ENOENT (No such file or directory) open("/nix/store/4v0a2fncxsk2f57jixq7i59k6hdl34fx-glibc-2.19/lib/i686/librt.so.1", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) stat64("/nix/store/4v0a2fncxsk2f57jixq7i59k6hdl34fx-glibc-2.19/lib/i686", 0xbfcc1230) = -1 ENOENT (No such file or directory) open("/nix/store/4v0a2fncxsk2f57jixq7i59k6hdl34fx-glibc-2.19/lib/sse2/librt.so.1", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) stat64("/nix/store/4v0a2fncxsk2f57jixq7i59k6hdl34fx-glibc-2.19/lib/sse2", 0xbfcc1230) = -1 ENOENT (No such file or directory) open("/nix/store/4v0a2fncxsk2f57jixq7i59k6hdl34fx-glibc-2.19/lib/librt.so.1", O_RDONLY|O_CLOEXEC) = 3 open("/home/shana/programming/ghc/libraries/haskeline/dist-install/build/libutil.so.1", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/libraries/terminfo/dist-install/build/libutil.so.1", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/compiler/stage2/build/libutil.so.1", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/libraries/transformers/dist-install/build/libutil.so.1", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/libraries/template-haskell/dist-install/build/libutil.so.1", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/libraries/hpc/dist-install/build/libutil.so.1", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/libraries/hoopl/dist-install/build/libutil.so.1", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/libraries/bin-package-db/dist-install/build/libutil.so.1", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/libraries/binary/dist-install/build/libutil.so.1", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/libraries/Cabal/Cabal/dist-install/build/libutil.so.1", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/libraries/process/dist-install/build/libutil.so.1", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/libraries/pretty/dist-install/build/libutil.so.1", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/libraries/directory/dist-install/build/libutil.so.1", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/libraries/unix/dist-install/build/libutil.so.1", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/libraries/time/dist-install/build/libutil.so.1", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/libraries/old-locale/dist-install/build/libutil.so.1", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/libraries/filepath/dist-install/build/libutil.so.1", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/libraries/containers/dist-install/build/libutil.so.1", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/libraries/bytestring/dist-install/build/libutil.so.1", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/libraries/deepseq/dist-install/build/libutil.so.1", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/libraries/array/dist-install/build/libutil.so.1", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/libraries/base/dist-install/build/libutil.so.1", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/libraries/integer-gmp/dist-install/build/libutil.so.1", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/libraries/ghc-prim/dist-install/build/libutil.so.1", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/rts/dist/build/libutil.so.1", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) open("/run/opengl-driver/lib/tls/libutil.so.1", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) open("/run/opengl-driver/lib/libutil.so.1", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) open("/run/opengl-driver-32/lib/tls/libutil.so.1", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) open("/run/opengl-driver-32/lib/libutil.so.1", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) open("/nix/store/qnkyas42nf0knps3va30y29y3zvmgy2v-gmp-5.1.3/lib/libutil.so.1", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) open("/nix/store/3v2029bmc8ay73sa9yn4yrgil5jf8l0c-ncurses-5.9/lib/libutil.so.1", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) open("/nix/store/4v0a2fncxsk2f57jixq7i59k6hdl34fx-glibc-2.19/lib/libutil.so.1", O_RDONLY|O_CLOEXEC) = 3 open("/home/shana/programming/ghc/libraries/haskeline/dist-install/build/libdl.so.2", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/libraries/terminfo/dist-install/build/libdl.so.2", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/compiler/stage2/build/libdl.so.2", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/libraries/transformers/dist-install/build/libdl.so.2", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/libraries/template-haskell/dist-install/build/libdl.so.2", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/libraries/hpc/dist-install/build/libdl.so.2", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/libraries/hoopl/dist-install/build/libdl.so.2", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/libraries/bin-package-db/dist-install/build/libdl.so.2", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/libraries/binary/dist-install/build/libdl.so.2", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/libraries/Cabal/Cabal/dist-install/build/libdl.so.2", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/libraries/process/dist-install/build/libdl.so.2", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/libraries/pretty/dist-install/build/libdl.so.2", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/libraries/directory/dist-install/build/libdl.so.2", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/libraries/unix/dist-install/build/libdl.so.2", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/libraries/time/dist-install/build/libdl.so.2", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/libraries/old-locale/dist-install/build/libdl.so.2", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/libraries/filepath/dist-install/build/libdl.so.2", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/libraries/containers/dist-install/build/libdl.so.2", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/libraries/bytestring/dist-install/build/libdl.so.2", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/libraries/deepseq/dist-install/build/libdl.so.2", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/libraries/array/dist-install/build/libdl.so.2", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/libraries/base/dist-install/build/libdl.so.2", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/libraries/integer-gmp/dist-install/build/libdl.so.2", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/libraries/ghc-prim/dist-install/build/libdl.so.2", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/rts/dist/build/libdl.so.2", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) open("/run/opengl-driver/lib/tls/libdl.so.2", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) open("/run/opengl-driver/lib/libdl.so.2", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) open("/run/opengl-driver-32/lib/tls/libdl.so.2", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) open("/run/opengl-driver-32/lib/libdl.so.2", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) open("/nix/store/qnkyas42nf0knps3va30y29y3zvmgy2v-gmp-5.1.3/lib/libdl.so.2", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) open("/nix/store/3v2029bmc8ay73sa9yn4yrgil5jf8l0c-ncurses-5.9/lib/libdl.so.2", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) open("/nix/store/4v0a2fncxsk2f57jixq7i59k6hdl34fx-glibc-2.19/lib/libdl.so.2", O_RDONLY|O_CLOEXEC) = 3 open("/home/shana/programming/ghc/libraries/haskeline/dist-install/build/libgmp.so.10", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/libraries/terminfo/dist-install/build/libgmp.so.10", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/compiler/stage2/build/libgmp.so.10", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/libraries/transformers/dist-install/build/libgmp.so.10", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/libraries/template-haskell/dist-install/build/libgmp.so.10", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/libraries/hpc/dist-install/build/libgmp.so.10", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/libraries/hoopl/dist-install/build/libgmp.so.10", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/libraries/bin-package-db/dist-install/build/libgmp.so.10", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/libraries/binary/dist-install/build/libgmp.so.10", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/libraries/Cabal/Cabal/dist-install/build/libgmp.so.10", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/libraries/process/dist-install/build/libgmp.so.10", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/libraries/pretty/dist-install/build/libgmp.so.10", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/libraries/directory/dist-install/build/libgmp.so.10", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/libraries/unix/dist-install/build/libgmp.so.10", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/libraries/time/dist-install/build/libgmp.so.10", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/libraries/old-locale/dist-install/build/libgmp.so.10", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/libraries/filepath/dist-install/build/libgmp.so.10", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/libraries/containers/dist-install/build/libgmp.so.10", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/libraries/bytestring/dist-install/build/libgmp.so.10", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/libraries/deepseq/dist-install/build/libgmp.so.10", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/libraries/array/dist-install/build/libgmp.so.10", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/libraries/base/dist-install/build/libgmp.so.10", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/libraries/integer-gmp/dist-install/build/libgmp.so.10", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/libraries/ghc-prim/dist-install/build/libgmp.so.10", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/rts/dist/build/libgmp.so.10", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) open("/run/opengl-driver/lib/tls/libgmp.so.10", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) open("/run/opengl-driver/lib/libgmp.so.10", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) open("/run/opengl-driver-32/lib/tls/libgmp.so.10", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) open("/run/opengl-driver-32/lib/libgmp.so.10", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) open("/nix/store/qnkyas42nf0knps3va30y29y3zvmgy2v-gmp-5.1.3/lib/libgmp.so.10", O_RDONLY|O_CLOEXEC) = 3 open("/home/shana/programming/ghc/libraries/haskeline/dist-install/build/libm.so.6", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/libraries/terminfo/dist-install/build/libm.so.6", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/compiler/stage2/build/libm.so.6", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/libraries/transformers/dist-install/build/libm.so.6", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/libraries/template-haskell/dist-install/build/libm.so.6", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/libraries/hpc/dist-install/build/libm.so.6", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/libraries/hoopl/dist-install/build/libm.so.6", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/libraries/bin-package-db/dist-install/build/libm.so.6", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/libraries/binary/dist-install/build/libm.so.6", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/libraries/Cabal/Cabal/dist-install/build/libm.so.6", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/libraries/process/dist-install/build/libm.so.6", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/libraries/pretty/dist-install/build/libm.so.6", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/libraries/directory/dist-install/build/libm.so.6", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/libraries/unix/dist-install/build/libm.so.6", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/libraries/time/dist-install/build/libm.so.6", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/libraries/old-locale/dist-install/build/libm.so.6", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/libraries/filepath/dist-install/build/libm.so.6", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/libraries/containers/dist-install/build/libm.so.6", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/libraries/bytestring/dist-install/build/libm.so.6", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/libraries/deepseq/dist-install/build/libm.so.6", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/libraries/array/dist-install/build/libm.so.6", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/libraries/base/dist-install/build/libm.so.6", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/libraries/integer-gmp/dist-install/build/libm.so.6", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/libraries/ghc-prim/dist-install/build/libm.so.6", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/rts/dist/build/libm.so.6", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) open("/run/opengl-driver/lib/tls/libm.so.6", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) open("/run/opengl-driver/lib/libm.so.6", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) open("/run/opengl-driver-32/lib/tls/libm.so.6", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) open("/run/opengl-driver-32/lib/libm.so.6", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) open("/nix/store/qnkyas42nf0knps3va30y29y3zvmgy2v-gmp-5.1.3/lib/libm.so.6", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) open("/nix/store/3v2029bmc8ay73sa9yn4yrgil5jf8l0c-ncurses-5.9/lib/libm.so.6", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) open("/nix/store/4v0a2fncxsk2f57jixq7i59k6hdl34fx-glibc-2.19/lib/libm.so.6", O_RDONLY|O_CLOEXEC) = 3 open("/home/shana/programming/ghc/libraries/haskeline/dist-install/build/libHShaskeline-0.7.1.2-ghc7.9.20140510.so", O_RDONLY|O_CLOEXEC) = 3 open("/home/shana/programming/ghc/libraries/haskeline/dist-install/build/libHSterminfo-0.4.0.0-ghc7.9.20140510.so", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/libraries/terminfo/dist-install/build/libHSterminfo-0.4.0.0-ghc7.9.20140510.so", O_RDONLY|O_CLOEXEC) = 3 open("/home/shana/programming/ghc/libraries/haskeline/dist-install/build/libHSghc-7.9.20140510-ghc7.9.20140510.so", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/libraries/terminfo/dist-install/build/libHSghc-7.9.20140510-ghc7.9.20140510.so", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/compiler/stage2/build/libHSghc-7.9.20140510-ghc7.9.20140510.so", O_RDONLY|O_CLOEXEC) = 3 open("/home/shana/programming/ghc/libraries/haskeline/dist-install/build/libHStransformers-0.4.0.0-ghc7.9.20140510.so", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/libraries/terminfo/dist-install/build/libHStransformers-0.4.0.0-ghc7.9.20140510.so", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/compiler/stage2/build/libHStransformers-0.4.0.0-ghc7.9.20140510.so", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/libraries/transformers/dist-install/build/libHStransformers-0.4.0.0-ghc7.9.20140510.so", O_RDONLY|O_CLOEXEC) = 3 open("/home/shana/programming/ghc/libraries/haskeline/dist-install/build/libHStemplate-haskell-2.10.0.0-ghc7.9.20140510.so", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/libraries/terminfo/dist-install/build/libHStemplate-haskell-2.10.0.0-ghc7.9.20140510.so", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/compiler/stage2/build/libHStemplate-haskell-2.10.0.0-ghc7.9.20140510.so", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/libraries/transformers/dist-install/build/libHStemplate-haskell-2.10.0.0-ghc7.9.20140510.so", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/libraries/template-haskell/dist-install/build/libHStemplate-haskell-2.10.0.0-ghc7.9.20140510.so", O_RDONLY|O_CLOEXEC) = 3 open("/home/shana/programming/ghc/libraries/haskeline/dist-install/build/libHShpc-0.6.0.1-ghc7.9.20140510.so", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/libraries/terminfo/dist-install/build/libHShpc-0.6.0.1-ghc7.9.20140510.so", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/compiler/stage2/build/libHShpc-0.6.0.1-ghc7.9.20140510.so", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/libraries/transformers/dist-install/build/libHShpc-0.6.0.1-ghc7.9.20140510.so", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/libraries/template-haskell/dist-install/build/libHShpc-0.6.0.1-ghc7.9.20140510.so", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/libraries/hpc/dist-install/build/libHShpc-0.6.0.1-ghc7.9.20140510.so", O_RDONLY|O_CLOEXEC) = 3 open("/home/shana/programming/ghc/libraries/haskeline/dist-install/build/libHShoopl-3.10.0.1-ghc7.9.20140510.so", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/libraries/terminfo/dist-install/build/libHShoopl-3.10.0.1-ghc7.9.20140510.so", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/compiler/stage2/build/libHShoopl-3.10.0.1-ghc7.9.20140510.so", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/libraries/transformers/dist-install/build/libHShoopl-3.10.0.1-ghc7.9.20140510.so", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/libraries/template-haskell/dist-install/build/libHShoopl-3.10.0.1-ghc7.9.20140510.so", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/libraries/hpc/dist-install/build/libHShoopl-3.10.0.1-ghc7.9.20140510.so", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/libraries/hoopl/dist-install/build/libHShoopl-3.10.0.1-ghc7.9.20140510.so", O_RDONLY|O_CLOEXEC) = 3 open("/home/shana/programming/ghc/libraries/haskeline/dist-install/build/libHSbin-package-db-0.0.0.0-ghc7.9.20140510.so", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/libraries/terminfo/dist-install/build/libHSbin-package-db-0.0.0.0-ghc7.9.20140510.so", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/compiler/stage2/build/libHSbin-package-db-0.0.0.0-ghc7.9.20140510.so", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/libraries/transformers/dist-install/build/libHSbin-package-db-0.0.0.0-ghc7.9.20140510.so", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/libraries/template-haskell/dist-install/build/libHSbin-package-db-0.0.0.0-ghc7.9.20140510.so", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/libraries/hpc/dist-install/build/libHSbin-package-db-0.0.0.0-ghc7.9.20140510.so", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/libraries/hoopl/dist-install/build/libHSbin-package-db-0.0.0.0-ghc7.9.20140510.so", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/libraries/bin-package-db/dist-install/build/libHSbin-package-db-0.0.0.0-ghc7.9.20140510.so", O_RDONLY|O_CLOEXEC) = 3 open("/home/shana/programming/ghc/libraries/haskeline/dist-install/build/libHSbinary-0.7.1.0-ghc7.9.20140510.so", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/libraries/terminfo/dist-install/build/libHSbinary-0.7.1.0-ghc7.9.20140510.so", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/compiler/stage2/build/libHSbinary-0.7.1.0-ghc7.9.20140510.so", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/libraries/transformers/dist-install/build/libHSbinary-0.7.1.0-ghc7.9.20140510.so", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/libraries/template-haskell/dist-install/build/libHSbinary-0.7.1.0-ghc7.9.20140510.so", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/libraries/hpc/dist-install/build/libHSbinary-0.7.1.0-ghc7.9.20140510.so", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/libraries/hoopl/dist-install/build/libHSbinary-0.7.1.0-ghc7.9.20140510.so", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/libraries/bin-package-db/dist-install/build/libHSbinary-0.7.1.0-ghc7.9.20140510.so", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/libraries/binary/dist-install/build/libHSbinary-0.7.1.0-ghc7.9.20140510.so", O_RDONLY|O_CLOEXEC) = 3 open("/home/shana/programming/ghc/libraries/haskeline/dist-install/build/libHSCabal-1.20.0.0-ghc7.9.20140510.so", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/libraries/terminfo/dist-install/build/libHSCabal-1.20.0.0-ghc7.9.20140510.so", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/compiler/stage2/build/libHSCabal-1.20.0.0-ghc7.9.20140510.so", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/libraries/transformers/dist-install/build/libHSCabal-1.20.0.0-ghc7.9.20140510.so", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/libraries/template-haskell/dist-install/build/libHSCabal-1.20.0.0-ghc7.9.20140510.so", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/libraries/hpc/dist-install/build/libHSCabal-1.20.0.0-ghc7.9.20140510.so", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/libraries/hoopl/dist-install/build/libHSCabal-1.20.0.0-ghc7.9.20140510.so", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/libraries/bin-package-db/dist-install/build/libHSCabal-1.20.0.0-ghc7.9.20140510.so", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/libraries/binary/dist-install/build/libHSCabal-1.20.0.0-ghc7.9.20140510.so", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/libraries/Cabal/Cabal/dist-install/build/libHSCabal-1.20.0.0-ghc7.9.20140510.so", O_RDONLY|O_CLOEXEC) = 3 open("/home/shana/programming/ghc/libraries/haskeline/dist-install/build/libHSprocess-1.2.0.0-ghc7.9.20140510.so", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/libraries/terminfo/dist-install/build/libHSprocess-1.2.0.0-ghc7.9.20140510.so", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/compiler/stage2/build/libHSprocess-1.2.0.0-ghc7.9.20140510.so", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/libraries/transformers/dist-install/build/libHSprocess-1.2.0.0-ghc7.9.20140510.so", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/libraries/template-haskell/dist-install/build/libHSprocess-1.2.0.0-ghc7.9.20140510.so", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/libraries/hpc/dist-install/build/libHSprocess-1.2.0.0-ghc7.9.20140510.so", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/libraries/hoopl/dist-install/build/libHSprocess-1.2.0.0-ghc7.9.20140510.so", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/libraries/bin-package-db/dist-install/build/libHSprocess-1.2.0.0-ghc7.9.20140510.so", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/libraries/binary/dist-install/build/libHSprocess-1.2.0.0-ghc7.9.20140510.so", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/libraries/Cabal/Cabal/dist-install/build/libHSprocess-1.2.0.0-ghc7.9.20140510.so", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/libraries/process/dist-install/build/libHSprocess-1.2.0.0-ghc7.9.20140510.so", O_RDONLY|O_CLOEXEC) = 3 open("/home/shana/programming/ghc/libraries/haskeline/dist-install/build/libHSpretty-1.1.1.1-ghc7.9.20140510.so", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/libraries/terminfo/dist-install/build/libHSpretty-1.1.1.1-ghc7.9.20140510.so", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/compiler/stage2/build/libHSpretty-1.1.1.1-ghc7.9.20140510.so", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/libraries/transformers/dist-install/build/libHSpretty-1.1.1.1-ghc7.9.20140510.so", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/libraries/template-haskell/dist-install/build/libHSpretty-1.1.1.1-ghc7.9.20140510.so", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/libraries/hpc/dist-install/build/libHSpretty-1.1.1.1-ghc7.9.20140510.so", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/libraries/hoopl/dist-install/build/libHSpretty-1.1.1.1-ghc7.9.20140510.so", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/libraries/bin-package-db/dist-install/build/libHSpretty-1.1.1.1-ghc7.9.20140510.so", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/libraries/binary/dist-install/build/libHSpretty-1.1.1.1-ghc7.9.20140510.so", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/libraries/Cabal/Cabal/dist-install/build/libHSpretty-1.1.1.1-ghc7.9.20140510.so", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/libraries/process/dist-install/build/libHSpretty-1.1.1.1-ghc7.9.20140510.so", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/libraries/pretty/dist-install/build/libHSpretty-1.1.1.1-ghc7.9.20140510.so", O_RDONLY|O_CLOEXEC) = 3 open("/home/shana/programming/ghc/libraries/haskeline/dist-install/build/libHScontainers-0.5.5.1-ghc7.9.20140510.so", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/libraries/terminfo/dist-install/build/libHScontainers-0.5.5.1-ghc7.9.20140510.so", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/compiler/stage2/build/libHScontainers-0.5.5.1-ghc7.9.20140510.so", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/libraries/transformers/dist-install/build/libHScontainers-0.5.5.1-ghc7.9.20140510.so", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/libraries/template-haskell/dist-install/build/libHScontainers-0.5.5.1-ghc7.9.20140510.so", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/libraries/hpc/dist-install/build/libHScontainers-0.5.5.1-ghc7.9.20140510.so", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/libraries/hoopl/dist-install/build/libHScontainers-0.5.5.1-ghc7.9.20140510.so", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/libraries/bin-package-db/dist-install/build/libHScontainers-0.5.5.1-ghc7.9.20140510.so", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/libraries/binary/dist-install/build/libHScontainers-0.5.5.1-ghc7.9.20140510.so", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/libraries/Cabal/Cabal/dist-install/build/libHScontainers-0.5.5.1-ghc7.9.20140510.so", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/libraries/process/dist-install/build/libHScontainers-0.5.5.1-ghc7.9.20140510.so", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/libraries/pretty/dist-install/build/libHScontainers-0.5.5.1-ghc7.9.20140510.so", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/libraries/directory/dist-install/build/libHScontainers-0.5.5.1-ghc7.9.20140510.so", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/libraries/unix/dist-install/build/libHScontainers-0.5.5.1-ghc7.9.20140510.so", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/libraries/time/dist-install/build/libHScontainers-0.5.5.1-ghc7.9.20140510.so", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/libraries/old-locale/dist-install/build/libHScontainers-0.5.5.1-ghc7.9.20140510.so", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/libraries/filepath/dist-install/build/libHScontainers-0.5.5.1-ghc7.9.20140510.so", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/libraries/containers/dist-install/build/libHScontainers-0.5.5.1-ghc7.9.20140510.so", O_RDONLY|O_CLOEXEC) = 3 open("/home/shana/programming/ghc/libraries/haskeline/dist-install/build/libHSdirectory-1.2.1.0-ghc7.9.20140510.so", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/libraries/terminfo/dist-install/build/libHSdirectory-1.2.1.0-ghc7.9.20140510.so", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/compiler/stage2/build/libHSdirectory-1.2.1.0-ghc7.9.20140510.so", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/libraries/transformers/dist-install/build/libHSdirectory-1.2.1.0-ghc7.9.20140510.so", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/libraries/template-haskell/dist-install/build/libHSdirectory-1.2.1.0-ghc7.9.20140510.so", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/libraries/hpc/dist-install/build/libHSdirectory-1.2.1.0-ghc7.9.20140510.so", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/libraries/hoopl/dist-install/build/libHSdirectory-1.2.1.0-ghc7.9.20140510.so", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/libraries/bin-package-db/dist-install/build/libHSdirectory-1.2.1.0-ghc7.9.20140510.so", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/libraries/binary/dist-install/build/libHSdirectory-1.2.1.0-ghc7.9.20140510.so", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/libraries/Cabal/Cabal/dist-install/build/libHSdirectory-1.2.1.0-ghc7.9.20140510.so", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/libraries/process/dist-install/build/libHSdirectory-1.2.1.0-ghc7.9.20140510.so", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/libraries/pretty/dist-install/build/libHSdirectory-1.2.1.0-ghc7.9.20140510.so", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/libraries/directory/dist-install/build/libHSdirectory-1.2.1.0-ghc7.9.20140510.so", O_RDONLY|O_CLOEXEC) = 3 open("/home/shana/programming/ghc/libraries/haskeline/dist-install/build/libHSunix-2.7.0.1-ghc7.9.20140510.so", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/libraries/terminfo/dist-install/build/libHSunix-2.7.0.1-ghc7.9.20140510.so", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/compiler/stage2/build/libHSunix-2.7.0.1-ghc7.9.20140510.so", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/libraries/transformers/dist-install/build/libHSunix-2.7.0.1-ghc7.9.20140510.so", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/libraries/template-haskell/dist-install/build/libHSunix-2.7.0.1-ghc7.9.20140510.so", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/libraries/hpc/dist-install/build/libHSunix-2.7.0.1-ghc7.9.20140510.so", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/libraries/hoopl/dist-install/build/libHSunix-2.7.0.1-ghc7.9.20140510.so", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/libraries/bin-package-db/dist-install/build/libHSunix-2.7.0.1-ghc7.9.20140510.so", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/libraries/binary/dist-install/build/libHSunix-2.7.0.1-ghc7.9.20140510.so", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/libraries/Cabal/Cabal/dist-install/build/libHSunix-2.7.0.1-ghc7.9.20140510.so", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/libraries/process/dist-install/build/libHSunix-2.7.0.1-ghc7.9.20140510.so", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/libraries/pretty/dist-install/build/libHSunix-2.7.0.1-ghc7.9.20140510.so", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/libraries/directory/dist-install/build/libHSunix-2.7.0.1-ghc7.9.20140510.so", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/libraries/unix/dist-install/build/libHSunix-2.7.0.1-ghc7.9.20140510.so", O_RDONLY|O_CLOEXEC) = 3 open("/home/shana/programming/ghc/libraries/haskeline/dist-install/build/libHStime-1.4.2-ghc7.9.20140510.so", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/libraries/terminfo/dist-install/build/libHStime-1.4.2-ghc7.9.20140510.so", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/compiler/stage2/build/libHStime-1.4.2-ghc7.9.20140510.so", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/libraries/transformers/dist-install/build/libHStime-1.4.2-ghc7.9.20140510.so", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/libraries/template-haskell/dist-install/build/libHStime-1.4.2-ghc7.9.20140510.so", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/libraries/hpc/dist-install/build/libHStime-1.4.2-ghc7.9.20140510.so", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/libraries/hoopl/dist-install/build/libHStime-1.4.2-ghc7.9.20140510.so", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/libraries/bin-package-db/dist-install/build/libHStime-1.4.2-ghc7.9.20140510.so", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/libraries/binary/dist-install/build/libHStime-1.4.2-ghc7.9.20140510.so", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/libraries/Cabal/Cabal/dist-install/build/libHStime-1.4.2-ghc7.9.20140510.so", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/libraries/process/dist-install/build/libHStime-1.4.2-ghc7.9.20140510.so", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/libraries/pretty/dist-install/build/libHStime-1.4.2-ghc7.9.20140510.so", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/libraries/directory/dist-install/build/libHStime-1.4.2-ghc7.9.20140510.so", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/libraries/unix/dist-install/build/libHStime-1.4.2-ghc7.9.20140510.so", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/libraries/time/dist-install/build/libHStime-1.4.2-ghc7.9.20140510.so", O_RDONLY|O_CLOEXEC) = 3 open("/home/shana/programming/ghc/libraries/haskeline/dist-install/build/libHSold-locale-1.0.0.6-ghc7.9.20140510.so", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/libraries/terminfo/dist-install/build/libHSold-locale-1.0.0.6-ghc7.9.20140510.so", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/compiler/stage2/build/libHSold-locale-1.0.0.6-ghc7.9.20140510.so", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/libraries/transformers/dist-install/build/libHSold-locale-1.0.0.6-ghc7.9.20140510.so", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/libraries/template-haskell/dist-install/build/libHSold-locale-1.0.0.6-ghc7.9.20140510.so", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/libraries/hpc/dist-install/build/libHSold-locale-1.0.0.6-ghc7.9.20140510.so", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/libraries/hoopl/dist-install/build/libHSold-locale-1.0.0.6-ghc7.9.20140510.so", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/libraries/bin-package-db/dist-install/build/libHSold-locale-1.0.0.6-ghc7.9.20140510.so", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/libraries/binary/dist-install/build/libHSold-locale-1.0.0.6-ghc7.9.20140510.so", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/libraries/Cabal/Cabal/dist-install/build/libHSold-locale-1.0.0.6-ghc7.9.20140510.so", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/libraries/process/dist-install/build/libHSold-locale-1.0.0.6-ghc7.9.20140510.so", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/libraries/pretty/dist-install/build/libHSold-locale-1.0.0.6-ghc7.9.20140510.so", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/libraries/directory/dist-install/build/libHSold-locale-1.0.0.6-ghc7.9.20140510.so", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/libraries/unix/dist-install/build/libHSold-locale-1.0.0.6-ghc7.9.20140510.so", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/libraries/time/dist-install/build/libHSold-locale-1.0.0.6-ghc7.9.20140510.so", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/libraries/old-locale/dist-install/build/libHSold-locale-1.0.0.6-ghc7.9.20140510.so", O_RDONLY|O_CLOEXEC) = 3 open("/home/shana/programming/ghc/libraries/haskeline/dist-install/build/libHSfilepath-1.3.0.2-ghc7.9.20140510.so", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/libraries/terminfo/dist-install/build/libHSfilepath-1.3.0.2-ghc7.9.20140510.so", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/compiler/stage2/build/libHSfilepath-1.3.0.2-ghc7.9.20140510.so", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/libraries/transformers/dist-install/build/libHSfilepath-1.3.0.2-ghc7.9.20140510.so", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/libraries/template-haskell/dist-install/build/libHSfilepath-1.3.0.2-ghc7.9.20140510.so", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/libraries/hpc/dist-install/build/libHSfilepath-1.3.0.2-ghc7.9.20140510.so", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/libraries/hoopl/dist-install/build/libHSfilepath-1.3.0.2-ghc7.9.20140510.so", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/libraries/bin-package-db/dist-install/build/libHSfilepath-1.3.0.2-ghc7.9.20140510.so", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/libraries/binary/dist-install/build/libHSfilepath-1.3.0.2-ghc7.9.20140510.so", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/libraries/Cabal/Cabal/dist-install/build/libHSfilepath-1.3.0.2-ghc7.9.20140510.so", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/libraries/process/dist-install/build/libHSfilepath-1.3.0.2-ghc7.9.20140510.so", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/libraries/pretty/dist-install/build/libHSfilepath-1.3.0.2-ghc7.9.20140510.so", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/libraries/directory/dist-install/build/libHSfilepath-1.3.0.2-ghc7.9.20140510.so", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/libraries/unix/dist-install/build/libHSfilepath-1.3.0.2-ghc7.9.20140510.so", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/libraries/time/dist-install/build/libHSfilepath-1.3.0.2-ghc7.9.20140510.so", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/libraries/old-locale/dist-install/build/libHSfilepath-1.3.0.2-ghc7.9.20140510.so", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/libraries/filepath/dist-install/build/libHSfilepath-1.3.0.2-ghc7.9.20140510.so", O_RDONLY|O_CLOEXEC) = 3 open("/home/shana/programming/ghc/libraries/haskeline/dist-install/build/libHSbytestring-0.10.4.0-ghc7.9.20140510.so", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/libraries/terminfo/dist-install/build/libHSbytestring-0.10.4.0-ghc7.9.20140510.so", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/compiler/stage2/build/libHSbytestring-0.10.4.0-ghc7.9.20140510.so", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/libraries/transformers/dist-install/build/libHSbytestring-0.10.4.0-ghc7.9.20140510.so", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/libraries/template-haskell/dist-install/build/libHSbytestring-0.10.4.0-ghc7.9.20140510.so", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/libraries/hpc/dist-install/build/libHSbytestring-0.10.4.0-ghc7.9.20140510.so", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/libraries/hoopl/dist-install/build/libHSbytestring-0.10.4.0-ghc7.9.20140510.so", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/libraries/bin-package-db/dist-install/build/libHSbytestring-0.10.4.0-ghc7.9.20140510.so", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/libraries/binary/dist-install/build/libHSbytestring-0.10.4.0-ghc7.9.20140510.so", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/libraries/Cabal/Cabal/dist-install/build/libHSbytestring-0.10.4.0-ghc7.9.20140510.so", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/libraries/process/dist-install/build/libHSbytestring-0.10.4.0-ghc7.9.20140510.so", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/libraries/pretty/dist-install/build/libHSbytestring-0.10.4.0-ghc7.9.20140510.so", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/libraries/directory/dist-install/build/libHSbytestring-0.10.4.0-ghc7.9.20140510.so", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/libraries/unix/dist-install/build/libHSbytestring-0.10.4.0-ghc7.9.20140510.so", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/libraries/time/dist-install/build/libHSbytestring-0.10.4.0-ghc7.9.20140510.so", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/libraries/old-locale/dist-install/build/libHSbytestring-0.10.4.0-ghc7.9.20140510.so", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/libraries/filepath/dist-install/build/libHSbytestring-0.10.4.0-ghc7.9.20140510.so", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/libraries/containers/dist-install/build/libHSbytestring-0.10.4.0-ghc7.9.20140510.so", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/libraries/bytestring/dist-install/build/libHSbytestring-0.10.4.0-ghc7.9.20140510.so", O_RDONLY|O_CLOEXEC) = 3 open("/home/shana/programming/ghc/libraries/haskeline/dist-install/build/libHSdeepseq-1.3.0.2-ghc7.9.20140510.so", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/libraries/terminfo/dist-install/build/libHSdeepseq-1.3.0.2-ghc7.9.20140510.so", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/compiler/stage2/build/libHSdeepseq-1.3.0.2-ghc7.9.20140510.so", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/libraries/transformers/dist-install/build/libHSdeepseq-1.3.0.2-ghc7.9.20140510.so", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/libraries/template-haskell/dist-install/build/libHSdeepseq-1.3.0.2-ghc7.9.20140510.so", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/libraries/hpc/dist-install/build/libHSdeepseq-1.3.0.2-ghc7.9.20140510.so", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/libraries/hoopl/dist-install/build/libHSdeepseq-1.3.0.2-ghc7.9.20140510.so", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/libraries/bin-package-db/dist-install/build/libHSdeepseq-1.3.0.2-ghc7.9.20140510.so", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/libraries/binary/dist-install/build/libHSdeepseq-1.3.0.2-ghc7.9.20140510.so", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/libraries/Cabal/Cabal/dist-install/build/libHSdeepseq-1.3.0.2-ghc7.9.20140510.so", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/libraries/process/dist-install/build/libHSdeepseq-1.3.0.2-ghc7.9.20140510.so", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/libraries/pretty/dist-install/build/libHSdeepseq-1.3.0.2-ghc7.9.20140510.so", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/libraries/directory/dist-install/build/libHSdeepseq-1.3.0.2-ghc7.9.20140510.so", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/libraries/unix/dist-install/build/libHSdeepseq-1.3.0.2-ghc7.9.20140510.so", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/libraries/time/dist-install/build/libHSdeepseq-1.3.0.2-ghc7.9.20140510.so", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/libraries/old-locale/dist-install/build/libHSdeepseq-1.3.0.2-ghc7.9.20140510.so", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/libraries/filepath/dist-install/build/libHSdeepseq-1.3.0.2-ghc7.9.20140510.so", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/libraries/containers/dist-install/build/libHSdeepseq-1.3.0.2-ghc7.9.20140510.so", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/libraries/bytestring/dist-install/build/libHSdeepseq-1.3.0.2-ghc7.9.20140510.so", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/libraries/deepseq/dist-install/build/libHSdeepseq-1.3.0.2-ghc7.9.20140510.so", O_RDONLY|O_CLOEXEC) = 3 open("/home/shana/programming/ghc/libraries/haskeline/dist-install/build/libHSarray-0.5.0.0-ghc7.9.20140510.so", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/libraries/terminfo/dist-install/build/libHSarray-0.5.0.0-ghc7.9.20140510.so", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/compiler/stage2/build/libHSarray-0.5.0.0-ghc7.9.20140510.so", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/libraries/transformers/dist-install/build/libHSarray-0.5.0.0-ghc7.9.20140510.so", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/libraries/template-haskell/dist-install/build/libHSarray-0.5.0.0-ghc7.9.20140510.so", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/libraries/hpc/dist-install/build/libHSarray-0.5.0.0-ghc7.9.20140510.so", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/libraries/hoopl/dist-install/build/libHSarray-0.5.0.0-ghc7.9.20140510.so", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/libraries/bin-package-db/dist-install/build/libHSarray-0.5.0.0-ghc7.9.20140510.so", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/libraries/binary/dist-install/build/libHSarray-0.5.0.0-ghc7.9.20140510.so", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/libraries/Cabal/Cabal/dist-install/build/libHSarray-0.5.0.0-ghc7.9.20140510.so", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/libraries/process/dist-install/build/libHSarray-0.5.0.0-ghc7.9.20140510.so", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/libraries/pretty/dist-install/build/libHSarray-0.5.0.0-ghc7.9.20140510.so", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/libraries/directory/dist-install/build/libHSarray-0.5.0.0-ghc7.9.20140510.so", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/libraries/unix/dist-install/build/libHSarray-0.5.0.0-ghc7.9.20140510.so", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/libraries/time/dist-install/build/libHSarray-0.5.0.0-ghc7.9.20140510.so", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/libraries/old-locale/dist-install/build/libHSarray-0.5.0.0-ghc7.9.20140510.so", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/libraries/filepath/dist-install/build/libHSarray-0.5.0.0-ghc7.9.20140510.so", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/libraries/containers/dist-install/build/libHSarray-0.5.0.0-ghc7.9.20140510.so", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/libraries/bytestring/dist-install/build/libHSarray-0.5.0.0-ghc7.9.20140510.so", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/libraries/deepseq/dist-install/build/libHSarray-0.5.0.0-ghc7.9.20140510.so", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/libraries/array/dist-install/build/libHSarray-0.5.0.0-ghc7.9.20140510.so", O_RDONLY|O_CLOEXEC) = 3 open("/home/shana/programming/ghc/libraries/haskeline/dist-install/build/libHSbase-4.7.1.0-ghc7.9.20140510.so", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/libraries/terminfo/dist-install/build/libHSbase-4.7.1.0-ghc7.9.20140510.so", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/compiler/stage2/build/libHSbase-4.7.1.0-ghc7.9.20140510.so", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/libraries/transformers/dist-install/build/libHSbase-4.7.1.0-ghc7.9.20140510.so", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/libraries/template-haskell/dist-install/build/libHSbase-4.7.1.0-ghc7.9.20140510.so", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/libraries/hpc/dist-install/build/libHSbase-4.7.1.0-ghc7.9.20140510.so", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/libraries/hoopl/dist-install/build/libHSbase-4.7.1.0-ghc7.9.20140510.so", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/libraries/bin-package-db/dist-install/build/libHSbase-4.7.1.0-ghc7.9.20140510.so", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/libraries/binary/dist-install/build/libHSbase-4.7.1.0-ghc7.9.20140510.so", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/libraries/Cabal/Cabal/dist-install/build/libHSbase-4.7.1.0-ghc7.9.20140510.so", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/libraries/process/dist-install/build/libHSbase-4.7.1.0-ghc7.9.20140510.so", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/libraries/pretty/dist-install/build/libHSbase-4.7.1.0-ghc7.9.20140510.so", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/libraries/directory/dist-install/build/libHSbase-4.7.1.0-ghc7.9.20140510.so", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/libraries/unix/dist-install/build/libHSbase-4.7.1.0-ghc7.9.20140510.so", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/libraries/time/dist-install/build/libHSbase-4.7.1.0-ghc7.9.20140510.so", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/libraries/old-locale/dist-install/build/libHSbase-4.7.1.0-ghc7.9.20140510.so", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/libraries/filepath/dist-install/build/libHSbase-4.7.1.0-ghc7.9.20140510.so", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/libraries/containers/dist-install/build/libHSbase-4.7.1.0-ghc7.9.20140510.so", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/libraries/bytestring/dist-install/build/libHSbase-4.7.1.0-ghc7.9.20140510.so", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/libraries/deepseq/dist-install/build/libHSbase-4.7.1.0-ghc7.9.20140510.so", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/libraries/array/dist-install/build/libHSbase-4.7.1.0-ghc7.9.20140510.so", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/libraries/base/dist-install/build/libHSbase-4.7.1.0-ghc7.9.20140510.so", O_RDONLY|O_CLOEXEC) = 3 open("/home/shana/programming/ghc/libraries/haskeline/dist-install/build/libHSinteger-gmp-0.5.1.0-ghc7.9.20140510.so", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/libraries/terminfo/dist-install/build/libHSinteger-gmp-0.5.1.0-ghc7.9.20140510.so", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/compiler/stage2/build/libHSinteger-gmp-0.5.1.0-ghc7.9.20140510.so", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/libraries/transformers/dist-install/build/libHSinteger-gmp-0.5.1.0-ghc7.9.20140510.so", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/libraries/template-haskell/dist-install/build/libHSinteger-gmp-0.5.1.0-ghc7.9.20140510.so", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/libraries/hpc/dist-install/build/libHSinteger-gmp-0.5.1.0-ghc7.9.20140510.so", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/libraries/hoopl/dist-install/build/libHSinteger-gmp-0.5.1.0-ghc7.9.20140510.so", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/libraries/bin-package-db/dist-install/build/libHSinteger-gmp-0.5.1.0-ghc7.9.20140510.so", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/libraries/binary/dist-install/build/libHSinteger-gmp-0.5.1.0-ghc7.9.20140510.so", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/libraries/Cabal/Cabal/dist-install/build/libHSinteger-gmp-0.5.1.0-ghc7.9.20140510.so", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/libraries/process/dist-install/build/libHSinteger-gmp-0.5.1.0-ghc7.9.20140510.so", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/libraries/pretty/dist-install/build/libHSinteger-gmp-0.5.1.0-ghc7.9.20140510.so", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/libraries/directory/dist-install/build/libHSinteger-gmp-0.5.1.0-ghc7.9.20140510.so", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/libraries/unix/dist-install/build/libHSinteger-gmp-0.5.1.0-ghc7.9.20140510.so", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/libraries/time/dist-install/build/libHSinteger-gmp-0.5.1.0-ghc7.9.20140510.so", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/libraries/old-locale/dist-install/build/libHSinteger-gmp-0.5.1.0-ghc7.9.20140510.so", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/libraries/filepath/dist-install/build/libHSinteger-gmp-0.5.1.0-ghc7.9.20140510.so", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/libraries/containers/dist-install/build/libHSinteger-gmp-0.5.1.0-ghc7.9.20140510.so", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/libraries/bytestring/dist-install/build/libHSinteger-gmp-0.5.1.0-ghc7.9.20140510.so", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/libraries/deepseq/dist-install/build/libHSinteger-gmp-0.5.1.0-ghc7.9.20140510.so", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/libraries/array/dist-install/build/libHSinteger-gmp-0.5.1.0-ghc7.9.20140510.so", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/libraries/base/dist-install/build/libHSinteger-gmp-0.5.1.0-ghc7.9.20140510.so", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/libraries/integer-gmp/dist-install/build/libHSinteger-gmp-0.5.1.0-ghc7.9.20140510.so", O_RDONLY|O_CLOEXEC) = 3 open("/home/shana/programming/ghc/libraries/haskeline/dist-install/build/libHSghc-prim-0.3.1.0-ghc7.9.20140510.so", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/libraries/terminfo/dist-install/build/libHSghc-prim-0.3.1.0-ghc7.9.20140510.so", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/compiler/stage2/build/libHSghc-prim-0.3.1.0-ghc7.9.20140510.so", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/libraries/transformers/dist-install/build/libHSghc-prim-0.3.1.0-ghc7.9.20140510.so", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/libraries/template-haskell/dist-install/build/libHSghc-prim-0.3.1.0-ghc7.9.20140510.so", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/libraries/hpc/dist-install/build/libHSghc-prim-0.3.1.0-ghc7.9.20140510.so", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/libraries/hoopl/dist-install/build/libHSghc-prim-0.3.1.0-ghc7.9.20140510.so", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/libraries/bin-package-db/dist-install/build/libHSghc-prim-0.3.1.0-ghc7.9.20140510.so", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/libraries/binary/dist-install/build/libHSghc-prim-0.3.1.0-ghc7.9.20140510.so", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/libraries/Cabal/Cabal/dist-install/build/libHSghc-prim-0.3.1.0-ghc7.9.20140510.so", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/libraries/process/dist-install/build/libHSghc-prim-0.3.1.0-ghc7.9.20140510.so", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/libraries/pretty/dist-install/build/libHSghc-prim-0.3.1.0-ghc7.9.20140510.so", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/libraries/directory/dist-install/build/libHSghc-prim-0.3.1.0-ghc7.9.20140510.so", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/libraries/unix/dist-install/build/libHSghc-prim-0.3.1.0-ghc7.9.20140510.so", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/libraries/time/dist-install/build/libHSghc-prim-0.3.1.0-ghc7.9.20140510.so", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/libraries/old-locale/dist-install/build/libHSghc-prim-0.3.1.0-ghc7.9.20140510.so", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/libraries/filepath/dist-install/build/libHSghc-prim-0.3.1.0-ghc7.9.20140510.so", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/libraries/containers/dist-install/build/libHSghc-prim-0.3.1.0-ghc7.9.20140510.so", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/libraries/bytestring/dist-install/build/libHSghc-prim-0.3.1.0-ghc7.9.20140510.so", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/libraries/deepseq/dist-install/build/libHSghc-prim-0.3.1.0-ghc7.9.20140510.so", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/libraries/array/dist-install/build/libHSghc-prim-0.3.1.0-ghc7.9.20140510.so", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/libraries/base/dist-install/build/libHSghc-prim-0.3.1.0-ghc7.9.20140510.so", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/libraries/integer-gmp/dist-install/build/libHSghc-prim-0.3.1.0-ghc7.9.20140510.so", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/libraries/ghc-prim/dist-install/build/libHSghc-prim-0.3.1.0-ghc7.9.20140510.so", O_RDONLY|O_CLOEXEC) = 3 open("/home/shana/programming/ghc/libraries/haskeline/dist-install/build/libHSrts_thr-ghc7.9.20140510.so", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/libraries/terminfo/dist-install/build/libHSrts_thr-ghc7.9.20140510.so", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/compiler/stage2/build/libHSrts_thr-ghc7.9.20140510.so", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/libraries/transformers/dist-install/build/libHSrts_thr-ghc7.9.20140510.so", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/libraries/template-haskell/dist-install/build/libHSrts_thr-ghc7.9.20140510.so", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/libraries/hpc/dist-install/build/libHSrts_thr-ghc7.9.20140510.so", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/libraries/hoopl/dist-install/build/libHSrts_thr-ghc7.9.20140510.so", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/libraries/bin-package-db/dist-install/build/libHSrts_thr-ghc7.9.20140510.so", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/libraries/binary/dist-install/build/libHSrts_thr-ghc7.9.20140510.so", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/libraries/Cabal/Cabal/dist-install/build/libHSrts_thr-ghc7.9.20140510.so", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/libraries/process/dist-install/build/libHSrts_thr-ghc7.9.20140510.so", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/libraries/pretty/dist-install/build/libHSrts_thr-ghc7.9.20140510.so", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/libraries/directory/dist-install/build/libHSrts_thr-ghc7.9.20140510.so", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/libraries/unix/dist-install/build/libHSrts_thr-ghc7.9.20140510.so", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/libraries/time/dist-install/build/libHSrts_thr-ghc7.9.20140510.so", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/libraries/old-locale/dist-install/build/libHSrts_thr-ghc7.9.20140510.so", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/libraries/filepath/dist-install/build/libHSrts_thr-ghc7.9.20140510.so", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/libraries/containers/dist-install/build/libHSrts_thr-ghc7.9.20140510.so", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/libraries/bytestring/dist-install/build/libHSrts_thr-ghc7.9.20140510.so", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/libraries/deepseq/dist-install/build/libHSrts_thr-ghc7.9.20140510.so", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/libraries/array/dist-install/build/libHSrts_thr-ghc7.9.20140510.so", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/libraries/base/dist-install/build/libHSrts_thr-ghc7.9.20140510.so", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/libraries/integer-gmp/dist-install/build/libHSrts_thr-ghc7.9.20140510.so", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/libraries/ghc-prim/dist-install/build/libHSrts_thr-ghc7.9.20140510.so", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/rts/dist/build/libHSrts_thr-ghc7.9.20140510.so", O_RDONLY|O_CLOEXEC) = 3 open("/home/shana/programming/ghc/libraries/haskeline/dist-install/build/libffi.so.6", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/libraries/terminfo/dist-install/build/libffi.so.6", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/compiler/stage2/build/libffi.so.6", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/libraries/transformers/dist-install/build/libffi.so.6", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/libraries/template-haskell/dist-install/build/libffi.so.6", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/libraries/hpc/dist-install/build/libffi.so.6", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/libraries/hoopl/dist-install/build/libffi.so.6", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/libraries/bin-package-db/dist-install/build/libffi.so.6", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/libraries/binary/dist-install/build/libffi.so.6", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/libraries/Cabal/Cabal/dist-install/build/libffi.so.6", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/libraries/process/dist-install/build/libffi.so.6", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/libraries/pretty/dist-install/build/libffi.so.6", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/libraries/directory/dist-install/build/libffi.so.6", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/libraries/unix/dist-install/build/libffi.so.6", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/libraries/time/dist-install/build/libffi.so.6", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/libraries/old-locale/dist-install/build/libffi.so.6", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/libraries/filepath/dist-install/build/libffi.so.6", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/libraries/containers/dist-install/build/libffi.so.6", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/libraries/bytestring/dist-install/build/libffi.so.6", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/libraries/deepseq/dist-install/build/libffi.so.6", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/libraries/array/dist-install/build/libffi.so.6", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/libraries/base/dist-install/build/libffi.so.6", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/libraries/integer-gmp/dist-install/build/libffi.so.6", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/libraries/ghc-prim/dist-install/build/libffi.so.6", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/rts/dist/build/libffi.so.6", O_RDONLY|O_CLOEXEC) = 3 open("/home/shana/programming/ghc/libraries/haskeline/dist-install/build/libpthread.so.0", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/libraries/terminfo/dist-install/build/libpthread.so.0", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/compiler/stage2/build/libpthread.so.0", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/libraries/transformers/dist-install/build/libpthread.so.0", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/libraries/template-haskell/dist-install/build/libpthread.so.0", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/libraries/hpc/dist-install/build/libpthread.so.0", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/libraries/hoopl/dist-install/build/libpthread.so.0", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/libraries/bin-package-db/dist-install/build/libpthread.so.0", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/libraries/binary/dist-install/build/libpthread.so.0", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/libraries/Cabal/Cabal/dist-install/build/libpthread.so.0", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/libraries/process/dist-install/build/libpthread.so.0", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/libraries/pretty/dist-install/build/libpthread.so.0", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/libraries/directory/dist-install/build/libpthread.so.0", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/libraries/unix/dist-install/build/libpthread.so.0", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/libraries/time/dist-install/build/libpthread.so.0", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/libraries/old-locale/dist-install/build/libpthread.so.0", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/libraries/filepath/dist-install/build/libpthread.so.0", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/libraries/containers/dist-install/build/libpthread.so.0", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/libraries/bytestring/dist-install/build/libpthread.so.0", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/libraries/deepseq/dist-install/build/libpthread.so.0", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/libraries/array/dist-install/build/libpthread.so.0", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/libraries/base/dist-install/build/libpthread.so.0", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/libraries/integer-gmp/dist-install/build/libpthread.so.0", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/libraries/ghc-prim/dist-install/build/libpthread.so.0", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/rts/dist/build/libpthread.so.0", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) open("/run/opengl-driver/lib/tls/libpthread.so.0", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) open("/run/opengl-driver/lib/libpthread.so.0", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) open("/run/opengl-driver-32/lib/tls/libpthread.so.0", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) open("/run/opengl-driver-32/lib/libpthread.so.0", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) open("/nix/store/qnkyas42nf0knps3va30y29y3zvmgy2v-gmp-5.1.3/lib/libpthread.so.0", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) open("/nix/store/3v2029bmc8ay73sa9yn4yrgil5jf8l0c-ncurses-5.9/lib/libpthread.so.0", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) open("/nix/store/4v0a2fncxsk2f57jixq7i59k6hdl34fx-glibc-2.19/lib/libpthread.so.0", O_RDONLY|O_CLOEXEC) = 3 open("/home/shana/programming/ghc/libraries/haskeline/dist-install/build/libc.so.6", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/libraries/terminfo/dist-install/build/libc.so.6", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/compiler/stage2/build/libc.so.6", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/libraries/transformers/dist-install/build/libc.so.6", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/libraries/template-haskell/dist-install/build/libc.so.6", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/libraries/hpc/dist-install/build/libc.so.6", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/libraries/hoopl/dist-install/build/libc.so.6", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/libraries/bin-package-db/dist-install/build/libc.so.6", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/libraries/binary/dist-install/build/libc.so.6", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/libraries/Cabal/Cabal/dist-install/build/libc.so.6", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/libraries/process/dist-install/build/libc.so.6", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/libraries/pretty/dist-install/build/libc.so.6", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/libraries/directory/dist-install/build/libc.so.6", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/libraries/unix/dist-install/build/libc.so.6", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/libraries/time/dist-install/build/libc.so.6", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/libraries/old-locale/dist-install/build/libc.so.6", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/libraries/filepath/dist-install/build/libc.so.6", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/libraries/containers/dist-install/build/libc.so.6", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/libraries/bytestring/dist-install/build/libc.so.6", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/libraries/deepseq/dist-install/build/libc.so.6", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/libraries/array/dist-install/build/libc.so.6", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/libraries/base/dist-install/build/libc.so.6", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/libraries/integer-gmp/dist-install/build/libc.so.6", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/libraries/ghc-prim/dist-install/build/libc.so.6", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/rts/dist/build/libc.so.6", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) open("/run/opengl-driver/lib/tls/libc.so.6", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) open("/run/opengl-driver/lib/libc.so.6", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) open("/run/opengl-driver-32/lib/tls/libc.so.6", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) open("/run/opengl-driver-32/lib/libc.so.6", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) open("/nix/store/qnkyas42nf0knps3va30y29y3zvmgy2v-gmp-5.1.3/lib/libc.so.6", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) open("/nix/store/3v2029bmc8ay73sa9yn4yrgil5jf8l0c-ncurses-5.9/lib/libc.so.6", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) open("/nix/store/4v0a2fncxsk2f57jixq7i59k6hdl34fx-glibc-2.19/lib/libc.so.6", O_RDONLY|O_CLOEXEC) = 3 open("/home/shana/programming/ghc/libraries/haskeline/dist-install/build/libgcc_s.so.1", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/libraries/terminfo/dist-install/build/libgcc_s.so.1", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/compiler/stage2/build/libgcc_s.so.1", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/libraries/transformers/dist-install/build/libgcc_s.so.1", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/libraries/template-haskell/dist-install/build/libgcc_s.so.1", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/libraries/hpc/dist-install/build/libgcc_s.so.1", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/libraries/hoopl/dist-install/build/libgcc_s.so.1", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/libraries/bin-package-db/dist-install/build/libgcc_s.so.1", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/libraries/binary/dist-install/build/libgcc_s.so.1", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/libraries/Cabal/Cabal/dist-install/build/libgcc_s.so.1", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/libraries/process/dist-install/build/libgcc_s.so.1", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/libraries/pretty/dist-install/build/libgcc_s.so.1", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/libraries/directory/dist-install/build/libgcc_s.so.1", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/libraries/unix/dist-install/build/libgcc_s.so.1", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/libraries/time/dist-install/build/libgcc_s.so.1", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/libraries/old-locale/dist-install/build/libgcc_s.so.1", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/libraries/filepath/dist-install/build/libgcc_s.so.1", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/libraries/containers/dist-install/build/libgcc_s.so.1", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/libraries/bytestring/dist-install/build/libgcc_s.so.1", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/libraries/deepseq/dist-install/build/libgcc_s.so.1", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/libraries/array/dist-install/build/libgcc_s.so.1", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/libraries/base/dist-install/build/libgcc_s.so.1", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/libraries/integer-gmp/dist-install/build/libgcc_s.so.1", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/libraries/ghc-prim/dist-install/build/libgcc_s.so.1", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/rts/dist/build/libgcc_s.so.1", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) open("/run/opengl-driver/lib/tls/libgcc_s.so.1", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) open("/run/opengl-driver/lib/libgcc_s.so.1", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) open("/run/opengl-driver-32/lib/tls/libgcc_s.so.1", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) open("/run/opengl-driver-32/lib/libgcc_s.so.1", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) open("/nix/store/4v0a2fncxsk2f57jixq7i59k6hdl34fx-glibc-2.19/lib/libgcc_s.so.1", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) open("/nix/store/n5hl6lpm87mxf4qd8f2zq423al1gwdj9-gcc-4.8.2/lib/tls/i686/sse2/libgcc_s.so.1", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) stat64("/nix/store/n5hl6lpm87mxf4qd8f2zq423al1gwdj9-gcc-4.8.2/lib/tls/i686/sse2", 0xbfcc0ad0) = -1 ENOENT (No such file or directory) open("/nix/store/n5hl6lpm87mxf4qd8f2zq423al1gwdj9-gcc-4.8.2/lib/tls/i686/libgcc_s.so.1", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) stat64("/nix/store/n5hl6lpm87mxf4qd8f2zq423al1gwdj9-gcc-4.8.2/lib/tls/i686", 0xbfcc0ad0) = -1 ENOENT (No such file or directory) open("/nix/store/n5hl6lpm87mxf4qd8f2zq423al1gwdj9-gcc-4.8.2/lib/tls/sse2/libgcc_s.so.1", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) stat64("/nix/store/n5hl6lpm87mxf4qd8f2zq423al1gwdj9-gcc-4.8.2/lib/tls/sse2", 0xbfcc0ad0) = -1 ENOENT (No such file or directory) open("/nix/store/n5hl6lpm87mxf4qd8f2zq423al1gwdj9-gcc-4.8.2/lib/tls/libgcc_s.so.1", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) stat64("/nix/store/n5hl6lpm87mxf4qd8f2zq423al1gwdj9-gcc-4.8.2/lib/tls", 0xbfcc0ad0) = -1 ENOENT (No such file or directory) open("/nix/store/n5hl6lpm87mxf4qd8f2zq423al1gwdj9-gcc-4.8.2/lib/i686/sse2/libgcc_s.so.1", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) stat64("/nix/store/n5hl6lpm87mxf4qd8f2zq423al1gwdj9-gcc-4.8.2/lib/i686/sse2", 0xbfcc0ad0) = -1 ENOENT (No such file or directory) open("/nix/store/n5hl6lpm87mxf4qd8f2zq423al1gwdj9-gcc-4.8.2/lib/i686/libgcc_s.so.1", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) stat64("/nix/store/n5hl6lpm87mxf4qd8f2zq423al1gwdj9-gcc-4.8.2/lib/i686", 0xbfcc0ad0) = -1 ENOENT (No such file or directory) open("/nix/store/n5hl6lpm87mxf4qd8f2zq423al1gwdj9-gcc-4.8.2/lib/sse2/libgcc_s.so.1", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) stat64("/nix/store/n5hl6lpm87mxf4qd8f2zq423al1gwdj9-gcc-4.8.2/lib/sse2", 0xbfcc0ad0) = -1 ENOENT (No such file or directory) open("/nix/store/n5hl6lpm87mxf4qd8f2zq423al1gwdj9-gcc-4.8.2/lib/libgcc_s.so.1", O_RDONLY|O_CLOEXEC) = 3 open("/run/current-system/sw/lib/locale/locale-archive", O_RDONLY|O_LARGEFILE|O_CLOEXEC) = 3 open("/proc/meminfo", O_RDONLY|O_CLOEXEC) = 3 Process 8459 attached Process 8460 attached Process 8461 attached [pid 8461] open("/sys/devices/system/cpu/online", O_RDONLY|O_CLOEXEC) = 10 [pid 8458] open("/home/shana/programming/ghc/inplace/lib/settings", O_RDONLY|O_NOCTTY|O_NONBLOCK|O_LARGEFILE) = 10 [pid 8458] open("/home/shana/programming/ghc/inplace/lib/platformConstants", O_RDONLY|O_NOCTTY|O_NONBLOCK|O_LARGEFILE) = 11 [pid 8458] --- SIGVTALRM {si_signo=SIGVTALRM, si_code=SI_TIMER, si_pid=0, si_uid=0, si_value=0} --- [pid 8458] --- SIGVTALRM {si_signo=SIGVTALRM, si_code=SI_TIMER, si_pid=0, si_uid=0, si_value=0} --- [pid 8458] stat64("/home/shana/.ghc/i386-linux-7.9.20140510/package.conf.d", 0xb2b04dc0) = -1 ENOENT (No such file or directory) [pid 8458] stat64("/home/shana/programming/ghc/inplace/lib/package.conf.d", {st_mode=S_IFDIR|0755, st_size=4096, ...}) = 0 [pid 8458] open("/home/shana/programming/ghc/inplace/lib/package.conf.d/package.cache", O_RDONLY|O_NOCTTY|O_NONBLOCK|O_LARGEFILE) = 10 [pid 8458] --- SIGVTALRM {si_signo=SIGVTALRM, si_code=SI_TIMER, si_pid=0, si_uid=0, si_value=0} --- ghc-stage2: no input files Usage: For basic information, try the `--help' option. [pid 8460] +++ exited with 0 +++ [pid 8461] +++ exited with 0 +++ [pid 8459] +++ exited with 0 +++ +++ exited with 1 +++ From gergely at risko.hu Sun May 11 19:02:09 2014 From: gergely at risko.hu (Gergely Risko) Date: Sun, 11 May 2014 21:02:09 +0200 Subject: Loading package integer-gmp ... : can't load .so/.DLL for: libgmp.so (libgmp.so: cannot open shared object file: No such file or directory) References: <536F88B5.7020602@fuuzetsu.co.uk> <536FB252.8000703@fuuzetsu.co.uk> Message-ID: <87eh0016mm.fsf@gergely.risko.hu> >From your build log: checking for __gmpz_powm in -lgmp... yes checking for __gmpz_powm_sec in -lgmp... yes ... checking gmp.h usability... yes checking gmp.h presence... yes checking for gmp.h... yes Searching for qnkyas42nf0knps3va30y29y3zvmgy2v in your build log, it's also seems so that the build.mk lines have effect and both the lib and the include line is correctly passed in. Can it be, that the "DYNAMIC_BY_DEFAULT = NO" is causing the issue? May I ask you to try without that? Not as a final solution, just as a try? Maybe you will have to add "GhcLibWays = v dyn" too, I usually not remove the whole build.mk, just use the build.mk.sample with quick and then add my additional stuff, like the gmp lines that are needed for NixOS. And again, an strace on "ghc-stage2 --interactive" with "-ff -e file" and grepping for libgmp would be very useful. Gergely From gergely at risko.hu Sun May 11 19:19:32 2014 From: gergely at risko.hu (Gergely Risko) Date: Sun, 11 May 2014 21:19:32 +0200 Subject: Loading package integer-gmp ... : can't load .so/.DLL for: libgmp.so (libgmp.so: cannot open shared object file: No such file or directory) References: <536F88B5.7020602@fuuzetsu.co.uk> <536FC8C0.20005@fuuzetsu.co.uk> Message-ID: <878uq815tn.fsf@gergely.risko.hu> On Sun, 11 May 2014 21:00:16 +0200, Mateusz Kowalczyk writes: > Do you know what exact setup I need for --with-intree-gmp? Nothing special is needed, actually it's autoselected if no gmp is found during build. (So e.g. on NixOS, where libraries are not just randomly around everywhere in /usr/lib and /usr/include.) So either get rid of your options and make GHC unable to find a gmp or pass --with-intree-gmp to configure. It's intree, because there is a gmp tar.gz intree inside the GHC source tree, and with this option it just gets unpacked, compiled and used statically for the build. Furthermore, the resulting GHC will build binaries that statically contain the biginteger GMP code, so it's a useful hack to know about. >> Also, I think "inplace/bin/ghc-stage2 --interactive" will fail with the >> same error message, and you can "strace -f -e file" that command to see >> where the libgmp.so is searched for. It should definitely be searched >> for in your /nix/store/qnky... directory with your build.mk. I use the >> same strategy here: >> https://github.com/nilcons/ceh/blob/master/README.compile-ghc-with-ceh > > You're right that stage2 --interactive fails with the error. I attach > the result of strace. It seems like a whole lot of stuff is missing. >From your strace log: -=- [pid 8458] --- SIGVTALRM {si_signo=SIGVTALRM, si_code=SI_TIMER, si_pid=0, si_uid=0, si_value=0} --- ghc-stage2: no input files Usage: For basic information, try the `--help' option. -=- This is not an strace of a failing "ghc-stage2 --interactive". That wouldn't say "no input files". Please first reproduce your error then once you have the error, run the same command line with strace. Thanks. >> If you just want to quickly try something and not really interested in >> figuring out what's wrong, then a quick and dirty fix is to >> "export > LD_LIBRARY_PATH=/nix/store/qnkyas42nf0knps3va30y29y3zvmgy2v-gmp-5.1.3/lib" >> before the whole build or anytime afterwards when you want to use the >> compiled GHC. > > That's not an option considering that particular store might be garbage > collected if it's not registered as being used. I'm unsure of the > details but simply said that's a very bad workaround on my distro. It was suggested as a "quick and dirty fix". If you need this GHC build to fix a GHC bug and test it for five minutes, then this is an option. If you need it for days, than it's maybe not. NixOS gc is not ran randomly (like Git's GC, e.g. for git push or pull), only when you do nix-garbage-collect. And actually building your GHC correctly will not fix your garbage collection issue, because gmp is searched for dynamically by TH and GHCi. So if the store goes garbage collected, you will be screwed anyways. If you want to have a GHC bundle that can find the same GMP days or months later, then you should look at the strace, grep for the locations where libgmp is searched for and put your current GMP unto one of the locations that you most like. And then you can run nix garbage collect without issues. Of course, your libc for example can still go away and then you'll be screwed all the same. Just having a binary somewhere on the system built outside of Nix will not guarantee the dependent libraries to be kept. If you want that, you'll have to register your build properly with nix. >> But I'd really like to understand what caused it, so if you have time, >> please investigate! > > I definitely need to solve this properly as I need GHC HEAD for > development and I need to change the build system of it a bit for > accommodate for some Haddock changes. Then I would look into how GHC is currently build with NixOS (they support building GHC HEAD) and build on top of that. Write your own derivation with the necessary Haddock changes and call nix-build on it. Then you would get a /nix/store path with your freshly built GHC head and that would actually guarantee the underlying libc and gmp to not go away at garbage collection time. Gergely From fuuzetsu at fuuzetsu.co.uk Sun May 11 19:42:45 2014 From: fuuzetsu at fuuzetsu.co.uk (Mateusz Kowalczyk) Date: Sun, 11 May 2014 21:42:45 +0200 Subject: Loading package integer-gmp ... : can't load .so/.DLL for: libgmp.so (libgmp.so: cannot open shared object file: No such file or directory) In-Reply-To: <878uq815tn.fsf@gergely.risko.hu> References: <536F88B5.7020602@fuuzetsu.co.uk> <536FC8C0.20005@fuuzetsu.co.uk> <878uq815tn.fsf@gergely.risko.hu> Message-ID: <536FD2B5.1090203@fuuzetsu.co.uk> On 05/11/2014 09:19 PM, Gergely Risko wrote: > On Sun, 11 May 2014 21:00:16 +0200, Mateusz Kowalczyk writes: > >> Do you know what exact setup I need for --with-intree-gmp? > > Nothing special is needed, actually it's autoselected if no gmp is found > during build. (So e.g. on NixOS, where libraries are not just randomly > around everywhere in /usr/lib and /usr/include.) > > So either get rid of your options and make GHC unable to find a gmp or > pass --with-intree-gmp to configure. > > It's intree, because there is a gmp tar.gz intree inside the GHC source > tree, and with this option it just gets unpacked, compiled and used > statically for the build. Furthermore, the resulting GHC will build > binaries that statically contain the biginteger GMP code, so it's a > useful hack to know about. Are there any downsides to doing this except slightly bigger binary size? >>> Also, I think "inplace/bin/ghc-stage2 --interactive" will fail with the >>> same error message, and you can "strace -f -e file" that command to see >>> where the libgmp.so is searched for. It should definitely be searched >>> for in your /nix/store/qnky... directory with your build.mk. I use the >>> same strategy here: >>> https://github.com/nilcons/ceh/blob/master/README.compile-ghc-with-ceh >> >> You're right that stage2 --interactive fails with the error. I attach >> the result of strace. It seems like a whole lot of stuff is missing. > > From your strace log: > -=- > [pid 8458] --- SIGVTALRM {si_signo=SIGVTALRM, si_code=SI_TIMER, si_pid=0, si_uid=0, si_value=0} --- > ghc-stage2: no input files > Usage: For basic information, try the `--help' option. > -=- > > This is not an strace of a failing "ghc-stage2 --interactive". That > wouldn't say "no input files". Please first reproduce your error then > once you have the error, run the same command line with strace. Thanks. Sorry, you're correct, I did not pass interactive. Find attached the strace with --interactive. >>> If you just want to quickly try something and not really interested in >>> figuring out what's wrong, then a quick and dirty fix is to >>> "export >> LD_LIBRARY_PATH=/nix/store/qnkyas42nf0knps3va30y29y3zvmgy2v-gmp-5.1.3/lib" >>> before the whole build or anytime afterwards when you want to use the >>> compiled GHC. >> >> That's not an option considering that particular store might be garbage >> collected if it's not registered as being used. I'm unsure of the >> details but simply said that's a very bad workaround on my distro. > > It was suggested as a "quick and dirty fix". If you need this GHC build > to fix a GHC bug and test it for five minutes, then this is an option. > If you need it for days, than it's maybe not. > > NixOS gc is not ran randomly (like Git's GC, e.g. for git push or pull), > only when you do nix-garbage-collect. And actually building your GHC > correctly will not fix your garbage collection issue, because gmp is > searched for dynamically by TH and GHCi. So if the store goes garbage > collected, you will be screwed anyways. > > If you want to have a GHC bundle that can find the same GMP days or > months later, then you should look at the strace, grep for the locations > where libgmp is searched for and put your current GMP unto one of the > locations that you most like. And then you can run nix garbage collect > without issues. Of course, your libc for example can still go away and > then you'll be screwed all the same. > > Just having a binary somewhere on the system built outside of Nix will > not guarantee the dependent libraries to be kept. If you want that, > you'll have to register your build properly with nix. > >>> But I'd really like to understand what caused it, so if you have time, >>> please investigate! >> >> I definitely need to solve this properly as I need GHC HEAD for >> development and I need to change the build system of it a bit for >> accommodate for some Haddock changes. > > Then I would look into how GHC is currently build with NixOS (they > support building GHC HEAD) and build on top of that. Write your own > derivation with the necessary Haddock changes and call nix-build on it. > Then you would get a /nix/store path with your freshly built GHC head > and that would actually guarantee the underlying libc and gmp to not go > away at garbage collection time. Actually, I'm doing this already: https://github.com/Fuuzetsu/nix-project-defaults/blob/master/ghc/default.nix I am even running 'patchPhase && configurePhase && buildPhase' which should technically be exactly what nix does with the package in nixpkgs. By the way, the official nix package for HEAD isn't quite HEAD but instead a snapshot of somewhere near HEAD and in fact I'm the person that opened an issue and a PR to get that updated. The fact that it builds that but doesn't build when I'm in the source tree makes me wonder what's different. > Gergely > > _______________________________________________ > ghc-devs mailing list > ghc-devs at haskell.org > http://www.haskell.org/mailman/listinfo/ghc-devs > -- Mateusz K. -------------- next part -------------- execve("inplace/bin/ghc-stage2", ["inplace/bin/ghc-stage2", "--interactive"], [/* 79 vars */]) = 0 access("/etc/ld-nix.so.preload", R_OK) = -1 ENOENT (No such file or directory) open("/run/opengl-driver/lib/tls/i686/sse2/libdl.so.2", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) stat64("/run/opengl-driver/lib/tls/i686/sse2", 0xbfdaee90) = -1 ENOENT (No such file or directory) open("/run/opengl-driver/lib/tls/i686/libdl.so.2", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) stat64("/run/opengl-driver/lib/tls/i686", 0xbfdaee90) = -1 ENOENT (No such file or directory) open("/run/opengl-driver/lib/tls/sse2/libdl.so.2", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) stat64("/run/opengl-driver/lib/tls/sse2", 0xbfdaee90) = -1 ENOENT (No such file or directory) open("/run/opengl-driver/lib/tls/libdl.so.2", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) stat64("/run/opengl-driver/lib/tls", {st_mode=S_IFDIR|0555, st_size=4096, ...}) = 0 open("/run/opengl-driver/lib/i686/sse2/libdl.so.2", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) stat64("/run/opengl-driver/lib/i686/sse2", 0xbfdaee90) = -1 ENOENT (No such file or directory) open("/run/opengl-driver/lib/i686/libdl.so.2", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) stat64("/run/opengl-driver/lib/i686", 0xbfdaee90) = -1 ENOENT (No such file or directory) open("/run/opengl-driver/lib/sse2/libdl.so.2", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) stat64("/run/opengl-driver/lib/sse2", 0xbfdaee90) = -1 ENOENT (No such file or directory) open("/run/opengl-driver/lib/libdl.so.2", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) stat64("/run/opengl-driver/lib", {st_mode=S_IFDIR|0555, st_size=4096, ...}) = 0 open("/run/opengl-driver-32/lib/tls/i686/sse2/libdl.so.2", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) stat64("/run/opengl-driver-32/lib/tls/i686/sse2", 0xbfdaee90) = -1 ENOENT (No such file or directory) open("/run/opengl-driver-32/lib/tls/i686/libdl.so.2", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) stat64("/run/opengl-driver-32/lib/tls/i686", 0xbfdaee90) = -1 ENOENT (No such file or directory) open("/run/opengl-driver-32/lib/tls/sse2/libdl.so.2", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) stat64("/run/opengl-driver-32/lib/tls/sse2", 0xbfdaee90) = -1 ENOENT (No such file or directory) open("/run/opengl-driver-32/lib/tls/libdl.so.2", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) stat64("/run/opengl-driver-32/lib/tls", {st_mode=S_IFDIR|0555, st_size=4096, ...}) = 0 open("/run/opengl-driver-32/lib/i686/sse2/libdl.so.2", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) stat64("/run/opengl-driver-32/lib/i686/sse2", 0xbfdaee90) = -1 ENOENT (No such file or directory) open("/run/opengl-driver-32/lib/i686/libdl.so.2", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) stat64("/run/opengl-driver-32/lib/i686", 0xbfdaee90) = -1 ENOENT (No such file or directory) open("/run/opengl-driver-32/lib/sse2/libdl.so.2", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) stat64("/run/opengl-driver-32/lib/sse2", 0xbfdaee90) = -1 ENOENT (No such file or directory) open("/run/opengl-driver-32/lib/libdl.so.2", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) stat64("/run/opengl-driver-32/lib", {st_mode=S_IFDIR|0555, st_size=4096, ...}) = 0 open("/nix/store/4v0a2fncxsk2f57jixq7i59k6hdl34fx-glibc-2.19/lib/tls/i686/sse2/libdl.so.2", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) stat64("/nix/store/4v0a2fncxsk2f57jixq7i59k6hdl34fx-glibc-2.19/lib/tls/i686/sse2", 0xbfdaee90) = -1 ENOENT (No such file or directory) open("/nix/store/4v0a2fncxsk2f57jixq7i59k6hdl34fx-glibc-2.19/lib/tls/i686/libdl.so.2", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) stat64("/nix/store/4v0a2fncxsk2f57jixq7i59k6hdl34fx-glibc-2.19/lib/tls/i686", 0xbfdaee90) = -1 ENOENT (No such file or directory) open("/nix/store/4v0a2fncxsk2f57jixq7i59k6hdl34fx-glibc-2.19/lib/tls/sse2/libdl.so.2", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) stat64("/nix/store/4v0a2fncxsk2f57jixq7i59k6hdl34fx-glibc-2.19/lib/tls/sse2", 0xbfdaee90) = -1 ENOENT (No such file or directory) open("/nix/store/4v0a2fncxsk2f57jixq7i59k6hdl34fx-glibc-2.19/lib/tls/libdl.so.2", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) stat64("/nix/store/4v0a2fncxsk2f57jixq7i59k6hdl34fx-glibc-2.19/lib/tls", 0xbfdaee90) = -1 ENOENT (No such file or directory) open("/nix/store/4v0a2fncxsk2f57jixq7i59k6hdl34fx-glibc-2.19/lib/i686/sse2/libdl.so.2", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) stat64("/nix/store/4v0a2fncxsk2f57jixq7i59k6hdl34fx-glibc-2.19/lib/i686/sse2", 0xbfdaee90) = -1 ENOENT (No such file or directory) open("/nix/store/4v0a2fncxsk2f57jixq7i59k6hdl34fx-glibc-2.19/lib/i686/libdl.so.2", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) stat64("/nix/store/4v0a2fncxsk2f57jixq7i59k6hdl34fx-glibc-2.19/lib/i686", 0xbfdaee90) = -1 ENOENT (No such file or directory) open("/nix/store/4v0a2fncxsk2f57jixq7i59k6hdl34fx-glibc-2.19/lib/sse2/libdl.so.2", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) stat64("/nix/store/4v0a2fncxsk2f57jixq7i59k6hdl34fx-glibc-2.19/lib/sse2", 0xbfdaee90) = -1 ENOENT (No such file or directory) open("/nix/store/4v0a2fncxsk2f57jixq7i59k6hdl34fx-glibc-2.19/lib/libdl.so.2", O_RDONLY|O_CLOEXEC) = 3 open("/run/opengl-driver/lib/tls/libc.so.6", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) open("/run/opengl-driver/lib/libc.so.6", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) open("/run/opengl-driver-32/lib/tls/libc.so.6", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) open("/run/opengl-driver-32/lib/libc.so.6", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) open("/nix/store/4v0a2fncxsk2f57jixq7i59k6hdl34fx-glibc-2.19/lib/libc.so.6", O_RDONLY|O_CLOEXEC) = 3 open("/dev/tty", O_RDWR|O_NONBLOCK|O_LARGEFILE) = 3 open("/run/current-system/sw/lib/locale/locale-archive", O_RDONLY|O_LARGEFILE|O_CLOEXEC) = 3 open("/proc/meminfo", O_RDONLY|O_CLOEXEC) = 3 stat64("/home/shana/programming/ghc", {st_mode=S_IFDIR|0755, st_size=4096, ...}) = 0 stat64(".", {st_mode=S_IFDIR|0755, st_size=4096, ...}) = 0 open("/nix/store/4v0a2fncxsk2f57jixq7i59k6hdl34fx-glibc-2.19/lib/gconv/gconv-modules.cache", O_RDONLY) = -1 ENOENT (No such file or directory) open("/nix/store/4v0a2fncxsk2f57jixq7i59k6hdl34fx-glibc-2.19/lib/gconv/gconv-modules", O_RDONLY|O_CLOEXEC) = 3 open("inplace/bin/ghc-stage2", O_RDONLY|O_LARGEFILE) = 3 execve("/home/shana/programming/ghc/inplace/lib/bin/ghc-stage2", ["/home/shana/programming/ghc/inpl"..., "-B/home/shana/programming/ghc/in"..., "--interactive"], [/* 77 vars */]) = 0 readlink("/proc/self/exe", "/home/shana/programming/ghc/inpl"..., 4096) = 54 access("/etc/ld-nix.so.preload", R_OK) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/libraries/haskeline/dist-install/build/tls/i686/sse2/libncursesw.so.5", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) stat64("/home/shana/programming/ghc/libraries/haskeline/dist-install/build/tls/i686/sse2", 0xbfb696c0) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/libraries/haskeline/dist-install/build/tls/i686/libncursesw.so.5", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) stat64("/home/shana/programming/ghc/libraries/haskeline/dist-install/build/tls/i686", 0xbfb696c0) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/libraries/haskeline/dist-install/build/tls/sse2/libncursesw.so.5", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) stat64("/home/shana/programming/ghc/libraries/haskeline/dist-install/build/tls/sse2", 0xbfb696c0) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/libraries/haskeline/dist-install/build/tls/libncursesw.so.5", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) stat64("/home/shana/programming/ghc/libraries/haskeline/dist-install/build/tls", 0xbfb696c0) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/libraries/haskeline/dist-install/build/i686/sse2/libncursesw.so.5", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) stat64("/home/shana/programming/ghc/libraries/haskeline/dist-install/build/i686/sse2", 0xbfb696c0) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/libraries/haskeline/dist-install/build/i686/libncursesw.so.5", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) stat64("/home/shana/programming/ghc/libraries/haskeline/dist-install/build/i686", 0xbfb696c0) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/libraries/haskeline/dist-install/build/sse2/libncursesw.so.5", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) stat64("/home/shana/programming/ghc/libraries/haskeline/dist-install/build/sse2", 0xbfb696c0) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/libraries/haskeline/dist-install/build/libncursesw.so.5", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) stat64("/home/shana/programming/ghc/libraries/haskeline/dist-install/build", {st_mode=S_IFDIR|0755, st_size=4096, ...}) = 0 open("/home/shana/programming/ghc/libraries/terminfo/dist-install/build/tls/i686/sse2/libncursesw.so.5", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) stat64("/home/shana/programming/ghc/libraries/terminfo/dist-install/build/tls/i686/sse2", 0xbfb696c0) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/libraries/terminfo/dist-install/build/tls/i686/libncursesw.so.5", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) stat64("/home/shana/programming/ghc/libraries/terminfo/dist-install/build/tls/i686", 0xbfb696c0) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/libraries/terminfo/dist-install/build/tls/sse2/libncursesw.so.5", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) stat64("/home/shana/programming/ghc/libraries/terminfo/dist-install/build/tls/sse2", 0xbfb696c0) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/libraries/terminfo/dist-install/build/tls/libncursesw.so.5", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) stat64("/home/shana/programming/ghc/libraries/terminfo/dist-install/build/tls", 0xbfb696c0) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/libraries/terminfo/dist-install/build/i686/sse2/libncursesw.so.5", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) stat64("/home/shana/programming/ghc/libraries/terminfo/dist-install/build/i686/sse2", 0xbfb696c0) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/libraries/terminfo/dist-install/build/i686/libncursesw.so.5", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) stat64("/home/shana/programming/ghc/libraries/terminfo/dist-install/build/i686", 0xbfb696c0) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/libraries/terminfo/dist-install/build/sse2/libncursesw.so.5", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) stat64("/home/shana/programming/ghc/libraries/terminfo/dist-install/build/sse2", 0xbfb696c0) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/libraries/terminfo/dist-install/build/libncursesw.so.5", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) stat64("/home/shana/programming/ghc/libraries/terminfo/dist-install/build", {st_mode=S_IFDIR|0755, st_size=4096, ...}) = 0 open("/home/shana/programming/ghc/compiler/stage2/build/tls/i686/sse2/libncursesw.so.5", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) stat64("/home/shana/programming/ghc/compiler/stage2/build/tls/i686/sse2", 0xbfb696c0) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/compiler/stage2/build/tls/i686/libncursesw.so.5", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) stat64("/home/shana/programming/ghc/compiler/stage2/build/tls/i686", 0xbfb696c0) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/compiler/stage2/build/tls/sse2/libncursesw.so.5", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) stat64("/home/shana/programming/ghc/compiler/stage2/build/tls/sse2", 0xbfb696c0) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/compiler/stage2/build/tls/libncursesw.so.5", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) stat64("/home/shana/programming/ghc/compiler/stage2/build/tls", 0xbfb696c0) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/compiler/stage2/build/i686/sse2/libncursesw.so.5", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) stat64("/home/shana/programming/ghc/compiler/stage2/build/i686/sse2", 0xbfb696c0) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/compiler/stage2/build/i686/libncursesw.so.5", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) stat64("/home/shana/programming/ghc/compiler/stage2/build/i686", 0xbfb696c0) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/compiler/stage2/build/sse2/libncursesw.so.5", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) stat64("/home/shana/programming/ghc/compiler/stage2/build/sse2", 0xbfb696c0) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/compiler/stage2/build/libncursesw.so.5", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) stat64("/home/shana/programming/ghc/compiler/stage2/build", {st_mode=S_IFDIR|0755, st_size=49152, ...}) = 0 open("/home/shana/programming/ghc/libraries/transformers/dist-install/build/tls/i686/sse2/libncursesw.so.5", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) stat64("/home/shana/programming/ghc/libraries/transformers/dist-install/build/tls/i686/sse2", 0xbfb696c0) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/libraries/transformers/dist-install/build/tls/i686/libncursesw.so.5", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) stat64("/home/shana/programming/ghc/libraries/transformers/dist-install/build/tls/i686", 0xbfb696c0) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/libraries/transformers/dist-install/build/tls/sse2/libncursesw.so.5", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) stat64("/home/shana/programming/ghc/libraries/transformers/dist-install/build/tls/sse2", 0xbfb696c0) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/libraries/transformers/dist-install/build/tls/libncursesw.so.5", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) stat64("/home/shana/programming/ghc/libraries/transformers/dist-install/build/tls", 0xbfb696c0) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/libraries/transformers/dist-install/build/i686/sse2/libncursesw.so.5", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) stat64("/home/shana/programming/ghc/libraries/transformers/dist-install/build/i686/sse2", 0xbfb696c0) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/libraries/transformers/dist-install/build/i686/libncursesw.so.5", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) stat64("/home/shana/programming/ghc/libraries/transformers/dist-install/build/i686", 0xbfb696c0) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/libraries/transformers/dist-install/build/sse2/libncursesw.so.5", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) stat64("/home/shana/programming/ghc/libraries/transformers/dist-install/build/sse2", 0xbfb696c0) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/libraries/transformers/dist-install/build/libncursesw.so.5", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) stat64("/home/shana/programming/ghc/libraries/transformers/dist-install/build", {st_mode=S_IFDIR|0755, st_size=4096, ...}) = 0 open("/home/shana/programming/ghc/libraries/template-haskell/dist-install/build/tls/i686/sse2/libncursesw.so.5", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) stat64("/home/shana/programming/ghc/libraries/template-haskell/dist-install/build/tls/i686/sse2", 0xbfb696c0) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/libraries/template-haskell/dist-install/build/tls/i686/libncursesw.so.5", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) stat64("/home/shana/programming/ghc/libraries/template-haskell/dist-install/build/tls/i686", 0xbfb696c0) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/libraries/template-haskell/dist-install/build/tls/sse2/libncursesw.so.5", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) stat64("/home/shana/programming/ghc/libraries/template-haskell/dist-install/build/tls/sse2", 0xbfb696c0) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/libraries/template-haskell/dist-install/build/tls/libncursesw.so.5", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) stat64("/home/shana/programming/ghc/libraries/template-haskell/dist-install/build/tls", 0xbfb696c0) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/libraries/template-haskell/dist-install/build/i686/sse2/libncursesw.so.5", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) stat64("/home/shana/programming/ghc/libraries/template-haskell/dist-install/build/i686/sse2", 0xbfb696c0) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/libraries/template-haskell/dist-install/build/i686/libncursesw.so.5", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) stat64("/home/shana/programming/ghc/libraries/template-haskell/dist-install/build/i686", 0xbfb696c0) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/libraries/template-haskell/dist-install/build/sse2/libncursesw.so.5", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) stat64("/home/shana/programming/ghc/libraries/template-haskell/dist-install/build/sse2", 0xbfb696c0) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/libraries/template-haskell/dist-install/build/libncursesw.so.5", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) stat64("/home/shana/programming/ghc/libraries/template-haskell/dist-install/build", {st_mode=S_IFDIR|0755, st_size=4096, ...}) = 0 open("/home/shana/programming/ghc/libraries/hpc/dist-install/build/tls/i686/sse2/libncursesw.so.5", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) stat64("/home/shana/programming/ghc/libraries/hpc/dist-install/build/tls/i686/sse2", 0xbfb696c0) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/libraries/hpc/dist-install/build/tls/i686/libncursesw.so.5", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) stat64("/home/shana/programming/ghc/libraries/hpc/dist-install/build/tls/i686", 0xbfb696c0) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/libraries/hpc/dist-install/build/tls/sse2/libncursesw.so.5", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) stat64("/home/shana/programming/ghc/libraries/hpc/dist-install/build/tls/sse2", 0xbfb696c0) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/libraries/hpc/dist-install/build/tls/libncursesw.so.5", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) stat64("/home/shana/programming/ghc/libraries/hpc/dist-install/build/tls", 0xbfb696c0) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/libraries/hpc/dist-install/build/i686/sse2/libncursesw.so.5", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) stat64("/home/shana/programming/ghc/libraries/hpc/dist-install/build/i686/sse2", 0xbfb696c0) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/libraries/hpc/dist-install/build/i686/libncursesw.so.5", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) stat64("/home/shana/programming/ghc/libraries/hpc/dist-install/build/i686", 0xbfb696c0) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/libraries/hpc/dist-install/build/sse2/libncursesw.so.5", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) stat64("/home/shana/programming/ghc/libraries/hpc/dist-install/build/sse2", 0xbfb696c0) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/libraries/hpc/dist-install/build/libncursesw.so.5", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) stat64("/home/shana/programming/ghc/libraries/hpc/dist-install/build", {st_mode=S_IFDIR|0755, st_size=4096, ...}) = 0 open("/home/shana/programming/ghc/libraries/hoopl/dist-install/build/tls/i686/sse2/libncursesw.so.5", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) stat64("/home/shana/programming/ghc/libraries/hoopl/dist-install/build/tls/i686/sse2", 0xbfb696c0) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/libraries/hoopl/dist-install/build/tls/i686/libncursesw.so.5", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) stat64("/home/shana/programming/ghc/libraries/hoopl/dist-install/build/tls/i686", 0xbfb696c0) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/libraries/hoopl/dist-install/build/tls/sse2/libncursesw.so.5", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) stat64("/home/shana/programming/ghc/libraries/hoopl/dist-install/build/tls/sse2", 0xbfb696c0) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/libraries/hoopl/dist-install/build/tls/libncursesw.so.5", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) stat64("/home/shana/programming/ghc/libraries/hoopl/dist-install/build/tls", 0xbfb696c0) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/libraries/hoopl/dist-install/build/i686/sse2/libncursesw.so.5", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) stat64("/home/shana/programming/ghc/libraries/hoopl/dist-install/build/i686/sse2", 0xbfb696c0) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/libraries/hoopl/dist-install/build/i686/libncursesw.so.5", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) stat64("/home/shana/programming/ghc/libraries/hoopl/dist-install/build/i686", 0xbfb696c0) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/libraries/hoopl/dist-install/build/sse2/libncursesw.so.5", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) stat64("/home/shana/programming/ghc/libraries/hoopl/dist-install/build/sse2", 0xbfb696c0) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/libraries/hoopl/dist-install/build/libncursesw.so.5", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) stat64("/home/shana/programming/ghc/libraries/hoopl/dist-install/build", {st_mode=S_IFDIR|0755, st_size=4096, ...}) = 0 open("/home/shana/programming/ghc/libraries/bin-package-db/dist-install/build/tls/i686/sse2/libncursesw.so.5", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) stat64("/home/shana/programming/ghc/libraries/bin-package-db/dist-install/build/tls/i686/sse2", 0xbfb696c0) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/libraries/bin-package-db/dist-install/build/tls/i686/libncursesw.so.5", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) stat64("/home/shana/programming/ghc/libraries/bin-package-db/dist-install/build/tls/i686", 0xbfb696c0) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/libraries/bin-package-db/dist-install/build/tls/sse2/libncursesw.so.5", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) stat64("/home/shana/programming/ghc/libraries/bin-package-db/dist-install/build/tls/sse2", 0xbfb696c0) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/libraries/bin-package-db/dist-install/build/tls/libncursesw.so.5", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) stat64("/home/shana/programming/ghc/libraries/bin-package-db/dist-install/build/tls", 0xbfb696c0) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/libraries/bin-package-db/dist-install/build/i686/sse2/libncursesw.so.5", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) stat64("/home/shana/programming/ghc/libraries/bin-package-db/dist-install/build/i686/sse2", 0xbfb696c0) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/libraries/bin-package-db/dist-install/build/i686/libncursesw.so.5", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) stat64("/home/shana/programming/ghc/libraries/bin-package-db/dist-install/build/i686", 0xbfb696c0) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/libraries/bin-package-db/dist-install/build/sse2/libncursesw.so.5", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) stat64("/home/shana/programming/ghc/libraries/bin-package-db/dist-install/build/sse2", 0xbfb696c0) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/libraries/bin-package-db/dist-install/build/libncursesw.so.5", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) stat64("/home/shana/programming/ghc/libraries/bin-package-db/dist-install/build", {st_mode=S_IFDIR|0755, st_size=4096, ...}) = 0 open("/home/shana/programming/ghc/libraries/binary/dist-install/build/tls/i686/sse2/libncursesw.so.5", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) stat64("/home/shana/programming/ghc/libraries/binary/dist-install/build/tls/i686/sse2", 0xbfb696c0) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/libraries/binary/dist-install/build/tls/i686/libncursesw.so.5", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) stat64("/home/shana/programming/ghc/libraries/binary/dist-install/build/tls/i686", 0xbfb696c0) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/libraries/binary/dist-install/build/tls/sse2/libncursesw.so.5", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) stat64("/home/shana/programming/ghc/libraries/binary/dist-install/build/tls/sse2", 0xbfb696c0) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/libraries/binary/dist-install/build/tls/libncursesw.so.5", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) stat64("/home/shana/programming/ghc/libraries/binary/dist-install/build/tls", 0xbfb696c0) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/libraries/binary/dist-install/build/i686/sse2/libncursesw.so.5", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) stat64("/home/shana/programming/ghc/libraries/binary/dist-install/build/i686/sse2", 0xbfb696c0) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/libraries/binary/dist-install/build/i686/libncursesw.so.5", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) stat64("/home/shana/programming/ghc/libraries/binary/dist-install/build/i686", 0xbfb696c0) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/libraries/binary/dist-install/build/sse2/libncursesw.so.5", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) stat64("/home/shana/programming/ghc/libraries/binary/dist-install/build/sse2", 0xbfb696c0) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/libraries/binary/dist-install/build/libncursesw.so.5", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) stat64("/home/shana/programming/ghc/libraries/binary/dist-install/build", {st_mode=S_IFDIR|0755, st_size=4096, ...}) = 0 open("/home/shana/programming/ghc/libraries/Cabal/Cabal/dist-install/build/tls/i686/sse2/libncursesw.so.5", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) stat64("/home/shana/programming/ghc/libraries/Cabal/Cabal/dist-install/build/tls/i686/sse2", 0xbfb696c0) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/libraries/Cabal/Cabal/dist-install/build/tls/i686/libncursesw.so.5", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) stat64("/home/shana/programming/ghc/libraries/Cabal/Cabal/dist-install/build/tls/i686", 0xbfb696c0) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/libraries/Cabal/Cabal/dist-install/build/tls/sse2/libncursesw.so.5", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) stat64("/home/shana/programming/ghc/libraries/Cabal/Cabal/dist-install/build/tls/sse2", 0xbfb696c0) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/libraries/Cabal/Cabal/dist-install/build/tls/libncursesw.so.5", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) stat64("/home/shana/programming/ghc/libraries/Cabal/Cabal/dist-install/build/tls", 0xbfb696c0) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/libraries/Cabal/Cabal/dist-install/build/i686/sse2/libncursesw.so.5", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) stat64("/home/shana/programming/ghc/libraries/Cabal/Cabal/dist-install/build/i686/sse2", 0xbfb696c0) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/libraries/Cabal/Cabal/dist-install/build/i686/libncursesw.so.5", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) stat64("/home/shana/programming/ghc/libraries/Cabal/Cabal/dist-install/build/i686", 0xbfb696c0) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/libraries/Cabal/Cabal/dist-install/build/sse2/libncursesw.so.5", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) stat64("/home/shana/programming/ghc/libraries/Cabal/Cabal/dist-install/build/sse2", 0xbfb696c0) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/libraries/Cabal/Cabal/dist-install/build/libncursesw.so.5", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) stat64("/home/shana/programming/ghc/libraries/Cabal/Cabal/dist-install/build", {st_mode=S_IFDIR|0755, st_size=4096, ...}) = 0 open("/home/shana/programming/ghc/libraries/process/dist-install/build/tls/i686/sse2/libncursesw.so.5", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) stat64("/home/shana/programming/ghc/libraries/process/dist-install/build/tls/i686/sse2", 0xbfb696c0) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/libraries/process/dist-install/build/tls/i686/libncursesw.so.5", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) stat64("/home/shana/programming/ghc/libraries/process/dist-install/build/tls/i686", 0xbfb696c0) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/libraries/process/dist-install/build/tls/sse2/libncursesw.so.5", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) stat64("/home/shana/programming/ghc/libraries/process/dist-install/build/tls/sse2", 0xbfb696c0) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/libraries/process/dist-install/build/tls/libncursesw.so.5", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) stat64("/home/shana/programming/ghc/libraries/process/dist-install/build/tls", 0xbfb696c0) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/libraries/process/dist-install/build/i686/sse2/libncursesw.so.5", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) stat64("/home/shana/programming/ghc/libraries/process/dist-install/build/i686/sse2", 0xbfb696c0) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/libraries/process/dist-install/build/i686/libncursesw.so.5", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) stat64("/home/shana/programming/ghc/libraries/process/dist-install/build/i686", 0xbfb696c0) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/libraries/process/dist-install/build/sse2/libncursesw.so.5", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) stat64("/home/shana/programming/ghc/libraries/process/dist-install/build/sse2", 0xbfb696c0) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/libraries/process/dist-install/build/libncursesw.so.5", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) stat64("/home/shana/programming/ghc/libraries/process/dist-install/build", {st_mode=S_IFDIR|0755, st_size=4096, ...}) = 0 open("/home/shana/programming/ghc/libraries/pretty/dist-install/build/tls/i686/sse2/libncursesw.so.5", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) stat64("/home/shana/programming/ghc/libraries/pretty/dist-install/build/tls/i686/sse2", 0xbfb696c0) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/libraries/pretty/dist-install/build/tls/i686/libncursesw.so.5", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) stat64("/home/shana/programming/ghc/libraries/pretty/dist-install/build/tls/i686", 0xbfb696c0) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/libraries/pretty/dist-install/build/tls/sse2/libncursesw.so.5", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) stat64("/home/shana/programming/ghc/libraries/pretty/dist-install/build/tls/sse2", 0xbfb696c0) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/libraries/pretty/dist-install/build/tls/libncursesw.so.5", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) stat64("/home/shana/programming/ghc/libraries/pretty/dist-install/build/tls", 0xbfb696c0) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/libraries/pretty/dist-install/build/i686/sse2/libncursesw.so.5", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) stat64("/home/shana/programming/ghc/libraries/pretty/dist-install/build/i686/sse2", 0xbfb696c0) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/libraries/pretty/dist-install/build/i686/libncursesw.so.5", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) stat64("/home/shana/programming/ghc/libraries/pretty/dist-install/build/i686", 0xbfb696c0) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/libraries/pretty/dist-install/build/sse2/libncursesw.so.5", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) stat64("/home/shana/programming/ghc/libraries/pretty/dist-install/build/sse2", 0xbfb696c0) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/libraries/pretty/dist-install/build/libncursesw.so.5", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) stat64("/home/shana/programming/ghc/libraries/pretty/dist-install/build", {st_mode=S_IFDIR|0755, st_size=4096, ...}) = 0 open("/home/shana/programming/ghc/libraries/directory/dist-install/build/tls/i686/sse2/libncursesw.so.5", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) stat64("/home/shana/programming/ghc/libraries/directory/dist-install/build/tls/i686/sse2", 0xbfb696c0) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/libraries/directory/dist-install/build/tls/i686/libncursesw.so.5", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) stat64("/home/shana/programming/ghc/libraries/directory/dist-install/build/tls/i686", 0xbfb696c0) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/libraries/directory/dist-install/build/tls/sse2/libncursesw.so.5", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) stat64("/home/shana/programming/ghc/libraries/directory/dist-install/build/tls/sse2", 0xbfb696c0) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/libraries/directory/dist-install/build/tls/libncursesw.so.5", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) stat64("/home/shana/programming/ghc/libraries/directory/dist-install/build/tls", 0xbfb696c0) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/libraries/directory/dist-install/build/i686/sse2/libncursesw.so.5", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) stat64("/home/shana/programming/ghc/libraries/directory/dist-install/build/i686/sse2", 0xbfb696c0) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/libraries/directory/dist-install/build/i686/libncursesw.so.5", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) stat64("/home/shana/programming/ghc/libraries/directory/dist-install/build/i686", 0xbfb696c0) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/libraries/directory/dist-install/build/sse2/libncursesw.so.5", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) stat64("/home/shana/programming/ghc/libraries/directory/dist-install/build/sse2", 0xbfb696c0) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/libraries/directory/dist-install/build/libncursesw.so.5", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) stat64("/home/shana/programming/ghc/libraries/directory/dist-install/build", {st_mode=S_IFDIR|0755, st_size=4096, ...}) = 0 open("/home/shana/programming/ghc/libraries/unix/dist-install/build/tls/i686/sse2/libncursesw.so.5", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) stat64("/home/shana/programming/ghc/libraries/unix/dist-install/build/tls/i686/sse2", 0xbfb696c0) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/libraries/unix/dist-install/build/tls/i686/libncursesw.so.5", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) stat64("/home/shana/programming/ghc/libraries/unix/dist-install/build/tls/i686", 0xbfb696c0) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/libraries/unix/dist-install/build/tls/sse2/libncursesw.so.5", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) stat64("/home/shana/programming/ghc/libraries/unix/dist-install/build/tls/sse2", 0xbfb696c0) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/libraries/unix/dist-install/build/tls/libncursesw.so.5", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) stat64("/home/shana/programming/ghc/libraries/unix/dist-install/build/tls", 0xbfb696c0) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/libraries/unix/dist-install/build/i686/sse2/libncursesw.so.5", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) stat64("/home/shana/programming/ghc/libraries/unix/dist-install/build/i686/sse2", 0xbfb696c0) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/libraries/unix/dist-install/build/i686/libncursesw.so.5", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) stat64("/home/shana/programming/ghc/libraries/unix/dist-install/build/i686", 0xbfb696c0) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/libraries/unix/dist-install/build/sse2/libncursesw.so.5", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) stat64("/home/shana/programming/ghc/libraries/unix/dist-install/build/sse2", 0xbfb696c0) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/libraries/unix/dist-install/build/libncursesw.so.5", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) stat64("/home/shana/programming/ghc/libraries/unix/dist-install/build", {st_mode=S_IFDIR|0755, st_size=4096, ...}) = 0 open("/home/shana/programming/ghc/libraries/time/dist-install/build/tls/i686/sse2/libncursesw.so.5", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) stat64("/home/shana/programming/ghc/libraries/time/dist-install/build/tls/i686/sse2", 0xbfb696c0) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/libraries/time/dist-install/build/tls/i686/libncursesw.so.5", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) stat64("/home/shana/programming/ghc/libraries/time/dist-install/build/tls/i686", 0xbfb696c0) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/libraries/time/dist-install/build/tls/sse2/libncursesw.so.5", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) stat64("/home/shana/programming/ghc/libraries/time/dist-install/build/tls/sse2", 0xbfb696c0) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/libraries/time/dist-install/build/tls/libncursesw.so.5", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) stat64("/home/shana/programming/ghc/libraries/time/dist-install/build/tls", 0xbfb696c0) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/libraries/time/dist-install/build/i686/sse2/libncursesw.so.5", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) stat64("/home/shana/programming/ghc/libraries/time/dist-install/build/i686/sse2", 0xbfb696c0) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/libraries/time/dist-install/build/i686/libncursesw.so.5", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) stat64("/home/shana/programming/ghc/libraries/time/dist-install/build/i686", 0xbfb696c0) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/libraries/time/dist-install/build/sse2/libncursesw.so.5", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) stat64("/home/shana/programming/ghc/libraries/time/dist-install/build/sse2", 0xbfb696c0) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/libraries/time/dist-install/build/libncursesw.so.5", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) stat64("/home/shana/programming/ghc/libraries/time/dist-install/build", {st_mode=S_IFDIR|0755, st_size=4096, ...}) = 0 open("/home/shana/programming/ghc/libraries/old-locale/dist-install/build/tls/i686/sse2/libncursesw.so.5", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) stat64("/home/shana/programming/ghc/libraries/old-locale/dist-install/build/tls/i686/sse2", 0xbfb696c0) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/libraries/old-locale/dist-install/build/tls/i686/libncursesw.so.5", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) stat64("/home/shana/programming/ghc/libraries/old-locale/dist-install/build/tls/i686", 0xbfb696c0) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/libraries/old-locale/dist-install/build/tls/sse2/libncursesw.so.5", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) stat64("/home/shana/programming/ghc/libraries/old-locale/dist-install/build/tls/sse2", 0xbfb696c0) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/libraries/old-locale/dist-install/build/tls/libncursesw.so.5", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) stat64("/home/shana/programming/ghc/libraries/old-locale/dist-install/build/tls", 0xbfb696c0) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/libraries/old-locale/dist-install/build/i686/sse2/libncursesw.so.5", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) stat64("/home/shana/programming/ghc/libraries/old-locale/dist-install/build/i686/sse2", 0xbfb696c0) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/libraries/old-locale/dist-install/build/i686/libncursesw.so.5", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) stat64("/home/shana/programming/ghc/libraries/old-locale/dist-install/build/i686", 0xbfb696c0) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/libraries/old-locale/dist-install/build/sse2/libncursesw.so.5", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) stat64("/home/shana/programming/ghc/libraries/old-locale/dist-install/build/sse2", 0xbfb696c0) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/libraries/old-locale/dist-install/build/libncursesw.so.5", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) stat64("/home/shana/programming/ghc/libraries/old-locale/dist-install/build", {st_mode=S_IFDIR|0755, st_size=4096, ...}) = 0 open("/home/shana/programming/ghc/libraries/filepath/dist-install/build/tls/i686/sse2/libncursesw.so.5", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) stat64("/home/shana/programming/ghc/libraries/filepath/dist-install/build/tls/i686/sse2", 0xbfb696c0) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/libraries/filepath/dist-install/build/tls/i686/libncursesw.so.5", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) stat64("/home/shana/programming/ghc/libraries/filepath/dist-install/build/tls/i686", 0xbfb696c0) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/libraries/filepath/dist-install/build/tls/sse2/libncursesw.so.5", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) stat64("/home/shana/programming/ghc/libraries/filepath/dist-install/build/tls/sse2", 0xbfb696c0) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/libraries/filepath/dist-install/build/tls/libncursesw.so.5", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) stat64("/home/shana/programming/ghc/libraries/filepath/dist-install/build/tls", 0xbfb696c0) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/libraries/filepath/dist-install/build/i686/sse2/libncursesw.so.5", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) stat64("/home/shana/programming/ghc/libraries/filepath/dist-install/build/i686/sse2", 0xbfb696c0) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/libraries/filepath/dist-install/build/i686/libncursesw.so.5", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) stat64("/home/shana/programming/ghc/libraries/filepath/dist-install/build/i686", 0xbfb696c0) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/libraries/filepath/dist-install/build/sse2/libncursesw.so.5", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) stat64("/home/shana/programming/ghc/libraries/filepath/dist-install/build/sse2", 0xbfb696c0) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/libraries/filepath/dist-install/build/libncursesw.so.5", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) stat64("/home/shana/programming/ghc/libraries/filepath/dist-install/build", {st_mode=S_IFDIR|0755, st_size=4096, ...}) = 0 open("/home/shana/programming/ghc/libraries/containers/dist-install/build/tls/i686/sse2/libncursesw.so.5", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) stat64("/home/shana/programming/ghc/libraries/containers/dist-install/build/tls/i686/sse2", 0xbfb696c0) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/libraries/containers/dist-install/build/tls/i686/libncursesw.so.5", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) stat64("/home/shana/programming/ghc/libraries/containers/dist-install/build/tls/i686", 0xbfb696c0) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/libraries/containers/dist-install/build/tls/sse2/libncursesw.so.5", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) stat64("/home/shana/programming/ghc/libraries/containers/dist-install/build/tls/sse2", 0xbfb696c0) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/libraries/containers/dist-install/build/tls/libncursesw.so.5", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) stat64("/home/shana/programming/ghc/libraries/containers/dist-install/build/tls", 0xbfb696c0) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/libraries/containers/dist-install/build/i686/sse2/libncursesw.so.5", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) stat64("/home/shana/programming/ghc/libraries/containers/dist-install/build/i686/sse2", 0xbfb696c0) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/libraries/containers/dist-install/build/i686/libncursesw.so.5", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) stat64("/home/shana/programming/ghc/libraries/containers/dist-install/build/i686", 0xbfb696c0) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/libraries/containers/dist-install/build/sse2/libncursesw.so.5", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) stat64("/home/shana/programming/ghc/libraries/containers/dist-install/build/sse2", 0xbfb696c0) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/libraries/containers/dist-install/build/libncursesw.so.5", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) stat64("/home/shana/programming/ghc/libraries/containers/dist-install/build", {st_mode=S_IFDIR|0755, st_size=4096, ...}) = 0 open("/home/shana/programming/ghc/libraries/bytestring/dist-install/build/tls/i686/sse2/libncursesw.so.5", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) stat64("/home/shana/programming/ghc/libraries/bytestring/dist-install/build/tls/i686/sse2", 0xbfb696c0) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/libraries/bytestring/dist-install/build/tls/i686/libncursesw.so.5", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) stat64("/home/shana/programming/ghc/libraries/bytestring/dist-install/build/tls/i686", 0xbfb696c0) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/libraries/bytestring/dist-install/build/tls/sse2/libncursesw.so.5", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) stat64("/home/shana/programming/ghc/libraries/bytestring/dist-install/build/tls/sse2", 0xbfb696c0) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/libraries/bytestring/dist-install/build/tls/libncursesw.so.5", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) stat64("/home/shana/programming/ghc/libraries/bytestring/dist-install/build/tls", 0xbfb696c0) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/libraries/bytestring/dist-install/build/i686/sse2/libncursesw.so.5", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) stat64("/home/shana/programming/ghc/libraries/bytestring/dist-install/build/i686/sse2", 0xbfb696c0) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/libraries/bytestring/dist-install/build/i686/libncursesw.so.5", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) stat64("/home/shana/programming/ghc/libraries/bytestring/dist-install/build/i686", 0xbfb696c0) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/libraries/bytestring/dist-install/build/sse2/libncursesw.so.5", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) stat64("/home/shana/programming/ghc/libraries/bytestring/dist-install/build/sse2", 0xbfb696c0) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/libraries/bytestring/dist-install/build/libncursesw.so.5", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) stat64("/home/shana/programming/ghc/libraries/bytestring/dist-install/build", {st_mode=S_IFDIR|0755, st_size=4096, ...}) = 0 open("/home/shana/programming/ghc/libraries/deepseq/dist-install/build/tls/i686/sse2/libncursesw.so.5", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) stat64("/home/shana/programming/ghc/libraries/deepseq/dist-install/build/tls/i686/sse2", 0xbfb696c0) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/libraries/deepseq/dist-install/build/tls/i686/libncursesw.so.5", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) stat64("/home/shana/programming/ghc/libraries/deepseq/dist-install/build/tls/i686", 0xbfb696c0) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/libraries/deepseq/dist-install/build/tls/sse2/libncursesw.so.5", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) stat64("/home/shana/programming/ghc/libraries/deepseq/dist-install/build/tls/sse2", 0xbfb696c0) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/libraries/deepseq/dist-install/build/tls/libncursesw.so.5", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) stat64("/home/shana/programming/ghc/libraries/deepseq/dist-install/build/tls", 0xbfb696c0) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/libraries/deepseq/dist-install/build/i686/sse2/libncursesw.so.5", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) stat64("/home/shana/programming/ghc/libraries/deepseq/dist-install/build/i686/sse2", 0xbfb696c0) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/libraries/deepseq/dist-install/build/i686/libncursesw.so.5", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) stat64("/home/shana/programming/ghc/libraries/deepseq/dist-install/build/i686", 0xbfb696c0) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/libraries/deepseq/dist-install/build/sse2/libncursesw.so.5", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) stat64("/home/shana/programming/ghc/libraries/deepseq/dist-install/build/sse2", 0xbfb696c0) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/libraries/deepseq/dist-install/build/libncursesw.so.5", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) stat64("/home/shana/programming/ghc/libraries/deepseq/dist-install/build", {st_mode=S_IFDIR|0755, st_size=4096, ...}) = 0 open("/home/shana/programming/ghc/libraries/array/dist-install/build/tls/i686/sse2/libncursesw.so.5", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) stat64("/home/shana/programming/ghc/libraries/array/dist-install/build/tls/i686/sse2", 0xbfb696c0) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/libraries/array/dist-install/build/tls/i686/libncursesw.so.5", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) stat64("/home/shana/programming/ghc/libraries/array/dist-install/build/tls/i686", 0xbfb696c0) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/libraries/array/dist-install/build/tls/sse2/libncursesw.so.5", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) stat64("/home/shana/programming/ghc/libraries/array/dist-install/build/tls/sse2", 0xbfb696c0) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/libraries/array/dist-install/build/tls/libncursesw.so.5", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) stat64("/home/shana/programming/ghc/libraries/array/dist-install/build/tls", 0xbfb696c0) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/libraries/array/dist-install/build/i686/sse2/libncursesw.so.5", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) stat64("/home/shana/programming/ghc/libraries/array/dist-install/build/i686/sse2", 0xbfb696c0) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/libraries/array/dist-install/build/i686/libncursesw.so.5", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) stat64("/home/shana/programming/ghc/libraries/array/dist-install/build/i686", 0xbfb696c0) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/libraries/array/dist-install/build/sse2/libncursesw.so.5", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) stat64("/home/shana/programming/ghc/libraries/array/dist-install/build/sse2", 0xbfb696c0) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/libraries/array/dist-install/build/libncursesw.so.5", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) stat64("/home/shana/programming/ghc/libraries/array/dist-install/build", {st_mode=S_IFDIR|0755, st_size=4096, ...}) = 0 open("/home/shana/programming/ghc/libraries/base/dist-install/build/tls/i686/sse2/libncursesw.so.5", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) stat64("/home/shana/programming/ghc/libraries/base/dist-install/build/tls/i686/sse2", 0xbfb696c0) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/libraries/base/dist-install/build/tls/i686/libncursesw.so.5", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) stat64("/home/shana/programming/ghc/libraries/base/dist-install/build/tls/i686", 0xbfb696c0) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/libraries/base/dist-install/build/tls/sse2/libncursesw.so.5", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) stat64("/home/shana/programming/ghc/libraries/base/dist-install/build/tls/sse2", 0xbfb696c0) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/libraries/base/dist-install/build/tls/libncursesw.so.5", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) stat64("/home/shana/programming/ghc/libraries/base/dist-install/build/tls", 0xbfb696c0) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/libraries/base/dist-install/build/i686/sse2/libncursesw.so.5", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) stat64("/home/shana/programming/ghc/libraries/base/dist-install/build/i686/sse2", 0xbfb696c0) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/libraries/base/dist-install/build/i686/libncursesw.so.5", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) stat64("/home/shana/programming/ghc/libraries/base/dist-install/build/i686", 0xbfb696c0) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/libraries/base/dist-install/build/sse2/libncursesw.so.5", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) stat64("/home/shana/programming/ghc/libraries/base/dist-install/build/sse2", 0xbfb696c0) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/libraries/base/dist-install/build/libncursesw.so.5", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) stat64("/home/shana/programming/ghc/libraries/base/dist-install/build", {st_mode=S_IFDIR|0755, st_size=4096, ...}) = 0 open("/home/shana/programming/ghc/libraries/integer-gmp/dist-install/build/tls/i686/sse2/libncursesw.so.5", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) stat64("/home/shana/programming/ghc/libraries/integer-gmp/dist-install/build/tls/i686/sse2", 0xbfb696c0) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/libraries/integer-gmp/dist-install/build/tls/i686/libncursesw.so.5", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) stat64("/home/shana/programming/ghc/libraries/integer-gmp/dist-install/build/tls/i686", 0xbfb696c0) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/libraries/integer-gmp/dist-install/build/tls/sse2/libncursesw.so.5", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) stat64("/home/shana/programming/ghc/libraries/integer-gmp/dist-install/build/tls/sse2", 0xbfb696c0) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/libraries/integer-gmp/dist-install/build/tls/libncursesw.so.5", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) stat64("/home/shana/programming/ghc/libraries/integer-gmp/dist-install/build/tls", 0xbfb696c0) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/libraries/integer-gmp/dist-install/build/i686/sse2/libncursesw.so.5", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) stat64("/home/shana/programming/ghc/libraries/integer-gmp/dist-install/build/i686/sse2", 0xbfb696c0) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/libraries/integer-gmp/dist-install/build/i686/libncursesw.so.5", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) stat64("/home/shana/programming/ghc/libraries/integer-gmp/dist-install/build/i686", 0xbfb696c0) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/libraries/integer-gmp/dist-install/build/sse2/libncursesw.so.5", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) stat64("/home/shana/programming/ghc/libraries/integer-gmp/dist-install/build/sse2", 0xbfb696c0) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/libraries/integer-gmp/dist-install/build/libncursesw.so.5", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) stat64("/home/shana/programming/ghc/libraries/integer-gmp/dist-install/build", {st_mode=S_IFDIR|0755, st_size=4096, ...}) = 0 open("/home/shana/programming/ghc/libraries/ghc-prim/dist-install/build/tls/i686/sse2/libncursesw.so.5", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) stat64("/home/shana/programming/ghc/libraries/ghc-prim/dist-install/build/tls/i686/sse2", 0xbfb696c0) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/libraries/ghc-prim/dist-install/build/tls/i686/libncursesw.so.5", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) stat64("/home/shana/programming/ghc/libraries/ghc-prim/dist-install/build/tls/i686", 0xbfb696c0) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/libraries/ghc-prim/dist-install/build/tls/sse2/libncursesw.so.5", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) stat64("/home/shana/programming/ghc/libraries/ghc-prim/dist-install/build/tls/sse2", 0xbfb696c0) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/libraries/ghc-prim/dist-install/build/tls/libncursesw.so.5", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) stat64("/home/shana/programming/ghc/libraries/ghc-prim/dist-install/build/tls", 0xbfb696c0) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/libraries/ghc-prim/dist-install/build/i686/sse2/libncursesw.so.5", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) stat64("/home/shana/programming/ghc/libraries/ghc-prim/dist-install/build/i686/sse2", 0xbfb696c0) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/libraries/ghc-prim/dist-install/build/i686/libncursesw.so.5", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) stat64("/home/shana/programming/ghc/libraries/ghc-prim/dist-install/build/i686", 0xbfb696c0) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/libraries/ghc-prim/dist-install/build/sse2/libncursesw.so.5", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) stat64("/home/shana/programming/ghc/libraries/ghc-prim/dist-install/build/sse2", 0xbfb696c0) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/libraries/ghc-prim/dist-install/build/libncursesw.so.5", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) stat64("/home/shana/programming/ghc/libraries/ghc-prim/dist-install/build", {st_mode=S_IFDIR|0755, st_size=4096, ...}) = 0 open("/home/shana/programming/ghc/rts/dist/build/tls/i686/sse2/libncursesw.so.5", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) stat64("/home/shana/programming/ghc/rts/dist/build/tls/i686/sse2", 0xbfb696c0) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/rts/dist/build/tls/i686/libncursesw.so.5", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) stat64("/home/shana/programming/ghc/rts/dist/build/tls/i686", 0xbfb696c0) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/rts/dist/build/tls/sse2/libncursesw.so.5", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) stat64("/home/shana/programming/ghc/rts/dist/build/tls/sse2", 0xbfb696c0) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/rts/dist/build/tls/libncursesw.so.5", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) stat64("/home/shana/programming/ghc/rts/dist/build/tls", 0xbfb696c0) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/rts/dist/build/i686/sse2/libncursesw.so.5", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) stat64("/home/shana/programming/ghc/rts/dist/build/i686/sse2", 0xbfb696c0) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/rts/dist/build/i686/libncursesw.so.5", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) stat64("/home/shana/programming/ghc/rts/dist/build/i686", 0xbfb696c0) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/rts/dist/build/sse2/libncursesw.so.5", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) stat64("/home/shana/programming/ghc/rts/dist/build/sse2", 0xbfb696c0) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/rts/dist/build/libncursesw.so.5", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) stat64("/home/shana/programming/ghc/rts/dist/build", {st_mode=S_IFDIR|0755, st_size=36864, ...}) = 0 open("/run/opengl-driver/lib/tls/i686/sse2/libncursesw.so.5", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) stat64("/run/opengl-driver/lib/tls/i686/sse2", 0xbfb696c0) = -1 ENOENT (No such file or directory) open("/run/opengl-driver/lib/tls/i686/libncursesw.so.5", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) stat64("/run/opengl-driver/lib/tls/i686", 0xbfb696c0) = -1 ENOENT (No such file or directory) open("/run/opengl-driver/lib/tls/sse2/libncursesw.so.5", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) stat64("/run/opengl-driver/lib/tls/sse2", 0xbfb696c0) = -1 ENOENT (No such file or directory) open("/run/opengl-driver/lib/tls/libncursesw.so.5", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) stat64("/run/opengl-driver/lib/tls", {st_mode=S_IFDIR|0555, st_size=4096, ...}) = 0 open("/run/opengl-driver/lib/i686/sse2/libncursesw.so.5", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) stat64("/run/opengl-driver/lib/i686/sse2", 0xbfb696c0) = -1 ENOENT (No such file or directory) open("/run/opengl-driver/lib/i686/libncursesw.so.5", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) stat64("/run/opengl-driver/lib/i686", 0xbfb696c0) = -1 ENOENT (No such file or directory) open("/run/opengl-driver/lib/sse2/libncursesw.so.5", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) stat64("/run/opengl-driver/lib/sse2", 0xbfb696c0) = -1 ENOENT (No such file or directory) open("/run/opengl-driver/lib/libncursesw.so.5", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) stat64("/run/opengl-driver/lib", {st_mode=S_IFDIR|0555, st_size=4096, ...}) = 0 open("/run/opengl-driver-32/lib/tls/i686/sse2/libncursesw.so.5", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) stat64("/run/opengl-driver-32/lib/tls/i686/sse2", 0xbfb696c0) = -1 ENOENT (No such file or directory) open("/run/opengl-driver-32/lib/tls/i686/libncursesw.so.5", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) stat64("/run/opengl-driver-32/lib/tls/i686", 0xbfb696c0) = -1 ENOENT (No such file or directory) open("/run/opengl-driver-32/lib/tls/sse2/libncursesw.so.5", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) stat64("/run/opengl-driver-32/lib/tls/sse2", 0xbfb696c0) = -1 ENOENT (No such file or directory) open("/run/opengl-driver-32/lib/tls/libncursesw.so.5", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) stat64("/run/opengl-driver-32/lib/tls", {st_mode=S_IFDIR|0555, st_size=4096, ...}) = 0 open("/run/opengl-driver-32/lib/i686/sse2/libncursesw.so.5", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) stat64("/run/opengl-driver-32/lib/i686/sse2", 0xbfb696c0) = -1 ENOENT (No such file or directory) open("/run/opengl-driver-32/lib/i686/libncursesw.so.5", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) stat64("/run/opengl-driver-32/lib/i686", 0xbfb696c0) = -1 ENOENT (No such file or directory) open("/run/opengl-driver-32/lib/sse2/libncursesw.so.5", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) stat64("/run/opengl-driver-32/lib/sse2", 0xbfb696c0) = -1 ENOENT (No such file or directory) open("/run/opengl-driver-32/lib/libncursesw.so.5", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) stat64("/run/opengl-driver-32/lib", {st_mode=S_IFDIR|0555, st_size=4096, ...}) = 0 open("/home/shana/programming/ghc/inplace/lib/bin/../haskeline-0.7.1.2/tls/i686/sse2/libncursesw.so.5", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) stat64("/home/shana/programming/ghc/inplace/lib/bin/../haskeline-0.7.1.2/tls/i686/sse2", 0xbfb696c0) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/inplace/lib/bin/../haskeline-0.7.1.2/tls/i686/libncursesw.so.5", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) stat64("/home/shana/programming/ghc/inplace/lib/bin/../haskeline-0.7.1.2/tls/i686", 0xbfb696c0) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/inplace/lib/bin/../haskeline-0.7.1.2/tls/sse2/libncursesw.so.5", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) stat64("/home/shana/programming/ghc/inplace/lib/bin/../haskeline-0.7.1.2/tls/sse2", 0xbfb696c0) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/inplace/lib/bin/../haskeline-0.7.1.2/tls/libncursesw.so.5", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) stat64("/home/shana/programming/ghc/inplace/lib/bin/../haskeline-0.7.1.2/tls", 0xbfb696c0) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/inplace/lib/bin/../haskeline-0.7.1.2/i686/sse2/libncursesw.so.5", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) stat64("/home/shana/programming/ghc/inplace/lib/bin/../haskeline-0.7.1.2/i686/sse2", 0xbfb696c0) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/inplace/lib/bin/../haskeline-0.7.1.2/i686/libncursesw.so.5", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) stat64("/home/shana/programming/ghc/inplace/lib/bin/../haskeline-0.7.1.2/i686", 0xbfb696c0) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/inplace/lib/bin/../haskeline-0.7.1.2/sse2/libncursesw.so.5", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) stat64("/home/shana/programming/ghc/inplace/lib/bin/../haskeline-0.7.1.2/sse2", 0xbfb696c0) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/inplace/lib/bin/../haskeline-0.7.1.2/libncursesw.so.5", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) stat64("/home/shana/programming/ghc/inplace/lib/bin/../haskeline-0.7.1.2", 0xbfb696c0) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/inplace/lib/bin/../terminfo-0.4.0.0/tls/i686/sse2/libncursesw.so.5", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) stat64("/home/shana/programming/ghc/inplace/lib/bin/../terminfo-0.4.0.0/tls/i686/sse2", 0xbfb696c0) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/inplace/lib/bin/../terminfo-0.4.0.0/tls/i686/libncursesw.so.5", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) stat64("/home/shana/programming/ghc/inplace/lib/bin/../terminfo-0.4.0.0/tls/i686", 0xbfb696c0) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/inplace/lib/bin/../terminfo-0.4.0.0/tls/sse2/libncursesw.so.5", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) stat64("/home/shana/programming/ghc/inplace/lib/bin/../terminfo-0.4.0.0/tls/sse2", 0xbfb696c0) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/inplace/lib/bin/../terminfo-0.4.0.0/tls/libncursesw.so.5", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) stat64("/home/shana/programming/ghc/inplace/lib/bin/../terminfo-0.4.0.0/tls", 0xbfb696c0) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/inplace/lib/bin/../terminfo-0.4.0.0/i686/sse2/libncursesw.so.5", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) stat64("/home/shana/programming/ghc/inplace/lib/bin/../terminfo-0.4.0.0/i686/sse2", 0xbfb696c0) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/inplace/lib/bin/../terminfo-0.4.0.0/i686/libncursesw.so.5", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) stat64("/home/shana/programming/ghc/inplace/lib/bin/../terminfo-0.4.0.0/i686", 0xbfb696c0) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/inplace/lib/bin/../terminfo-0.4.0.0/sse2/libncursesw.so.5", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) stat64("/home/shana/programming/ghc/inplace/lib/bin/../terminfo-0.4.0.0/sse2", 0xbfb696c0) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/inplace/lib/bin/../terminfo-0.4.0.0/libncursesw.so.5", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) stat64("/home/shana/programming/ghc/inplace/lib/bin/../terminfo-0.4.0.0", 0xbfb696c0) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/inplace/lib/bin/../ghc-7.9.20140510/tls/i686/sse2/libncursesw.so.5", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) stat64("/home/shana/programming/ghc/inplace/lib/bin/../ghc-7.9.20140510/tls/i686/sse2", 0xbfb696c0) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/inplace/lib/bin/../ghc-7.9.20140510/tls/i686/libncursesw.so.5", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) stat64("/home/shana/programming/ghc/inplace/lib/bin/../ghc-7.9.20140510/tls/i686", 0xbfb696c0) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/inplace/lib/bin/../ghc-7.9.20140510/tls/sse2/libncursesw.so.5", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) stat64("/home/shana/programming/ghc/inplace/lib/bin/../ghc-7.9.20140510/tls/sse2", 0xbfb696c0) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/inplace/lib/bin/../ghc-7.9.20140510/tls/libncursesw.so.5", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) stat64("/home/shana/programming/ghc/inplace/lib/bin/../ghc-7.9.20140510/tls", 0xbfb696c0) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/inplace/lib/bin/../ghc-7.9.20140510/i686/sse2/libncursesw.so.5", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) stat64("/home/shana/programming/ghc/inplace/lib/bin/../ghc-7.9.20140510/i686/sse2", 0xbfb696c0) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/inplace/lib/bin/../ghc-7.9.20140510/i686/libncursesw.so.5", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) stat64("/home/shana/programming/ghc/inplace/lib/bin/../ghc-7.9.20140510/i686", 0xbfb696c0) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/inplace/lib/bin/../ghc-7.9.20140510/sse2/libncursesw.so.5", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) stat64("/home/shana/programming/ghc/inplace/lib/bin/../ghc-7.9.20140510/sse2", 0xbfb696c0) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/inplace/lib/bin/../ghc-7.9.20140510/libncursesw.so.5", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) stat64("/home/shana/programming/ghc/inplace/lib/bin/../ghc-7.9.20140510", 0xbfb696c0) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/inplace/lib/bin/../transformers-0.4.0.0/tls/i686/sse2/libncursesw.so.5", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) stat64("/home/shana/programming/ghc/inplace/lib/bin/../transformers-0.4.0.0/tls/i686/sse2", 0xbfb696c0) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/inplace/lib/bin/../transformers-0.4.0.0/tls/i686/libncursesw.so.5", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) stat64("/home/shana/programming/ghc/inplace/lib/bin/../transformers-0.4.0.0/tls/i686", 0xbfb696c0) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/inplace/lib/bin/../transformers-0.4.0.0/tls/sse2/libncursesw.so.5", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) stat64("/home/shana/programming/ghc/inplace/lib/bin/../transformers-0.4.0.0/tls/sse2", 0xbfb696c0) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/inplace/lib/bin/../transformers-0.4.0.0/tls/libncursesw.so.5", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) stat64("/home/shana/programming/ghc/inplace/lib/bin/../transformers-0.4.0.0/tls", 0xbfb696c0) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/inplace/lib/bin/../transformers-0.4.0.0/i686/sse2/libncursesw.so.5", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) stat64("/home/shana/programming/ghc/inplace/lib/bin/../transformers-0.4.0.0/i686/sse2", 0xbfb696c0) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/inplace/lib/bin/../transformers-0.4.0.0/i686/libncursesw.so.5", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) stat64("/home/shana/programming/ghc/inplace/lib/bin/../transformers-0.4.0.0/i686", 0xbfb696c0) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/inplace/lib/bin/../transformers-0.4.0.0/sse2/libncursesw.so.5", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) stat64("/home/shana/programming/ghc/inplace/lib/bin/../transformers-0.4.0.0/sse2", 0xbfb696c0) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/inplace/lib/bin/../transformers-0.4.0.0/libncursesw.so.5", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) stat64("/home/shana/programming/ghc/inplace/lib/bin/../transformers-0.4.0.0", 0xbfb696c0) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/inplace/lib/bin/../template-haskell-2.10.0.0/tls/i686/sse2/libncursesw.so.5", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) stat64("/home/shana/programming/ghc/inplace/lib/bin/../template-haskell-2.10.0.0/tls/i686/sse2", 0xbfb696c0) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/inplace/lib/bin/../template-haskell-2.10.0.0/tls/i686/libncursesw.so.5", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) stat64("/home/shana/programming/ghc/inplace/lib/bin/../template-haskell-2.10.0.0/tls/i686", 0xbfb696c0) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/inplace/lib/bin/../template-haskell-2.10.0.0/tls/sse2/libncursesw.so.5", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) stat64("/home/shana/programming/ghc/inplace/lib/bin/../template-haskell-2.10.0.0/tls/sse2", 0xbfb696c0) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/inplace/lib/bin/../template-haskell-2.10.0.0/tls/libncursesw.so.5", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) stat64("/home/shana/programming/ghc/inplace/lib/bin/../template-haskell-2.10.0.0/tls", 0xbfb696c0) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/inplace/lib/bin/../template-haskell-2.10.0.0/i686/sse2/libncursesw.so.5", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) stat64("/home/shana/programming/ghc/inplace/lib/bin/../template-haskell-2.10.0.0/i686/sse2", 0xbfb696c0) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/inplace/lib/bin/../template-haskell-2.10.0.0/i686/libncursesw.so.5", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) stat64("/home/shana/programming/ghc/inplace/lib/bin/../template-haskell-2.10.0.0/i686", 0xbfb696c0) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/inplace/lib/bin/../template-haskell-2.10.0.0/sse2/libncursesw.so.5", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) stat64("/home/shana/programming/ghc/inplace/lib/bin/../template-haskell-2.10.0.0/sse2", 0xbfb696c0) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/inplace/lib/bin/../template-haskell-2.10.0.0/libncursesw.so.5", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) stat64("/home/shana/programming/ghc/inplace/lib/bin/../template-haskell-2.10.0.0", 0xbfb696c0) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/inplace/lib/bin/../hpc-0.6.0.1/tls/i686/sse2/libncursesw.so.5", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) stat64("/home/shana/programming/ghc/inplace/lib/bin/../hpc-0.6.0.1/tls/i686/sse2", 0xbfb696c0) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/inplace/lib/bin/../hpc-0.6.0.1/tls/i686/libncursesw.so.5", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) stat64("/home/shana/programming/ghc/inplace/lib/bin/../hpc-0.6.0.1/tls/i686", 0xbfb696c0) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/inplace/lib/bin/../hpc-0.6.0.1/tls/sse2/libncursesw.so.5", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) stat64("/home/shana/programming/ghc/inplace/lib/bin/../hpc-0.6.0.1/tls/sse2", 0xbfb696c0) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/inplace/lib/bin/../hpc-0.6.0.1/tls/libncursesw.so.5", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) stat64("/home/shana/programming/ghc/inplace/lib/bin/../hpc-0.6.0.1/tls", 0xbfb696c0) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/inplace/lib/bin/../hpc-0.6.0.1/i686/sse2/libncursesw.so.5", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) stat64("/home/shana/programming/ghc/inplace/lib/bin/../hpc-0.6.0.1/i686/sse2", 0xbfb696c0) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/inplace/lib/bin/../hpc-0.6.0.1/i686/libncursesw.so.5", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) stat64("/home/shana/programming/ghc/inplace/lib/bin/../hpc-0.6.0.1/i686", 0xbfb696c0) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/inplace/lib/bin/../hpc-0.6.0.1/sse2/libncursesw.so.5", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) stat64("/home/shana/programming/ghc/inplace/lib/bin/../hpc-0.6.0.1/sse2", 0xbfb696c0) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/inplace/lib/bin/../hpc-0.6.0.1/libncursesw.so.5", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) stat64("/home/shana/programming/ghc/inplace/lib/bin/../hpc-0.6.0.1", 0xbfb696c0) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/inplace/lib/bin/../hoopl-3.10.0.1/tls/i686/sse2/libncursesw.so.5", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) stat64("/home/shana/programming/ghc/inplace/lib/bin/../hoopl-3.10.0.1/tls/i686/sse2", 0xbfb696c0) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/inplace/lib/bin/../hoopl-3.10.0.1/tls/i686/libncursesw.so.5", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) stat64("/home/shana/programming/ghc/inplace/lib/bin/../hoopl-3.10.0.1/tls/i686", 0xbfb696c0) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/inplace/lib/bin/../hoopl-3.10.0.1/tls/sse2/libncursesw.so.5", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) stat64("/home/shana/programming/ghc/inplace/lib/bin/../hoopl-3.10.0.1/tls/sse2", 0xbfb696c0) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/inplace/lib/bin/../hoopl-3.10.0.1/tls/libncursesw.so.5", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) stat64("/home/shana/programming/ghc/inplace/lib/bin/../hoopl-3.10.0.1/tls", 0xbfb696c0) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/inplace/lib/bin/../hoopl-3.10.0.1/i686/sse2/libncursesw.so.5", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) stat64("/home/shana/programming/ghc/inplace/lib/bin/../hoopl-3.10.0.1/i686/sse2", 0xbfb696c0) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/inplace/lib/bin/../hoopl-3.10.0.1/i686/libncursesw.so.5", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) stat64("/home/shana/programming/ghc/inplace/lib/bin/../hoopl-3.10.0.1/i686", 0xbfb696c0) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/inplace/lib/bin/../hoopl-3.10.0.1/sse2/libncursesw.so.5", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) stat64("/home/shana/programming/ghc/inplace/lib/bin/../hoopl-3.10.0.1/sse2", 0xbfb696c0) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/inplace/lib/bin/../hoopl-3.10.0.1/libncursesw.so.5", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) stat64("/home/shana/programming/ghc/inplace/lib/bin/../hoopl-3.10.0.1", 0xbfb696c0) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/inplace/lib/bin/../bin-package-db-0.0.0.0/tls/i686/sse2/libncursesw.so.5", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) stat64("/home/shana/programming/ghc/inplace/lib/bin/../bin-package-db-0.0.0.0/tls/i686/sse2", 0xbfb696c0) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/inplace/lib/bin/../bin-package-db-0.0.0.0/tls/i686/libncursesw.so.5", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) stat64("/home/shana/programming/ghc/inplace/lib/bin/../bin-package-db-0.0.0.0/tls/i686", 0xbfb696c0) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/inplace/lib/bin/../bin-package-db-0.0.0.0/tls/sse2/libncursesw.so.5", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) stat64("/home/shana/programming/ghc/inplace/lib/bin/../bin-package-db-0.0.0.0/tls/sse2", 0xbfb696c0) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/inplace/lib/bin/../bin-package-db-0.0.0.0/tls/libncursesw.so.5", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) stat64("/home/shana/programming/ghc/inplace/lib/bin/../bin-package-db-0.0.0.0/tls", 0xbfb696c0) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/inplace/lib/bin/../bin-package-db-0.0.0.0/i686/sse2/libncursesw.so.5", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) stat64("/home/shana/programming/ghc/inplace/lib/bin/../bin-package-db-0.0.0.0/i686/sse2", 0xbfb696c0) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/inplace/lib/bin/../bin-package-db-0.0.0.0/i686/libncursesw.so.5", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) stat64("/home/shana/programming/ghc/inplace/lib/bin/../bin-package-db-0.0.0.0/i686", 0xbfb696c0) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/inplace/lib/bin/../bin-package-db-0.0.0.0/sse2/libncursesw.so.5", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) stat64("/home/shana/programming/ghc/inplace/lib/bin/../bin-package-db-0.0.0.0/sse2", 0xbfb696c0) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/inplace/lib/bin/../bin-package-db-0.0.0.0/libncursesw.so.5", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) stat64("/home/shana/programming/ghc/inplace/lib/bin/../bin-package-db-0.0.0.0", 0xbfb696c0) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/inplace/lib/bin/../binary-0.7.1.0/tls/i686/sse2/libncursesw.so.5", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) stat64("/home/shana/programming/ghc/inplace/lib/bin/../binary-0.7.1.0/tls/i686/sse2", 0xbfb696c0) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/inplace/lib/bin/../binary-0.7.1.0/tls/i686/libncursesw.so.5", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) stat64("/home/shana/programming/ghc/inplace/lib/bin/../binary-0.7.1.0/tls/i686", 0xbfb696c0) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/inplace/lib/bin/../binary-0.7.1.0/tls/sse2/libncursesw.so.5", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) stat64("/home/shana/programming/ghc/inplace/lib/bin/../binary-0.7.1.0/tls/sse2", 0xbfb696c0) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/inplace/lib/bin/../binary-0.7.1.0/tls/libncursesw.so.5", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) stat64("/home/shana/programming/ghc/inplace/lib/bin/../binary-0.7.1.0/tls", 0xbfb696c0) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/inplace/lib/bin/../binary-0.7.1.0/i686/sse2/libncursesw.so.5", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) stat64("/home/shana/programming/ghc/inplace/lib/bin/../binary-0.7.1.0/i686/sse2", 0xbfb696c0) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/inplace/lib/bin/../binary-0.7.1.0/i686/libncursesw.so.5", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) stat64("/home/shana/programming/ghc/inplace/lib/bin/../binary-0.7.1.0/i686", 0xbfb696c0) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/inplace/lib/bin/../binary-0.7.1.0/sse2/libncursesw.so.5", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) stat64("/home/shana/programming/ghc/inplace/lib/bin/../binary-0.7.1.0/sse2", 0xbfb696c0) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/inplace/lib/bin/../binary-0.7.1.0/libncursesw.so.5", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) stat64("/home/shana/programming/ghc/inplace/lib/bin/../binary-0.7.1.0", 0xbfb696c0) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/inplace/lib/bin/../Cabal-1.20.0.0/tls/i686/sse2/libncursesw.so.5", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) stat64("/home/shana/programming/ghc/inplace/lib/bin/../Cabal-1.20.0.0/tls/i686/sse2", 0xbfb696c0) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/inplace/lib/bin/../Cabal-1.20.0.0/tls/i686/libncursesw.so.5", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) stat64("/home/shana/programming/ghc/inplace/lib/bin/../Cabal-1.20.0.0/tls/i686", 0xbfb696c0) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/inplace/lib/bin/../Cabal-1.20.0.0/tls/sse2/libncursesw.so.5", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) stat64("/home/shana/programming/ghc/inplace/lib/bin/../Cabal-1.20.0.0/tls/sse2", 0xbfb696c0) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/inplace/lib/bin/../Cabal-1.20.0.0/tls/libncursesw.so.5", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) stat64("/home/shana/programming/ghc/inplace/lib/bin/../Cabal-1.20.0.0/tls", 0xbfb696c0) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/inplace/lib/bin/../Cabal-1.20.0.0/i686/sse2/libncursesw.so.5", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) stat64("/home/shana/programming/ghc/inplace/lib/bin/../Cabal-1.20.0.0/i686/sse2", 0xbfb696c0) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/inplace/lib/bin/../Cabal-1.20.0.0/i686/libncursesw.so.5", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) stat64("/home/shana/programming/ghc/inplace/lib/bin/../Cabal-1.20.0.0/i686", 0xbfb696c0) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/inplace/lib/bin/../Cabal-1.20.0.0/sse2/libncursesw.so.5", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) stat64("/home/shana/programming/ghc/inplace/lib/bin/../Cabal-1.20.0.0/sse2", 0xbfb696c0) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/inplace/lib/bin/../Cabal-1.20.0.0/libncursesw.so.5", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) stat64("/home/shana/programming/ghc/inplace/lib/bin/../Cabal-1.20.0.0", 0xbfb696c0) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/inplace/lib/bin/../process-1.2.0.0/tls/i686/sse2/libncursesw.so.5", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) stat64("/home/shana/programming/ghc/inplace/lib/bin/../process-1.2.0.0/tls/i686/sse2", 0xbfb696c0) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/inplace/lib/bin/../process-1.2.0.0/tls/i686/libncursesw.so.5", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) stat64("/home/shana/programming/ghc/inplace/lib/bin/../process-1.2.0.0/tls/i686", 0xbfb696c0) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/inplace/lib/bin/../process-1.2.0.0/tls/sse2/libncursesw.so.5", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) stat64("/home/shana/programming/ghc/inplace/lib/bin/../process-1.2.0.0/tls/sse2", 0xbfb696c0) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/inplace/lib/bin/../process-1.2.0.0/tls/libncursesw.so.5", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) stat64("/home/shana/programming/ghc/inplace/lib/bin/../process-1.2.0.0/tls", 0xbfb696c0) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/inplace/lib/bin/../process-1.2.0.0/i686/sse2/libncursesw.so.5", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) stat64("/home/shana/programming/ghc/inplace/lib/bin/../process-1.2.0.0/i686/sse2", 0xbfb696c0) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/inplace/lib/bin/../process-1.2.0.0/i686/libncursesw.so.5", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) stat64("/home/shana/programming/ghc/inplace/lib/bin/../process-1.2.0.0/i686", 0xbfb696c0) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/inplace/lib/bin/../process-1.2.0.0/sse2/libncursesw.so.5", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) stat64("/home/shana/programming/ghc/inplace/lib/bin/../process-1.2.0.0/sse2", 0xbfb696c0) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/inplace/lib/bin/../process-1.2.0.0/libncursesw.so.5", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) stat64("/home/shana/programming/ghc/inplace/lib/bin/../process-1.2.0.0", 0xbfb696c0) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/inplace/lib/bin/../pretty-1.1.1.1/tls/i686/sse2/libncursesw.so.5", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) stat64("/home/shana/programming/ghc/inplace/lib/bin/../pretty-1.1.1.1/tls/i686/sse2", 0xbfb696c0) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/inplace/lib/bin/../pretty-1.1.1.1/tls/i686/libncursesw.so.5", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) stat64("/home/shana/programming/ghc/inplace/lib/bin/../pretty-1.1.1.1/tls/i686", 0xbfb696c0) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/inplace/lib/bin/../pretty-1.1.1.1/tls/sse2/libncursesw.so.5", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) stat64("/home/shana/programming/ghc/inplace/lib/bin/../pretty-1.1.1.1/tls/sse2", 0xbfb696c0) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/inplace/lib/bin/../pretty-1.1.1.1/tls/libncursesw.so.5", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) stat64("/home/shana/programming/ghc/inplace/lib/bin/../pretty-1.1.1.1/tls", 0xbfb696c0) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/inplace/lib/bin/../pretty-1.1.1.1/i686/sse2/libncursesw.so.5", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) stat64("/home/shana/programming/ghc/inplace/lib/bin/../pretty-1.1.1.1/i686/sse2", 0xbfb696c0) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/inplace/lib/bin/../pretty-1.1.1.1/i686/libncursesw.so.5", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) stat64("/home/shana/programming/ghc/inplace/lib/bin/../pretty-1.1.1.1/i686", 0xbfb696c0) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/inplace/lib/bin/../pretty-1.1.1.1/sse2/libncursesw.so.5", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) stat64("/home/shana/programming/ghc/inplace/lib/bin/../pretty-1.1.1.1/sse2", 0xbfb696c0) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/inplace/lib/bin/../pretty-1.1.1.1/libncursesw.so.5", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) stat64("/home/shana/programming/ghc/inplace/lib/bin/../pretty-1.1.1.1", 0xbfb696c0) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/inplace/lib/bin/../directory-1.2.1.0/tls/i686/sse2/libncursesw.so.5", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) stat64("/home/shana/programming/ghc/inplace/lib/bin/../directory-1.2.1.0/tls/i686/sse2", 0xbfb696c0) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/inplace/lib/bin/../directory-1.2.1.0/tls/i686/libncursesw.so.5", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) stat64("/home/shana/programming/ghc/inplace/lib/bin/../directory-1.2.1.0/tls/i686", 0xbfb696c0) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/inplace/lib/bin/../directory-1.2.1.0/tls/sse2/libncursesw.so.5", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) stat64("/home/shana/programming/ghc/inplace/lib/bin/../directory-1.2.1.0/tls/sse2", 0xbfb696c0) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/inplace/lib/bin/../directory-1.2.1.0/tls/libncursesw.so.5", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) stat64("/home/shana/programming/ghc/inplace/lib/bin/../directory-1.2.1.0/tls", 0xbfb696c0) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/inplace/lib/bin/../directory-1.2.1.0/i686/sse2/libncursesw.so.5", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) stat64("/home/shana/programming/ghc/inplace/lib/bin/../directory-1.2.1.0/i686/sse2", 0xbfb696c0) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/inplace/lib/bin/../directory-1.2.1.0/i686/libncursesw.so.5", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) stat64("/home/shana/programming/ghc/inplace/lib/bin/../directory-1.2.1.0/i686", 0xbfb696c0) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/inplace/lib/bin/../directory-1.2.1.0/sse2/libncursesw.so.5", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) stat64("/home/shana/programming/ghc/inplace/lib/bin/../directory-1.2.1.0/sse2", 0xbfb696c0) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/inplace/lib/bin/../directory-1.2.1.0/libncursesw.so.5", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) stat64("/home/shana/programming/ghc/inplace/lib/bin/../directory-1.2.1.0", 0xbfb696c0) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/inplace/lib/bin/../unix-2.7.0.1/tls/i686/sse2/libncursesw.so.5", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) stat64("/home/shana/programming/ghc/inplace/lib/bin/../unix-2.7.0.1/tls/i686/sse2", 0xbfb696c0) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/inplace/lib/bin/../unix-2.7.0.1/tls/i686/libncursesw.so.5", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) stat64("/home/shana/programming/ghc/inplace/lib/bin/../unix-2.7.0.1/tls/i686", 0xbfb696c0) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/inplace/lib/bin/../unix-2.7.0.1/tls/sse2/libncursesw.so.5", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) stat64("/home/shana/programming/ghc/inplace/lib/bin/../unix-2.7.0.1/tls/sse2", 0xbfb696c0) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/inplace/lib/bin/../unix-2.7.0.1/tls/libncursesw.so.5", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) stat64("/home/shana/programming/ghc/inplace/lib/bin/../unix-2.7.0.1/tls", 0xbfb696c0) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/inplace/lib/bin/../unix-2.7.0.1/i686/sse2/libncursesw.so.5", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) stat64("/home/shana/programming/ghc/inplace/lib/bin/../unix-2.7.0.1/i686/sse2", 0xbfb696c0) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/inplace/lib/bin/../unix-2.7.0.1/i686/libncursesw.so.5", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) stat64("/home/shana/programming/ghc/inplace/lib/bin/../unix-2.7.0.1/i686", 0xbfb696c0) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/inplace/lib/bin/../unix-2.7.0.1/sse2/libncursesw.so.5", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) stat64("/home/shana/programming/ghc/inplace/lib/bin/../unix-2.7.0.1/sse2", 0xbfb696c0) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/inplace/lib/bin/../unix-2.7.0.1/libncursesw.so.5", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) stat64("/home/shana/programming/ghc/inplace/lib/bin/../unix-2.7.0.1", 0xbfb696c0) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/inplace/lib/bin/../time-1.4.2/tls/i686/sse2/libncursesw.so.5", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) stat64("/home/shana/programming/ghc/inplace/lib/bin/../time-1.4.2/tls/i686/sse2", 0xbfb696c0) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/inplace/lib/bin/../time-1.4.2/tls/i686/libncursesw.so.5", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) stat64("/home/shana/programming/ghc/inplace/lib/bin/../time-1.4.2/tls/i686", 0xbfb696c0) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/inplace/lib/bin/../time-1.4.2/tls/sse2/libncursesw.so.5", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) stat64("/home/shana/programming/ghc/inplace/lib/bin/../time-1.4.2/tls/sse2", 0xbfb696c0) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/inplace/lib/bin/../time-1.4.2/tls/libncursesw.so.5", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) stat64("/home/shana/programming/ghc/inplace/lib/bin/../time-1.4.2/tls", 0xbfb696c0) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/inplace/lib/bin/../time-1.4.2/i686/sse2/libncursesw.so.5", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) stat64("/home/shana/programming/ghc/inplace/lib/bin/../time-1.4.2/i686/sse2", 0xbfb696c0) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/inplace/lib/bin/../time-1.4.2/i686/libncursesw.so.5", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) stat64("/home/shana/programming/ghc/inplace/lib/bin/../time-1.4.2/i686", 0xbfb696c0) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/inplace/lib/bin/../time-1.4.2/sse2/libncursesw.so.5", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) stat64("/home/shana/programming/ghc/inplace/lib/bin/../time-1.4.2/sse2", 0xbfb696c0) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/inplace/lib/bin/../time-1.4.2/libncursesw.so.5", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) stat64("/home/shana/programming/ghc/inplace/lib/bin/../time-1.4.2", 0xbfb696c0) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/inplace/lib/bin/../old-locale-1.0.0.6/tls/i686/sse2/libncursesw.so.5", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) stat64("/home/shana/programming/ghc/inplace/lib/bin/../old-locale-1.0.0.6/tls/i686/sse2", 0xbfb696c0) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/inplace/lib/bin/../old-locale-1.0.0.6/tls/i686/libncursesw.so.5", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) stat64("/home/shana/programming/ghc/inplace/lib/bin/../old-locale-1.0.0.6/tls/i686", 0xbfb696c0) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/inplace/lib/bin/../old-locale-1.0.0.6/tls/sse2/libncursesw.so.5", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) stat64("/home/shana/programming/ghc/inplace/lib/bin/../old-locale-1.0.0.6/tls/sse2", 0xbfb696c0) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/inplace/lib/bin/../old-locale-1.0.0.6/tls/libncursesw.so.5", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) stat64("/home/shana/programming/ghc/inplace/lib/bin/../old-locale-1.0.0.6/tls", 0xbfb696c0) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/inplace/lib/bin/../old-locale-1.0.0.6/i686/sse2/libncursesw.so.5", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) stat64("/home/shana/programming/ghc/inplace/lib/bin/../old-locale-1.0.0.6/i686/sse2", 0xbfb696c0) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/inplace/lib/bin/../old-locale-1.0.0.6/i686/libncursesw.so.5", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) stat64("/home/shana/programming/ghc/inplace/lib/bin/../old-locale-1.0.0.6/i686", 0xbfb696c0) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/inplace/lib/bin/../old-locale-1.0.0.6/sse2/libncursesw.so.5", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) stat64("/home/shana/programming/ghc/inplace/lib/bin/../old-locale-1.0.0.6/sse2", 0xbfb696c0) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/inplace/lib/bin/../old-locale-1.0.0.6/libncursesw.so.5", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) stat64("/home/shana/programming/ghc/inplace/lib/bin/../old-locale-1.0.0.6", 0xbfb696c0) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/inplace/lib/bin/../filepath-1.3.0.2/tls/i686/sse2/libncursesw.so.5", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) stat64("/home/shana/programming/ghc/inplace/lib/bin/../filepath-1.3.0.2/tls/i686/sse2", 0xbfb696c0) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/inplace/lib/bin/../filepath-1.3.0.2/tls/i686/libncursesw.so.5", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) stat64("/home/shana/programming/ghc/inplace/lib/bin/../filepath-1.3.0.2/tls/i686", 0xbfb696c0) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/inplace/lib/bin/../filepath-1.3.0.2/tls/sse2/libncursesw.so.5", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) stat64("/home/shana/programming/ghc/inplace/lib/bin/../filepath-1.3.0.2/tls/sse2", 0xbfb696c0) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/inplace/lib/bin/../filepath-1.3.0.2/tls/libncursesw.so.5", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) stat64("/home/shana/programming/ghc/inplace/lib/bin/../filepath-1.3.0.2/tls", 0xbfb696c0) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/inplace/lib/bin/../filepath-1.3.0.2/i686/sse2/libncursesw.so.5", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) stat64("/home/shana/programming/ghc/inplace/lib/bin/../filepath-1.3.0.2/i686/sse2", 0xbfb696c0) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/inplace/lib/bin/../filepath-1.3.0.2/i686/libncursesw.so.5", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) stat64("/home/shana/programming/ghc/inplace/lib/bin/../filepath-1.3.0.2/i686", 0xbfb696c0) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/inplace/lib/bin/../filepath-1.3.0.2/sse2/libncursesw.so.5", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) stat64("/home/shana/programming/ghc/inplace/lib/bin/../filepath-1.3.0.2/sse2", 0xbfb696c0) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/inplace/lib/bin/../filepath-1.3.0.2/libncursesw.so.5", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) stat64("/home/shana/programming/ghc/inplace/lib/bin/../filepath-1.3.0.2", 0xbfb696c0) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/inplace/lib/bin/../containers-0.5.5.1/tls/i686/sse2/libncursesw.so.5", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) stat64("/home/shana/programming/ghc/inplace/lib/bin/../containers-0.5.5.1/tls/i686/sse2", 0xbfb696c0) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/inplace/lib/bin/../containers-0.5.5.1/tls/i686/libncursesw.so.5", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) stat64("/home/shana/programming/ghc/inplace/lib/bin/../containers-0.5.5.1/tls/i686", 0xbfb696c0) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/inplace/lib/bin/../containers-0.5.5.1/tls/sse2/libncursesw.so.5", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) stat64("/home/shana/programming/ghc/inplace/lib/bin/../containers-0.5.5.1/tls/sse2", 0xbfb696c0) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/inplace/lib/bin/../containers-0.5.5.1/tls/libncursesw.so.5", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) stat64("/home/shana/programming/ghc/inplace/lib/bin/../containers-0.5.5.1/tls", 0xbfb696c0) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/inplace/lib/bin/../containers-0.5.5.1/i686/sse2/libncursesw.so.5", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) stat64("/home/shana/programming/ghc/inplace/lib/bin/../containers-0.5.5.1/i686/sse2", 0xbfb696c0) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/inplace/lib/bin/../containers-0.5.5.1/i686/libncursesw.so.5", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) stat64("/home/shana/programming/ghc/inplace/lib/bin/../containers-0.5.5.1/i686", 0xbfb696c0) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/inplace/lib/bin/../containers-0.5.5.1/sse2/libncursesw.so.5", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) stat64("/home/shana/programming/ghc/inplace/lib/bin/../containers-0.5.5.1/sse2", 0xbfb696c0) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/inplace/lib/bin/../containers-0.5.5.1/libncursesw.so.5", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) stat64("/home/shana/programming/ghc/inplace/lib/bin/../containers-0.5.5.1", 0xbfb696c0) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/inplace/lib/bin/../bytestring-0.10.4.0/tls/i686/sse2/libncursesw.so.5", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) stat64("/home/shana/programming/ghc/inplace/lib/bin/../bytestring-0.10.4.0/tls/i686/sse2", 0xbfb696c0) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/inplace/lib/bin/../bytestring-0.10.4.0/tls/i686/libncursesw.so.5", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) stat64("/home/shana/programming/ghc/inplace/lib/bin/../bytestring-0.10.4.0/tls/i686", 0xbfb696c0) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/inplace/lib/bin/../bytestring-0.10.4.0/tls/sse2/libncursesw.so.5", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) stat64("/home/shana/programming/ghc/inplace/lib/bin/../bytestring-0.10.4.0/tls/sse2", 0xbfb696c0) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/inplace/lib/bin/../bytestring-0.10.4.0/tls/libncursesw.so.5", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) stat64("/home/shana/programming/ghc/inplace/lib/bin/../bytestring-0.10.4.0/tls", 0xbfb696c0) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/inplace/lib/bin/../bytestring-0.10.4.0/i686/sse2/libncursesw.so.5", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) stat64("/home/shana/programming/ghc/inplace/lib/bin/../bytestring-0.10.4.0/i686/sse2", 0xbfb696c0) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/inplace/lib/bin/../bytestring-0.10.4.0/i686/libncursesw.so.5", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) stat64("/home/shana/programming/ghc/inplace/lib/bin/../bytestring-0.10.4.0/i686", 0xbfb696c0) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/inplace/lib/bin/../bytestring-0.10.4.0/sse2/libncursesw.so.5", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) stat64("/home/shana/programming/ghc/inplace/lib/bin/../bytestring-0.10.4.0/sse2", 0xbfb696c0) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/inplace/lib/bin/../bytestring-0.10.4.0/libncursesw.so.5", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) stat64("/home/shana/programming/ghc/inplace/lib/bin/../bytestring-0.10.4.0", 0xbfb696c0) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/inplace/lib/bin/../deepseq-1.3.0.2/tls/i686/sse2/libncursesw.so.5", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) stat64("/home/shana/programming/ghc/inplace/lib/bin/../deepseq-1.3.0.2/tls/i686/sse2", 0xbfb696c0) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/inplace/lib/bin/../deepseq-1.3.0.2/tls/i686/libncursesw.so.5", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) stat64("/home/shana/programming/ghc/inplace/lib/bin/../deepseq-1.3.0.2/tls/i686", 0xbfb696c0) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/inplace/lib/bin/../deepseq-1.3.0.2/tls/sse2/libncursesw.so.5", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) stat64("/home/shana/programming/ghc/inplace/lib/bin/../deepseq-1.3.0.2/tls/sse2", 0xbfb696c0) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/inplace/lib/bin/../deepseq-1.3.0.2/tls/libncursesw.so.5", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) stat64("/home/shana/programming/ghc/inplace/lib/bin/../deepseq-1.3.0.2/tls", 0xbfb696c0) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/inplace/lib/bin/../deepseq-1.3.0.2/i686/sse2/libncursesw.so.5", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) stat64("/home/shana/programming/ghc/inplace/lib/bin/../deepseq-1.3.0.2/i686/sse2", 0xbfb696c0) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/inplace/lib/bin/../deepseq-1.3.0.2/i686/libncursesw.so.5", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) stat64("/home/shana/programming/ghc/inplace/lib/bin/../deepseq-1.3.0.2/i686", 0xbfb696c0) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/inplace/lib/bin/../deepseq-1.3.0.2/sse2/libncursesw.so.5", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) stat64("/home/shana/programming/ghc/inplace/lib/bin/../deepseq-1.3.0.2/sse2", 0xbfb696c0) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/inplace/lib/bin/../deepseq-1.3.0.2/libncursesw.so.5", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) stat64("/home/shana/programming/ghc/inplace/lib/bin/../deepseq-1.3.0.2", 0xbfb696c0) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/inplace/lib/bin/../array-0.5.0.0/tls/i686/sse2/libncursesw.so.5", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) stat64("/home/shana/programming/ghc/inplace/lib/bin/../array-0.5.0.0/tls/i686/sse2", 0xbfb696c0) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/inplace/lib/bin/../array-0.5.0.0/tls/i686/libncursesw.so.5", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) stat64("/home/shana/programming/ghc/inplace/lib/bin/../array-0.5.0.0/tls/i686", 0xbfb696c0) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/inplace/lib/bin/../array-0.5.0.0/tls/sse2/libncursesw.so.5", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) stat64("/home/shana/programming/ghc/inplace/lib/bin/../array-0.5.0.0/tls/sse2", 0xbfb696c0) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/inplace/lib/bin/../array-0.5.0.0/tls/libncursesw.so.5", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) stat64("/home/shana/programming/ghc/inplace/lib/bin/../array-0.5.0.0/tls", 0xbfb696c0) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/inplace/lib/bin/../array-0.5.0.0/i686/sse2/libncursesw.so.5", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) stat64("/home/shana/programming/ghc/inplace/lib/bin/../array-0.5.0.0/i686/sse2", 0xbfb696c0) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/inplace/lib/bin/../array-0.5.0.0/i686/libncursesw.so.5", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) stat64("/home/shana/programming/ghc/inplace/lib/bin/../array-0.5.0.0/i686", 0xbfb696c0) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/inplace/lib/bin/../array-0.5.0.0/sse2/libncursesw.so.5", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) stat64("/home/shana/programming/ghc/inplace/lib/bin/../array-0.5.0.0/sse2", 0xbfb696c0) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/inplace/lib/bin/../array-0.5.0.0/libncursesw.so.5", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) stat64("/home/shana/programming/ghc/inplace/lib/bin/../array-0.5.0.0", 0xbfb696c0) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/inplace/lib/bin/../base-4.7.1.0/tls/i686/sse2/libncursesw.so.5", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) stat64("/home/shana/programming/ghc/inplace/lib/bin/../base-4.7.1.0/tls/i686/sse2", 0xbfb696c0) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/inplace/lib/bin/../base-4.7.1.0/tls/i686/libncursesw.so.5", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) stat64("/home/shana/programming/ghc/inplace/lib/bin/../base-4.7.1.0/tls/i686", 0xbfb696c0) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/inplace/lib/bin/../base-4.7.1.0/tls/sse2/libncursesw.so.5", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) stat64("/home/shana/programming/ghc/inplace/lib/bin/../base-4.7.1.0/tls/sse2", 0xbfb696c0) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/inplace/lib/bin/../base-4.7.1.0/tls/libncursesw.so.5", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) stat64("/home/shana/programming/ghc/inplace/lib/bin/../base-4.7.1.0/tls", 0xbfb696c0) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/inplace/lib/bin/../base-4.7.1.0/i686/sse2/libncursesw.so.5", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) stat64("/home/shana/programming/ghc/inplace/lib/bin/../base-4.7.1.0/i686/sse2", 0xbfb696c0) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/inplace/lib/bin/../base-4.7.1.0/i686/libncursesw.so.5", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) stat64("/home/shana/programming/ghc/inplace/lib/bin/../base-4.7.1.0/i686", 0xbfb696c0) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/inplace/lib/bin/../base-4.7.1.0/sse2/libncursesw.so.5", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) stat64("/home/shana/programming/ghc/inplace/lib/bin/../base-4.7.1.0/sse2", 0xbfb696c0) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/inplace/lib/bin/../base-4.7.1.0/libncursesw.so.5", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) stat64("/home/shana/programming/ghc/inplace/lib/bin/../base-4.7.1.0", 0xbfb696c0) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/inplace/lib/bin/../integer-gmp-0.5.1.0/tls/i686/sse2/libncursesw.so.5", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) stat64("/home/shana/programming/ghc/inplace/lib/bin/../integer-gmp-0.5.1.0/tls/i686/sse2", 0xbfb696c0) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/inplace/lib/bin/../integer-gmp-0.5.1.0/tls/i686/libncursesw.so.5", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) stat64("/home/shana/programming/ghc/inplace/lib/bin/../integer-gmp-0.5.1.0/tls/i686", 0xbfb696c0) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/inplace/lib/bin/../integer-gmp-0.5.1.0/tls/sse2/libncursesw.so.5", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) stat64("/home/shana/programming/ghc/inplace/lib/bin/../integer-gmp-0.5.1.0/tls/sse2", 0xbfb696c0) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/inplace/lib/bin/../integer-gmp-0.5.1.0/tls/libncursesw.so.5", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) stat64("/home/shana/programming/ghc/inplace/lib/bin/../integer-gmp-0.5.1.0/tls", 0xbfb696c0) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/inplace/lib/bin/../integer-gmp-0.5.1.0/i686/sse2/libncursesw.so.5", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) stat64("/home/shana/programming/ghc/inplace/lib/bin/../integer-gmp-0.5.1.0/i686/sse2", 0xbfb696c0) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/inplace/lib/bin/../integer-gmp-0.5.1.0/i686/libncursesw.so.5", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) stat64("/home/shana/programming/ghc/inplace/lib/bin/../integer-gmp-0.5.1.0/i686", 0xbfb696c0) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/inplace/lib/bin/../integer-gmp-0.5.1.0/sse2/libncursesw.so.5", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) stat64("/home/shana/programming/ghc/inplace/lib/bin/../integer-gmp-0.5.1.0/sse2", 0xbfb696c0) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/inplace/lib/bin/../integer-gmp-0.5.1.0/libncursesw.so.5", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) stat64("/home/shana/programming/ghc/inplace/lib/bin/../integer-gmp-0.5.1.0", 0xbfb696c0) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/inplace/lib/bin/../ghc-prim-0.3.1.0/tls/i686/sse2/libncursesw.so.5", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) stat64("/home/shana/programming/ghc/inplace/lib/bin/../ghc-prim-0.3.1.0/tls/i686/sse2", 0xbfb696c0) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/inplace/lib/bin/../ghc-prim-0.3.1.0/tls/i686/libncursesw.so.5", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) stat64("/home/shana/programming/ghc/inplace/lib/bin/../ghc-prim-0.3.1.0/tls/i686", 0xbfb696c0) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/inplace/lib/bin/../ghc-prim-0.3.1.0/tls/sse2/libncursesw.so.5", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) stat64("/home/shana/programming/ghc/inplace/lib/bin/../ghc-prim-0.3.1.0/tls/sse2", 0xbfb696c0) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/inplace/lib/bin/../ghc-prim-0.3.1.0/tls/libncursesw.so.5", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) stat64("/home/shana/programming/ghc/inplace/lib/bin/../ghc-prim-0.3.1.0/tls", 0xbfb696c0) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/inplace/lib/bin/../ghc-prim-0.3.1.0/i686/sse2/libncursesw.so.5", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) stat64("/home/shana/programming/ghc/inplace/lib/bin/../ghc-prim-0.3.1.0/i686/sse2", 0xbfb696c0) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/inplace/lib/bin/../ghc-prim-0.3.1.0/i686/libncursesw.so.5", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) stat64("/home/shana/programming/ghc/inplace/lib/bin/../ghc-prim-0.3.1.0/i686", 0xbfb696c0) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/inplace/lib/bin/../ghc-prim-0.3.1.0/sse2/libncursesw.so.5", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) stat64("/home/shana/programming/ghc/inplace/lib/bin/../ghc-prim-0.3.1.0/sse2", 0xbfb696c0) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/inplace/lib/bin/../ghc-prim-0.3.1.0/libncursesw.so.5", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) stat64("/home/shana/programming/ghc/inplace/lib/bin/../ghc-prim-0.3.1.0", 0xbfb696c0) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/inplace/lib/bin/../rts-1.0/tls/i686/sse2/libncursesw.so.5", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) stat64("/home/shana/programming/ghc/inplace/lib/bin/../rts-1.0/tls/i686/sse2", 0xbfb696c0) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/inplace/lib/bin/../rts-1.0/tls/i686/libncursesw.so.5", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) stat64("/home/shana/programming/ghc/inplace/lib/bin/../rts-1.0/tls/i686", 0xbfb696c0) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/inplace/lib/bin/../rts-1.0/tls/sse2/libncursesw.so.5", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) stat64("/home/shana/programming/ghc/inplace/lib/bin/../rts-1.0/tls/sse2", 0xbfb696c0) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/inplace/lib/bin/../rts-1.0/tls/libncursesw.so.5", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) stat64("/home/shana/programming/ghc/inplace/lib/bin/../rts-1.0/tls", 0xbfb696c0) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/inplace/lib/bin/../rts-1.0/i686/sse2/libncursesw.so.5", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) stat64("/home/shana/programming/ghc/inplace/lib/bin/../rts-1.0/i686/sse2", 0xbfb696c0) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/inplace/lib/bin/../rts-1.0/i686/libncursesw.so.5", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) stat64("/home/shana/programming/ghc/inplace/lib/bin/../rts-1.0/i686", 0xbfb696c0) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/inplace/lib/bin/../rts-1.0/sse2/libncursesw.so.5", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) stat64("/home/shana/programming/ghc/inplace/lib/bin/../rts-1.0/sse2", 0xbfb696c0) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/inplace/lib/bin/../rts-1.0/libncursesw.so.5", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) stat64("/home/shana/programming/ghc/inplace/lib/bin/../rts-1.0", 0xbfb696c0) = -1 ENOENT (No such file or directory) open("/nix/store/wjdpcb8ffiiq74iyamdrn15kafnskhb0-ghcDev-7.9.20140510/lib/tls/i686/sse2/libncursesw.so.5", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) stat64("/nix/store/wjdpcb8ffiiq74iyamdrn15kafnskhb0-ghcDev-7.9.20140510/lib/tls/i686/sse2", 0xbfb696c0) = -1 ENOENT (No such file or directory) open("/nix/store/wjdpcb8ffiiq74iyamdrn15kafnskhb0-ghcDev-7.9.20140510/lib/tls/i686/libncursesw.so.5", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) stat64("/nix/store/wjdpcb8ffiiq74iyamdrn15kafnskhb0-ghcDev-7.9.20140510/lib/tls/i686", 0xbfb696c0) = -1 ENOENT (No such file or directory) open("/nix/store/wjdpcb8ffiiq74iyamdrn15kafnskhb0-ghcDev-7.9.20140510/lib/tls/sse2/libncursesw.so.5", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) stat64("/nix/store/wjdpcb8ffiiq74iyamdrn15kafnskhb0-ghcDev-7.9.20140510/lib/tls/sse2", 0xbfb696c0) = -1 ENOENT (No such file or directory) open("/nix/store/wjdpcb8ffiiq74iyamdrn15kafnskhb0-ghcDev-7.9.20140510/lib/tls/libncursesw.so.5", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) stat64("/nix/store/wjdpcb8ffiiq74iyamdrn15kafnskhb0-ghcDev-7.9.20140510/lib/tls", 0xbfb696c0) = -1 ENOENT (No such file or directory) open("/nix/store/wjdpcb8ffiiq74iyamdrn15kafnskhb0-ghcDev-7.9.20140510/lib/i686/sse2/libncursesw.so.5", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) stat64("/nix/store/wjdpcb8ffiiq74iyamdrn15kafnskhb0-ghcDev-7.9.20140510/lib/i686/sse2", 0xbfb696c0) = -1 ENOENT (No such file or directory) open("/nix/store/wjdpcb8ffiiq74iyamdrn15kafnskhb0-ghcDev-7.9.20140510/lib/i686/libncursesw.so.5", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) stat64("/nix/store/wjdpcb8ffiiq74iyamdrn15kafnskhb0-ghcDev-7.9.20140510/lib/i686", 0xbfb696c0) = -1 ENOENT (No such file or directory) open("/nix/store/wjdpcb8ffiiq74iyamdrn15kafnskhb0-ghcDev-7.9.20140510/lib/sse2/libncursesw.so.5", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) stat64("/nix/store/wjdpcb8ffiiq74iyamdrn15kafnskhb0-ghcDev-7.9.20140510/lib/sse2", 0xbfb696c0) = -1 ENOENT (No such file or directory) open("/nix/store/wjdpcb8ffiiq74iyamdrn15kafnskhb0-ghcDev-7.9.20140510/lib/libncursesw.so.5", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) stat64("/nix/store/wjdpcb8ffiiq74iyamdrn15kafnskhb0-ghcDev-7.9.20140510/lib", 0xbfb696c0) = -1 ENOENT (No such file or directory) open("/nix/store/wjdpcb8ffiiq74iyamdrn15kafnskhb0-ghcDev-7.9.20140510/lib/ghc-7.9.20140510/tls/i686/sse2/libncursesw.so.5", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) stat64("/nix/store/wjdpcb8ffiiq74iyamdrn15kafnskhb0-ghcDev-7.9.20140510/lib/ghc-7.9.20140510/tls/i686/sse2", 0xbfb696c0) = -1 ENOENT (No such file or directory) open("/nix/store/wjdpcb8ffiiq74iyamdrn15kafnskhb0-ghcDev-7.9.20140510/lib/ghc-7.9.20140510/tls/i686/libncursesw.so.5", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) stat64("/nix/store/wjdpcb8ffiiq74iyamdrn15kafnskhb0-ghcDev-7.9.20140510/lib/ghc-7.9.20140510/tls/i686", 0xbfb696c0) = -1 ENOENT (No such file or directory) open("/nix/store/wjdpcb8ffiiq74iyamdrn15kafnskhb0-ghcDev-7.9.20140510/lib/ghc-7.9.20140510/tls/sse2/libncursesw.so.5", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) stat64("/nix/store/wjdpcb8ffiiq74iyamdrn15kafnskhb0-ghcDev-7.9.20140510/lib/ghc-7.9.20140510/tls/sse2", 0xbfb696c0) = -1 ENOENT (No such file or directory) open("/nix/store/wjdpcb8ffiiq74iyamdrn15kafnskhb0-ghcDev-7.9.20140510/lib/ghc-7.9.20140510/tls/libncursesw.so.5", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) stat64("/nix/store/wjdpcb8ffiiq74iyamdrn15kafnskhb0-ghcDev-7.9.20140510/lib/ghc-7.9.20140510/tls", 0xbfb696c0) = -1 ENOENT (No such file or directory) open("/nix/store/wjdpcb8ffiiq74iyamdrn15kafnskhb0-ghcDev-7.9.20140510/lib/ghc-7.9.20140510/i686/sse2/libncursesw.so.5", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) stat64("/nix/store/wjdpcb8ffiiq74iyamdrn15kafnskhb0-ghcDev-7.9.20140510/lib/ghc-7.9.20140510/i686/sse2", 0xbfb696c0) = -1 ENOENT (No such file or directory) open("/nix/store/wjdpcb8ffiiq74iyamdrn15kafnskhb0-ghcDev-7.9.20140510/lib/ghc-7.9.20140510/i686/libncursesw.so.5", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) stat64("/nix/store/wjdpcb8ffiiq74iyamdrn15kafnskhb0-ghcDev-7.9.20140510/lib/ghc-7.9.20140510/i686", 0xbfb696c0) = -1 ENOENT (No such file or directory) open("/nix/store/wjdpcb8ffiiq74iyamdrn15kafnskhb0-ghcDev-7.9.20140510/lib/ghc-7.9.20140510/sse2/libncursesw.so.5", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) stat64("/nix/store/wjdpcb8ffiiq74iyamdrn15kafnskhb0-ghcDev-7.9.20140510/lib/ghc-7.9.20140510/sse2", 0xbfb696c0) = -1 ENOENT (No such file or directory) open("/nix/store/wjdpcb8ffiiq74iyamdrn15kafnskhb0-ghcDev-7.9.20140510/lib/ghc-7.9.20140510/libncursesw.so.5", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) stat64("/nix/store/wjdpcb8ffiiq74iyamdrn15kafnskhb0-ghcDev-7.9.20140510/lib/ghc-7.9.20140510", 0xbfb696c0) = -1 ENOENT (No such file or directory) open("/nix/store/qnkyas42nf0knps3va30y29y3zvmgy2v-gmp-5.1.3/lib/tls/i686/sse2/libncursesw.so.5", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) stat64("/nix/store/qnkyas42nf0knps3va30y29y3zvmgy2v-gmp-5.1.3/lib/tls/i686/sse2", 0xbfb696c0) = -1 ENOENT (No such file or directory) open("/nix/store/qnkyas42nf0knps3va30y29y3zvmgy2v-gmp-5.1.3/lib/tls/i686/libncursesw.so.5", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) stat64("/nix/store/qnkyas42nf0knps3va30y29y3zvmgy2v-gmp-5.1.3/lib/tls/i686", 0xbfb696c0) = -1 ENOENT (No such file or directory) open("/nix/store/qnkyas42nf0knps3va30y29y3zvmgy2v-gmp-5.1.3/lib/tls/sse2/libncursesw.so.5", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) stat64("/nix/store/qnkyas42nf0knps3va30y29y3zvmgy2v-gmp-5.1.3/lib/tls/sse2", 0xbfb696c0) = -1 ENOENT (No such file or directory) open("/nix/store/qnkyas42nf0knps3va30y29y3zvmgy2v-gmp-5.1.3/lib/tls/libncursesw.so.5", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) stat64("/nix/store/qnkyas42nf0knps3va30y29y3zvmgy2v-gmp-5.1.3/lib/tls", 0xbfb696c0) = -1 ENOENT (No such file or directory) open("/nix/store/qnkyas42nf0knps3va30y29y3zvmgy2v-gmp-5.1.3/lib/i686/sse2/libncursesw.so.5", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) stat64("/nix/store/qnkyas42nf0knps3va30y29y3zvmgy2v-gmp-5.1.3/lib/i686/sse2", 0xbfb696c0) = -1 ENOENT (No such file or directory) open("/nix/store/qnkyas42nf0knps3va30y29y3zvmgy2v-gmp-5.1.3/lib/i686/libncursesw.so.5", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) stat64("/nix/store/qnkyas42nf0knps3va30y29y3zvmgy2v-gmp-5.1.3/lib/i686", 0xbfb696c0) = -1 ENOENT (No such file or directory) open("/nix/store/qnkyas42nf0knps3va30y29y3zvmgy2v-gmp-5.1.3/lib/sse2/libncursesw.so.5", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) stat64("/nix/store/qnkyas42nf0knps3va30y29y3zvmgy2v-gmp-5.1.3/lib/sse2", 0xbfb696c0) = -1 ENOENT (No such file or directory) open("/nix/store/qnkyas42nf0knps3va30y29y3zvmgy2v-gmp-5.1.3/lib/libncursesw.so.5", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) stat64("/nix/store/qnkyas42nf0knps3va30y29y3zvmgy2v-gmp-5.1.3/lib", {st_mode=S_IFDIR|0555, st_size=4096, ...}) = 0 open("/nix/store/3v2029bmc8ay73sa9yn4yrgil5jf8l0c-ncurses-5.9/lib/tls/i686/sse2/libncursesw.so.5", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) stat64("/nix/store/3v2029bmc8ay73sa9yn4yrgil5jf8l0c-ncurses-5.9/lib/tls/i686/sse2", 0xbfb696c0) = -1 ENOENT (No such file or directory) open("/nix/store/3v2029bmc8ay73sa9yn4yrgil5jf8l0c-ncurses-5.9/lib/tls/i686/libncursesw.so.5", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) stat64("/nix/store/3v2029bmc8ay73sa9yn4yrgil5jf8l0c-ncurses-5.9/lib/tls/i686", 0xbfb696c0) = -1 ENOENT (No such file or directory) open("/nix/store/3v2029bmc8ay73sa9yn4yrgil5jf8l0c-ncurses-5.9/lib/tls/sse2/libncursesw.so.5", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) stat64("/nix/store/3v2029bmc8ay73sa9yn4yrgil5jf8l0c-ncurses-5.9/lib/tls/sse2", 0xbfb696c0) = -1 ENOENT (No such file or directory) open("/nix/store/3v2029bmc8ay73sa9yn4yrgil5jf8l0c-ncurses-5.9/lib/tls/libncursesw.so.5", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) stat64("/nix/store/3v2029bmc8ay73sa9yn4yrgil5jf8l0c-ncurses-5.9/lib/tls", 0xbfb696c0) = -1 ENOENT (No such file or directory) open("/nix/store/3v2029bmc8ay73sa9yn4yrgil5jf8l0c-ncurses-5.9/lib/i686/sse2/libncursesw.so.5", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) stat64("/nix/store/3v2029bmc8ay73sa9yn4yrgil5jf8l0c-ncurses-5.9/lib/i686/sse2", 0xbfb696c0) = -1 ENOENT (No such file or directory) open("/nix/store/3v2029bmc8ay73sa9yn4yrgil5jf8l0c-ncurses-5.9/lib/i686/libncursesw.so.5", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) stat64("/nix/store/3v2029bmc8ay73sa9yn4yrgil5jf8l0c-ncurses-5.9/lib/i686", 0xbfb696c0) = -1 ENOENT (No such file or directory) open("/nix/store/3v2029bmc8ay73sa9yn4yrgil5jf8l0c-ncurses-5.9/lib/sse2/libncursesw.so.5", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) stat64("/nix/store/3v2029bmc8ay73sa9yn4yrgil5jf8l0c-ncurses-5.9/lib/sse2", 0xbfb696c0) = -1 ENOENT (No such file or directory) open("/nix/store/3v2029bmc8ay73sa9yn4yrgil5jf8l0c-ncurses-5.9/lib/libncursesw.so.5", O_RDONLY|O_CLOEXEC) = 3 open("/home/shana/programming/ghc/libraries/haskeline/dist-install/build/librt.so.1", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/libraries/terminfo/dist-install/build/librt.so.1", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/compiler/stage2/build/librt.so.1", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/libraries/transformers/dist-install/build/librt.so.1", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/libraries/template-haskell/dist-install/build/librt.so.1", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/libraries/hpc/dist-install/build/librt.so.1", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/libraries/hoopl/dist-install/build/librt.so.1", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/libraries/bin-package-db/dist-install/build/librt.so.1", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/libraries/binary/dist-install/build/librt.so.1", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/libraries/Cabal/Cabal/dist-install/build/librt.so.1", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/libraries/process/dist-install/build/librt.so.1", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/libraries/pretty/dist-install/build/librt.so.1", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/libraries/directory/dist-install/build/librt.so.1", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/libraries/unix/dist-install/build/librt.so.1", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/libraries/time/dist-install/build/librt.so.1", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/libraries/old-locale/dist-install/build/librt.so.1", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/libraries/filepath/dist-install/build/librt.so.1", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/libraries/containers/dist-install/build/librt.so.1", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/libraries/bytestring/dist-install/build/librt.so.1", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/libraries/deepseq/dist-install/build/librt.so.1", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/libraries/array/dist-install/build/librt.so.1", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/libraries/base/dist-install/build/librt.so.1", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/libraries/integer-gmp/dist-install/build/librt.so.1", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/libraries/ghc-prim/dist-install/build/librt.so.1", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/rts/dist/build/librt.so.1", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) open("/run/opengl-driver/lib/tls/librt.so.1", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) open("/run/opengl-driver/lib/librt.so.1", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) open("/run/opengl-driver-32/lib/tls/librt.so.1", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) open("/run/opengl-driver-32/lib/librt.so.1", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) open("/nix/store/qnkyas42nf0knps3va30y29y3zvmgy2v-gmp-5.1.3/lib/librt.so.1", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) open("/nix/store/3v2029bmc8ay73sa9yn4yrgil5jf8l0c-ncurses-5.9/lib/librt.so.1", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) open("/nix/store/4v0a2fncxsk2f57jixq7i59k6hdl34fx-glibc-2.19/lib/tls/i686/sse2/librt.so.1", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) stat64("/nix/store/4v0a2fncxsk2f57jixq7i59k6hdl34fx-glibc-2.19/lib/tls/i686/sse2", 0xbfb696a0) = -1 ENOENT (No such file or directory) open("/nix/store/4v0a2fncxsk2f57jixq7i59k6hdl34fx-glibc-2.19/lib/tls/i686/librt.so.1", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) stat64("/nix/store/4v0a2fncxsk2f57jixq7i59k6hdl34fx-glibc-2.19/lib/tls/i686", 0xbfb696a0) = -1 ENOENT (No such file or directory) open("/nix/store/4v0a2fncxsk2f57jixq7i59k6hdl34fx-glibc-2.19/lib/tls/sse2/librt.so.1", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) stat64("/nix/store/4v0a2fncxsk2f57jixq7i59k6hdl34fx-glibc-2.19/lib/tls/sse2", 0xbfb696a0) = -1 ENOENT (No such file or directory) open("/nix/store/4v0a2fncxsk2f57jixq7i59k6hdl34fx-glibc-2.19/lib/tls/librt.so.1", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) stat64("/nix/store/4v0a2fncxsk2f57jixq7i59k6hdl34fx-glibc-2.19/lib/tls", 0xbfb696a0) = -1 ENOENT (No such file or directory) open("/nix/store/4v0a2fncxsk2f57jixq7i59k6hdl34fx-glibc-2.19/lib/i686/sse2/librt.so.1", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) stat64("/nix/store/4v0a2fncxsk2f57jixq7i59k6hdl34fx-glibc-2.19/lib/i686/sse2", 0xbfb696a0) = -1 ENOENT (No such file or directory) open("/nix/store/4v0a2fncxsk2f57jixq7i59k6hdl34fx-glibc-2.19/lib/i686/librt.so.1", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) stat64("/nix/store/4v0a2fncxsk2f57jixq7i59k6hdl34fx-glibc-2.19/lib/i686", 0xbfb696a0) = -1 ENOENT (No such file or directory) open("/nix/store/4v0a2fncxsk2f57jixq7i59k6hdl34fx-glibc-2.19/lib/sse2/librt.so.1", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) stat64("/nix/store/4v0a2fncxsk2f57jixq7i59k6hdl34fx-glibc-2.19/lib/sse2", 0xbfb696a0) = -1 ENOENT (No such file or directory) open("/nix/store/4v0a2fncxsk2f57jixq7i59k6hdl34fx-glibc-2.19/lib/librt.so.1", O_RDONLY|O_CLOEXEC) = 3 open("/home/shana/programming/ghc/libraries/haskeline/dist-install/build/libutil.so.1", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/libraries/terminfo/dist-install/build/libutil.so.1", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/compiler/stage2/build/libutil.so.1", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/libraries/transformers/dist-install/build/libutil.so.1", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/libraries/template-haskell/dist-install/build/libutil.so.1", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/libraries/hpc/dist-install/build/libutil.so.1", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/libraries/hoopl/dist-install/build/libutil.so.1", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/libraries/bin-package-db/dist-install/build/libutil.so.1", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/libraries/binary/dist-install/build/libutil.so.1", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/libraries/Cabal/Cabal/dist-install/build/libutil.so.1", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/libraries/process/dist-install/build/libutil.so.1", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/libraries/pretty/dist-install/build/libutil.so.1", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/libraries/directory/dist-install/build/libutil.so.1", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/libraries/unix/dist-install/build/libutil.so.1", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/libraries/time/dist-install/build/libutil.so.1", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/libraries/old-locale/dist-install/build/libutil.so.1", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/libraries/filepath/dist-install/build/libutil.so.1", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/libraries/containers/dist-install/build/libutil.so.1", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/libraries/bytestring/dist-install/build/libutil.so.1", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/libraries/deepseq/dist-install/build/libutil.so.1", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/libraries/array/dist-install/build/libutil.so.1", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/libraries/base/dist-install/build/libutil.so.1", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/libraries/integer-gmp/dist-install/build/libutil.so.1", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/libraries/ghc-prim/dist-install/build/libutil.so.1", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/rts/dist/build/libutil.so.1", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) open("/run/opengl-driver/lib/tls/libutil.so.1", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) open("/run/opengl-driver/lib/libutil.so.1", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) open("/run/opengl-driver-32/lib/tls/libutil.so.1", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) open("/run/opengl-driver-32/lib/libutil.so.1", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) open("/nix/store/qnkyas42nf0knps3va30y29y3zvmgy2v-gmp-5.1.3/lib/libutil.so.1", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) open("/nix/store/3v2029bmc8ay73sa9yn4yrgil5jf8l0c-ncurses-5.9/lib/libutil.so.1", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) open("/nix/store/4v0a2fncxsk2f57jixq7i59k6hdl34fx-glibc-2.19/lib/libutil.so.1", O_RDONLY|O_CLOEXEC) = 3 open("/home/shana/programming/ghc/libraries/haskeline/dist-install/build/libdl.so.2", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/libraries/terminfo/dist-install/build/libdl.so.2", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/compiler/stage2/build/libdl.so.2", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/libraries/transformers/dist-install/build/libdl.so.2", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/libraries/template-haskell/dist-install/build/libdl.so.2", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/libraries/hpc/dist-install/build/libdl.so.2", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/libraries/hoopl/dist-install/build/libdl.so.2", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/libraries/bin-package-db/dist-install/build/libdl.so.2", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/libraries/binary/dist-install/build/libdl.so.2", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/libraries/Cabal/Cabal/dist-install/build/libdl.so.2", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/libraries/process/dist-install/build/libdl.so.2", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/libraries/pretty/dist-install/build/libdl.so.2", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/libraries/directory/dist-install/build/libdl.so.2", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/libraries/unix/dist-install/build/libdl.so.2", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/libraries/time/dist-install/build/libdl.so.2", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/libraries/old-locale/dist-install/build/libdl.so.2", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/libraries/filepath/dist-install/build/libdl.so.2", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/libraries/containers/dist-install/build/libdl.so.2", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/libraries/bytestring/dist-install/build/libdl.so.2", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/libraries/deepseq/dist-install/build/libdl.so.2", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/libraries/array/dist-install/build/libdl.so.2", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/libraries/base/dist-install/build/libdl.so.2", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/libraries/integer-gmp/dist-install/build/libdl.so.2", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/libraries/ghc-prim/dist-install/build/libdl.so.2", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/rts/dist/build/libdl.so.2", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) open("/run/opengl-driver/lib/tls/libdl.so.2", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) open("/run/opengl-driver/lib/libdl.so.2", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) open("/run/opengl-driver-32/lib/tls/libdl.so.2", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) open("/run/opengl-driver-32/lib/libdl.so.2", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) open("/nix/store/qnkyas42nf0knps3va30y29y3zvmgy2v-gmp-5.1.3/lib/libdl.so.2", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) open("/nix/store/3v2029bmc8ay73sa9yn4yrgil5jf8l0c-ncurses-5.9/lib/libdl.so.2", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) open("/nix/store/4v0a2fncxsk2f57jixq7i59k6hdl34fx-glibc-2.19/lib/libdl.so.2", O_RDONLY|O_CLOEXEC) = 3 open("/home/shana/programming/ghc/libraries/haskeline/dist-install/build/libgmp.so.10", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/libraries/terminfo/dist-install/build/libgmp.so.10", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/compiler/stage2/build/libgmp.so.10", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/libraries/transformers/dist-install/build/libgmp.so.10", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/libraries/template-haskell/dist-install/build/libgmp.so.10", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/libraries/hpc/dist-install/build/libgmp.so.10", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/libraries/hoopl/dist-install/build/libgmp.so.10", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/libraries/bin-package-db/dist-install/build/libgmp.so.10", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/libraries/binary/dist-install/build/libgmp.so.10", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/libraries/Cabal/Cabal/dist-install/build/libgmp.so.10", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/libraries/process/dist-install/build/libgmp.so.10", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/libraries/pretty/dist-install/build/libgmp.so.10", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/libraries/directory/dist-install/build/libgmp.so.10", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/libraries/unix/dist-install/build/libgmp.so.10", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/libraries/time/dist-install/build/libgmp.so.10", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/libraries/old-locale/dist-install/build/libgmp.so.10", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/libraries/filepath/dist-install/build/libgmp.so.10", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/libraries/containers/dist-install/build/libgmp.so.10", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/libraries/bytestring/dist-install/build/libgmp.so.10", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/libraries/deepseq/dist-install/build/libgmp.so.10", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/libraries/array/dist-install/build/libgmp.so.10", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/libraries/base/dist-install/build/libgmp.so.10", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/libraries/integer-gmp/dist-install/build/libgmp.so.10", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/libraries/ghc-prim/dist-install/build/libgmp.so.10", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/rts/dist/build/libgmp.so.10", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) open("/run/opengl-driver/lib/tls/libgmp.so.10", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) open("/run/opengl-driver/lib/libgmp.so.10", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) open("/run/opengl-driver-32/lib/tls/libgmp.so.10", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) open("/run/opengl-driver-32/lib/libgmp.so.10", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) open("/nix/store/qnkyas42nf0knps3va30y29y3zvmgy2v-gmp-5.1.3/lib/libgmp.so.10", O_RDONLY|O_CLOEXEC) = 3 open("/home/shana/programming/ghc/libraries/haskeline/dist-install/build/libm.so.6", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/libraries/terminfo/dist-install/build/libm.so.6", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/compiler/stage2/build/libm.so.6", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/libraries/transformers/dist-install/build/libm.so.6", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/libraries/template-haskell/dist-install/build/libm.so.6", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/libraries/hpc/dist-install/build/libm.so.6", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/libraries/hoopl/dist-install/build/libm.so.6", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/libraries/bin-package-db/dist-install/build/libm.so.6", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/libraries/binary/dist-install/build/libm.so.6", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/libraries/Cabal/Cabal/dist-install/build/libm.so.6", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/libraries/process/dist-install/build/libm.so.6", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/libraries/pretty/dist-install/build/libm.so.6", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/libraries/directory/dist-install/build/libm.so.6", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/libraries/unix/dist-install/build/libm.so.6", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/libraries/time/dist-install/build/libm.so.6", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/libraries/old-locale/dist-install/build/libm.so.6", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/libraries/filepath/dist-install/build/libm.so.6", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/libraries/containers/dist-install/build/libm.so.6", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/libraries/bytestring/dist-install/build/libm.so.6", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/libraries/deepseq/dist-install/build/libm.so.6", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/libraries/array/dist-install/build/libm.so.6", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/libraries/base/dist-install/build/libm.so.6", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/libraries/integer-gmp/dist-install/build/libm.so.6", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/libraries/ghc-prim/dist-install/build/libm.so.6", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/rts/dist/build/libm.so.6", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) open("/run/opengl-driver/lib/tls/libm.so.6", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) open("/run/opengl-driver/lib/libm.so.6", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) open("/run/opengl-driver-32/lib/tls/libm.so.6", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) open("/run/opengl-driver-32/lib/libm.so.6", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) open("/nix/store/qnkyas42nf0knps3va30y29y3zvmgy2v-gmp-5.1.3/lib/libm.so.6", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) open("/nix/store/3v2029bmc8ay73sa9yn4yrgil5jf8l0c-ncurses-5.9/lib/libm.so.6", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) open("/nix/store/4v0a2fncxsk2f57jixq7i59k6hdl34fx-glibc-2.19/lib/libm.so.6", O_RDONLY|O_CLOEXEC) = 3 open("/home/shana/programming/ghc/libraries/haskeline/dist-install/build/libHShaskeline-0.7.1.2-ghc7.9.20140510.so", O_RDONLY|O_CLOEXEC) = 3 open("/home/shana/programming/ghc/libraries/haskeline/dist-install/build/libHSterminfo-0.4.0.0-ghc7.9.20140510.so", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/libraries/terminfo/dist-install/build/libHSterminfo-0.4.0.0-ghc7.9.20140510.so", O_RDONLY|O_CLOEXEC) = 3 open("/home/shana/programming/ghc/libraries/haskeline/dist-install/build/libHSghc-7.9.20140510-ghc7.9.20140510.so", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/libraries/terminfo/dist-install/build/libHSghc-7.9.20140510-ghc7.9.20140510.so", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/compiler/stage2/build/libHSghc-7.9.20140510-ghc7.9.20140510.so", O_RDONLY|O_CLOEXEC) = 3 open("/home/shana/programming/ghc/libraries/haskeline/dist-install/build/libHStransformers-0.4.0.0-ghc7.9.20140510.so", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/libraries/terminfo/dist-install/build/libHStransformers-0.4.0.0-ghc7.9.20140510.so", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/compiler/stage2/build/libHStransformers-0.4.0.0-ghc7.9.20140510.so", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/libraries/transformers/dist-install/build/libHStransformers-0.4.0.0-ghc7.9.20140510.so", O_RDONLY|O_CLOEXEC) = 3 open("/home/shana/programming/ghc/libraries/haskeline/dist-install/build/libHStemplate-haskell-2.10.0.0-ghc7.9.20140510.so", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/libraries/terminfo/dist-install/build/libHStemplate-haskell-2.10.0.0-ghc7.9.20140510.so", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/compiler/stage2/build/libHStemplate-haskell-2.10.0.0-ghc7.9.20140510.so", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/libraries/transformers/dist-install/build/libHStemplate-haskell-2.10.0.0-ghc7.9.20140510.so", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/libraries/template-haskell/dist-install/build/libHStemplate-haskell-2.10.0.0-ghc7.9.20140510.so", O_RDONLY|O_CLOEXEC) = 3 open("/home/shana/programming/ghc/libraries/haskeline/dist-install/build/libHShpc-0.6.0.1-ghc7.9.20140510.so", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/libraries/terminfo/dist-install/build/libHShpc-0.6.0.1-ghc7.9.20140510.so", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/compiler/stage2/build/libHShpc-0.6.0.1-ghc7.9.20140510.so", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/libraries/transformers/dist-install/build/libHShpc-0.6.0.1-ghc7.9.20140510.so", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/libraries/template-haskell/dist-install/build/libHShpc-0.6.0.1-ghc7.9.20140510.so", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/libraries/hpc/dist-install/build/libHShpc-0.6.0.1-ghc7.9.20140510.so", O_RDONLY|O_CLOEXEC) = 3 open("/home/shana/programming/ghc/libraries/haskeline/dist-install/build/libHShoopl-3.10.0.1-ghc7.9.20140510.so", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/libraries/terminfo/dist-install/build/libHShoopl-3.10.0.1-ghc7.9.20140510.so", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/compiler/stage2/build/libHShoopl-3.10.0.1-ghc7.9.20140510.so", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/libraries/transformers/dist-install/build/libHShoopl-3.10.0.1-ghc7.9.20140510.so", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/libraries/template-haskell/dist-install/build/libHShoopl-3.10.0.1-ghc7.9.20140510.so", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/libraries/hpc/dist-install/build/libHShoopl-3.10.0.1-ghc7.9.20140510.so", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/libraries/hoopl/dist-install/build/libHShoopl-3.10.0.1-ghc7.9.20140510.so", O_RDONLY|O_CLOEXEC) = 3 open("/home/shana/programming/ghc/libraries/haskeline/dist-install/build/libHSbin-package-db-0.0.0.0-ghc7.9.20140510.so", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/libraries/terminfo/dist-install/build/libHSbin-package-db-0.0.0.0-ghc7.9.20140510.so", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/compiler/stage2/build/libHSbin-package-db-0.0.0.0-ghc7.9.20140510.so", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/libraries/transformers/dist-install/build/libHSbin-package-db-0.0.0.0-ghc7.9.20140510.so", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/libraries/template-haskell/dist-install/build/libHSbin-package-db-0.0.0.0-ghc7.9.20140510.so", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/libraries/hpc/dist-install/build/libHSbin-package-db-0.0.0.0-ghc7.9.20140510.so", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/libraries/hoopl/dist-install/build/libHSbin-package-db-0.0.0.0-ghc7.9.20140510.so", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/libraries/bin-package-db/dist-install/build/libHSbin-package-db-0.0.0.0-ghc7.9.20140510.so", O_RDONLY|O_CLOEXEC) = 3 open("/home/shana/programming/ghc/libraries/haskeline/dist-install/build/libHSbinary-0.7.1.0-ghc7.9.20140510.so", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/libraries/terminfo/dist-install/build/libHSbinary-0.7.1.0-ghc7.9.20140510.so", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/compiler/stage2/build/libHSbinary-0.7.1.0-ghc7.9.20140510.so", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/libraries/transformers/dist-install/build/libHSbinary-0.7.1.0-ghc7.9.20140510.so", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/libraries/template-haskell/dist-install/build/libHSbinary-0.7.1.0-ghc7.9.20140510.so", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/libraries/hpc/dist-install/build/libHSbinary-0.7.1.0-ghc7.9.20140510.so", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/libraries/hoopl/dist-install/build/libHSbinary-0.7.1.0-ghc7.9.20140510.so", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/libraries/bin-package-db/dist-install/build/libHSbinary-0.7.1.0-ghc7.9.20140510.so", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/libraries/binary/dist-install/build/libHSbinary-0.7.1.0-ghc7.9.20140510.so", O_RDONLY|O_CLOEXEC) = 3 open("/home/shana/programming/ghc/libraries/haskeline/dist-install/build/libHSCabal-1.20.0.0-ghc7.9.20140510.so", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/libraries/terminfo/dist-install/build/libHSCabal-1.20.0.0-ghc7.9.20140510.so", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/compiler/stage2/build/libHSCabal-1.20.0.0-ghc7.9.20140510.so", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/libraries/transformers/dist-install/build/libHSCabal-1.20.0.0-ghc7.9.20140510.so", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/libraries/template-haskell/dist-install/build/libHSCabal-1.20.0.0-ghc7.9.20140510.so", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/libraries/hpc/dist-install/build/libHSCabal-1.20.0.0-ghc7.9.20140510.so", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/libraries/hoopl/dist-install/build/libHSCabal-1.20.0.0-ghc7.9.20140510.so", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/libraries/bin-package-db/dist-install/build/libHSCabal-1.20.0.0-ghc7.9.20140510.so", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/libraries/binary/dist-install/build/libHSCabal-1.20.0.0-ghc7.9.20140510.so", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/libraries/Cabal/Cabal/dist-install/build/libHSCabal-1.20.0.0-ghc7.9.20140510.so", O_RDONLY|O_CLOEXEC) = 3 open("/home/shana/programming/ghc/libraries/haskeline/dist-install/build/libHSprocess-1.2.0.0-ghc7.9.20140510.so", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/libraries/terminfo/dist-install/build/libHSprocess-1.2.0.0-ghc7.9.20140510.so", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/compiler/stage2/build/libHSprocess-1.2.0.0-ghc7.9.20140510.so", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/libraries/transformers/dist-install/build/libHSprocess-1.2.0.0-ghc7.9.20140510.so", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/libraries/template-haskell/dist-install/build/libHSprocess-1.2.0.0-ghc7.9.20140510.so", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/libraries/hpc/dist-install/build/libHSprocess-1.2.0.0-ghc7.9.20140510.so", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/libraries/hoopl/dist-install/build/libHSprocess-1.2.0.0-ghc7.9.20140510.so", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/libraries/bin-package-db/dist-install/build/libHSprocess-1.2.0.0-ghc7.9.20140510.so", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/libraries/binary/dist-install/build/libHSprocess-1.2.0.0-ghc7.9.20140510.so", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/libraries/Cabal/Cabal/dist-install/build/libHSprocess-1.2.0.0-ghc7.9.20140510.so", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/libraries/process/dist-install/build/libHSprocess-1.2.0.0-ghc7.9.20140510.so", O_RDONLY|O_CLOEXEC) = 3 open("/home/shana/programming/ghc/libraries/haskeline/dist-install/build/libHSpretty-1.1.1.1-ghc7.9.20140510.so", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/libraries/terminfo/dist-install/build/libHSpretty-1.1.1.1-ghc7.9.20140510.so", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/compiler/stage2/build/libHSpretty-1.1.1.1-ghc7.9.20140510.so", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/libraries/transformers/dist-install/build/libHSpretty-1.1.1.1-ghc7.9.20140510.so", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/libraries/template-haskell/dist-install/build/libHSpretty-1.1.1.1-ghc7.9.20140510.so", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/libraries/hpc/dist-install/build/libHSpretty-1.1.1.1-ghc7.9.20140510.so", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/libraries/hoopl/dist-install/build/libHSpretty-1.1.1.1-ghc7.9.20140510.so", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/libraries/bin-package-db/dist-install/build/libHSpretty-1.1.1.1-ghc7.9.20140510.so", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/libraries/binary/dist-install/build/libHSpretty-1.1.1.1-ghc7.9.20140510.so", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/libraries/Cabal/Cabal/dist-install/build/libHSpretty-1.1.1.1-ghc7.9.20140510.so", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/libraries/process/dist-install/build/libHSpretty-1.1.1.1-ghc7.9.20140510.so", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/libraries/pretty/dist-install/build/libHSpretty-1.1.1.1-ghc7.9.20140510.so", O_RDONLY|O_CLOEXEC) = 3 open("/home/shana/programming/ghc/libraries/haskeline/dist-install/build/libHScontainers-0.5.5.1-ghc7.9.20140510.so", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/libraries/terminfo/dist-install/build/libHScontainers-0.5.5.1-ghc7.9.20140510.so", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/compiler/stage2/build/libHScontainers-0.5.5.1-ghc7.9.20140510.so", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/libraries/transformers/dist-install/build/libHScontainers-0.5.5.1-ghc7.9.20140510.so", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/libraries/template-haskell/dist-install/build/libHScontainers-0.5.5.1-ghc7.9.20140510.so", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/libraries/hpc/dist-install/build/libHScontainers-0.5.5.1-ghc7.9.20140510.so", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/libraries/hoopl/dist-install/build/libHScontainers-0.5.5.1-ghc7.9.20140510.so", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/libraries/bin-package-db/dist-install/build/libHScontainers-0.5.5.1-ghc7.9.20140510.so", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/libraries/binary/dist-install/build/libHScontainers-0.5.5.1-ghc7.9.20140510.so", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/libraries/Cabal/Cabal/dist-install/build/libHScontainers-0.5.5.1-ghc7.9.20140510.so", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/libraries/process/dist-install/build/libHScontainers-0.5.5.1-ghc7.9.20140510.so", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/libraries/pretty/dist-install/build/libHScontainers-0.5.5.1-ghc7.9.20140510.so", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/libraries/directory/dist-install/build/libHScontainers-0.5.5.1-ghc7.9.20140510.so", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/libraries/unix/dist-install/build/libHScontainers-0.5.5.1-ghc7.9.20140510.so", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/libraries/time/dist-install/build/libHScontainers-0.5.5.1-ghc7.9.20140510.so", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/libraries/old-locale/dist-install/build/libHScontainers-0.5.5.1-ghc7.9.20140510.so", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/libraries/filepath/dist-install/build/libHScontainers-0.5.5.1-ghc7.9.20140510.so", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/libraries/containers/dist-install/build/libHScontainers-0.5.5.1-ghc7.9.20140510.so", O_RDONLY|O_CLOEXEC) = 3 open("/home/shana/programming/ghc/libraries/haskeline/dist-install/build/libHSdirectory-1.2.1.0-ghc7.9.20140510.so", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/libraries/terminfo/dist-install/build/libHSdirectory-1.2.1.0-ghc7.9.20140510.so", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/compiler/stage2/build/libHSdirectory-1.2.1.0-ghc7.9.20140510.so", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/libraries/transformers/dist-install/build/libHSdirectory-1.2.1.0-ghc7.9.20140510.so", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/libraries/template-haskell/dist-install/build/libHSdirectory-1.2.1.0-ghc7.9.20140510.so", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/libraries/hpc/dist-install/build/libHSdirectory-1.2.1.0-ghc7.9.20140510.so", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/libraries/hoopl/dist-install/build/libHSdirectory-1.2.1.0-ghc7.9.20140510.so", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/libraries/bin-package-db/dist-install/build/libHSdirectory-1.2.1.0-ghc7.9.20140510.so", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/libraries/binary/dist-install/build/libHSdirectory-1.2.1.0-ghc7.9.20140510.so", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/libraries/Cabal/Cabal/dist-install/build/libHSdirectory-1.2.1.0-ghc7.9.20140510.so", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/libraries/process/dist-install/build/libHSdirectory-1.2.1.0-ghc7.9.20140510.so", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/libraries/pretty/dist-install/build/libHSdirectory-1.2.1.0-ghc7.9.20140510.so", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/libraries/directory/dist-install/build/libHSdirectory-1.2.1.0-ghc7.9.20140510.so", O_RDONLY|O_CLOEXEC) = 3 open("/home/shana/programming/ghc/libraries/haskeline/dist-install/build/libHSunix-2.7.0.1-ghc7.9.20140510.so", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/libraries/terminfo/dist-install/build/libHSunix-2.7.0.1-ghc7.9.20140510.so", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/compiler/stage2/build/libHSunix-2.7.0.1-ghc7.9.20140510.so", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/libraries/transformers/dist-install/build/libHSunix-2.7.0.1-ghc7.9.20140510.so", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/libraries/template-haskell/dist-install/build/libHSunix-2.7.0.1-ghc7.9.20140510.so", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/libraries/hpc/dist-install/build/libHSunix-2.7.0.1-ghc7.9.20140510.so", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/libraries/hoopl/dist-install/build/libHSunix-2.7.0.1-ghc7.9.20140510.so", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/libraries/bin-package-db/dist-install/build/libHSunix-2.7.0.1-ghc7.9.20140510.so", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/libraries/binary/dist-install/build/libHSunix-2.7.0.1-ghc7.9.20140510.so", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/libraries/Cabal/Cabal/dist-install/build/libHSunix-2.7.0.1-ghc7.9.20140510.so", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/libraries/process/dist-install/build/libHSunix-2.7.0.1-ghc7.9.20140510.so", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/libraries/pretty/dist-install/build/libHSunix-2.7.0.1-ghc7.9.20140510.so", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/libraries/directory/dist-install/build/libHSunix-2.7.0.1-ghc7.9.20140510.so", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/libraries/unix/dist-install/build/libHSunix-2.7.0.1-ghc7.9.20140510.so", O_RDONLY|O_CLOEXEC) = 3 open("/home/shana/programming/ghc/libraries/haskeline/dist-install/build/libHStime-1.4.2-ghc7.9.20140510.so", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/libraries/terminfo/dist-install/build/libHStime-1.4.2-ghc7.9.20140510.so", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/compiler/stage2/build/libHStime-1.4.2-ghc7.9.20140510.so", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/libraries/transformers/dist-install/build/libHStime-1.4.2-ghc7.9.20140510.so", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/libraries/template-haskell/dist-install/build/libHStime-1.4.2-ghc7.9.20140510.so", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/libraries/hpc/dist-install/build/libHStime-1.4.2-ghc7.9.20140510.so", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/libraries/hoopl/dist-install/build/libHStime-1.4.2-ghc7.9.20140510.so", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/libraries/bin-package-db/dist-install/build/libHStime-1.4.2-ghc7.9.20140510.so", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/libraries/binary/dist-install/build/libHStime-1.4.2-ghc7.9.20140510.so", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/libraries/Cabal/Cabal/dist-install/build/libHStime-1.4.2-ghc7.9.20140510.so", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/libraries/process/dist-install/build/libHStime-1.4.2-ghc7.9.20140510.so", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/libraries/pretty/dist-install/build/libHStime-1.4.2-ghc7.9.20140510.so", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/libraries/directory/dist-install/build/libHStime-1.4.2-ghc7.9.20140510.so", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/libraries/unix/dist-install/build/libHStime-1.4.2-ghc7.9.20140510.so", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/libraries/time/dist-install/build/libHStime-1.4.2-ghc7.9.20140510.so", O_RDONLY|O_CLOEXEC) = 3 open("/home/shana/programming/ghc/libraries/haskeline/dist-install/build/libHSold-locale-1.0.0.6-ghc7.9.20140510.so", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/libraries/terminfo/dist-install/build/libHSold-locale-1.0.0.6-ghc7.9.20140510.so", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/compiler/stage2/build/libHSold-locale-1.0.0.6-ghc7.9.20140510.so", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/libraries/transformers/dist-install/build/libHSold-locale-1.0.0.6-ghc7.9.20140510.so", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/libraries/template-haskell/dist-install/build/libHSold-locale-1.0.0.6-ghc7.9.20140510.so", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/libraries/hpc/dist-install/build/libHSold-locale-1.0.0.6-ghc7.9.20140510.so", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/libraries/hoopl/dist-install/build/libHSold-locale-1.0.0.6-ghc7.9.20140510.so", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/libraries/bin-package-db/dist-install/build/libHSold-locale-1.0.0.6-ghc7.9.20140510.so", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/libraries/binary/dist-install/build/libHSold-locale-1.0.0.6-ghc7.9.20140510.so", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/libraries/Cabal/Cabal/dist-install/build/libHSold-locale-1.0.0.6-ghc7.9.20140510.so", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/libraries/process/dist-install/build/libHSold-locale-1.0.0.6-ghc7.9.20140510.so", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/libraries/pretty/dist-install/build/libHSold-locale-1.0.0.6-ghc7.9.20140510.so", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/libraries/directory/dist-install/build/libHSold-locale-1.0.0.6-ghc7.9.20140510.so", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/libraries/unix/dist-install/build/libHSold-locale-1.0.0.6-ghc7.9.20140510.so", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/libraries/time/dist-install/build/libHSold-locale-1.0.0.6-ghc7.9.20140510.so", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/libraries/old-locale/dist-install/build/libHSold-locale-1.0.0.6-ghc7.9.20140510.so", O_RDONLY|O_CLOEXEC) = 3 open("/home/shana/programming/ghc/libraries/haskeline/dist-install/build/libHSfilepath-1.3.0.2-ghc7.9.20140510.so", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/libraries/terminfo/dist-install/build/libHSfilepath-1.3.0.2-ghc7.9.20140510.so", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/compiler/stage2/build/libHSfilepath-1.3.0.2-ghc7.9.20140510.so", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/libraries/transformers/dist-install/build/libHSfilepath-1.3.0.2-ghc7.9.20140510.so", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/libraries/template-haskell/dist-install/build/libHSfilepath-1.3.0.2-ghc7.9.20140510.so", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/libraries/hpc/dist-install/build/libHSfilepath-1.3.0.2-ghc7.9.20140510.so", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/libraries/hoopl/dist-install/build/libHSfilepath-1.3.0.2-ghc7.9.20140510.so", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/libraries/bin-package-db/dist-install/build/libHSfilepath-1.3.0.2-ghc7.9.20140510.so", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/libraries/binary/dist-install/build/libHSfilepath-1.3.0.2-ghc7.9.20140510.so", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/libraries/Cabal/Cabal/dist-install/build/libHSfilepath-1.3.0.2-ghc7.9.20140510.so", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/libraries/process/dist-install/build/libHSfilepath-1.3.0.2-ghc7.9.20140510.so", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/libraries/pretty/dist-install/build/libHSfilepath-1.3.0.2-ghc7.9.20140510.so", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/libraries/directory/dist-install/build/libHSfilepath-1.3.0.2-ghc7.9.20140510.so", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/libraries/unix/dist-install/build/libHSfilepath-1.3.0.2-ghc7.9.20140510.so", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/libraries/time/dist-install/build/libHSfilepath-1.3.0.2-ghc7.9.20140510.so", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/libraries/old-locale/dist-install/build/libHSfilepath-1.3.0.2-ghc7.9.20140510.so", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/libraries/filepath/dist-install/build/libHSfilepath-1.3.0.2-ghc7.9.20140510.so", O_RDONLY|O_CLOEXEC) = 3 open("/home/shana/programming/ghc/libraries/haskeline/dist-install/build/libHSbytestring-0.10.4.0-ghc7.9.20140510.so", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/libraries/terminfo/dist-install/build/libHSbytestring-0.10.4.0-ghc7.9.20140510.so", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/compiler/stage2/build/libHSbytestring-0.10.4.0-ghc7.9.20140510.so", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/libraries/transformers/dist-install/build/libHSbytestring-0.10.4.0-ghc7.9.20140510.so", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/libraries/template-haskell/dist-install/build/libHSbytestring-0.10.4.0-ghc7.9.20140510.so", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/libraries/hpc/dist-install/build/libHSbytestring-0.10.4.0-ghc7.9.20140510.so", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/libraries/hoopl/dist-install/build/libHSbytestring-0.10.4.0-ghc7.9.20140510.so", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/libraries/bin-package-db/dist-install/build/libHSbytestring-0.10.4.0-ghc7.9.20140510.so", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/libraries/binary/dist-install/build/libHSbytestring-0.10.4.0-ghc7.9.20140510.so", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/libraries/Cabal/Cabal/dist-install/build/libHSbytestring-0.10.4.0-ghc7.9.20140510.so", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/libraries/process/dist-install/build/libHSbytestring-0.10.4.0-ghc7.9.20140510.so", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/libraries/pretty/dist-install/build/libHSbytestring-0.10.4.0-ghc7.9.20140510.so", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/libraries/directory/dist-install/build/libHSbytestring-0.10.4.0-ghc7.9.20140510.so", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/libraries/unix/dist-install/build/libHSbytestring-0.10.4.0-ghc7.9.20140510.so", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/libraries/time/dist-install/build/libHSbytestring-0.10.4.0-ghc7.9.20140510.so", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/libraries/old-locale/dist-install/build/libHSbytestring-0.10.4.0-ghc7.9.20140510.so", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/libraries/filepath/dist-install/build/libHSbytestring-0.10.4.0-ghc7.9.20140510.so", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/libraries/containers/dist-install/build/libHSbytestring-0.10.4.0-ghc7.9.20140510.so", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/libraries/bytestring/dist-install/build/libHSbytestring-0.10.4.0-ghc7.9.20140510.so", O_RDONLY|O_CLOEXEC) = 3 open("/home/shana/programming/ghc/libraries/haskeline/dist-install/build/libHSdeepseq-1.3.0.2-ghc7.9.20140510.so", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/libraries/terminfo/dist-install/build/libHSdeepseq-1.3.0.2-ghc7.9.20140510.so", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/compiler/stage2/build/libHSdeepseq-1.3.0.2-ghc7.9.20140510.so", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/libraries/transformers/dist-install/build/libHSdeepseq-1.3.0.2-ghc7.9.20140510.so", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/libraries/template-haskell/dist-install/build/libHSdeepseq-1.3.0.2-ghc7.9.20140510.so", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/libraries/hpc/dist-install/build/libHSdeepseq-1.3.0.2-ghc7.9.20140510.so", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/libraries/hoopl/dist-install/build/libHSdeepseq-1.3.0.2-ghc7.9.20140510.so", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/libraries/bin-package-db/dist-install/build/libHSdeepseq-1.3.0.2-ghc7.9.20140510.so", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/libraries/binary/dist-install/build/libHSdeepseq-1.3.0.2-ghc7.9.20140510.so", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/libraries/Cabal/Cabal/dist-install/build/libHSdeepseq-1.3.0.2-ghc7.9.20140510.so", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/libraries/process/dist-install/build/libHSdeepseq-1.3.0.2-ghc7.9.20140510.so", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/libraries/pretty/dist-install/build/libHSdeepseq-1.3.0.2-ghc7.9.20140510.so", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/libraries/directory/dist-install/build/libHSdeepseq-1.3.0.2-ghc7.9.20140510.so", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/libraries/unix/dist-install/build/libHSdeepseq-1.3.0.2-ghc7.9.20140510.so", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/libraries/time/dist-install/build/libHSdeepseq-1.3.0.2-ghc7.9.20140510.so", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/libraries/old-locale/dist-install/build/libHSdeepseq-1.3.0.2-ghc7.9.20140510.so", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/libraries/filepath/dist-install/build/libHSdeepseq-1.3.0.2-ghc7.9.20140510.so", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/libraries/containers/dist-install/build/libHSdeepseq-1.3.0.2-ghc7.9.20140510.so", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/libraries/bytestring/dist-install/build/libHSdeepseq-1.3.0.2-ghc7.9.20140510.so", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/libraries/deepseq/dist-install/build/libHSdeepseq-1.3.0.2-ghc7.9.20140510.so", O_RDONLY|O_CLOEXEC) = 3 open("/home/shana/programming/ghc/libraries/haskeline/dist-install/build/libHSarray-0.5.0.0-ghc7.9.20140510.so", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/libraries/terminfo/dist-install/build/libHSarray-0.5.0.0-ghc7.9.20140510.so", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/compiler/stage2/build/libHSarray-0.5.0.0-ghc7.9.20140510.so", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/libraries/transformers/dist-install/build/libHSarray-0.5.0.0-ghc7.9.20140510.so", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/libraries/template-haskell/dist-install/build/libHSarray-0.5.0.0-ghc7.9.20140510.so", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/libraries/hpc/dist-install/build/libHSarray-0.5.0.0-ghc7.9.20140510.so", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/libraries/hoopl/dist-install/build/libHSarray-0.5.0.0-ghc7.9.20140510.so", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/libraries/bin-package-db/dist-install/build/libHSarray-0.5.0.0-ghc7.9.20140510.so", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/libraries/binary/dist-install/build/libHSarray-0.5.0.0-ghc7.9.20140510.so", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/libraries/Cabal/Cabal/dist-install/build/libHSarray-0.5.0.0-ghc7.9.20140510.so", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/libraries/process/dist-install/build/libHSarray-0.5.0.0-ghc7.9.20140510.so", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/libraries/pretty/dist-install/build/libHSarray-0.5.0.0-ghc7.9.20140510.so", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/libraries/directory/dist-install/build/libHSarray-0.5.0.0-ghc7.9.20140510.so", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/libraries/unix/dist-install/build/libHSarray-0.5.0.0-ghc7.9.20140510.so", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/libraries/time/dist-install/build/libHSarray-0.5.0.0-ghc7.9.20140510.so", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/libraries/old-locale/dist-install/build/libHSarray-0.5.0.0-ghc7.9.20140510.so", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/libraries/filepath/dist-install/build/libHSarray-0.5.0.0-ghc7.9.20140510.so", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/libraries/containers/dist-install/build/libHSarray-0.5.0.0-ghc7.9.20140510.so", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/libraries/bytestring/dist-install/build/libHSarray-0.5.0.0-ghc7.9.20140510.so", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/libraries/deepseq/dist-install/build/libHSarray-0.5.0.0-ghc7.9.20140510.so", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/libraries/array/dist-install/build/libHSarray-0.5.0.0-ghc7.9.20140510.so", O_RDONLY|O_CLOEXEC) = 3 open("/home/shana/programming/ghc/libraries/haskeline/dist-install/build/libHSbase-4.7.1.0-ghc7.9.20140510.so", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/libraries/terminfo/dist-install/build/libHSbase-4.7.1.0-ghc7.9.20140510.so", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/compiler/stage2/build/libHSbase-4.7.1.0-ghc7.9.20140510.so", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/libraries/transformers/dist-install/build/libHSbase-4.7.1.0-ghc7.9.20140510.so", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/libraries/template-haskell/dist-install/build/libHSbase-4.7.1.0-ghc7.9.20140510.so", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/libraries/hpc/dist-install/build/libHSbase-4.7.1.0-ghc7.9.20140510.so", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/libraries/hoopl/dist-install/build/libHSbase-4.7.1.0-ghc7.9.20140510.so", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/libraries/bin-package-db/dist-install/build/libHSbase-4.7.1.0-ghc7.9.20140510.so", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/libraries/binary/dist-install/build/libHSbase-4.7.1.0-ghc7.9.20140510.so", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/libraries/Cabal/Cabal/dist-install/build/libHSbase-4.7.1.0-ghc7.9.20140510.so", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/libraries/process/dist-install/build/libHSbase-4.7.1.0-ghc7.9.20140510.so", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/libraries/pretty/dist-install/build/libHSbase-4.7.1.0-ghc7.9.20140510.so", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/libraries/directory/dist-install/build/libHSbase-4.7.1.0-ghc7.9.20140510.so", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/libraries/unix/dist-install/build/libHSbase-4.7.1.0-ghc7.9.20140510.so", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/libraries/time/dist-install/build/libHSbase-4.7.1.0-ghc7.9.20140510.so", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/libraries/old-locale/dist-install/build/libHSbase-4.7.1.0-ghc7.9.20140510.so", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/libraries/filepath/dist-install/build/libHSbase-4.7.1.0-ghc7.9.20140510.so", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/libraries/containers/dist-install/build/libHSbase-4.7.1.0-ghc7.9.20140510.so", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/libraries/bytestring/dist-install/build/libHSbase-4.7.1.0-ghc7.9.20140510.so", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/libraries/deepseq/dist-install/build/libHSbase-4.7.1.0-ghc7.9.20140510.so", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/libraries/array/dist-install/build/libHSbase-4.7.1.0-ghc7.9.20140510.so", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/libraries/base/dist-install/build/libHSbase-4.7.1.0-ghc7.9.20140510.so", O_RDONLY|O_CLOEXEC) = 3 open("/home/shana/programming/ghc/libraries/haskeline/dist-install/build/libHSinteger-gmp-0.5.1.0-ghc7.9.20140510.so", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/libraries/terminfo/dist-install/build/libHSinteger-gmp-0.5.1.0-ghc7.9.20140510.so", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/compiler/stage2/build/libHSinteger-gmp-0.5.1.0-ghc7.9.20140510.so", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/libraries/transformers/dist-install/build/libHSinteger-gmp-0.5.1.0-ghc7.9.20140510.so", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/libraries/template-haskell/dist-install/build/libHSinteger-gmp-0.5.1.0-ghc7.9.20140510.so", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/libraries/hpc/dist-install/build/libHSinteger-gmp-0.5.1.0-ghc7.9.20140510.so", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/libraries/hoopl/dist-install/build/libHSinteger-gmp-0.5.1.0-ghc7.9.20140510.so", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/libraries/bin-package-db/dist-install/build/libHSinteger-gmp-0.5.1.0-ghc7.9.20140510.so", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/libraries/binary/dist-install/build/libHSinteger-gmp-0.5.1.0-ghc7.9.20140510.so", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/libraries/Cabal/Cabal/dist-install/build/libHSinteger-gmp-0.5.1.0-ghc7.9.20140510.so", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/libraries/process/dist-install/build/libHSinteger-gmp-0.5.1.0-ghc7.9.20140510.so", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/libraries/pretty/dist-install/build/libHSinteger-gmp-0.5.1.0-ghc7.9.20140510.so", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/libraries/directory/dist-install/build/libHSinteger-gmp-0.5.1.0-ghc7.9.20140510.so", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/libraries/unix/dist-install/build/libHSinteger-gmp-0.5.1.0-ghc7.9.20140510.so", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/libraries/time/dist-install/build/libHSinteger-gmp-0.5.1.0-ghc7.9.20140510.so", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/libraries/old-locale/dist-install/build/libHSinteger-gmp-0.5.1.0-ghc7.9.20140510.so", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/libraries/filepath/dist-install/build/libHSinteger-gmp-0.5.1.0-ghc7.9.20140510.so", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/libraries/containers/dist-install/build/libHSinteger-gmp-0.5.1.0-ghc7.9.20140510.so", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/libraries/bytestring/dist-install/build/libHSinteger-gmp-0.5.1.0-ghc7.9.20140510.so", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/libraries/deepseq/dist-install/build/libHSinteger-gmp-0.5.1.0-ghc7.9.20140510.so", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/libraries/array/dist-install/build/libHSinteger-gmp-0.5.1.0-ghc7.9.20140510.so", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/libraries/base/dist-install/build/libHSinteger-gmp-0.5.1.0-ghc7.9.20140510.so", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/libraries/integer-gmp/dist-install/build/libHSinteger-gmp-0.5.1.0-ghc7.9.20140510.so", O_RDONLY|O_CLOEXEC) = 3 open("/home/shana/programming/ghc/libraries/haskeline/dist-install/build/libHSghc-prim-0.3.1.0-ghc7.9.20140510.so", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/libraries/terminfo/dist-install/build/libHSghc-prim-0.3.1.0-ghc7.9.20140510.so", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/compiler/stage2/build/libHSghc-prim-0.3.1.0-ghc7.9.20140510.so", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/libraries/transformers/dist-install/build/libHSghc-prim-0.3.1.0-ghc7.9.20140510.so", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/libraries/template-haskell/dist-install/build/libHSghc-prim-0.3.1.0-ghc7.9.20140510.so", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/libraries/hpc/dist-install/build/libHSghc-prim-0.3.1.0-ghc7.9.20140510.so", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/libraries/hoopl/dist-install/build/libHSghc-prim-0.3.1.0-ghc7.9.20140510.so", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/libraries/bin-package-db/dist-install/build/libHSghc-prim-0.3.1.0-ghc7.9.20140510.so", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/libraries/binary/dist-install/build/libHSghc-prim-0.3.1.0-ghc7.9.20140510.so", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/libraries/Cabal/Cabal/dist-install/build/libHSghc-prim-0.3.1.0-ghc7.9.20140510.so", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/libraries/process/dist-install/build/libHSghc-prim-0.3.1.0-ghc7.9.20140510.so", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/libraries/pretty/dist-install/build/libHSghc-prim-0.3.1.0-ghc7.9.20140510.so", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/libraries/directory/dist-install/build/libHSghc-prim-0.3.1.0-ghc7.9.20140510.so", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/libraries/unix/dist-install/build/libHSghc-prim-0.3.1.0-ghc7.9.20140510.so", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/libraries/time/dist-install/build/libHSghc-prim-0.3.1.0-ghc7.9.20140510.so", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/libraries/old-locale/dist-install/build/libHSghc-prim-0.3.1.0-ghc7.9.20140510.so", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/libraries/filepath/dist-install/build/libHSghc-prim-0.3.1.0-ghc7.9.20140510.so", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/libraries/containers/dist-install/build/libHSghc-prim-0.3.1.0-ghc7.9.20140510.so", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/libraries/bytestring/dist-install/build/libHSghc-prim-0.3.1.0-ghc7.9.20140510.so", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/libraries/deepseq/dist-install/build/libHSghc-prim-0.3.1.0-ghc7.9.20140510.so", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/libraries/array/dist-install/build/libHSghc-prim-0.3.1.0-ghc7.9.20140510.so", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/libraries/base/dist-install/build/libHSghc-prim-0.3.1.0-ghc7.9.20140510.so", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/libraries/integer-gmp/dist-install/build/libHSghc-prim-0.3.1.0-ghc7.9.20140510.so", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/libraries/ghc-prim/dist-install/build/libHSghc-prim-0.3.1.0-ghc7.9.20140510.so", O_RDONLY|O_CLOEXEC) = 3 open("/home/shana/programming/ghc/libraries/haskeline/dist-install/build/libHSrts_thr-ghc7.9.20140510.so", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/libraries/terminfo/dist-install/build/libHSrts_thr-ghc7.9.20140510.so", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/compiler/stage2/build/libHSrts_thr-ghc7.9.20140510.so", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/libraries/transformers/dist-install/build/libHSrts_thr-ghc7.9.20140510.so", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/libraries/template-haskell/dist-install/build/libHSrts_thr-ghc7.9.20140510.so", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/libraries/hpc/dist-install/build/libHSrts_thr-ghc7.9.20140510.so", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/libraries/hoopl/dist-install/build/libHSrts_thr-ghc7.9.20140510.so", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/libraries/bin-package-db/dist-install/build/libHSrts_thr-ghc7.9.20140510.so", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/libraries/binary/dist-install/build/libHSrts_thr-ghc7.9.20140510.so", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/libraries/Cabal/Cabal/dist-install/build/libHSrts_thr-ghc7.9.20140510.so", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/libraries/process/dist-install/build/libHSrts_thr-ghc7.9.20140510.so", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/libraries/pretty/dist-install/build/libHSrts_thr-ghc7.9.20140510.so", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/libraries/directory/dist-install/build/libHSrts_thr-ghc7.9.20140510.so", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/libraries/unix/dist-install/build/libHSrts_thr-ghc7.9.20140510.so", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/libraries/time/dist-install/build/libHSrts_thr-ghc7.9.20140510.so", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/libraries/old-locale/dist-install/build/libHSrts_thr-ghc7.9.20140510.so", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/libraries/filepath/dist-install/build/libHSrts_thr-ghc7.9.20140510.so", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/libraries/containers/dist-install/build/libHSrts_thr-ghc7.9.20140510.so", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/libraries/bytestring/dist-install/build/libHSrts_thr-ghc7.9.20140510.so", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/libraries/deepseq/dist-install/build/libHSrts_thr-ghc7.9.20140510.so", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/libraries/array/dist-install/build/libHSrts_thr-ghc7.9.20140510.so", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/libraries/base/dist-install/build/libHSrts_thr-ghc7.9.20140510.so", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/libraries/integer-gmp/dist-install/build/libHSrts_thr-ghc7.9.20140510.so", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/libraries/ghc-prim/dist-install/build/libHSrts_thr-ghc7.9.20140510.so", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/rts/dist/build/libHSrts_thr-ghc7.9.20140510.so", O_RDONLY|O_CLOEXEC) = 3 open("/home/shana/programming/ghc/libraries/haskeline/dist-install/build/libffi.so.6", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/libraries/terminfo/dist-install/build/libffi.so.6", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/compiler/stage2/build/libffi.so.6", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/libraries/transformers/dist-install/build/libffi.so.6", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/libraries/template-haskell/dist-install/build/libffi.so.6", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/libraries/hpc/dist-install/build/libffi.so.6", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/libraries/hoopl/dist-install/build/libffi.so.6", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/libraries/bin-package-db/dist-install/build/libffi.so.6", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/libraries/binary/dist-install/build/libffi.so.6", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/libraries/Cabal/Cabal/dist-install/build/libffi.so.6", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/libraries/process/dist-install/build/libffi.so.6", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/libraries/pretty/dist-install/build/libffi.so.6", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/libraries/directory/dist-install/build/libffi.so.6", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/libraries/unix/dist-install/build/libffi.so.6", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/libraries/time/dist-install/build/libffi.so.6", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/libraries/old-locale/dist-install/build/libffi.so.6", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/libraries/filepath/dist-install/build/libffi.so.6", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/libraries/containers/dist-install/build/libffi.so.6", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/libraries/bytestring/dist-install/build/libffi.so.6", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/libraries/deepseq/dist-install/build/libffi.so.6", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/libraries/array/dist-install/build/libffi.so.6", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/libraries/base/dist-install/build/libffi.so.6", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/libraries/integer-gmp/dist-install/build/libffi.so.6", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/libraries/ghc-prim/dist-install/build/libffi.so.6", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/rts/dist/build/libffi.so.6", O_RDONLY|O_CLOEXEC) = 3 open("/home/shana/programming/ghc/libraries/haskeline/dist-install/build/libpthread.so.0", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/libraries/terminfo/dist-install/build/libpthread.so.0", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/compiler/stage2/build/libpthread.so.0", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/libraries/transformers/dist-install/build/libpthread.so.0", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/libraries/template-haskell/dist-install/build/libpthread.so.0", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/libraries/hpc/dist-install/build/libpthread.so.0", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/libraries/hoopl/dist-install/build/libpthread.so.0", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/libraries/bin-package-db/dist-install/build/libpthread.so.0", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/libraries/binary/dist-install/build/libpthread.so.0", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/libraries/Cabal/Cabal/dist-install/build/libpthread.so.0", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/libraries/process/dist-install/build/libpthread.so.0", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/libraries/pretty/dist-install/build/libpthread.so.0", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/libraries/directory/dist-install/build/libpthread.so.0", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/libraries/unix/dist-install/build/libpthread.so.0", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/libraries/time/dist-install/build/libpthread.so.0", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/libraries/old-locale/dist-install/build/libpthread.so.0", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/libraries/filepath/dist-install/build/libpthread.so.0", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/libraries/containers/dist-install/build/libpthread.so.0", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/libraries/bytestring/dist-install/build/libpthread.so.0", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/libraries/deepseq/dist-install/build/libpthread.so.0", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/libraries/array/dist-install/build/libpthread.so.0", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/libraries/base/dist-install/build/libpthread.so.0", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/libraries/integer-gmp/dist-install/build/libpthread.so.0", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/libraries/ghc-prim/dist-install/build/libpthread.so.0", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/rts/dist/build/libpthread.so.0", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) open("/run/opengl-driver/lib/tls/libpthread.so.0", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) open("/run/opengl-driver/lib/libpthread.so.0", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) open("/run/opengl-driver-32/lib/tls/libpthread.so.0", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) open("/run/opengl-driver-32/lib/libpthread.so.0", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) open("/nix/store/qnkyas42nf0knps3va30y29y3zvmgy2v-gmp-5.1.3/lib/libpthread.so.0", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) open("/nix/store/3v2029bmc8ay73sa9yn4yrgil5jf8l0c-ncurses-5.9/lib/libpthread.so.0", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) open("/nix/store/4v0a2fncxsk2f57jixq7i59k6hdl34fx-glibc-2.19/lib/libpthread.so.0", O_RDONLY|O_CLOEXEC) = 3 open("/home/shana/programming/ghc/libraries/haskeline/dist-install/build/libc.so.6", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/libraries/terminfo/dist-install/build/libc.so.6", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/compiler/stage2/build/libc.so.6", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/libraries/transformers/dist-install/build/libc.so.6", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/libraries/template-haskell/dist-install/build/libc.so.6", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/libraries/hpc/dist-install/build/libc.so.6", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/libraries/hoopl/dist-install/build/libc.so.6", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/libraries/bin-package-db/dist-install/build/libc.so.6", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/libraries/binary/dist-install/build/libc.so.6", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/libraries/Cabal/Cabal/dist-install/build/libc.so.6", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/libraries/process/dist-install/build/libc.so.6", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/libraries/pretty/dist-install/build/libc.so.6", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/libraries/directory/dist-install/build/libc.so.6", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/libraries/unix/dist-install/build/libc.so.6", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/libraries/time/dist-install/build/libc.so.6", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/libraries/old-locale/dist-install/build/libc.so.6", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/libraries/filepath/dist-install/build/libc.so.6", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/libraries/containers/dist-install/build/libc.so.6", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/libraries/bytestring/dist-install/build/libc.so.6", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/libraries/deepseq/dist-install/build/libc.so.6", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/libraries/array/dist-install/build/libc.so.6", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/libraries/base/dist-install/build/libc.so.6", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/libraries/integer-gmp/dist-install/build/libc.so.6", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/libraries/ghc-prim/dist-install/build/libc.so.6", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/rts/dist/build/libc.so.6", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) open("/run/opengl-driver/lib/tls/libc.so.6", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) open("/run/opengl-driver/lib/libc.so.6", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) open("/run/opengl-driver-32/lib/tls/libc.so.6", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) open("/run/opengl-driver-32/lib/libc.so.6", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) open("/nix/store/qnkyas42nf0knps3va30y29y3zvmgy2v-gmp-5.1.3/lib/libc.so.6", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) open("/nix/store/3v2029bmc8ay73sa9yn4yrgil5jf8l0c-ncurses-5.9/lib/libc.so.6", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) open("/nix/store/4v0a2fncxsk2f57jixq7i59k6hdl34fx-glibc-2.19/lib/libc.so.6", O_RDONLY|O_CLOEXEC) = 3 open("/home/shana/programming/ghc/libraries/haskeline/dist-install/build/libgcc_s.so.1", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/libraries/terminfo/dist-install/build/libgcc_s.so.1", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/compiler/stage2/build/libgcc_s.so.1", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/libraries/transformers/dist-install/build/libgcc_s.so.1", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/libraries/template-haskell/dist-install/build/libgcc_s.so.1", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/libraries/hpc/dist-install/build/libgcc_s.so.1", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/libraries/hoopl/dist-install/build/libgcc_s.so.1", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/libraries/bin-package-db/dist-install/build/libgcc_s.so.1", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/libraries/binary/dist-install/build/libgcc_s.so.1", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/libraries/Cabal/Cabal/dist-install/build/libgcc_s.so.1", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/libraries/process/dist-install/build/libgcc_s.so.1", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/libraries/pretty/dist-install/build/libgcc_s.so.1", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/libraries/directory/dist-install/build/libgcc_s.so.1", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/libraries/unix/dist-install/build/libgcc_s.so.1", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/libraries/time/dist-install/build/libgcc_s.so.1", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/libraries/old-locale/dist-install/build/libgcc_s.so.1", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/libraries/filepath/dist-install/build/libgcc_s.so.1", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/libraries/containers/dist-install/build/libgcc_s.so.1", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/libraries/bytestring/dist-install/build/libgcc_s.so.1", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/libraries/deepseq/dist-install/build/libgcc_s.so.1", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/libraries/array/dist-install/build/libgcc_s.so.1", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/libraries/base/dist-install/build/libgcc_s.so.1", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/libraries/integer-gmp/dist-install/build/libgcc_s.so.1", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/libraries/ghc-prim/dist-install/build/libgcc_s.so.1", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) open("/home/shana/programming/ghc/rts/dist/build/libgcc_s.so.1", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) open("/run/opengl-driver/lib/tls/libgcc_s.so.1", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) open("/run/opengl-driver/lib/libgcc_s.so.1", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) open("/run/opengl-driver-32/lib/tls/libgcc_s.so.1", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) open("/run/opengl-driver-32/lib/libgcc_s.so.1", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) open("/nix/store/4v0a2fncxsk2f57jixq7i59k6hdl34fx-glibc-2.19/lib/libgcc_s.so.1", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) open("/nix/store/n5hl6lpm87mxf4qd8f2zq423al1gwdj9-gcc-4.8.2/lib/tls/i686/sse2/libgcc_s.so.1", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) stat64("/nix/store/n5hl6lpm87mxf4qd8f2zq423al1gwdj9-gcc-4.8.2/lib/tls/i686/sse2", 0xbfb68f40) = -1 ENOENT (No such file or directory) open("/nix/store/n5hl6lpm87mxf4qd8f2zq423al1gwdj9-gcc-4.8.2/lib/tls/i686/libgcc_s.so.1", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) stat64("/nix/store/n5hl6lpm87mxf4qd8f2zq423al1gwdj9-gcc-4.8.2/lib/tls/i686", 0xbfb68f40) = -1 ENOENT (No such file or directory) open("/nix/store/n5hl6lpm87mxf4qd8f2zq423al1gwdj9-gcc-4.8.2/lib/tls/sse2/libgcc_s.so.1", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) stat64("/nix/store/n5hl6lpm87mxf4qd8f2zq423al1gwdj9-gcc-4.8.2/lib/tls/sse2", 0xbfb68f40) = -1 ENOENT (No such file or directory) open("/nix/store/n5hl6lpm87mxf4qd8f2zq423al1gwdj9-gcc-4.8.2/lib/tls/libgcc_s.so.1", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) stat64("/nix/store/n5hl6lpm87mxf4qd8f2zq423al1gwdj9-gcc-4.8.2/lib/tls", 0xbfb68f40) = -1 ENOENT (No such file or directory) open("/nix/store/n5hl6lpm87mxf4qd8f2zq423al1gwdj9-gcc-4.8.2/lib/i686/sse2/libgcc_s.so.1", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) stat64("/nix/store/n5hl6lpm87mxf4qd8f2zq423al1gwdj9-gcc-4.8.2/lib/i686/sse2", 0xbfb68f40) = -1 ENOENT (No such file or directory) open("/nix/store/n5hl6lpm87mxf4qd8f2zq423al1gwdj9-gcc-4.8.2/lib/i686/libgcc_s.so.1", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) stat64("/nix/store/n5hl6lpm87mxf4qd8f2zq423al1gwdj9-gcc-4.8.2/lib/i686", 0xbfb68f40) = -1 ENOENT (No such file or directory) open("/nix/store/n5hl6lpm87mxf4qd8f2zq423al1gwdj9-gcc-4.8.2/lib/sse2/libgcc_s.so.1", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) stat64("/nix/store/n5hl6lpm87mxf4qd8f2zq423al1gwdj9-gcc-4.8.2/lib/sse2", 0xbfb68f40) = -1 ENOENT (No such file or directory) open("/nix/store/n5hl6lpm87mxf4qd8f2zq423al1gwdj9-gcc-4.8.2/lib/libgcc_s.so.1", O_RDONLY|O_CLOEXEC) = 3 open("/run/current-system/sw/lib/locale/locale-archive", O_RDONLY|O_LARGEFILE|O_CLOEXEC) = 3 open("/proc/meminfo", O_RDONLY|O_CLOEXEC) = 3 Process 10677 attached Process 10678 attached [pid 10676] open("/home/shana/programming/ghc/inplace/lib/settings", O_RDONLY|O_NOCTTY|O_NONBLOCK|O_LARGEFILE) = 10 [pid 10676] open("/home/shana/programming/ghc/inplace/lib/platformConstants", O_RDONLY|O_NOCTTY|O_NONBLOCK|O_LARGEFILE) = 11 [pid 10676] --- SIGVTALRM {si_signo=SIGVTALRM, si_code=SI_TIMER, si_pid=0, si_uid=0, si_value=0} --- [pid 10676] --- SIGVTALRM {si_signo=SIGVTALRM, si_code=SI_TIMER, si_pid=0, si_uid=0, si_value=0} --- Process 10679 attached [pid 10679] open("/sys/devices/system/cpu/online", O_RDONLY|O_CLOEXEC) = 10 GHCi, version 7.9.20140510: http://www.haskell.org/ghc/ :? for help [pid 10676] stat64("/home/shana/.ghc/i386-linux-7.9.20140510/package.conf.d", 0xb2b04de0) = -1 ENOENT (No such file or directory) [pid 10676] stat64("/home/shana/programming/ghc/inplace/lib/package.conf.d", {st_mode=S_IFDIR|0755, st_size=4096, ...}) = 0 [pid 10676] open("/home/shana/programming/ghc/inplace/lib/package.conf.d/package.cache", O_RDONLY|O_NOCTTY|O_NONBLOCK|O_LARGEFILE) = 10 [pid 10676] --- SIGVTALRM {si_signo=SIGVTALRM, si_code=SI_TIMER, si_pid=0, si_uid=0, si_value=0} --- [pid 10676] open("/nix/store/4v0a2fncxsk2f57jixq7i59k6hdl34fx-glibc-2.19/lib/gconv/gconv-modules.cache", O_RDONLY) = -1 ENOENT (No such file or directory) [pid 10676] open("/nix/store/4v0a2fncxsk2f57jixq7i59k6hdl34fx-glibc-2.19/lib/gconv/gconv-modules", O_RDONLY|O_CLOEXEC) = 10 [pid 10676] stat64("/home/shana/programming/ghc/libraries/ghc-prim/dist-install/build/libHSghc-prim-0.3.1.0-ghc7.9.20140510.so", {st_mode=S_IFREG|0755, st_size=657675, ...}) = 0 Loading package ghc-prim ... linking ... done. [pid 10676] stat64("/home/shana/programming/ghc/libraries/integer-gmp/dist-install/build/libHSinteger-gmp-0.5.1.0-ghc7.9.20140510.so", {st_mode=S_IFREG|0755, st_size=142918, ...}) = 0 [pid 10676] stat64("/home/shana/programming/ghc/libraries/integer-gmp/dist-install/build/libgmp.so", 0xb2b14f70) = -1 ENOENT (No such file or directory) [pid 10676] stat64("/home/shana/programming/ghc/libraries/integer-gmp/dist-install/build/libgmp.a", 0xb2b4c1b0) = -1 ENOENT (No such file or directory) Process 10680 attached [pid 10680] execve("/nix/store/7q6fc4g701rc1lr7v9vxkwij1v8lv3ji-gcc-wrapper-4.8.2/bin/gcc", ["/nix/store/7q6fc4g701rc1lr7v9vxk"..., "-U__i686", "-fno-stack-protector", "-DTABLES_NEXT_TO_CODE", "-L/home/shana/programming/ghc/li"..., "--print-file-name", "libgmp.so"], [/* 77 vars */]) = 0 [pid 10680] access("/etc/ld-nix.so.preload", R_OK) = -1 ENOENT (No such file or directory) [pid 10680] open("/home/shana/programming/ghc/libraries/haskeline/dist-install/build/tls/i686/sse2/libdl.so.2", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) [pid 10680] stat64("/home/shana/programming/ghc/libraries/haskeline/dist-install/build/tls/i686/sse2", 0xbfa22d90) = -1 ENOENT (No such file or directory) [pid 10680] open("/home/shana/programming/ghc/libraries/haskeline/dist-install/build/tls/i686/libdl.so.2", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) [pid 10680] stat64("/home/shana/programming/ghc/libraries/haskeline/dist-install/build/tls/i686", 0xbfa22d90) = -1 ENOENT (No such file or directory) [pid 10680] open("/home/shana/programming/ghc/libraries/haskeline/dist-install/build/tls/sse2/libdl.so.2", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) [pid 10680] stat64("/home/shana/programming/ghc/libraries/haskeline/dist-install/build/tls/sse2", 0xbfa22d90) = -1 ENOENT (No such file or directory) [pid 10680] open("/home/shana/programming/ghc/libraries/haskeline/dist-install/build/tls/libdl.so.2", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) [pid 10680] stat64("/home/shana/programming/ghc/libraries/haskeline/dist-install/build/tls", 0xbfa22d90) = -1 ENOENT (No such file or directory) [pid 10680] open("/home/shana/programming/ghc/libraries/haskeline/dist-install/build/i686/sse2/libdl.so.2", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) [pid 10680] stat64("/home/shana/programming/ghc/libraries/haskeline/dist-install/build/i686/sse2", 0xbfa22d90) = -1 ENOENT (No such file or directory) [pid 10680] open("/home/shana/programming/ghc/libraries/haskeline/dist-install/build/i686/libdl.so.2", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) [pid 10680] stat64("/home/shana/programming/ghc/libraries/haskeline/dist-install/build/i686", 0xbfa22d90) = -1 ENOENT (No such file or directory) [pid 10680] open("/home/shana/programming/ghc/libraries/haskeline/dist-install/build/sse2/libdl.so.2", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) [pid 10680] stat64("/home/shana/programming/ghc/libraries/haskeline/dist-install/build/sse2", 0xbfa22d90) = -1 ENOENT (No such file or directory) [pid 10680] open("/home/shana/programming/ghc/libraries/haskeline/dist-install/build/libdl.so.2", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) [pid 10680] stat64("/home/shana/programming/ghc/libraries/haskeline/dist-install/build", {st_mode=S_IFDIR|0755, st_size=4096, ...}) = 0 [pid 10680] open("/home/shana/programming/ghc/libraries/terminfo/dist-install/build/tls/i686/sse2/libdl.so.2", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) [pid 10680] stat64("/home/shana/programming/ghc/libraries/terminfo/dist-install/build/tls/i686/sse2", 0xbfa22d90) = -1 ENOENT (No such file or directory) [pid 10680] open("/home/shana/programming/ghc/libraries/terminfo/dist-install/build/tls/i686/libdl.so.2", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) [pid 10680] stat64("/home/shana/programming/ghc/libraries/terminfo/dist-install/build/tls/i686", 0xbfa22d90) = -1 ENOENT (No such file or directory) [pid 10680] open("/home/shana/programming/ghc/libraries/terminfo/dist-install/build/tls/sse2/libdl.so.2", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) [pid 10680] stat64("/home/shana/programming/ghc/libraries/terminfo/dist-install/build/tls/sse2", 0xbfa22d90) = -1 ENOENT (No such file or directory) [pid 10680] open("/home/shana/programming/ghc/libraries/terminfo/dist-install/build/tls/libdl.so.2", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) [pid 10680] stat64("/home/shana/programming/ghc/libraries/terminfo/dist-install/build/tls", 0xbfa22d90) = -1 ENOENT (No such file or directory) [pid 10680] open("/home/shana/programming/ghc/libraries/terminfo/dist-install/build/i686/sse2/libdl.so.2", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) [pid 10680] stat64("/home/shana/programming/ghc/libraries/terminfo/dist-install/build/i686/sse2", 0xbfa22d90) = -1 ENOENT (No such file or directory) [pid 10680] open("/home/shana/programming/ghc/libraries/terminfo/dist-install/build/i686/libdl.so.2", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) [pid 10680] stat64("/home/shana/programming/ghc/libraries/terminfo/dist-install/build/i686", 0xbfa22d90) = -1 ENOENT (No such file or directory) [pid 10680] open("/home/shana/programming/ghc/libraries/terminfo/dist-install/build/sse2/libdl.so.2", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) [pid 10680] stat64("/home/shana/programming/ghc/libraries/terminfo/dist-install/build/sse2", 0xbfa22d90) = -1 ENOENT (No such file or directory) [pid 10680] open("/home/shana/programming/ghc/libraries/terminfo/dist-install/build/libdl.so.2", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) [pid 10680] stat64("/home/shana/programming/ghc/libraries/terminfo/dist-install/build", {st_mode=S_IFDIR|0755, st_size=4096, ...}) = 0 [pid 10680] open("/home/shana/programming/ghc/compiler/stage2/build/tls/i686/sse2/libdl.so.2", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) [pid 10680] stat64("/home/shana/programming/ghc/compiler/stage2/build/tls/i686/sse2", 0xbfa22d90) = -1 ENOENT (No such file or directory) [pid 10680] open("/home/shana/programming/ghc/compiler/stage2/build/tls/i686/libdl.so.2", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) [pid 10680] stat64("/home/shana/programming/ghc/compiler/stage2/build/tls/i686", 0xbfa22d90) = -1 ENOENT (No such file or directory) [pid 10680] open("/home/shana/programming/ghc/compiler/stage2/build/tls/sse2/libdl.so.2", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) [pid 10680] stat64("/home/shana/programming/ghc/compiler/stage2/build/tls/sse2", 0xbfa22d90) = -1 ENOENT (No such file or directory) [pid 10680] open("/home/shana/programming/ghc/compiler/stage2/build/tls/libdl.so.2", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) [pid 10680] stat64("/home/shana/programming/ghc/compiler/stage2/build/tls", 0xbfa22d90) = -1 ENOENT (No such file or directory) [pid 10680] open("/home/shana/programming/ghc/compiler/stage2/build/i686/sse2/libdl.so.2", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) [pid 10680] stat64("/home/shana/programming/ghc/compiler/stage2/build/i686/sse2", 0xbfa22d90) = -1 ENOENT (No such file or directory) [pid 10680] open("/home/shana/programming/ghc/compiler/stage2/build/i686/libdl.so.2", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) [pid 10680] stat64("/home/shana/programming/ghc/compiler/stage2/build/i686", 0xbfa22d90) = -1 ENOENT (No such file or directory) [pid 10680] open("/home/shana/programming/ghc/compiler/stage2/build/sse2/libdl.so.2", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) [pid 10680] stat64("/home/shana/programming/ghc/compiler/stage2/build/sse2", 0xbfa22d90) = -1 ENOENT (No such file or directory) [pid 10680] open("/home/shana/programming/ghc/compiler/stage2/build/libdl.so.2", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) [pid 10680] stat64("/home/shana/programming/ghc/compiler/stage2/build", {st_mode=S_IFDIR|0755, st_size=49152, ...}) = 0 [pid 10680] open("/home/shana/programming/ghc/libraries/transformers/dist-install/build/tls/i686/sse2/libdl.so.2", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) [pid 10680] stat64("/home/shana/programming/ghc/libraries/transformers/dist-install/build/tls/i686/sse2", 0xbfa22d90) = -1 ENOENT (No such file or directory) [pid 10680] open("/home/shana/programming/ghc/libraries/transformers/dist-install/build/tls/i686/libdl.so.2", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) [pid 10680] stat64("/home/shana/programming/ghc/libraries/transformers/dist-install/build/tls/i686", 0xbfa22d90) = -1 ENOENT (No such file or directory) [pid 10680] open("/home/shana/programming/ghc/libraries/transformers/dist-install/build/tls/sse2/libdl.so.2", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) [pid 10680] stat64("/home/shana/programming/ghc/libraries/transformers/dist-install/build/tls/sse2", 0xbfa22d90) = -1 ENOENT (No such file or directory) [pid 10680] open("/home/shana/programming/ghc/libraries/transformers/dist-install/build/tls/libdl.so.2", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) [pid 10680] stat64("/home/shana/programming/ghc/libraries/transformers/dist-install/build/tls", 0xbfa22d90) = -1 ENOENT (No such file or directory) [pid 10680] open("/home/shana/programming/ghc/libraries/transformers/dist-install/build/i686/sse2/libdl.so.2", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) [pid 10680] stat64("/home/shana/programming/ghc/libraries/transformers/dist-install/build/i686/sse2", 0xbfa22d90) = -1 ENOENT (No such file or directory) [pid 10680] open("/home/shana/programming/ghc/libraries/transformers/dist-install/build/i686/libdl.so.2", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) [pid 10680] stat64("/home/shana/programming/ghc/libraries/transformers/dist-install/build/i686", 0xbfa22d90) = -1 ENOENT (No such file or directory) [pid 10680] open("/home/shana/programming/ghc/libraries/transformers/dist-install/build/sse2/libdl.so.2", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) [pid 10680] stat64("/home/shana/programming/ghc/libraries/transformers/dist-install/build/sse2", 0xbfa22d90) = -1 ENOENT (No such file or directory) [pid 10680] open("/home/shana/programming/ghc/libraries/transformers/dist-install/build/libdl.so.2", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) [pid 10680] stat64("/home/shana/programming/ghc/libraries/transformers/dist-install/build", {st_mode=S_IFDIR|0755, st_size=4096, ...}) = 0 [pid 10680] open("/home/shana/programming/ghc/libraries/template-haskell/dist-install/build/tls/i686/sse2/libdl.so.2", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) [pid 10680] stat64("/home/shana/programming/ghc/libraries/template-haskell/dist-install/build/tls/i686/sse2", 0xbfa22d90) = -1 ENOENT (No such file or directory) [pid 10680] open("/home/shana/programming/ghc/libraries/template-haskell/dist-install/build/tls/i686/libdl.so.2", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) [pid 10680] stat64("/home/shana/programming/ghc/libraries/template-haskell/dist-install/build/tls/i686", 0xbfa22d90) = -1 ENOENT (No such file or directory) [pid 10680] open("/home/shana/programming/ghc/libraries/template-haskell/dist-install/build/tls/sse2/libdl.so.2", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) [pid 10680] stat64("/home/shana/programming/ghc/libraries/template-haskell/dist-install/build/tls/sse2", 0xbfa22d90) = -1 ENOENT (No such file or directory) [pid 10680] open("/home/shana/programming/ghc/libraries/template-haskell/dist-install/build/tls/libdl.so.2", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) [pid 10680] stat64("/home/shana/programming/ghc/libraries/template-haskell/dist-install/build/tls", 0xbfa22d90) = -1 ENOENT (No such file or directory) [pid 10680] open("/home/shana/programming/ghc/libraries/template-haskell/dist-install/build/i686/sse2/libdl.so.2", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) [pid 10680] stat64("/home/shana/programming/ghc/libraries/template-haskell/dist-install/build/i686/sse2", 0xbfa22d90) = -1 ENOENT (No such file or directory) [pid 10680] open("/home/shana/programming/ghc/libraries/template-haskell/dist-install/build/i686/libdl.so.2", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) [pid 10680] stat64("/home/shana/programming/ghc/libraries/template-haskell/dist-install/build/i686", 0xbfa22d90) = -1 ENOENT (No such file or directory) [pid 10680] open("/home/shana/programming/ghc/libraries/template-haskell/dist-install/build/sse2/libdl.so.2", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) [pid 10680] stat64("/home/shana/programming/ghc/libraries/template-haskell/dist-install/build/sse2", 0xbfa22d90) = -1 ENOENT (No such file or directory) [pid 10680] open("/home/shana/programming/ghc/libraries/template-haskell/dist-install/build/libdl.so.2", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) [pid 10680] stat64("/home/shana/programming/ghc/libraries/template-haskell/dist-install/build", {st_mode=S_IFDIR|0755, st_size=4096, ...}) = 0 [pid 10680] open("/home/shana/programming/ghc/libraries/hpc/dist-install/build/tls/i686/sse2/libdl.so.2", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) [pid 10680] stat64("/home/shana/programming/ghc/libraries/hpc/dist-install/build/tls/i686/sse2", 0xbfa22d90) = -1 ENOENT (No such file or directory) [pid 10680] open("/home/shana/programming/ghc/libraries/hpc/dist-install/build/tls/i686/libdl.so.2", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) [pid 10680] stat64("/home/shana/programming/ghc/libraries/hpc/dist-install/build/tls/i686", 0xbfa22d90) = -1 ENOENT (No such file or directory) [pid 10680] open("/home/shana/programming/ghc/libraries/hpc/dist-install/build/tls/sse2/libdl.so.2", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) [pid 10680] stat64("/home/shana/programming/ghc/libraries/hpc/dist-install/build/tls/sse2", 0xbfa22d90) = -1 ENOENT (No such file or directory) [pid 10680] open("/home/shana/programming/ghc/libraries/hpc/dist-install/build/tls/libdl.so.2", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) [pid 10680] stat64("/home/shana/programming/ghc/libraries/hpc/dist-install/build/tls", 0xbfa22d90) = -1 ENOENT (No such file or directory) [pid 10680] open("/home/shana/programming/ghc/libraries/hpc/dist-install/build/i686/sse2/libdl.so.2", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) [pid 10680] stat64("/home/shana/programming/ghc/libraries/hpc/dist-install/build/i686/sse2", 0xbfa22d90) = -1 ENOENT (No such file or directory) [pid 10680] open("/home/shana/programming/ghc/libraries/hpc/dist-install/build/i686/libdl.so.2", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) [pid 10680] stat64("/home/shana/programming/ghc/libraries/hpc/dist-install/build/i686", 0xbfa22d90) = -1 ENOENT (No such file or directory) [pid 10680] open("/home/shana/programming/ghc/libraries/hpc/dist-install/build/sse2/libdl.so.2", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) [pid 10680] stat64("/home/shana/programming/ghc/libraries/hpc/dist-install/build/sse2", 0xbfa22d90) = -1 ENOENT (No such file or directory) [pid 10680] open("/home/shana/programming/ghc/libraries/hpc/dist-install/build/libdl.so.2", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) [pid 10680] stat64("/home/shana/programming/ghc/libraries/hpc/dist-install/build", {st_mode=S_IFDIR|0755, st_size=4096, ...}) = 0 [pid 10680] open("/home/shana/programming/ghc/libraries/hoopl/dist-install/build/tls/i686/sse2/libdl.so.2", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) [pid 10680] stat64("/home/shana/programming/ghc/libraries/hoopl/dist-install/build/tls/i686/sse2", 0xbfa22d90) = -1 ENOENT (No such file or directory) [pid 10680] open("/home/shana/programming/ghc/libraries/hoopl/dist-install/build/tls/i686/libdl.so.2", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) [pid 10680] stat64("/home/shana/programming/ghc/libraries/hoopl/dist-install/build/tls/i686", 0xbfa22d90) = -1 ENOENT (No such file or directory) [pid 10680] open("/home/shana/programming/ghc/libraries/hoopl/dist-install/build/tls/sse2/libdl.so.2", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) [pid 10680] stat64("/home/shana/programming/ghc/libraries/hoopl/dist-install/build/tls/sse2", 0xbfa22d90) = -1 ENOENT (No such file or directory) [pid 10680] open("/home/shana/programming/ghc/libraries/hoopl/dist-install/build/tls/libdl.so.2", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) [pid 10680] stat64("/home/shana/programming/ghc/libraries/hoopl/dist-install/build/tls", 0xbfa22d90) = -1 ENOENT (No such file or directory) [pid 10680] open("/home/shana/programming/ghc/libraries/hoopl/dist-install/build/i686/sse2/libdl.so.2", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) [pid 10680] stat64("/home/shana/programming/ghc/libraries/hoopl/dist-install/build/i686/sse2", 0xbfa22d90) = -1 ENOENT (No such file or directory) [pid 10680] open("/home/shana/programming/ghc/libraries/hoopl/dist-install/build/i686/libdl.so.2", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) [pid 10680] stat64("/home/shana/programming/ghc/libraries/hoopl/dist-install/build/i68