Cabal-1.4: library-dirs and include-dirs missing from package description after install

Duncan Coutts duncan.coutts at worc.ox.ac.uk
Mon Jun 16 14:58:55 EDT 2008


On Mon, 2008-06-16 at 14:15 +0100, Alistair Bayley wrote:
> I'm trying to build and install Takusen 0.8.2 with a new .cabal and
> Setup, using Cabal-1.4.0.0. The Setup program writes out an updated
> Takusen.buildinfo (below) from the postConf hook. However, the
> library-dirs and include-dirs fields are not included in the package
> description when installed.
> 
> Any ideas as to what I'm doing wrong?

I cannot reproduce this problem. It works fine for me.

I made a dummy takusen.cabal:
name: takusen
version: 0
build-type: Configure

library
  -- nothing here

and your takusen.buildinfo

> --------------- Takusen.buildinfo ---------------------
> buildable: True
> build-tools: odbcconf -any, sqlplus -any, pg_config -any,
>              sqlite3 -any
> cpp-options:
> cc-options:
> ld-options: --enable-stdcall-fixup
> pkgconfig-depends:
> frameworks:
> c-sources:
> extensions: CPP
> extra-libraries: odbc32 oci pq sqlite3
> extra-lib-dirs: "C:\\Program Files\\sqlite3\\"
>                 C:/PROGRA~1/POSTGR~1/8.1/lib
> C:\oracle\product\10.2.0\client_1\bin

I assume you did actually have the above line properly indented. With it
as it is you get a parse error when reading in the buildinfo file.

> includes:
> install-includes:
> include-dirs: "C:\\Program Files\\sqlite3\\"
>               C:/PROGRA~1/POSTGR~1/8.1/include
>               C:/PROGRA~1/POSTGR~1/8.1/include/server
>               C:\oracle\product\10.2.0\client_1\oci\include
> hs-source-dirs: .
> other-modules: Database.InternalEnumerator
> ghc-prof-options: -prof -auto-all
> ghc-shared-options: -prof -auto-all
> ghc-options:
> hugs-options:
> nhc98-options:
> jhc-options:

Then I do

$ cabal configure
$ cabal register --gen-pkg-config

and looking at the takusen-0.conf the library-dirs and include-dirs
contain all the dirs given in takusen.buildinfo.

This is obviously on Windows. On linux it would not work since C:\etc
are not absolute paths on unix but they are on Windows.

So I'll need more precise details on how to reproduce the problem. Is
there a darcs repo I should use? What commands should I use exactly?

Duncan



More information about the Libraries mailing list