Skip to content

"cannot find normal object file" error during compilation

When I try to compile tests provided in the singletons package I get the following error:

Building singletons-0.9.3...
Preprocessing library singletons-0.9.3...
In-place registering singletons-0.9.3...
Preprocessing test suite 'compile' for singletons-0.9.3...
[ 6 of 20] Compiling Data.Singletons.Core ( Data/Singletons/Core.hs, dist/build/compile/compile-tmp/Data/Singletons/Core.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 deepseq-1.3.0.2 ... linking ... done.
Loading package containers-0.5.3.1 ... linking ... done.
Loading package transformers-0.3.0.0 ... linking ... done.
Loading package mtl-2.1.2 ... linking ... done.
Loading package syb-0.4.1 ... linking ... done.
Loading package pretty-1.1.1.1 ... linking ... done.
Loading package template-haskell ... linking ... done.
Loading package th-desugar-1.2.1 ... linking ... done.
Loading package newtype-0.2 ... linking ... done.
Loading package constraints-0.3.4.2 ... linking ... done.
Data/Singletons/Core.hs:1:1:
    cannot find normal object file ‛dist/build/compile/compile-tmp/Data/Singletons/Util.dyn_o’
    while linking an interpreted expression

This happens on HEAD but not on 7.6.3. Steps to reproduce:

  1. Download and extract singletons source code
  2. In the cabal file uncomment test-suite section (which is commented out because it doesn't work)
  3. cabal configure --enable-tests && cabal build

Reproducing this requires installing packages required by singletons. I'm setting milestone to 7.8 as this is something that looks like a blocker in a stable release.

Trac metadata
Trac field Value
Version 7.7
Type Bug
TypeOfFailure OtherFailure
Priority high
Resolution Unresolved
Component Compiler
Test case
Differential revisions
BlockedBy
Related
Blocking
CC
Operating system
Architecture
To upload designs, you'll need to enable LFS and have an admin enable hashed storage. More information