On 12/20/06, Bayley, Alistair <[EMAIL PROTECTED]> wrote:
> To build a program, you need to do
>
> ghc --make db.hs -o db D:\Oracle\Ora92\bin\oci.dll
>
> (put the path to your oci.dll here).
>
> This compiles your program, and links it with oci.dll to get the
> Oracle externals resolved.
I've been working with Paul on his linking problems, and there's a
gotcha for Oracle 10 users. Apparently the folder that contains oci.dll,
typically $ORACLE_HOME/bin, can also include hsbase.dll, which has
something to do with "Heterogeneous Services". Obviously (this being
Windows, where filenames are not case sensitive) this clashes with GHC's
HSbase.dll; hence linker errors.
To clarify a little - I believe the issue exists on Oracle 8i, 9i and
10g. It's not so much the version as the options you choose when you
install the software.
As far as I am able to confirm, a default enterprise edition install
includes hsbase.dll. A default client install does not. If you do a
custom install, then the relevant option is "Heterogeneous Services" -
but the simplest way to check is just to look for hsbase.dll in the
<oracle home>\bin directory.
Alistair - maybe you could add a check in Setup.hs, to see if
hsbase.dll is present, and if so, to display a warning? I can sort of
see where such a check would occur (in configOracle), but I don't know
enough about Cabal to suggest code...
Paul.
_______________________________________________
Haskell-Cafe mailing list
Haskell-Cafe@haskell.org
http://www.haskell.org/mailman/listinfo/haskell-cafe