Resolving dependencies... Starting auto-update-0.1.6 Starting base64-bytestring-1.2.0.0 Starting base-orphans-0.8.2 Starting base-compat-0.11.1 Building base64-bytestring-1.2.0.0 Building auto-update-0.1.6 Building base-orphans-0.8.2 Building base-compat-0.11.1 Completed auto-update-0.1.6 Starting blaze-builder-0.4.1.0 Building blaze-builder-0.4.1.0 Completed base64-bytestring-1.2.0.0 Starting cabal-doctest-1.0.8 Building cabal-doctest-1.0.8 Completed base-orphans-0.8.2 Starting call-stack-0.2.0 Building call-stack-0.2.0 Completed blaze-builder-0.4.1.0 Starting clock-0.8 Completed cabal-doctest-1.0.8 Starting colour-2.3.5 Completed call-stack-0.2.0 Starting data-default-class-0.1.2.0 Building clock-0.8 Building colour-2.3.5 Building data-default-class-0.1.2.0 Completed base-compat-0.11.1 Starting dlist-0.8.0.8 Building dlist-0.8.0.8 Completed data-default-class-0.1.2.0 Starting easy-file-0.2.2 Completed clock-0.8 Starting exceptions-0.10.4 Building easy-file-0.2.2 Building exceptions-0.10.4 Completed dlist-0.8.0.8 Starting hashable-1.3.0.0 Completed easy-file-0.2.2 Starting hspec-discover-2.7.2 Building hashable-1.3.0.0 Building hspec-discover-2.7.2 Completed exceptions-0.10.4 Starting integer-logarithms-1.0.3 Completed colour-2.3.5 Starting monad-loops-0.4.3 Building integer-logarithms-1.0.3 Building monad-loops-0.4.3 Completed hspec-discover-2.7.2 Starting network-3.1.2.0 Completed hashable-1.3.0.0 Starting old-locale-1.0.0.7 Building old-locale-1.0.0.7 Completed integer-logarithms-1.0.3 Starting path-pieces-0.2.1 Completed monad-loops-0.4.3 Starting primitive-0.7.1.0 Building path-pieces-0.2.1 Building primitive-0.7.1.0 Completed old-locale-1.0.0.7 Starting setenv-0.1.1.3 Building setenv-0.1.1.3 Completed path-pieces-0.2.1 Starting silently-1.2.5.1 Building network-3.1.2.0 Building silently-1.2.5.1 Completed setenv-0.1.1.3 Starting split-0.2.3.4 Building split-0.2.3.4 Completed silently-1.2.5.1 Starting splitmix-0.1.0.1 Building splitmix-0.1.0.1 Completed split-0.2.3.4 Starting stm-chans-3.0.0.4 Completed splitmix-0.1.0.1 Starting tagged-0.8.6 Building tagged-0.8.6 Building stm-chans-3.0.0.4 Completed tagged-0.8.6 Starting th-abstraction-0.3.2.0 Building th-abstraction-0.3.2.0 Completed stm-chans-3.0.0.4 Starting transformers-compat-0.6.5 Building transformers-compat-0.6.5 Completed network-3.1.2.0 Starting unix-compat-0.5.2 Completed primitive-0.7.1.0 Starting unliftio-core-0.2.0.1 Building unix-compat-0.5.2 Building unliftio-core-0.2.0.1 Completed transformers-compat-0.6.5 Starting zlib-0.6.2.2 Building zlib-0.6.2.2 Completed th-abstraction-0.3.2.0 Starting time-compat-1.9.3 Completed unliftio-core-0.2.0.1 Starting blaze-markup-0.8.2.7 Building time-compat-1.9.3 Completed unix-compat-0.5.2 Starting HUnit-1.6.0.0 Building blaze-markup-0.8.2.7 Building HUnit-1.6.0.0 Completed HUnit-1.6.0.0 Starting base-compat-batteries-0.11.1 Completed blaze-markup-0.8.2.7 Starting cookie-0.4.5 Building base-compat-batteries-0.11.1 Building cookie-0.4.5 Completed time-compat-1.9.3 Starting ansi-terminal-0.11 Completed zlib-0.6.2.2 Starting unordered-containers-0.2.12.0 Building ansi-terminal-0.11 Building unordered-containers-0.2.12.0 Completed cookie-0.4.5 Starting data-fix-0.3.0 Building data-fix-0.3.0 Completed ansi-terminal-0.11 Starting case-insensitive-1.2.1.0 Completed data-fix-0.3.0 Starting async-2.2.2 Building case-insensitive-1.2.1.0 Building async-2.2.2 Completed base-compat-batteries-0.11.1 Starting old-time-1.1.0.3 Completed case-insensitive-1.2.1.0 Starting random-1.2.0 Building old-time-1.1.0.3 Building random-1.2.0 Completed async-2.2.2 Starting distributive-0.6.2 Building distributive-0.6.2 Completed old-time-1.1.0.3 Starting vector-0.12.1.2 Building vector-0.12.1.2 Completed unordered-containers-0.2.12.0 Starting scientific-0.3.6.2 Building scientific-0.3.6.2 Completed distributive-0.6.2 Starting transformers-base-0.4.5.2 Building transformers-base-0.4.5.2 Completed random-1.2.0 Starting th-lift-0.8.1 Building th-lift-0.8.1 Completed transformers-base-0.4.5.2 Starting resourcet-1.2.4.2 Completed scientific-0.3.6.2 Starting hspec-expectations-0.8.2 Building resourcet-1.2.4.2 Building hspec-expectations-0.8.2 Completed th-lift-0.8.1 Starting blaze-html-0.9.1.2 Building blaze-html-0.9.1.2 Completed hspec-expectations-0.8.2 Starting http-types-0.12.3 Building http-types-0.12.3 Completed resourcet-1.2.4.2 Starting unliftio-0.2.13 Building unliftio-0.2.13 Completed http-types-0.12.3 Starting typed-process-0.2.6.0 Building typed-process-0.2.6.0 Completed typed-process-0.2.6.0 Starting unix-time-0.4.7 Building unix-time-0.4.7 Completed unliftio-0.2.13 Starting comonad-5.0.6 Completed unix-time-0.4.7 Starting uuid-types-1.0.3 Building uuid-types-1.0.3 Building comonad-5.0.6 Completed uuid-types-1.0.3 Starting tf-random-0.5 Building tf-random-0.5 Completed comonad-5.0.6 Starting streaming-commons-0.2.2.1 Completed blaze-html-0.9.1.2 Starting QuickCheck-2.14.1 Building streaming-commons-0.2.2.1 Building QuickCheck-2.14.1 Completed tf-random-0.5 Starting monad-control-1.0.2.3 Building monad-control-1.0.2.3 Completed monad-control-1.0.2.3 Starting attoparsec-0.13.2.4 Building attoparsec-0.13.2.4 Completed vector-0.12.1.2 Starting fast-logger-3.0.1 Completed streaming-commons-0.2.2.1 Starting bifunctors-5.5.7 Building fast-logger-3.0.1 Building bifunctors-5.5.7 Completed fast-logger-3.0.1 Starting lifted-base-0.2.3.12 Building lifted-base-0.2.3.12 Completed attoparsec-0.13.2.4 Starting vector-algorithms-0.8.0.3 Building vector-algorithms-0.8.0.3 Completed lifted-base-0.2.3.12 Starting th-lift-instances-0.1.17 Building th-lift-instances-0.1.17 Completed th-lift-instances-0.1.17 Starting resource-pool-0.2.3.2 Building resource-pool-0.2.3.2 Completed bifunctors-5.5.7 Starting attoparsec-iso8601-1.0.1.0 Building attoparsec-iso8601-1.0.1.0 Completed resource-pool-0.2.3.2 Starting aeson-1.4.7.1 Completed QuickCheck-2.14.1 Starting assoc-1.0.2 Building aeson-1.4.7.1 Building assoc-1.0.2 Completed attoparsec-iso8601-1.0.1.0 Starting quickcheck-io-0.2.0 Building quickcheck-io-0.2.0 Completed assoc-1.0.2 Starting http-api-data-0.4.1.1 Building http-api-data-0.4.1.1 Completed quickcheck-io-0.2.0 Starting these-1.1.1.1 Completed vector-algorithms-0.8.0.3 Starting hspec-core-2.7.2 Building these-1.1.1.1 Building hspec-core-2.7.2 Completed these-1.1.1.1 Starting mono-traversable-1.0.15.1 Building mono-traversable-1.0.15.1 Completed http-api-data-0.4.1.1 Starting strict-0.4 Building strict-0.4 Completed strict-0.4 Starting quickcheck-instances-0.3.24 Completed hspec-core-2.7.2 Starting hspec-2.7.2 Building quickcheck-instances-0.3.24 Building hspec-2.7.2 Completed hspec-2.7.2 Completed quickcheck-instances-0.3.24 Completed mono-traversable-1.0.15.1 Starting conduit-1.3.2 Building conduit-1.3.2 Completed aeson-1.4.7.1 Completed conduit-1.3.2 Starting conduit-extra-1.3.5 Building conduit-extra-1.3.5 Completed conduit-extra-1.3.5 Starting monad-logger-0.3.35 Building monad-logger-0.3.35 Completed monad-logger-0.3.35 Starting persistent-2.10.5.2 Building persistent-2.10.5.2 Completed persistent-2.10.5.2 Starting persistent-template-2.8.2.3 Building persistent-template-2.8.2.3 Completed persistent-template-2.8.2.3 Starting persistent-test-2.0.3.2 Building persistent-test-2.0.3.2 Failed to install persistent-test-2.0.3.2 Build log ( /home/builder/.cabal/logs/ghc-8.6.3/persistent-test-2.0.3.2-BGmQkiqBhDzX0CGV2xpeG.log ): cabal: Entering directory '/tmp/cabal-tmp-859/persistent-test-2.0.3.2' Configuring persistent-test-2.0.3.2... Preprocessing library for persistent-test-2.0.3.2.. Building library for persistent-test-2.0.3.2.. [ 1 of 38] Compiling Init ( src/Init.hs, dist/build/Init.o ) [ 2 of 38] Compiling HtmlTest ( src/HtmlTest.hs, dist/build/HtmlTest.o ) [ 3 of 38] Compiling ForeignKey ( src/ForeignKey.hs, dist/build/ForeignKey.o ) src/ForeignKey.hs:9:88: error: • Exception when trying to run compile-time code: invalid foreign key constraint on table["Child"] expecting a lower case constraint name xs=["Parent","OnDeleteCascade","OnUpdateCascade","fkparent","pname"] CallStack (from HasCallStack): error, called at ./Database/Persist/Quasi.hs:932:32 in persistent-2.10.5.2-7jJdkAVGm9zCYvBtcfYq9X:Database.Persist.Quasi Code: template-haskell-2.14.0.0:Language.Haskell.TH.Quote.quoteExp persistLowerCase "\n\ \ Parent\n\ \ name String\n\ \ Primary name\n\ \\n\ \ Child\n\ \ pname String\n\ \ Foreign Parent OnDeleteCascade OnUpdateCascade fkparent pname\n\ \ deriving Show Eq\n\ \\n\ \ ParentComposite\n\ \ name String\n\ \ lastName String\n\ \ Primary name lastName\n\ \\n\ \ ChildComposite\n\ \ pname String\n\ \ plastName String\n\ \ Foreign ParentComposite OnDeleteCascade fkparent pname plastName\n\ \ deriving Show Eq\n\ \\n\ \ SelfReferenced\n\ \ name String\n\ \ pname String\n\ \ Primary name\n\ \ Foreign SelfReferenced OnDeleteCascade fkparent pname\n\ \ deriving Show Eq\n" • In the quasi-quotation: [persistLowerCase| Parent name String Primary name Child pname String Foreign Parent OnDeleteCascade OnUpdateCascade fkparent pname deriving Show Eq ParentComposite name String lastName String Primary name lastName ChildComposite pname String plastName String Foreign ParentComposite OnDeleteCascade fkparent pname plastName deriving Show Eq SelfReferenced name String pname String Primary name Foreign SelfReferenced OnDeleteCascade fkparent pname deriving Show Eq |] | 9 | share [mkPersist persistSettings { mpsGeneric = False }, mkMigrate "compositeMigrate"] [persistLowerCase| | ^^^^^^^^^^^^^^^^^^... cabal: Leaving directory '/tmp/cabal-tmp-859/persistent-test-2.0.3.2' cabal: Error: some packages failed to install: persistent-test-2.0.3.2-BGmQkiqBhDzX0CGV2xpeG failed during the building phase. The exception was: ExitFailure 1