[Haskell-cafe] HPC and Template Haskell (GHC 7.8.3, Yesod)

David Turner dct25-561bs at mythic-beasts.com
Wed Dec 24 12:42:03 UTC 2014


Hi all,

Turns out this was already a known issue in GHC:
https://ghc.haskell.org/trac/ghc/ticket/9762 and a fix is now on the
way for 7.10.1. In the meantime, adding -fomit-interface-pragmas works
for me.

Thanks,

David

On 19 December 2014 at 20:28, David Turner
<dct25-561bs at mythic-beasts.com> wrote:
> Ok, I can reproduce this with a bare Yesod scaffold (using the latest
> cabal-install) - see below.
>
> If I run cabal build a couple more times, it completes successfully,
> which is mighty strange!
>
>
> [linuxadmin at vm01 20:19:43 ~ ]
> $ yesod init
> Welcome to the Yesod scaffolder.
> I'm going to be creating a skeleton Yesod project for you.
>
> What do you want to call your project? We'll use this for the cabal name.
>
> Project name: linker-test
> Yesod uses Persistent for its (you guessed it) persistence layer.
> This tool will build in either SQLite or PostgreSQL or MongoDB support for you.
> We recommend starting with SQLite: it has no dependencies.
>
>     s      = sqlite
>     p      = postgresql
>     pf     = postgresql + Fay (experimental)
>     mongo  = mongodb
>     mysql  = MySQL
>     simple = no database, no auth
>     url    = Let me specify URL containing a site (advanced)
>
> So, what'll it be? simple
> That's it! I'm creating your files now...
>
> ---------------------------------------
>
>                      ___
>                             {-)   |\
>                        [m,].-"-.   /
>       [][__][__]         \(/\__/\)/
>       [__][__][__][__]~~~~  |  |
>       [][__][__][__][__][] /   |
>       [__][__][__][__][__]| /| |
>       [][__][__][__][__][]| || |  ~~~~
>   ejm [__][__][__][__][__]__,__,  \__/
>
>
> ---------------------------------------
>
> The foundation for your web application has been built.
>
>
> There are a lot of resources to help you use Yesod.
> Start with the book: http://www.yesodweb.com/book
> Take part in the community: http://yesodweb.com/page/community
>
>
> It's highly recommended to follow the quick start guide for
> installing Yesod: http://www.yesodweb.com/page/quickstart
>
> If your system is already configured correctly, please run:
>
>    cd linker-test && cabal install -j --enable-tests
> --max-backjumps=-1 --reorder-goals && yesod devel
> [linuxadmin at vm01 20:20:07 ~ ]
> $ cd linker-test
> [linuxadmin at vm01 20:20:11 ~/linker-test ]
> $ ~/cabal/cabal-install/.cabal-sandbox/bin/cabal configure
> --disable-tests --enable-coverage --disable-profiling
> Resolving dependencies...
> Configuring linker-test-0.0.0...
> [linuxadmin at vm01 20:20:25 ~/linker-test ]
> $ ~/cabal/cabal-install/.cabal-sandbox/bin/cabal build
> Building linker-test-0.0.0...
> Preprocessing library linker-test-0.0.0...
> [1 of 7] Compiling Settings.Development ( Settings/Development.hs,
> dist/build/Settings/Development.o )
> [2 of 7] Compiling Settings         ( Settings.hs, dist/build/Settings.o )
> Loading package ghc-prim ... linking ... done.
> Loading package integer-gmp ... linking ... done.
> Loading package base ... linking ... done.
> Loading package array-0.5.0.0 ... linking ... done.
> Loading package stm-2.4.3 ... linking ... done.
> Loading package async-2.0.1.6 ... linking ... done.
> Loading package deepseq-1.3.0.2 ... linking ... done.
> Loading package bytestring-0.10.4.0 ... linking ... done.
> Loading package containers-0.5.5.1 ... linking ... done.
> Loading package text-1.1.1.3 ... linking ... done.
> Loading package hashable-1.2.2.0 ... linking ... done.
> Loading package scientific-0.3.3.2 ... linking ... done.
> Loading package attoparsec-0.12.1.2 ... linking ... done.
> Loading package base64-bytestring-1.0.0.1 ... linking ... done.
> Loading package blaze-builder-0.3.3.4 ... linking ... done.
> Loading package byteable-0.1.1 ... linking ... done.
> Loading package transformers-0.3.0.0 ... linking ... done.
> Loading package mtl-2.1.3.1 ... linking ... done.
> Loading package exceptions-0.6.1 ... linking ... done.
> Loading package base-unicode-symbols-0.2.2.4 ... linking ... done.
> Loading package transformers-base-0.4.3 ... linking ... done.
> Loading package monad-control-0.3.3.0 ... linking ... done.
> Loading package lifted-base-0.2.2.1 ... linking ... done.
> Loading package mmorph-1.0.4 ... linking ... done.
> Loading package resourcet-1.1.3 ... linking ... done.
> Loading package nats-0.2 ... linking ... done.
> Loading package unordered-containers-0.2.5.1 ... linking ... done.
> Loading package semigroups-0.15.4 ... linking ... done.
> Loading package void-0.6.1 ... linking ... done.
> Loading package conduit-1.2.3 ... linking ... done.
> Loading package filepath-1.3.0.2 ... linking ... done.
> Loading package old-locale-1.0.0.6 ... linking ... done.
> Loading package time-1.4.2 ... linking ... done.
> Loading package unix-2.7.0.1 ... linking ... done.
> Loading package directory-1.2.1.0 ... linking ... done.
> Loading package parsec-3.1.7 ... linking ... done.
> Loading package network-2.5.0.0 ... linking ... done.
> Loading package primitive-0.5.4.0 ... linking ... done.
> Loading package process-1.2.0.0 ... linking ... done.
> Loading package random-1.0.1.1 ... linking ... done.
> Loading package zlib-0.5.4.2 ... linking ... done.
> Loading package streaming-commons-0.1.6 ... linking ... done.
> Loading package conduit-extra-1.1.4.2 ... linking ... done.
> Loading package cryptohash-0.11.6 ... linking ... done.
> Loading package cryptohash-conduit-0.1.1 ... linking ... done.
> Loading package css-text-0.1.2.1 ... linking ... done.
> Loading package data-default-class-0.0.1 ... linking ... done.
> Loading package data-default-instances-base-0.0.1 ... linking ... done.
> Loading package data-default-instances-containers-0.0.1 ... linking ... done.
> Loading package dlist-0.7.1 ... linking ... done.
> Loading package data-default-instances-dlist-0.0.1 ... linking ... done.
> Loading package data-default-instances-old-locale-0.0.1 ... linking ... done.
> Loading package data-default-0.5.3 ... linking ... done.
> Loading package pretty-1.1.1.1 ... linking ... done.
> Loading package template-haskell ... linking ... done.
> Loading package file-embed-0.0.7 ... linking ... done.
> Loading package utf8-string-0.3.8 ... linking ... done.
> Loading package language-javascript-0.5.13 ... linking ... done.
> Loading package hjsmin-0.1.4.7 ... linking ... done.
> Loading package case-insensitive-1.2.0.1 ... linking ... done.
> Loading package http-types-0.8.5 ... linking ... done.
> Loading package mime-types-0.1.0.4 ... linking ... done.
> Loading package old-time-1.1.0.2 ... linking ... done.
> Loading package system-filepath-0.4.12 ... linking ... done.
> Loading package system-fileio-0.3.15 ... linking ... done.
> Loading package unix-compat-0.4.1.3 ... linking ... done.
> Loading package vault-0.3.0.3 ... linking ... done.
> Loading package wai-3.0.2 ... linking ... done.
> Loading package blaze-markup-0.6.1.1 ... linking ... done.
> Loading package blaze-html-0.7.0.3 ... linking ... done.
> Loading package http-date-0.0.4 ... linking ... done.
> Loading package ansi-terminal-0.6.2.1 ... linking ... done.
> Loading package ansi-wl-pprint-0.6.7.1 ... linking ... done.
> Loading package transformers-compat-0.3.3.3 ... linking ... done.
> Loading package optparse-applicative-0.11.0.1 ... linking ... done.
> Loading package auto-update-0.1.2 ... linking ... done.
> Loading package fast-logger-2.2.3 ... linking ... done.
> Loading package stringsearch-0.3.6.5 ... linking ... done.
> Loading package byteorder-1.0.4 ... linking ... done.
> Loading package easy-file-0.2.0 ... linking ... done.
> Loading package binary-0.7.1.0 ... linking ... done.
> Loading package unix-time-0.3.4 ... linking ... done.
> Loading package wai-logger-2.2.3 ... linking ... done.
> Loading package word8-0.1.1 ... linking ... done.
> Loading package wai-extra-3.0.2.1 ... linking ... done.
> Loading package simple-sendfile-0.2.18 ... linking ... done.
> Loading package warp-3.0.2.3 ... linking ... done.
> Loading package wai-app-static-3.0.0.3 ... linking ... done.
> Loading package syb-0.4.2 ... linking ... done.
> Loading package vector-0.10.12.1 ... linking ... done.
> Loading package aeson-0.8.0.2 ... linking ... done.
> Loading package cereal-0.4.1.0 ... linking ... done.
> Loading package securemem-0.1.4 ... linking ... done.
> Loading package crypto-cipher-types-0.0.9 ... linking ... done.
> Loading package cipher-aes-0.2.9 ... linking ... done.
> Loading package crypto-random-0.0.8 ... linking ... done.
> Loading package cprng-aes-0.6.1 ... linking ... done.
> Loading package entropy-0.3.4.1 ... linking ... done.
> Loading package tagged-0.7.3 ... linking ... done.
> Loading package crypto-api-0.13.2 ... linking ... done.
> Loading package setenv-0.1.1.1 ... linking ... done.
> Loading package skein-1.0.9.1 ... linking ... done.
> Loading package clientsession-0.9.1.1 ... linking ... done.
> Loading package cookie-0.4.1.4 ... linking ... done.
> Loading package monad-loops-0.4.2.1 ... linking ... done.
> Loading package stm-chans-3.0.0.2 ... linking ... done.
> Loading package monad-logger-0.3.9 ... linking ... done.
> Loading package mwc-random-0.13.2.2 ... linking ... done.
> Loading package path-pieces-0.1.4 ... linking ... done.
> Loading package safe-0.3.8 ... linking ... done.
> Loading package shakespeare-2.0.2.1 ... linking ... done.
> Loading package yesod-core-1.4.4.5 ... linking ... done.
> Loading package yesod-static-1.4.0.3 ... linking ... done.
> Loading package yaml-0.8.10 ... linking ... done.
> Loading package publicsuffixlist-0.1 ... linking ... done.
> Loading package http-client-0.4.5 ... linking ... done.
> Loading package socks-0.5.4 ... linking ... done.
> Loading package hourglass-0.2.6 ... linking ... done.
> Loading package asn1-types-0.3.0 ... linking ... done.
> Loading package asn1-encoding-0.9.0 ... linking ... done.
> Loading package cipher-des-0.0.6 ... linking ... done.
> Loading package cipher-rc4-0.1.4 ... linking ... done.
> Loading package crypto-numbers-0.2.3 ... linking ... done.
> Loading package crypto-pubkey-types-0.4.2.3 ... linking ... done.
> Loading package crypto-pubkey-0.2.4 ... linking ... done.
> Loading package asn1-parse-0.9.0 ... linking ... done.
> Loading package pem-0.2.2 ... linking ... done.
> Loading package x509-1.5.0.1 ... linking ... done.
> Loading package x509-store-1.5.0 ... linking ... done.
> Loading package x509-validation-1.5.1 ... linking ... done.
> Loading package tls-1.2.13 ... linking ... done.
> Loading package x509-system-1.5.0 ... linking ... done.
> Loading package connection-0.2.3 ... linking ... done.
> Loading package http-client-tls-0.2.2 ... linking ... done.
> Loading package http-conduit-2.1.5 ... linking ... done.
> Loading package xml-types-0.3.4 ... linking ... done.
> Loading package xml-conduit-1.2.3 ... linking ... done.
> Loading package tagstream-conduit-0.5.5.3 ... linking ... done.
> Loading package authenticate-1.3.2.10 ... linking ... done.
> Loading package base16-bytestring-0.1.1.6 ... linking ... done.
> Loading package email-validate-2.0.1 ... linking ... done.
> Loading package mime-mail-0.4.6 ... linking ... done.
> Loading package resource-pool-0.2.3.1 ... linking ... done.
> Loading package silently-1.2.4.1 ... linking ... done.
> Loading package persistent-2.1.1 ... linking ... done.
> Loading package persistent-template-2.1 ... linking ... done.
> Loading package tagsoup-0.13.3 ... linking ... done.
> Loading package xss-sanitize-0.3.5.4 ... linking ... done.
> Loading package yesod-persistent-1.4.0.1 ... linking ... done.
> Loading package yesod-form-1.4.1.1 ... linking ... done.
> Loading package yesod-auth-1.4.1 ... linking ... done.
> Loading package yesod-1.4.1 ... linking ... done.
> [3 of 7] Compiling Settings.StaticFiles ( Settings/StaticFiles.hs,
> dist/build/Settings/StaticFiles.o )
> [4 of 7] Compiling Foundation       ( Foundation.hs, dist/build/Foundation.o )
> [5 of 7] Compiling Import           ( Import.hs, dist/build/Import.o )
> [6 of 7] Compiling Handler.Home     ( Handler/Home.hs,
> dist/build/Handler/Home.o )
> [7 of 7] Compiling Application      ( Application.hs, dist/build/Application.o )
> /usr/bin/ld: dist/build/Foundation.dyn_o: relocation R_X86_64_PC32
> against undefined symbol
> `_hpc_tickboxes_linkerzmtestzm0zi0zi0_Settings_hpc' can not be used
> when making a shared object; recompile with -fPIC
> /usr/bin/ld: final link failed: Bad value
> collect2: error: ld returned 1 exit status
>
> <no location info>: ghc: phase `Linker' failed (exitcode = 1)
> [linuxadmin at vm01 20:20:38 ~/linker-test ]
> $
>
> On 19 December 2014 at 20:21, David Turner <dave.c.turner at gmail.com> wrote:
>> Ok, I can reproduce this with a bare Yesod scaffold:
>>
>> [linuxadmin at vm01 20:19:43 ~ ]
>> $ yesod init
>> Welcome to the Yesod scaffolder.
>> I'm going to be creating a skeleton Yesod project for you.
>>
>> What do you want to call your project? We'll use this for the cabal name.
>>
>> Project name: linker-test
>> Yesod uses Persistent for its (you guessed it) persistence layer.
>> This tool will build in either SQLite or PostgreSQL or MongoDB support for you.
>> We recommend starting with SQLite: it has no dependencies.
>>
>>     s      = sqlite
>>     p      = postgresql
>>     pf     = postgresql + Fay (experimental)
>>     mongo  = mongodb
>>     mysql  = MySQL
>>     simple = no database, no auth
>>     url    = Let me specify URL containing a site (advanced)
>>
>> So, what'll it be? simple
>> That's it! I'm creating your files now...
>>
>> ---------------------------------------
>>
>>                      ___
>>                             {-)   |\
>>                        [m,].-"-.   /
>>       [][__][__]         \(/\__/\)/
>>       [__][__][__][__]~~~~  |  |
>>       [][__][__][__][__][] /   |
>>       [__][__][__][__][__]| /| |
>>       [][__][__][__][__][]| || |  ~~~~
>>   ejm [__][__][__][__][__]__,__,  \__/
>>
>>
>> ---------------------------------------
>>
>> The foundation for your web application has been built.
>>
>>
>> There are a lot of resources to help you use Yesod.
>> Start with the book: http://www.yesodweb.com/book
>> Take part in the community: http://yesodweb.com/page/community
>>
>>
>> It's highly recommended to follow the quick start guide for
>> installing Yesod: http://www.yesodweb.com/page/quickstart
>>
>> If your system is already configured correctly, please run:
>>
>>    cd linker-test && cabal install -j --enable-tests
>> --max-backjumps=-1 --reorder-goals && yesod devel
>> [linuxadmin at vm01 20:20:07 ~ ]
>> $ cd linker-test
>> [linuxadmin at vm01 20:20:11 ~/linker-test ]
>> $ ~/cabal/cabal-install/.cabal-sandbox/bin/cabal configure
>> --disable-tests --enable-coverage --disable-profiling
>> Resolving dependencies...
>> Configuring linker-test-0.0.0...
>> [linuxadmin at vm01 20:20:25 ~/linker-test ]
>> $ ~/cabal/cabal-install/.cabal-sandbox/bin/cabal build
>> Building linker-test-0.0.0...
>> Preprocessing library linker-test-0.0.0...
>> [1 of 7] Compiling Settings.Development ( Settings/Development.hs,
>> dist/build/Settings/Development.o )
>> [2 of 7] Compiling Settings         ( Settings.hs, dist/build/Settings.o )
>> Loading package ghc-prim ... linking ... done.
>> Loading package integer-gmp ... linking ... done.
>> Loading package base ... linking ... done.
>> Loading package array-0.5.0.0 ... linking ... done.
>> Loading package stm-2.4.3 ... linking ... done.
>> Loading package async-2.0.1.6 ... linking ... done.
>> Loading package deepseq-1.3.0.2 ... linking ... done.
>> Loading package bytestring-0.10.4.0 ... linking ... done.
>> Loading package containers-0.5.5.1 ... linking ... done.
>> Loading package text-1.1.1.3 ... linking ... done.
>> Loading package hashable-1.2.2.0 ... linking ... done.
>> Loading package scientific-0.3.3.2 ... linking ... done.
>> Loading package attoparsec-0.12.1.2 ... linking ... done.
>> Loading package base64-bytestring-1.0.0.1 ... linking ... done.
>> Loading package blaze-builder-0.3.3.4 ... linking ... done.
>> Loading package byteable-0.1.1 ... linking ... done.
>> Loading package transformers-0.3.0.0 ... linking ... done.
>> Loading package mtl-2.1.3.1 ... linking ... done.
>> Loading package exceptions-0.6.1 ... linking ... done.
>> Loading package base-unicode-symbols-0.2.2.4 ... linking ... done.
>> Loading package transformers-base-0.4.3 ... linking ... done.
>> Loading package monad-control-0.3.3.0 ... linking ... done.
>> Loading package lifted-base-0.2.2.1 ... linking ... done.
>> Loading package mmorph-1.0.4 ... linking ... done.
>> Loading package resourcet-1.1.3 ... linking ... done.
>> Loading package nats-0.2 ... linking ... done.
>> Loading package unordered-containers-0.2.5.1 ... linking ... done.
>> Loading package semigroups-0.15.4 ... linking ... done.
>> Loading package void-0.6.1 ... linking ... done.
>> Loading package conduit-1.2.3 ... linking ... done.
>> Loading package filepath-1.3.0.2 ... linking ... done.
>> Loading package old-locale-1.0.0.6 ... linking ... done.
>> Loading package time-1.4.2 ... linking ... done.
>> Loading package unix-2.7.0.1 ... linking ... done.
>> Loading package directory-1.2.1.0 ... linking ... done.
>> Loading package parsec-3.1.7 ... linking ... done.
>> Loading package network-2.5.0.0 ... linking ... done.
>> Loading package primitive-0.5.4.0 ... linking ... done.
>> Loading package process-1.2.0.0 ... linking ... done.
>> Loading package random-1.0.1.1 ... linking ... done.
>> Loading package zlib-0.5.4.2 ... linking ... done.
>> Loading package streaming-commons-0.1.6 ... linking ... done.
>> Loading package conduit-extra-1.1.4.2 ... linking ... done.
>> Loading package cryptohash-0.11.6 ... linking ... done.
>> Loading package cryptohash-conduit-0.1.1 ... linking ... done.
>> Loading package css-text-0.1.2.1 ... linking ... done.
>> Loading package data-default-class-0.0.1 ... linking ... done.
>> Loading package data-default-instances-base-0.0.1 ... linking ... done.
>> Loading package data-default-instances-containers-0.0.1 ... linking ... done.
>> Loading package dlist-0.7.1 ... linking ... done.
>> Loading package data-default-instances-dlist-0.0.1 ... linking ... done.
>> Loading package data-default-instances-old-locale-0.0.1 ... linking ... done.
>> Loading package data-default-0.5.3 ... linking ... done.
>> Loading package pretty-1.1.1.1 ... linking ... done.
>> Loading package template-haskell ... linking ... done.
>> Loading package file-embed-0.0.7 ... linking ... done.
>> Loading package utf8-string-0.3.8 ... linking ... done.
>> Loading package language-javascript-0.5.13 ... linking ... done.
>> Loading package hjsmin-0.1.4.7 ... linking ... done.
>> Loading package case-insensitive-1.2.0.1 ... linking ... done.
>> Loading package http-types-0.8.5 ... linking ... done.
>> Loading package mime-types-0.1.0.4 ... linking ... done.
>> Loading package old-time-1.1.0.2 ... linking ... done.
>> Loading package system-filepath-0.4.12 ... linking ... done.
>> Loading package system-fileio-0.3.15 ... linking ... done.
>> Loading package unix-compat-0.4.1.3 ... linking ... done.
>> Loading package vault-0.3.0.3 ... linking ... done.
>> Loading package wai-3.0.2 ... linking ... done.
>> Loading package blaze-markup-0.6.1.1 ... linking ... done.
>> Loading package blaze-html-0.7.0.3 ... linking ... done.
>> Loading package http-date-0.0.4 ... linking ... done.
>> Loading package ansi-terminal-0.6.2.1 ... linking ... done.
>> Loading package ansi-wl-pprint-0.6.7.1 ... linking ... done.
>> Loading package transformers-compat-0.3.3.3 ... linking ... done.
>> Loading package optparse-applicative-0.11.0.1 ... linking ... done.
>> Loading package auto-update-0.1.2 ... linking ... done.
>> Loading package fast-logger-2.2.3 ... linking ... done.
>> Loading package stringsearch-0.3.6.5 ... linking ... done.
>> Loading package byteorder-1.0.4 ... linking ... done.
>> Loading package easy-file-0.2.0 ... linking ... done.
>> Loading package binary-0.7.1.0 ... linking ... done.
>> Loading package unix-time-0.3.4 ... linking ... done.
>> Loading package wai-logger-2.2.3 ... linking ... done.
>> Loading package word8-0.1.1 ... linking ... done.
>> Loading package wai-extra-3.0.2.1 ... linking ... done.
>> Loading package simple-sendfile-0.2.18 ... linking ... done.
>> Loading package warp-3.0.2.3 ... linking ... done.
>> Loading package wai-app-static-3.0.0.3 ... linking ... done.
>> Loading package syb-0.4.2 ... linking ... done.
>> Loading package vector-0.10.12.1 ... linking ... done.
>> Loading package aeson-0.8.0.2 ... linking ... done.
>> Loading package cereal-0.4.1.0 ... linking ... done.
>> Loading package securemem-0.1.4 ... linking ... done.
>> Loading package crypto-cipher-types-0.0.9 ... linking ... done.
>> Loading package cipher-aes-0.2.9 ... linking ... done.
>> Loading package crypto-random-0.0.8 ... linking ... done.
>> Loading package cprng-aes-0.6.1 ... linking ... done.
>> Loading package entropy-0.3.4.1 ... linking ... done.
>> Loading package tagged-0.7.3 ... linking ... done.
>> Loading package crypto-api-0.13.2 ... linking ... done.
>> Loading package setenv-0.1.1.1 ... linking ... done.
>> Loading package skein-1.0.9.1 ... linking ... done.
>> Loading package clientsession-0.9.1.1 ... linking ... done.
>> Loading package cookie-0.4.1.4 ... linking ... done.
>> Loading package monad-loops-0.4.2.1 ... linking ... done.
>> Loading package stm-chans-3.0.0.2 ... linking ... done.
>> Loading package monad-logger-0.3.9 ... linking ... done.
>> Loading package mwc-random-0.13.2.2 ... linking ... done.
>> Loading package path-pieces-0.1.4 ... linking ... done.
>> Loading package safe-0.3.8 ... linking ... done.
>> Loading package shakespeare-2.0.2.1 ... linking ... done.
>> Loading package yesod-core-1.4.4.5 ... linking ... done.
>> Loading package yesod-static-1.4.0.3 ... linking ... done.
>> Loading package yaml-0.8.10 ... linking ... done.
>> Loading package publicsuffixlist-0.1 ... linking ... done.
>> Loading package http-client-0.4.5 ... linking ... done.
>> Loading package socks-0.5.4 ... linking ... done.
>> Loading package hourglass-0.2.6 ... linking ... done.
>> Loading package asn1-types-0.3.0 ... linking ... done.
>> Loading package asn1-encoding-0.9.0 ... linking ... done.
>> Loading package cipher-des-0.0.6 ... linking ... done.
>> Loading package cipher-rc4-0.1.4 ... linking ... done.
>> Loading package crypto-numbers-0.2.3 ... linking ... done.
>> Loading package crypto-pubkey-types-0.4.2.3 ... linking ... done.
>> Loading package crypto-pubkey-0.2.4 ... linking ... done.
>> Loading package asn1-parse-0.9.0 ... linking ... done.
>> Loading package pem-0.2.2 ... linking ... done.
>> Loading package x509-1.5.0.1 ... linking ... done.
>> Loading package x509-store-1.5.0 ... linking ... done.
>> Loading package x509-validation-1.5.1 ... linking ... done.
>> Loading package tls-1.2.13 ... linking ... done.
>> Loading package x509-system-1.5.0 ... linking ... done.
>> Loading package connection-0.2.3 ... linking ... done.
>> Loading package http-client-tls-0.2.2 ... linking ... done.
>> Loading package http-conduit-2.1.5 ... linking ... done.
>> Loading package xml-types-0.3.4 ... linking ... done.
>> Loading package xml-conduit-1.2.3 ... linking ... done.
>> Loading package tagstream-conduit-0.5.5.3 ... linking ... done.
>> Loading package authenticate-1.3.2.10 ... linking ... done.
>> Loading package base16-bytestring-0.1.1.6 ... linking ... done.
>> Loading package email-validate-2.0.1 ... linking ... done.
>> Loading package mime-mail-0.4.6 ... linking ... done.
>> Loading package resource-pool-0.2.3.1 ... linking ... done.
>> Loading package silently-1.2.4.1 ... linking ... done.
>> Loading package persistent-2.1.1 ... linking ... done.
>> Loading package persistent-template-2.1 ... linking ... done.
>> Loading package tagsoup-0.13.3 ... linking ... done.
>> Loading package xss-sanitize-0.3.5.4 ... linking ... done.
>> Loading package yesod-persistent-1.4.0.1 ... linking ... done.
>> Loading package yesod-form-1.4.1.1 ... linking ... done.
>> Loading package yesod-auth-1.4.1 ... linking ... done.
>> Loading package yesod-1.4.1 ... linking ... done.
>> [3 of 7] Compiling Settings.StaticFiles ( Settings/StaticFiles.hs,
>> dist/build/Settings/StaticFiles.o )
>> [4 of 7] Compiling Foundation       ( Foundation.hs, dist/build/Foundation.o )
>> [5 of 7] Compiling Import           ( Import.hs, dist/build/Import.o )
>> [6 of 7] Compiling Handler.Home     ( Handler/Home.hs,
>> dist/build/Handler/Home.o )
>> [7 of 7] Compiling Application      ( Application.hs, dist/build/Application.o )
>> /usr/bin/ld: dist/build/Foundation.dyn_o: relocation R_X86_64_PC32
>> against undefined symbol
>> `_hpc_tickboxes_linkerzmtestzm0zi0zi0_Settings_hpc' can not be used
>> when making a shared object; recompile with -fPIC
>> /usr/bin/ld: final link failed: Bad value
>> collect2: error: ld returned 1 exit status
>>
>> <no location info>: ghc: phase `Linker' failed (exitcode = 1)
>> [linuxadmin at vm01 20:20:38 ~/linker-test ]
>> $
>>
>> On 19 December 2014 at 20:03, David Turner
>> <dct25-561bs at mythic-beasts.com> wrote:
>>> [Failed to copy haskell-cafe in to my first response:]
>>>
>>> I thought I had disabled profiling there, although it was enabled when
>>> I was using cabal which wrote the original command line so that might
>>> explain it.
>>>
>>> I will try a more recent cabal-install this evening.
>>>
>>> Thanks for the speedy response!
>>>
>>> [Time passes - second response:]
>>>
>>> I have tried cabal-install build from the latest revision (4aabb4f4b1)
>>> with the same result. From a clean checkout of my source:
>>>
>>> $ ~/cabal/cabal-install/.cabal-sandbox/bin/cabal configure
>>> --disable-tests --enable-coverage --disable-profiling
>>> $ ~/cabal/cabal-install/.cabal-sandbox/bin/cabal build -v
>>>
>>> Similar outcome.
>>>
>>>
>>>
>>>
>>> On 19 December 2014 at 18:53, Carter Schonwald
>>> <carter.schonwald at gmail.com> wrote:
>>>> i think the fix for this, or a related problem is merged into
>>>> cabal/cabal-install head, and will be in 1.22
>>>>
>>>> does your problem go away if you dont enable profiled builds? (is so, its
>>>> likely the same problem)
>>>>
>>>> On Fri, Dec 19, 2014 at 1:32 PM, David Turner
>>>> <dct25-561bs at mythic-beasts.com> wrote:
>>>>>
>>>>> Hi,
>>>>>
>>>>> I'm having trouble making a HPC build of a Yesod application. It fails
>>>>> with:
>>>>>
>>>>> /usr/bin/ld: dist/build/StreamReading/Config.dyn_o: relocation
>>>>> R_X86_64_PC32 against undefined symbol
>>>>> `_hpc_tickboxes_tracszmenterprisezm0zi0zi0_Settings_hpc' can not be
>>>>> used when making a shared object; recompile with -fPIC
>>>>>
>>>>> I've narrowed it down to a call to ghc and posted the output in all
>>>>> its gory detail at http://lpaste.net/116872 if that's any help.
>>>>>
>>>>> Of note is that dist/build/Settings.dyn_o is unexpectedly missing from
>>>>> the list of parameters to the last call to gcc, and the missing symbol
>>>>> is defined in the same. There are, in fact, quite a number of missing
>>>>> .dyn_o files in that list.
>>>>>
>>>>> Slightly weirdly, when I run the same command line again, it seems to
>>>>> work. At least, there are no errors reported and the exit code is 0.
>>>>>
>>>>> Any ideas?
>>>>>
>>>>> Cheers,
>>>>>
>>>>> David
>>>>> _______________________________________________
>>>>> Haskell-Cafe mailing list
>>>>> Haskell-Cafe at haskell.org
>>>>> http://www.haskell.org/mailman/listinfo/haskell-cafe
>>>>
>>>>


More information about the Haskell-Cafe mailing list