oddness surrounding aeson 1.0.2.1 on Debian
per bgamari's request, I am filing this ticket as part of an ongoing plea for help to figure out what is going on.
When building aeson 1.0.2.1 on Debian, we get a failure (https://buildd.debian.org/status/fetch.php?pkg=haskell-aeson&arch=amd64&ver=1.0.2.1-2&stamp=1499701762&raw=0) building the testsuite:
[19 of 19] Compiling Data.Aeson.TH ( Data/Aeson/TH.hs, dist-ghc/build/Data/Aeson/TH.p_o )
Preprocessing test suite 'tests' for aeson-1.0.2.1...
[ 1 of 13] Compiling Types ( tests/Types.hs, dist-ghc/build/tests/tests-tmp/Types.o )
[ 2 of 13] Compiling Options ( tests/Options.hs, dist-ghc/build/tests/tests-tmp/Options.o )
[ 3 of 13] Compiling Functions ( tests/Functions.hs, dist-ghc/build/tests/tests-tmp/Functions.o )
[ 4 of 13] Compiling Instances ( tests/Instances.hs, dist-ghc/build/tests/tests-tmp/Instances.o )
[ 5 of 13] Compiling Encoders ( tests/Encoders.hs, dist-ghc/build/tests/tests-tmp/Encoders.o )
<command line>: can't load .so/.DLL for: /<<PKGBUILDDIR>>/dist-ghc/build/libHSaeson-1.0.2.1-ATVva2eon9U8IQdb5aU6Rk-ghc8.0.2.so (/<<PKGBUILDDIR>>/dist-ghc/build/libHSaeson-1.0.2.1-ATVva2eon9U8IQdb5aU6Rk-ghc8.0.2.so: undefined symbol: aesonzm1zi0zi2zi1zmATVva2eon9U8IQdb5aU6Rk_DataziAesonziEncodingziInternal_utcTime1_closure)
This symbol is *UND* in the .so, but present in Data/Aeson/Encoding/Internal.o and Data/Aeson/Encoding/Internal.dyn_o . Building the testsuite with -O0 causes it to fail with a different symbol.
Building aeson with cabal (modulo having to hand-edit tests/Instances.hs to remove the redundant Tagged instance) results in a successful build of the testsuite. However, if I cabal configure --enable-tests --enable-library-profiling instead of just cabal configure --enable-tests, then the build fails with
[10 of 20] Compiling Data.Aeson.Internal ( Data/Aeson/Internal.hs, dist/build/Data/Aeson/Internal.o )
[11 of 20] Compiling Data.Aeson.Encoding.Builder ( Data/Aeson/Encoding/Builder.hs, dist/build/Data/Aeson/Encoding/Builder.o )
[12 of 20] Compiling Data.Aeson.Encoding.Internal ( Data/Aeson/Encoding/Internal.hs, dist/build/Data/Aeson/Encoding/Internal.o )
[13 of 20] Compiling Data.Aeson.Encoding ( Data/Aeson/Encoding.hs, dist/build/Data/Aeson/Encoding.o )
[14 of 20] Compiling Data.Aeson.Types.ToJSON ( Data/Aeson/Types/ToJSON.hs, dist/build/Data/Aeson/Types/ToJSON.o )
[15 of 20] Compiling Data.Aeson.Types.Class ( Data/Aeson/Types/Class.hs, dist/build/Data/Aeson/Types/Class.o )
[16 of 20] Compiling Data.Aeson.Types ( Data/Aeson/Types.hs, dist/build/Data/Aeson/Types.o )
[17 of 20] Compiling Data.Aeson.Text ( Data/Aeson/Text.hs, dist/build/Data/Aeson/Text.o )
[18 of 20] Compiling Data.Aeson ( Data/Aeson.hs, dist/build/Data/Aeson.o )
[19 of 20] Compiling Data.Aeson.Encode ( Data/Aeson/Encode.hs, dist/build/Data/Aeson/Encode.o )
[20 of 20] Compiling Data.Aeson.TH ( Data/Aeson/TH.hs, dist/build/Data/Aeson/TH.o )
[ 1 of 20] Compiling Data.Aeson.Types.Internal ( Data/Aeson/Types/Internal.hs, dist/build/Data/Aeson/Types/Internal.p_o )
Data/Aeson/Types/Internal.hs:67:1: error:
Failed to load interface for `Prelude.Compat'
Perhaps you haven't installed the profiling libraries for package `base-compat-0.9.3'?
Use -v to see a list of the files searched for.
Data/Aeson/Types/Internal.hs:76:1: error:
Failed to load interface for `Data.HashMap.Strict'
Perhaps you haven't installed the profiling libraries for package `unordered-containers-0.2.8.0@unordered-containers-0.2.8.0-9vyhLlLaqmyDfOnbawvdcQ'?
Use -v to see a list of the files searched for.
Data/Aeson/Types/Internal.hs:77:1: error:
Failed to load interface for `Data.Hashable'
Perhaps you haven't installed the profiling libraries for package `hashable-1.2.6.1@hashable-1.2.6.1-BImGDn7vOUG6aLx2AeaDao'?
Use -v to see a list of the files searched for.
Data/Aeson/Types/Internal.hs:78:1: error:
Failed to load interface for `Data.Scientific'
Perhaps you haven't installed the profiling libraries for package `scientific-0.3.5.1'?
Use -v to see a list of the files searched for.
Data/Aeson/Types/Internal.hs:81:1: error:
Failed to load interface for `Data.Text'
Perhaps you haven't installed the profiling libraries for package `text-1.2.2.2@text-1.2.2.2-KC7dWoG09dA1F6jKj5GSqh'?
Use -v to see a list of the files searched for.
Data/Aeson/Types/Internal.hs:85:1: error:
Failed to load interface for `Data.Vector'
Perhaps you haven't installed the profiling libraries for package `vector-0.12.0.1'?
Use -v to see a list of the files searched for.
Data/Aeson/Types/Internal.hs:87:1: error:
Failed to load interface for `Data.HashMap.Strict'
Perhaps you haven't installed the profiling libraries for package `unordered-containers-0.2.8.0@unordered-containers-0.2.8.0-9vyhLlLaqmyDfOnbawvdcQ'?
Use -v to see a list of the files searched for.
Data/Aeson/Types/Internal.hs:88:1: error:
Failed to load interface for `Data.Scientific'
Perhaps you haven't installed the profiling libraries for package `scientific-0.3.5.1'?
Use -v to see a list of the files searched for.
Data/Aeson/Types/Internal.hs:89:1: error:
Failed to load interface for `Data.Vector'
Perhaps you haven't installed the profiling libraries for package `vector-0.12.0.1'?
Use -v to see a list of the files searched for.
[ 2 of 20] Compiling Data.Aeson.Types.Generic ( Data/Aeson/Types/Generic.hs, dist/build/Data/Aeson/Types/Generic.p_o )
Data/Aeson/Types/Generic.hs:40:1: error:
Failed to load interface for `Prelude.Compat'
Perhaps you haven't installed the profiling libraries for package `base-compat-0.9.3'?
Use -v to see a list of the files searched for.
[ 3 of 20] Compiling Data.Aeson.Parser.Unescape ( Data/Aeson/Parser/Unescape.hs, dist/build/Data/Aeson/Parser/Unescape.p_o )
Data/Aeson/Parser/Unescape.hs:13:1: error:
Failed to load interface for `Data.Text.Array'
Perhaps you haven't installed the profiling libraries for package `text-1.2.2.2@text-1.2.2.2-KC7dWoG09dA1F6jKj5GSqh'?
Use -v to see a list of the files searched for.
Data/Aeson/Parser/Unescape.hs:14:1: error:
Failed to load interface for `Data.Text.Encoding.Error'
Perhaps you haven't installed the profiling libraries for package `text-1.2.2.2@text-1.2.2.2-KC7dWoG09dA1F6jKj5GSqh'?
Use -v to see a list of the files searched for.
Data/Aeson/Parser/Unescape.hs:15:1: error:
Failed to load interface for `Data.Text.Internal'
Perhaps you haven't installed the profiling libraries for package `text-1.2.2.2@text-1.2.2.2-KC7dWoG09dA1F6jKj5GSqh'?
Use -v to see a list of the files searched for.
Data/Aeson/Parser/Unescape.hs:16:1: error:
Failed to load interface for `Data.Text.Internal.Private'
Perhaps you haven't installed the profiling libraries for package `text-1.2.2.2@text-1.2.2.2-KC7dWoG09dA1F6jKj5GSqh'?
Use -v to see a list of the files searched for.
Data/Aeson/Parser/Unescape.hs:17:1: error:
Failed to load interface for `Data.Text.Unsafe'
Perhaps you haven't installed the profiling libraries for package `text-1.2.2.2@text-1.2.2.2-KC7dWoG09dA1F6jKj5GSqh'?
Use -v to see a list of the files searched for.
[ 6 of 20] Compiling Data.Aeson.Internal.Time ( Data/Aeson/Internal/Time.hs, dist/build/Data/Aeson/Internal/Time.p_o )
Data/Aeson/Internal/Time.hs:21:1: error:
Failed to load interface for `Prelude.Compat'
Perhaps you haven't installed the profiling libraries for package `base-compat-0.9.3'?
Use -v to see a list of the files searched for.
[ 8 of 20] Compiling Data.Aeson.Internal.Functions ( Data/Aeson/Internal/Functions.hs, dist/build/Data/Aeson/Internal/Functions.p_o )
Data/Aeson/Internal/Functions.hs:18:1: error:
Failed to load interface for `Prelude.Compat'
Perhaps you haven't installed the profiling libraries for package `base-compat-0.9.3'?
Use -v to see a list of the files searched for.
Data/Aeson/Internal/Functions.hs:20:1: error:
Failed to load interface for `Data.Hashable'
Perhaps you haven't installed the profiling libraries for package `hashable-1.2.6.1@hashable-1.2.6.1-BImGDn7vOUG6aLx2AeaDao'?
Use -v to see a list of the files searched for.
Data/Aeson/Internal/Functions.hs:21:1: error:
Failed to load interface for `Data.HashMap.Strict'
Perhaps you haven't installed the profiling libraries for package `unordered-containers-0.2.8.0@unordered-containers-0.2.8.0-9vyhLlLaqmyDfOnbawvdcQ'?
Use -v to see a list of the files searched for.
This is interesting because when we build aeson-compat (https://buildd.debian.org/status/package.php?p=haskell-aeson-compat&suite=sid) against the questionable build of aeson, we get
Preprocessing test suite 'aeson-compat-test' for aeson-compat-0.3.6...
[1 of 2] Compiling Orphans ( test/Orphans.hs, dist-ghc/build/aeson-compat-test/aeson-compat-test-tmp/Orphans.o )
[2 of 2] Compiling Main ( test/Tests.hs, dist-ghc/build/aeson-compat-test/aeson-compat-test-tmp/Main.o )
/usr/lib/haskell-packages/ghc/lib/x86_64-linux-ghc-8.0.2/aeson-1.0.2.1-CgbEAGwJWkq5wCUqDjmFHU/Data/Aeson/Types/ToJSON.hi
Declaration for $fToJSONProxy_$ctoEncoding:
Failed to load interface for `Data.Aeson.Encoding.Internal'
There are files missing in the `aeson-1.0.2.1' package,
try running 'ghc-pkg check'.
Use -v to see a list of the files searched for.
Cannot continue after interface file error
Trac metadata
Trac field | Value |
---|---|
Version | 8.0.2 |
Type | Bug |
TypeOfFailure | OtherFailure |
Priority | normal |
Resolution | Unresolved |
Component | Compiler |
Test case | |
Differential revisions | |
BlockedBy | |
Related | |
Blocking | |
CC | |
Operating system | |
Architecture |