Skip to content

Build fails on src/Nvidia/RMApi.hs with Ambiguous occurrence ‘status’ and other errors. #5

@dreirund

Description

@dreirund

Ahoj,

I am trying to build this on Artix GNU/Linux (rolling release; GHC version: 9.4.8) using this recipe (with the exception that I use the latest state from this git repository, not a specific commit).

Build fails in step 8 in src/Nvidia/RMApi.hs:

Configuring mdev-gpu-0.1.0.0...
Preprocessing library for mdev-gpu-0.1.0.0..
Building library for mdev-gpu-0.1.0.0..
[ 1 of 10] Compiling Common.Device    ( src/Common/Device.hs, dist/build/Common/Device.dyn_o )
[ 2 of 10] Compiling Common.Types     ( src/Common/Types.hs, dist/build/Common/Types.dyn_o )
[ 3 of 10] Compiling Common.Config    ( src/Common/Config.hs, dist/build/Common/Config.dyn_o )
[ 4 of 10] Compiling Nvidia.Device    ( src/Nvidia/Device.hs, dist/build/Nvidia/Device.dyn_o )
[ 5 of 10] Compiling Nvidia.Errors    ( src/Nvidia/Errors.hs, dist/build/Nvidia/Errors.dyn_o )
[ 6 of 10] Compiling Nvidia.RMApi.Types ( src/Nvidia/RMApi/Types.hs, dist/build/Nvidia/RMApi/Types.dyn_o )
[ 7 of 10] Compiling Nvidia.RMApi.IoctlCodes ( src/Nvidia/RMApi/IoctlCodes.hs, dist/build/Nvidia/RMApi/IoctlCodes.dyn_o )
[ 8 of 10] Compiling Nvidia.RMApi     ( src/Nvidia/RMApi.hs, dist/build/Nvidia/RMApi.dyn_o )

src/Nvidia/RMApi.hs:57:11: error:
    Ambiguous occurrence ‘status’
    It could refer to
       either the field ‘status’ of record ‘RmFreeRes’,
              imported from ‘Nvidia.RMApi.Types’ at src/Nvidia/RMApi.hs:31:1-25
              (and originally defined at src/Nvidia/RMApi/Types.hs:105:5-10)
           or the field ‘status’ of record ‘RmControlRes’,
              imported from ‘Nvidia.RMApi.Types’ at src/Nvidia/RMApi.hs:31:1-25
              (and originally defined at src/Nvidia/RMApi/Types.hs:199:5-10)
           or the field ‘status’ of record ‘RmAllocRes’,
              imported from ‘Nvidia.RMApi.Types’ at src/Nvidia/RMApi.hs:31:1-25
              (and originally defined at src/Nvidia/RMApi/Types.hs:72:5-10)
   |
57 |   let s = status (ret :: RmAllocRes)
   |           ^^^^^^

src/Nvidia/RMApi.hs:62:26: error:
    Ambiguous occurrence ‘hRoot’
    It could refer to
       either the field ‘hRoot’ of record ‘RmFreeRes’,
              imported from ‘Nvidia.RMApi.Types’ at src/Nvidia/RMApi.hs:31:1-25
              (and originally defined at src/Nvidia/RMApi/Types.hs:102:5-9)
           or the field ‘hRoot’ of record ‘RmAllocRes’,
              imported from ‘Nvidia.RMApi.Types’ at src/Nvidia/RMApi.hs:31:1-25
              (and originally defined at src/Nvidia/RMApi/Types.hs:67:5-9)
   |
62 |           (fromIntegral (hRoot (ret :: RmAllocRes)) :: Integer)
   |                          ^^^^^

src/Nvidia/RMApi.hs:63:26: error:
    Ambiguous occurrence ‘hObjectParent’
    It could refer to
       either the field ‘hObjectParent’ of record ‘RmFreeRes’,
              imported from ‘Nvidia.RMApi.Types’ at src/Nvidia/RMApi.hs:31:1-25
              (and originally defined at src/Nvidia/RMApi/Types.hs:103:5-17)
           or the field ‘hObjectParent’ of record ‘RmAllocRes’,
              imported from ‘Nvidia.RMApi.Types’ at src/Nvidia/RMApi.hs:31:1-25
              (and originally defined at src/Nvidia/RMApi/Types.hs:68:5-17)
   |
63 |           (fromIntegral (hObjectParent (ret :: RmAllocRes)) :: Integer)
   |                          ^^^^^^^^^^^^^

src/Nvidia/RMApi.hs:66:18: error:
    Ambiguous occurrence ‘status’
    It could refer to
       either the field ‘status’ of record ‘RmFreeRes’,
              imported from ‘Nvidia.RMApi.Types’ at src/Nvidia/RMApi.hs:31:1-25
              (and originally defined at src/Nvidia/RMApi/Types.hs:105:5-10)
           or the field ‘status’ of record ‘RmControlRes’,
              imported from ‘Nvidia.RMApi.Types’ at src/Nvidia/RMApi.hs:31:1-25
              (and originally defined at src/Nvidia/RMApi/Types.hs:199:5-10)
           or the field ‘status’ of record ‘RmAllocRes’,
              imported from ‘Nvidia.RMApi.Types’ at src/Nvidia/RMApi.hs:31:1-25
              (and originally defined at src/Nvidia/RMApi/Types.hs:72:5-10)
   |
66 |           (show (status (ret :: RmAllocRes)))
   |                  ^^^^^^

src/Nvidia/RMApi.hs:79:11: error:
    Ambiguous occurrence ‘status’
    It could refer to
       either the field ‘status’ of record ‘RmFreeRes’,
              imported from ‘Nvidia.RMApi.Types’ at src/Nvidia/RMApi.hs:31:1-25
              (and originally defined at src/Nvidia/RMApi/Types.hs:105:5-10)
           or the field ‘status’ of record ‘RmControlRes’,
              imported from ‘Nvidia.RMApi.Types’ at src/Nvidia/RMApi.hs:31:1-25
              (and originally defined at src/Nvidia/RMApi/Types.hs:199:5-10)
           or the field ‘status’ of record ‘RmAllocRes’,
              imported from ‘Nvidia.RMApi.Types’ at src/Nvidia/RMApi.hs:31:1-25
              (and originally defined at src/Nvidia/RMApi/Types.hs:72:5-10)
   |
79 |   let s = status (ret :: RmFreeRes)
   |           ^^^^^^

src/Nvidia/RMApi.hs:108:11: error:
    Ambiguous occurrence ‘status’
    It could refer to
       either the field ‘status’ of record ‘RmFreeRes’,
              imported from ‘Nvidia.RMApi.Types’ at src/Nvidia/RMApi.hs:31:1-25
              (and originally defined at src/Nvidia/RMApi/Types.hs:105:5-10)
           or the field ‘status’ of record ‘RmControlRes’,
              imported from ‘Nvidia.RMApi.Types’ at src/Nvidia/RMApi.hs:31:1-25
              (and originally defined at src/Nvidia/RMApi/Types.hs:199:5-10)
           or the field ‘status’ of record ‘RmAllocRes’,
              imported from ‘Nvidia.RMApi.Types’ at src/Nvidia/RMApi.hs:31:1-25
              (and originally defined at src/Nvidia/RMApi/Types.hs:72:5-10)
    |
108 |   let s = status (ret :: RmControlRes)
    |           ^^^^^^

src/Nvidia/RMApi.hs:137:11: error:
    Ambiguous occurrence ‘status’
    It could refer to
       either the field ‘status’ of record ‘RmFreeRes’,
              imported from ‘Nvidia.RMApi.Types’ at src/Nvidia/RMApi.hs:31:1-25
              (and originally defined at src/Nvidia/RMApi/Types.hs:105:5-10)
           or the field ‘status’ of record ‘RmControlRes’,
              imported from ‘Nvidia.RMApi.Types’ at src/Nvidia/RMApi.hs:31:1-25
              (and originally defined at src/Nvidia/RMApi/Types.hs:199:5-10)
           or the field ‘status’ of record ‘RmAllocRes’,
              imported from ‘Nvidia.RMApi.Types’ at src/Nvidia/RMApi.hs:31:1-25
              (and originally defined at src/Nvidia/RMApi/Types.hs:72:5-10)
    |
137 |   let s = status (ret :: RmControlRes)
    |           ^^^^^^

src/Nvidia/RMApi.hs:158:11: error:
    Ambiguous occurrence ‘status’
    It could refer to
       either the field ‘status’ of record ‘RmFreeRes’,
              imported from ‘Nvidia.RMApi.Types’ at src/Nvidia/RMApi.hs:31:1-25
              (and originally defined at src/Nvidia/RMApi/Types.hs:105:5-10)
           or the field ‘status’ of record ‘RmControlRes’,
              imported from ‘Nvidia.RMApi.Types’ at src/Nvidia/RMApi.hs:31:1-25
              (and originally defined at src/Nvidia/RMApi/Types.hs:199:5-10)
           or the field ‘status’ of record ‘RmAllocRes’,
              imported from ‘Nvidia.RMApi.Types’ at src/Nvidia/RMApi.hs:31:1-25
              (and originally defined at src/Nvidia/RMApi/Types.hs:72:5-10)
    |
158 |   let s = status (ret :: RmControlRes)
    |           ^^^^^^
[10 of 10] Compiling Paths_mdev_gpu   ( dist/build/autogen/Paths_mdev_gpu.hs, dist/build/Paths_mdev_gpu.dyn_o )

Regards!

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions