[Haskell-cafe] Success with Takusen (was: Type problem with
p.f.moore at gmail.com
Wed Dec 20 10:05:22 EST 2006
On 12/20/06, Bayley, Alistair <Alistair_Bayley at invescoperpetual.co.uk> 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...
More information about the Haskell-Cafe