OK, some more info. Thanks to Jan for the suggestion of using -8 - I'd already tried that and it didn't work. However I did try building a much older version DBD::Oracle 1.02 and that built just fine.
It would seem that between DBD::Oracle 1.02 and DBD::Oracle 1.12 a dependancy has been added for the OCI_HTYPE_SUBSCRIPTION constant which is present in the 8.1.7 oci.h header file but was not present in the 8.0.5 oci.h file. The 8.0.5 oci.h file defines only 12 handle types, while 8.1.7 defines 17. This one is number 13 - unlucky for some (including me!). Similarly OCI_DTYPE_LOCATOR is descriptor number 61 in the 8.1.7 oci.h file; in the 8.0.5 oci.h file the highest number is no 60. So... what to do now? For now I'm up and running with 1.02 so the immediate problem is averted; is this kind of version compatibility usually allowed for in the DBD drivers? Would it help if I were to try and come up with a patch that looses references to these two options and any functionality they provide when it's compiled on 8.0.5 or does nobody really care about that old a release any more? Regards, Bevis.
