Building vector with GHC HEAD

Erik Hesselink hesselink at gmail.com
Tue Feb 17 13:45:09 UTC 2015


Or [1]. The tl;dr: add "where rnf x = seq x ()" to the instance to get
the old behavior.

Erik

[1] https://ghc.haskell.org/trac/ghc/wiki/Migration/7.10#deepseq-1.4.0.0

On Tue, Feb 17, 2015 at 2:39 PM, Roman Cheplyaka <roma at ro-che.info> wrote:
> See http://bit.ly/1CDVOIZ
>
> On 17/02/15 15:19, Jan Stolarek wrote:
>> Devs,
>>
>> I'm not sure if this is the best place to ask this question but I'm almost certain someone here
>> will have the answer. I want to build upstream master branch of vector library using GHC HEAD and
>> cabal 1.22. Alas my attempts have failed:
>>
>> $ git clone git at github.com:haskell/vector.git
>> $ cd vector
>> $ cabal sandbox init
>> $ cabal install -w /dane/projekty/ghc/build/inplace/bin/ghc-stage2
>> Resolving dependencies...
>> cabal: Could not resolve dependencies:
>> trying: vector-0.11.0.0 (user goal)
>> trying: base-4.8.0.0/installed-inp... (dependency of vector-0.11.0.0)
>> next goal: deepseq (dependency of vector-0.11.0.0)
>> rejecting: deepseq-1.4.0.0/installed-inp..., 1.4.0.0 (conflict: vector =>
>> deepseq>=1.1 && <1.4)
>> rejecting: deepseq-1.3.0.2 (conflict: base==4.8.0.0/installed-inp..., deepseq
>> => base>=4.3 && <4.8)
>> trying: deepseq-1.3.0.1
>> next goal: array (dependency of deepseq-1.3.0.1)
>> rejecting: array-0.5.0.1/installed-inp..., 0.5.0.0 (conflict: deepseq =>
>> array>=0.1 && <0.5)
>> rejecting: array-0.4.0.1 (conflict: base==4.8.0.0/installed-inp..., array =>
>> base>=4.2 && <4.7)
>> rejecting: array-0.4.0.0 (conflict: base==4.8.0.0/installed-inp..., array =>
>> base>=4.2 && <4.6)
>> rejecting: array-0.3.0.3 (conflict: base==4.8.0.0/installed-inp..., array =>
>> base>=4.2 && <4.5)
>> rejecting: array-0.3.0.2, 0.3.0.1 (conflict: base==4.8.0.0/installed-inp...,
>> array => base>=4.2 && <4.4)
>> rejecting: array-0.3.0.0 (conflict: base==4.8.0.0/installed-inp..., array =>
>> base>=3 && <4.4)
>> rejecting: array-0.2.0.0, 0.1.0.0 (conflict: base==4.8.0.0/installed-inp...,
>> array => base<4.3)
>> Dependency tree exhaustively searched.
>>
>> The problem arises from vector requiring deepseq < 1.4 when intree package db contains deepseq
>> 1.4. Removing the upper bound on deepseq in vector.cabal allows to resolve dependencies but ends
>> with a build error:
>>
>> Data/Vector/Primitive/Mutable.hs:78:10:
>>     No instance for (GHC.Generics.Generic (MVector s a))
>>       arising from a use of ‘Control.DeepSeq.$gdmrnf’
>>     In the expression: Control.DeepSeq.$gdmrnf
>>     In an equation for ‘rnf’: rnf = Control.DeepSeq.$gdmrnf
>>     In the instance declaration for ‘NFData (MVector s a)’
>>
>> Fixing this error (importing GHC.Generics & deriving `Generic` instance for `MVector s a`) leads
>> to another one:
>>
>> Data/Vector/Primitive/Mutable.hs:80:10:
>>     No instance for (Control.DeepSeq.GNFData (Rep (MVector s a)))
>>       arising from a use of ‘Control.DeepSeq.$gdmrnf’
>>     In the expression: Control.DeepSeq.$gdmrnf
>>     In an equation for ‘rnf’: rnf = Control.DeepSeq.$gdmrnf
>>     In the instance declaration for ‘NFData (MVector s a)’
>>
>> This time I have no idea how to fix it since GNFData is an internal class of Control.Deepseq
>> module. Help?
>>
>> Aside: at first I thought vector is one of the boot libraries since it is kept in the source tree.
>> But then I realized it is not being build during bootstrapping. Why do we keep it in the source
>> tree then?
>>
>> Janek
>>
>> ---
>> Politechnika Łódzka
>> Lodz University of Technology
>>
>> Treść tej wiadomości zawiera informacje przeznaczone tylko dla adresata.
>> Jeżeli nie jesteście Państwo jej adresatem, bądź otrzymaliście ją przez pomyłkę
>> prosimy o powiadomienie o tym nadawcy oraz trwałe jej usunięcie.
>>
>> This email contains information intended solely for the use of the individual to whom it is addressed.
>> If you are not the intended recipient or if you have received this message in error,
>> please notify the sender and delete it from your system.
>> _______________________________________________
>> ghc-devs mailing list
>> ghc-devs at haskell.org
>> http://mail.haskell.org/cgi-bin/mailman/listinfo/ghc-devs
>>
>
> _______________________________________________
> ghc-devs mailing list
> ghc-devs at haskell.org
> http://mail.haskell.org/cgi-bin/mailman/listinfo/ghc-devs


More information about the ghc-devs mailing list