Resolving dependencies... Starting base64-bytestring-1.2.0.0 Starting auto-update-0.1.6 Starting base-orphans-0.8.3 Starting base-compat-0.11.2 Building base64-bytestring-1.2.0.0 Building auto-update-0.1.6 Building base-orphans-0.8.3 Building base-compat-0.11.2 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 blaze-builder-0.4.1.0 Starting call-stack-0.2.0 Completed cabal-doctest-1.0.8 Starting clock-0.8 Building call-stack-0.2.0 Building clock-0.8 Completed base-orphans-0.8.3 Starting colour-2.3.5 Building colour-2.3.5 Completed base-compat-0.11.2 Starting data-default-class-0.1.2.0 Completed call-stack-0.2.0 Starting dlist-1.0 Building data-default-class-0.1.2.0 Building dlist-1.0 Completed clock-0.8 Starting easy-file-0.2.2 Building easy-file-0.2.2 Completed data-default-class-0.1.2.0 Starting exceptions-0.10.4 Building exceptions-0.10.4 Completed easy-file-0.2.2 Starting hashable-1.3.0.0 Building hashable-1.3.0.0 Completed dlist-1.0 Starting hspec-discover-2.7.4 Building hspec-discover-2.7.4 Completed colour-2.3.5 Starting integer-logarithms-1.0.3 Completed exceptions-0.10.4 Starting monad-loops-0.4.3 Building integer-logarithms-1.0.3 Building monad-loops-0.4.3 Completed hashable-1.3.0.0 Starting network-3.1.2.0 Completed hspec-discover-2.7.4 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 Building network-3.1.2.0 Completed path-pieces-0.2.1 Starting silently-1.2.5.1 Completed setenv-0.1.1.3 Starting split-0.2.3.4 Building silently-1.2.5.1 Building split-0.2.3.4 Completed silently-1.2.5.1 Starting splitmix-0.1.0.3 Building splitmix-0.1.0.3 Completed split-0.2.3.4 Starting stm-chans-3.0.0.4 Completed splitmix-0.1.0.3 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.4.0.0 Completed stm-chans-3.0.0.4 Starting transformers-compat-0.6.6 Building th-abstraction-0.4.0.0 Building transformers-compat-0.6.6 Completed network-3.1.2.0 Starting unix-compat-0.5.2 Building unix-compat-0.5.2 Completed primitive-0.7.1.0 Starting unliftio-core-0.2.0.1 Building unliftio-core-0.2.0.1 Completed transformers-compat-0.6.6 Starting zlib-0.6.2.2 Building zlib-0.6.2.2 Completed unliftio-core-0.2.0.1 Starting blaze-markup-0.8.2.7 Completed unix-compat-0.5.2 Starting time-compat-1.9.3 Completed th-abstraction-0.4.0.0 Starting base-compat-batteries-0.11.2 Building blaze-markup-0.8.2.7 Building time-compat-1.9.3 Building base-compat-batteries-0.11.2 Completed blaze-markup-0.8.2.7 Starting HUnit-1.6.0.0 Building HUnit-1.6.0.0 Completed time-compat-1.9.3 Starting cookie-0.4.5 Completed zlib-0.6.2.2 Starting ansi-terminal-0.11 Building cookie-0.4.5 Building ansi-terminal-0.11 Completed base-compat-batteries-0.11.2 Starting unordered-containers-0.2.13.0 Completed HUnit-1.6.0.0 Starting data-fix-0.3.0 Building unordered-containers-0.2.13.0 Completed cookie-0.4.5 Starting case-insensitive-1.2.1.0 Building data-fix-0.3.0 Building case-insensitive-1.2.1.0 Completed ansi-terminal-0.11 Starting async-2.2.2 Completed data-fix-0.3.0 Starting old-time-1.1.0.3 Building async-2.2.2 Completed case-insensitive-1.2.1.0 Starting random-1.2.0 Building random-1.2.0 Building old-time-1.1.0.3 Completed async-2.2.2 Starting distributive-0.6.2 Completed old-time-1.1.0.3 Starting vector-0.12.1.2 Building distributive-0.6.2 Building vector-0.12.1.2 Completed random-1.2.0 Starting scientific-0.3.6.2 Completed unordered-containers-0.2.13.0 Starting transformers-base-0.4.5.2 Building scientific-0.3.6.2 Completed distributive-0.6.2 Starting resourcet-1.2.4.2 Building transformers-base-0.4.5.2 Building resourcet-1.2.4.2 Completed transformers-base-0.4.5.2 Starting th-lift-0.8.2 Building th-lift-0.8.2 Completed scientific-0.3.6.2 Starting blaze-html-0.9.1.2 Completed resourcet-1.2.4.2 Starting hspec-expectations-0.8.2 Building blaze-html-0.9.1.2 Building hspec-expectations-0.8.2 Completed th-lift-0.8.2 Starting http-types-0.12.3 Building http-types-0.12.3 Completed hspec-expectations-0.8.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 uuid-types-1.0.3 Building uuid-types-1.0.3 Completed unix-time-0.4.7 Starting tf-random-0.5 Building tf-random-0.5 Completed uuid-types-1.0.3 Starting streaming-commons-0.2.2.1 Building streaming-commons-0.2.2.1 Completed tf-random-0.5 Starting QuickCheck-2.14.1 Building QuickCheck-2.14.1 Completed blaze-html-0.9.1.2 Starting comonad-5.0.6 Building comonad-5.0.6 Completed streaming-commons-0.2.2.1 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 comonad-5.0.6 Starting fast-logger-3.0.2 Completed vector-0.12.1.2 Starting lifted-base-0.2.3.12 Building fast-logger-3.0.2 Building lifted-base-0.2.3.12 Completed fast-logger-3.0.2 Starting bifunctors-5.5.8 Completed lifted-base-0.2.3.12 Starting vector-algorithms-0.8.0.3 Building bifunctors-5.5.8 Building vector-algorithms-0.8.0.3 Completed attoparsec-0.13.2.4 Starting th-lift-instances-0.1.17 Building th-lift-instances-0.1.17 Completed QuickCheck-2.14.1 Starting resource-pool-0.2.3.2 Building resource-pool-0.2.3.2 Completed th-lift-instances-0.1.17 Starting attoparsec-iso8601-1.0.1.0 Building attoparsec-iso8601-1.0.1.0 Completed resource-pool-0.2.3.2 Starting quickcheck-io-0.2.0 Building quickcheck-io-0.2.0 Completed attoparsec-iso8601-1.0.1.0 Starting http-api-data-0.4.2 Completed vector-algorithms-0.8.0.3 Starting mono-traversable-1.0.15.1 Building http-api-data-0.4.2 Building mono-traversable-1.0.15.1 Completed quickcheck-io-0.2.0 Starting hspec-core-2.7.4 Completed bifunctors-5.5.8 Starting assoc-1.0.2 Building hspec-core-2.7.4 Building assoc-1.0.2 Completed assoc-1.0.2 Starting these-1.1.1.1 Building these-1.1.1.1 Completed http-api-data-0.4.2 Completed these-1.1.1.1 Starting strict-0.4 Building strict-0.4 Completed hspec-core-2.7.4 Starting hspec-2.7.4 Building hspec-2.7.4 Completed strict-0.4 Starting quickcheck-instances-0.3.24 Starting aeson-1.5.4.1 Building quickcheck-instances-0.3.24 Building aeson-1.5.4.1 Completed hspec-2.7.4 Completed mono-traversable-1.0.15.1 Starting conduit-1.3.3 Building conduit-1.3.3 Completed quickcheck-instances-0.3.24 Completed conduit-1.3.3 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 aeson-1.5.4.1 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 Downloading persistent-test-2.0.3.3 Downloaded persistent-test-2.0.3.3 Starting persistent-test-2.0.3.3 Building persistent-test-2.0.3.3 Failed to install persistent-test-2.0.3.3 Build log ( /home/builder/.cabal/logs/ghc-8.6.3/persistent-test-2.0.3.3-56ipEQ80mcFBpXAjzUE7LK.log ): cabal: Entering directory '/tmp/cabal-tmp-5622/persistent-test-2.0.3.3' Configuring persistent-test-2.0.3.3... Preprocessing library for persistent-test-2.0.3.3.. Building library for persistent-test-2.0.3.3.. [ 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-21V2l7t3IBN9TYX7DTAhAh: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-5622/persistent-test-2.0.3.3' cabal: Error: some packages failed to install: persistent-test-2.0.3.3-56ipEQ80mcFBpXAjzUE7LK failed during the building phase. The exception was: ExitFailure 1