[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