[GHC] #13978: oddness surrounding aeson 1.0.2.1 on Debian
GHC
ghc-devs at haskell.org
Sat Jul 15 00:08:06 UTC 2017
#13978: oddness surrounding aeson 1.0.2.1 on Debian
-------------------------------------+-------------------------------------
Reporter: clint | Owner: (none)
Type: bug | Status: new
Priority: normal | Milestone:
Component: Compiler | Version: 8.0.2
Keywords: | Operating System: Unknown/Multiple
Architecture: | Type of failure: None/Unknown
Unknown/Multiple |
Test Case: | Blocked By:
Blocking: | Related Tickets:
Differential Rev(s): | Wiki Page:
-------------------------------------+-------------------------------------
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 at 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 at 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 at 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 at 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 at 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 at 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 at 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 at 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 at 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 at 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 at 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
}}}
--
Ticket URL: <http://ghc.haskell.org/trac/ghc/ticket/13978>
GHC <http://www.haskell.org/ghc/>
The Glasgow Haskell Compiler
More information about the ghc-tickets
mailing list