ekmett / ad

Automatic Differentiation

Home Page:http://hackage.haskell.org/package/ad

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Build failure with GHC 9.6.1-alpha1

RyanGlScott opened this issue · comments

base-4.18.* (shipped with GHC 9.6) now exports List from GHC.Exts, which clashes with the List types in ad:

$ cabal build all --enable-tests --enable-benchmarks -w ghc-9.6
Build profile: -w ghc-9.6.0.20230111 -O1
In order, the following will be built (use -v for more details):
 - ad-4.5.2 (lib) (first run)
 - ad-4.5.2 (test:regression) (first run)
 - ad-4.5.2 (bench:blackscholes) (first run)
Preprocessing library for ad-4.5.2..
Building library for ad-4.5.2..
[17 of 55] Compiling Numeric.AD.Internal.Kahn.Float ( src/Numeric/AD/Internal/Kahn/Float.hs, /home/ryanglscott/Documents/Hacking/Haskell/ci-maintenance/checkout/ekmett/ad/dist-newstyle/build/x86_64-linux/ghc-9.6.0.20230111/ad-4.5.2/build/Numeric/AD/Internal/Kahn/Float.o, /home/ryanglscott/Documents/Hacking/Haskell/ci-maintenance/checkout/ekmett/ad/dist-newstyle/build/x86_64-linux/ghc-9.6.0.20230111/ad-4.5.2/build/Numeric/AD/Internal/Kahn/Float.dyn_o )

include/internal_kahn.h:256:32: error:
    Ambiguous occurrence ‘List’
    It could refer to
       either ‘Exts.List’,
              imported from ‘GHC.Exts’ at include/internal_kahn.h:69:1-23
              (and originally defined in ‘ghc-prim-0.10.0:GHC.Types’)
           or ‘Numeric.AD.Internal.Kahn.Float.List’,
              defined at include/internal_kahn.h:256:1
    |
256 | data List = Nil | Cons !SCALAR_TYPE !List
    |                                ^^^^

include/internal_kahn.h:258:17: error:
    Ambiguous occurrence ‘List’
    It could refer to
       either ‘Exts.List’,
              imported from ‘GHC.Exts’ at include/internal_kahn.h:69:1-23
              (and originally defined in ‘ghc-prim-0.10.0:GHC.Types’)
           or ‘Numeric.AD.Internal.Kahn.Float.List’,
              defined at include/internal_kahn.h:256:1
    |
258 | instance IsList List where
    |                 ^^^^

include/internal_kahn.h:259:13: error:
    Ambiguous occurrence ‘List’
    It could refer to
       either ‘Exts.List’,
              imported from ‘GHC.Exts’ at include/internal_kahn.h:69:1-23
              (and originally defined in ‘ghc-prim-0.10.0:GHC.Types’)
           or ‘Numeric.AD.Internal.Kahn.Float.List’,
              defined at include/internal_kahn.h:256:1
    |
259 |   type Item List = SCALAR_TYPE
    |             ^^^^

include/internal_kahn.h:267:14: error:
    Ambiguous occurrence ‘List’
    It could refer to
       either ‘Exts.List’,
              imported from ‘GHC.Exts’ at include/internal_kahn.h:69:1-23
              (and originally defined in ‘ghc-prim-0.10.0:GHC.Types’)
           or ‘Numeric.AD.Internal.Kahn.Float.List’,
              defined at include/internal_kahn.h:256:1
    |
267 |   unpack :: (List -> List) -> o
    |              ^^^^

include/internal_kahn.h:267:22: error:
    Ambiguous occurrence ‘List’
    It could refer to
       either ‘Exts.List’,
              imported from ‘GHC.Exts’ at include/internal_kahn.h:69:1-23
              (and originally defined in ‘ghc-prim-0.10.0:GHC.Types’)
           or ‘Numeric.AD.Internal.Kahn.Float.List’,
              defined at include/internal_kahn.h:256:1
    |
267 |   unpack :: (List -> List) -> o
    |                      ^^^^

include/internal_kahn.h:269:9: error:
    Ambiguous occurrence ‘List’
    It could refer to
       either ‘Exts.List’,
              imported from ‘GHC.Exts’ at include/internal_kahn.h:69:1-23
              (and originally defined in ‘ghc-prim-0.10.0:GHC.Types’)
           or ‘Numeric.AD.Internal.Kahn.Float.List’,
              defined at include/internal_kahn.h:256:1
    |
269 |     :: (List -> (SCALAR_TYPE, List))
    |         ^^^^

include/internal_kahn.h:269:25: error:
    Ambiguous occurrence ‘List’
    It could refer to
       either ‘Exts.List’,
              imported from ‘GHC.Exts’ at include/internal_kahn.h:69:1-23
              (and originally defined in ‘ghc-prim-0.10.0:GHC.Types’)
           or ‘Numeric.AD.Internal.Kahn.Float.List’,
              defined at include/internal_kahn.h:256:1
    |
269 |     :: (List -> (SCALAR_TYPE, List))
    |                         ^^^^

include/internal_kahn.h:272:25: error:
    Ambiguous occurrence ‘List’
    It could refer to
       either ‘Exts.List’,
              imported from ‘GHC.Exts’ at include/internal_kahn.h:69:1-23
              (and originally defined in ‘ghc-prim-0.10.0:GHC.Types’)
           or ‘Numeric.AD.Internal.Kahn.Float.List’,
              defined at include/internal_kahn.h:256:1
    |
272 | instance Grad AD_TYPE List (SCALAR_TYPE, List) where
    |                         ^^^^

include/internal_kahn.h:272:38: error:
    Ambiguous occurrence ‘List’
    It could refer to
       either ‘Exts.List’,
              imported from ‘GHC.Exts’ at include/internal_kahn.h:69:1-23
              (and originally defined in ‘ghc-prim-0.10.0:GHC.Types’)
           or ‘Numeric.AD.Internal.Kahn.Float.List’,
              defined at include/internal_kahn.h:256:1
    |
272 | instance Grad AD_TYPE List (SCALAR_TYPE, List) where
    |                                      ^^^^

include/internal_kahn.h:307:10: error:
    Ambiguous occurrence ‘List’
    It could refer to
       either ‘Exts.List’,
              imported from ‘GHC.Exts’ at include/internal_kahn.h:69:1-23
              (and originally defined in ‘ghc-prim-0.10.0:GHC.Types’)
           or ‘Numeric.AD.Internal.Kahn.Float.List’,
              defined at include/internal_kahn.h:256:1
    |
307 | binds :: List -> ([AD_TYPE], (Int,Int))
    |          ^^^^

include/internal_kahn.h:313:61: error:
    Ambiguous occurrence ‘List’
    It could refer to
       either ‘Exts.List’,
              imported from ‘GHC.Exts’ at include/internal_kahn.h:69:1-23
              (and originally defined in ‘ghc-prim-0.10.0:GHC.Types’)
           or ‘Numeric.AD.Internal.Kahn.Float.List’,
              defined at include/internal_kahn.h:256:1
    |
313 | unbinds :: Foldable f => f AD_TYPE -> UArray Int SCALAR_TYPE -> List
    |                                                             ^^^^
[18 of 55] Compiling Numeric.AD.Internal.Kahn.Double ( src/Numeric/AD/Internal/Kahn/Double.hs, /home/ryanglscott/Documents/Hacking/Haskell/ci-maintenance/checkout/ekmett/ad/dist-newstyle/build/x86_64-linux/ghc-9.6.0.20230111/ad-4.5.2/build/Numeric/AD/Internal/Kahn/Double.o, /home/ryanglscott/Documents/Hacking/Haskell/ci-maintenance/checkout/ekmett/ad/dist-newstyle/build/x86_64-linux/ghc-9.6.0.20230111/ad-4.5.2/build/Numeric/AD/Internal/Kahn/Double.dyn_o )

include/internal_kahn.h:256:33: error:
    Ambiguous occurrence ‘List’
    It could refer to
       either ‘Exts.List’,
              imported from ‘GHC.Exts’ at include/internal_kahn.h:69:1-23
              (and originally defined in ‘ghc-prim-0.10.0:GHC.Types’)
           or ‘Numeric.AD.Internal.Kahn.Double.List’,
              defined at include/internal_kahn.h:256:1
    |
256 | data List = Nil | Cons !SCALAR_TYPE !List
    |                                 ^^^^

include/internal_kahn.h:258:17: error:
    Ambiguous occurrence ‘List’
    It could refer to
       either ‘Exts.List’,
              imported from ‘GHC.Exts’ at include/internal_kahn.h:69:1-23
              (and originally defined in ‘ghc-prim-0.10.0:GHC.Types’)
           or ‘Numeric.AD.Internal.Kahn.Double.List’,
              defined at include/internal_kahn.h:256:1
    |
258 | instance IsList List where
    |                 ^^^^

include/internal_kahn.h:259:13: error:
    Ambiguous occurrence ‘List’
    It could refer to
       either ‘Exts.List’,
              imported from ‘GHC.Exts’ at include/internal_kahn.h:69:1-23
              (and originally defined in ‘ghc-prim-0.10.0:GHC.Types’)
           or ‘Numeric.AD.Internal.Kahn.Double.List’,
              defined at include/internal_kahn.h:256:1
    |
259 |   type Item List = SCALAR_TYPE
    |             ^^^^

include/internal_kahn.h:267:14: error:
    Ambiguous occurrence ‘List’
    It could refer to
       either ‘Exts.List’,
              imported from ‘GHC.Exts’ at include/internal_kahn.h:69:1-23
              (and originally defined in ‘ghc-prim-0.10.0:GHC.Types’)
           or ‘Numeric.AD.Internal.Kahn.Double.List’,
              defined at include/internal_kahn.h:256:1
    |
267 |   unpack :: (List -> List) -> o
    |              ^^^^

include/internal_kahn.h:267:22: error:
    Ambiguous occurrence ‘List’
    It could refer to
       either ‘Exts.List’,
              imported from ‘GHC.Exts’ at include/internal_kahn.h:69:1-23
              (and originally defined in ‘ghc-prim-0.10.0:GHC.Types’)
           or ‘Numeric.AD.Internal.Kahn.Double.List’,
              defined at include/internal_kahn.h:256:1
    |
267 |   unpack :: (List -> List) -> o
    |                      ^^^^

include/internal_kahn.h:269:9: error:
    Ambiguous occurrence ‘List’
    It could refer to
       either ‘Exts.List’,
              imported from ‘GHC.Exts’ at include/internal_kahn.h:69:1-23
              (and originally defined in ‘ghc-prim-0.10.0:GHC.Types’)
           or ‘Numeric.AD.Internal.Kahn.Double.List’,
              defined at include/internal_kahn.h:256:1
    |
269 |     :: (List -> (SCALAR_TYPE, List))
    |         ^^^^

include/internal_kahn.h:269:26: error:
    Ambiguous occurrence ‘List’
    It could refer to
       either ‘Exts.List’,
              imported from ‘GHC.Exts’ at include/internal_kahn.h:69:1-23
              (and originally defined in ‘ghc-prim-0.10.0:GHC.Types’)
           or ‘Numeric.AD.Internal.Kahn.Double.List’,
              defined at include/internal_kahn.h:256:1
    |
269 |     :: (List -> (SCALAR_TYPE, List))
    |                          ^^^^

include/internal_kahn.h:272:26: error:
    Ambiguous occurrence ‘List’
    It could refer to
       either ‘Exts.List’,
              imported from ‘GHC.Exts’ at include/internal_kahn.h:69:1-23
              (and originally defined in ‘ghc-prim-0.10.0:GHC.Types’)
           or ‘Numeric.AD.Internal.Kahn.Double.List’,
              defined at include/internal_kahn.h:256:1
    |
272 | instance Grad AD_TYPE List (SCALAR_TYPE, List) where
    |                          ^^^^

include/internal_kahn.h:272:40: error:
    Ambiguous occurrence ‘List’
    It could refer to
       either ‘Exts.List’,
              imported from ‘GHC.Exts’ at include/internal_kahn.h:69:1-23
              (and originally defined in ‘ghc-prim-0.10.0:GHC.Types’)
           or ‘Numeric.AD.Internal.Kahn.Double.List’,
              defined at include/internal_kahn.h:256:1
    |
272 | instance Grad AD_TYPE List (SCALAR_TYPE, List) where
    |                                        ^^^^

include/internal_kahn.h:307:10: error:
    Ambiguous occurrence ‘List’
    It could refer to
       either ‘Exts.List’,
              imported from ‘GHC.Exts’ at include/internal_kahn.h:69:1-23
              (and originally defined in ‘ghc-prim-0.10.0:GHC.Types’)
           or ‘Numeric.AD.Internal.Kahn.Double.List’,
              defined at include/internal_kahn.h:256:1
    |
307 | binds :: List -> ([AD_TYPE], (Int,Int))
    |          ^^^^

include/internal_kahn.h:313:63: error:
    Ambiguous occurrence ‘List’
    It could refer to
       either ‘Exts.List’,
              imported from ‘GHC.Exts’ at include/internal_kahn.h:69:1-23
              (and originally defined in ‘ghc-prim-0.10.0:GHC.Types’)
           or ‘Numeric.AD.Internal.Kahn.Double.List’,
              defined at include/internal_kahn.h:256:1
    |
313 | unbinds :: Foldable f => f AD_TYPE -> UArray Int SCALAR_TYPE -> List
    |                                                               ^^^^
Error: cabal: Failed to build ad-4.5.2 (which is required by test:regression
from ad-4.5.2 and bench:blackscholes from ad-4.5.2).