I tried building odpic-raw with odpic-3.1.0, but the build process is failing currently:
Preprocessing library for odpic-raw-0.3.0..
c2hs: Error limit of 20 errors has been reached.
src/Database/Dpi/Internal.chs:46: (column 8) [ERROR] >>> Expected enum!
Expected `SubscrNamespace' to denote an enum; instead found
a struct, union, or object.
src/Database/Dpi/Internal.chs:45: (column 8) [ERROR] >>> Expected enum!
Expected `StatementType' to denote an enum; instead found
a struct, union, or object.
src/Database/Dpi/Internal.chs:44: (column 8) [ERROR] >>> Expected enum!
Expected `StartupMode' to denote an enum; instead found
a struct, union, or object.
src/Database/Dpi/Internal.chs:43: (column 8) [ERROR] >>> Expected enum!
Expected `ShutdownMode' to denote an enum; instead found
a struct, union, or object.
src/Database/Dpi/Internal.chs:42: (column 8) [ERROR] >>> Expected enum!
Expected `Purity' to denote an enum; instead found
a struct, union, or object.
src/Database/Dpi/Internal.chs:41: (column 8) [ERROR] >>> Expected enum!
Expected `PoolGetMode' to denote an enum; instead found
a struct, union, or object.
src/Database/Dpi/Internal.chs:40: (column 8) [ERROR] >>> Expected enum!
Expected `PoolCloseMode' to denote an enum; instead found
a struct, union, or object.
src/Database/Dpi/Internal.chs:39: (column 8) [ERROR] >>> Expected enum!
Expected `OracleTypeNum' to denote an enum; instead found
a struct, union, or object.
src/Database/Dpi/Internal.chs:38: (column 8) [ERROR] >>> Expected enum!
Expected `OpCode' to denote an enum; instead found
a struct, union, or object.
src/Database/Dpi/Internal.chs:37: (column 8) [ERROR] >>> Expected enum!
Expected `NativeTypeNum' to denote an enum; instead found
a struct, union, or object.
src/Database/Dpi/Internal.chs:36: (column 8) [ERROR] >>> Expected enum!
Expected `MessageState' to denote an enum; instead found
a struct, union, or object.
src/Database/Dpi/Internal.chs:35: (column 8) [ERROR] >>> Expected enum!
Expected `MessageDeliveryMode' to denote an enum; instead found
a struct, union, or object.
src/Database/Dpi/Internal.chs:34: (column 8) [ERROR] >>> Expected enum!
Expected `FetchMode' to denote an enum; instead found
a struct, union, or object.
src/Database/Dpi/Internal.chs:33: (column 8) [ERROR] >>> Expected enum!
Expected `ExecMode' to denote an enum; instead found
a struct, union, or object.
src/Database/Dpi/Internal.chs:32: (column 8) [ERROR] >>> Expected enum!
Expected `EventType' to denote an enum; instead found
a struct, union, or object.
src/Database/Dpi/Internal.chs:31: (column 8) [ERROR] >>> Expected enum!
Expected `DeqNavigation' to denote an enum; instead found
a struct, union, or object.
src/Database/Dpi/Internal.chs:30: (column 8) [ERROR] >>> Expected enum!
Expected `DeqMode' to denote an enum; instead found
a struct, union, or object.
src/Database/Dpi/Internal.chs:29: (column 8) [ERROR] >>> Expected enum!
Expected `CreateMode' to denote an enum; instead found
a struct, union, or object.
src/Database/Dpi/Internal.chs:28: (column 8) [ERROR] >>> Expected enum!
Expected `ConnCloseMode' to denote an enum; instead found
a struct, union, or object.
src/Database/Dpi/Internal.chs:27: (column 8) [ERROR] >>> Expected enum!
Expected `AuthMode' to denote an enum; instead found
a struct, union, or object.
Building with odpic-2.4.2 did work, but as the latest version of the python binding (cx_oracle) already doesn't work with 2.4.2 anymore, it would be nice if odpic-raw could support 3.1.x too.