commercialhaskell/stack

Internal Use of Backpack

Opened this issue · 3 comments

I have a package primitive-containers that uses backpack internally (permalink). It does not export any signatures or indefinite modules. There is a stack.yaml file in the repo that tells the project to use a fork of primitive. This is what currently happens when I run stack build:

primitive-containers-0.1.0.0: build (lib)
primitive-containers-0.1.0.0: copy/register
Log files have been written to: /home/amartin/Development/primitive-containers/.stack-work/logs/

--  While building custom Setup.hs for package primitive-containers-0.1.0.0 using:
      /home/amartin/.stack/setup-exe-cache/x86_64-linux/Cabal-simple_mPHDZzAJ_2.0.1.0_ghc-8.2.2 --builddir=.stack-work/dist/x86_64-linux/Cabal-2.0.1.0 register
    Process exited with code: ExitFailure 1
    Logs have been written to: /home/amartin/Development/primitive-containers/.stack-work/logs/primitive-containers-0.1.0.0.log

    Preprocessing library 'set-indef' for primitive-containers-0.1.0.0..
    Building library 'set-indef' instantiated with Value = <Value>
    for primitive-containers-0.1.0.0..
    Preprocessing library 'map-indef' for primitive-containers-0.1.0.0..
    Building library 'map-indef' instantiated with
      Key = <Key>
      Value = <Value>
    for primitive-containers-0.1.0.0..
    Preprocessing library 'array-unboxed' for primitive-containers-0.1.0.0..
    Building library 'array-unboxed' for primitive-containers-0.1.0.0..
    Preprocessing library 'map-indef' for primitive-containers-0.1.0.0..
    Building library 'map-indef' instantiated with
      Key = primitive-containers-0.1.0.0-4T7iiQSe8s3An1FFOj4zYO-array-unboxed:ValueUnboxed
      Value = primitive-containers-0.1.0.0-4T7iiQSe8s3An1FFOj4zYO-array-unboxed:ValueUnlifted
    for primitive-containers-0.1.0.0..
    Preprocessing library 'map-indef' for primitive-containers-0.1.0.0..
    Building library 'map-indef' instantiated with
      Key = primitive-containers-0.1.0.0-4T7iiQSe8s3An1FFOj4zYO-array-unboxed:ValueUnboxed
      Value = primitive-containers-0.1.0.0-4T7iiQSe8s3An1FFOj4zYO-array-unboxed:ValueUnboxed
    for primitive-containers-0.1.0.0..
    Preprocessing library 'map-indef' for primitive-containers-0.1.0.0..
    Building library 'map-indef' instantiated with
      Key = primitive-containers-0.1.0.0-4T7iiQSe8s3An1FFOj4zYO-array-unboxed:ValueUnboxed
      Value = primitive-containers-0.1.0.0-4T7iiQSe8s3An1FFOj4zYO-array-unboxed:ValueLifted
    for primitive-containers-0.1.0.0..
    Preprocessing library 'set-indef' for primitive-containers-0.1.0.0..
    Building library 'set-indef' instantiated with
      Value = primitive-containers-0.1.0.0-4T7iiQSe8s3An1FFOj4zYO-array-unboxed:ValueUnboxed
    for primitive-containers-0.1.0.0..
    Preprocessing library 'set-indef' for primitive-containers-0.1.0.0..
    Building library 'set-indef' instantiated with
      Value = primitive-containers-0.1.0.0-4T7iiQSe8s3An1FFOj4zYO-array-unboxed:ValueLifted
    for primitive-containers-0.1.0.0..
    Preprocessing library 'set-indef' for primitive-containers-0.1.0.0..
    Building library 'set-indef' instantiated with
      Value = primitive-containers-0.1.0.0-4T7iiQSe8s3An1FFOj4zYO-array-unboxed:ValueUnlifted
    for primitive-containers-0.1.0.0..
    Preprocessing library for primitive-containers-0.1.0.0..
    Building library for primitive-containers-0.1.0.0..
    Installing internal library set-indef in /home/amartin/Development/primitive-containers/.stack-work/install/x86_64-linux/lts-11.7/8.2.2/lib/x86_64-linux-ghc-8.2.2/
primitive-containers-0.1.0.0-LB02mqSWkYI3GBWrMlPkdG-set-indef
    Installing internal library map-indef in /home/amartin/Development/primitive-containers/.stack-work/install/x86_64-linux/lts-11.7/8.2.2/lib/x86_64-linux-ghc-8.2.2/
primitive-containers-0.1.0.0-7Mjdw1dnkztIBEv4giYMwn-map-indef
    Installing internal library array-unboxed in /home/amartin/Development/primitive-containers/.stack-work/install/x86_64-linux/lts-11.7/8.2.2/lib/x86_64-linux-ghc-8.
2.2/primitive-containers-0.1.0.0-4T7iiQSe8s3An1FFOj4zYO-array-unboxed
    Installing internal library map-indef in /home/amartin/Development/primitive-containers/.stack-work/install/x86_64-linux/lts-11.7/8.2.2/lib/x86_64-linux-ghc-8.2.2/
primitive-containers-0.1.0.0-7Mjdw1dnkztIBEv4giYMwn-map-indef+2T1dqeUIRdj8OPyuGNS3hg
    Installing internal library map-indef in /home/amartin/Development/primitive-containers/.stack-work/install/x86_64-linux/lts-11.7/8.2.2/lib/x86_64-linux-ghc-8.2.2/
primitive-containers-0.1.0.0-7Mjdw1dnkztIBEv4giYMwn-map-indef+71ykyc6nSwx8vP5G0Tqw9i
    Installing internal library map-indef in /home/amartin/Development/primitive-containers/.stack-work/install/x86_64-linux/lts-11.7/8.2.2/lib/x86_64-linux-ghc-8.2.2/
primitive-containers-0.1.0.0-7Mjdw1dnkztIBEv4giYMwn-map-indef+G859lIO1xcR1YT3FaKNnT3
    Installing internal library set-indef in /home/amartin/Development/primitive-containers/.stack-work/install/x86_64-linux/lts-11.7/8.2.2/lib/x86_64-linux-ghc-8.2.2/
primitive-containers-0.1.0.0-LB02mqSWkYI3GBWrMlPkdG-set-indef+6ga3wnXyLKPGeJh3bsiEcn
    Installing internal library set-indef in /home/amartin/Development/primitive-containers/.stack-work/install/x86_64-linux/lts-11.7/8.2.2/lib/x86_64-linux-ghc-8.2.2/
primitive-containers-0.1.0.0-LB02mqSWkYI3GBWrMlPkdG-set-indef+EO0gCEE4KTFL0dcsdrzrR9
    Installing internal library set-indef in /home/amartin/Development/primitive-containers/.stack-work/install/x86_64-linux/lts-11.7/8.2.2/lib/x86_64-linux-ghc-8.2.2/
primitive-containers-0.1.0.0-LB02mqSWkYI3GBWrMlPkdG-set-indef+F8UdKHx9CmY4gHukJdpFI
    Installing library in /home/amartin/Development/primitive-containers/.stack-work/install/x86_64-linux/lts-11.7/8.2.2/lib/x86_64-linux-ghc-8.2.2/primitive-container
s-0.1.0.0-IlrblA1JadU1eSfUzd3i3S
    Cabal-simple_mPHDZzAJ_2.0.1.0_ghc-8.2.2:
    '/home/amartin/.stack/programs/x86_64-linux/ghc-8.2.2/bin/ghc' exited with an
    error:
    Failed to load interface for ‘Control.Monad.Primitive’
    no unit id matching ‘primitive-0.6.3.0-CXy1O9sQYlI58rn9KQkFyo’ was found

I'm not sure what uses of backpack stack currently claims to support, but I thought it'd be worth it to go ahead and open this here anyway. Also:

$ stack --version
Version 1.7.1, Git revision 681c800873816c022739ca7ed14755e85a579565 (5807 commits) x86_64 hpack-0.28.2

Thanks for the note. Are you using a custom setup? I wouldn't be surprised if that codepath didn't work.

I have a Setup.hs file, but it it is just the default.