[GHC] #13978: oddness surrounding aeson 1.0.2.1 on Debian

#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@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 }}} -- Ticket URL: http://ghc.haskell.org/trac/ghc/ticket/13978 GHC http://www.haskell.org/ghc/ The Glasgow Haskell Compiler

#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 Resolution: | Keywords: Operating System: Unknown/Multiple | Architecture: | Unknown/Multiple Type of failure: None/Unknown | Test Case: Blocked By: | Blocking: Related Tickets: | Differential Rev(s): Wiki Page: | -------------------------------------+------------------------------------- Comment (by nomeata): Are you sure the `cabal configure --enable-tests --enable-library- profiling` observation is relevant, and not just a sign of a bunch of `libghc-*-prof` packages not being installed? -- Ticket URL: http://ghc.haskell.org/trac/ghc/ticket/13978#comment:1 GHC http://www.haskell.org/ghc/ The Glasgow Haskell Compiler

#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 Resolution: | Keywords: Operating System: Unknown/Multiple | Architecture: | Unknown/Multiple Type of failure: None/Unknown | Test Case: Blocked By: | Blocking: Related Tickets: | Differential Rev(s): Wiki Page: | -------------------------------------+------------------------------------- Comment (by clint): Joachim, I did an '''apt build-dep haskell-aeson''' in that chroot and it installed all the -prof .debs. -- Ticket URL: http://ghc.haskell.org/trac/ghc/ticket/13978#comment:2 GHC http://www.haskell.org/ghc/ The Glasgow Haskell Compiler

#13978: oddness surrounding aeson 1.0.2.1 on Debian -------------------------------------+------------------------------------- Reporter: clint | Owner: (none) Type: bug | Status: closed Priority: normal | Milestone: Component: Compiler | Version: 8.0.2 Resolution: invalid | Keywords: Operating System: Unknown/Multiple | Architecture: | Unknown/Multiple Type of failure: None/Unknown | Test Case: Blocked By: | Blocking: Related Tickets: | Differential Rev(s): Wiki Page: | -------------------------------------+------------------------------------- Changes (by LocutusOfBorg): * status: new => closed * resolution: => invalid Comment: This seems to have been fixed by a new patch refresh (some if statement being wrong) Closing -- Ticket URL: http://ghc.haskell.org/trac/ghc/ticket/13978#comment:3 GHC http://www.haskell.org/ghc/ The Glasgow Haskell Compiler
participants (1)
-
GHC