cabal install of HDBC-odbc fails on ghc 6.7, -I flag causes problems

problemw with the -I flag to ghc are causing cabal install to fail for hdbc-odbc (darcs head). man ghc still reports that -I is a valid flag after installing ghc 6.7 from darcs head a couple days ago. I think the problem might be the space after the -I flag (which is bad for both 6.6.1 and 6.7) hartthoma@linuxpt:~/installs/HDBC-odbc-head/hdbc-odbc>/usr/local/bin/ghc-6.7.20070816 -I. -e '' Setup.hs hartthoma@linuxpt:~/installs/HDBC-odbc-head/hdbc-odbc>/usr/local/bin/ghc-6.7.20070816 -I/ -e '' Setup.hs hartthoma@linuxpt:~/installs/HDBC-odbc-head/hdbc-odbc>/usr/local/bin/ghc-6.7.20070816 -I / -e '' Setup.hs ghc-6.7.20070816: unrecognised flags: -I just a guess... anothing thing is it seems like there's a new INCLUDE pragma in 6.7. perhaps this should be used in one of the source files to get it to compile. but which one? I couldn't figure out what was causing ghc -c -I dist/build/Database/HDBC/ODBC/Connection_hsc_make.c -o dist/build/Database/HDBC/ODBC/Connection_hsc_make.o to be run. (I did try grepping on ghc but no luck, below.) Any tips on debugging this cabal install would be appreciated. thanks, thomas ************* $ runghc Setup.hs configure; runghc Setup.hs build ..... configure: Using tar found on system at: /bin/tar Reading parameters from /home/hartthoma/installs/HDBC-odbc-head/hdbc-odbc/HDBC-odbc.buildinfo Preprocessing library HDBC-odbc-1.1.2hartthoma@linuxpt:~/installs/HDBC-odbc-head/hdbc-odbc>darcs whatsnew.0... ghc-6.7.20070816: unrecognised flags: -I Usage: For basic information, try the `--help' option. compiling dist/build/Database/HDBC/ODBC/Connection_hsc_make.c failed command was: ghc -c -I dist/build/Database/HDBC/ODBC/Connection_hsc_make.c -o dist/build/Database/HDBC/ODBC/Connection_hsc_make.o ........ hartthoma@linuxpt:~/installs/HDBC-odbc-head/hdbc-odbc>darcs whatsnew { hunk ./Setup.hs 8 -main = defaultMainWithHooks defaultUserHooks{preConf = conf, postConf = ok} - where ok _ _ _ _ = return ExitSuccess +--main = defaultMainWithHooks defaultUserHooks{preConf = conf, postConf = ok} +-- where ok _ _ _ _ = return ExitSuccess +main = do + let ok _ _ _ _ = do return ExitSuccess + return () + in defaultMainWithHooks defaultUserHooks{preConf = conf, postConf = ok} + return () + } ..... hartthoma@linuxpt:~/installs/HDBC-odbc-head/hdbc-odbc>grep -i ghc * HDBC-odbc.buildinfo:ghc-prof-options: HDBC-odbc.buildinfo:ghc-options: HDBC-odbc.cabal:GHC-Options: -O2 Makefile:GHCPARMS := -fglasgow-exts Makefile:all: setup # GHC build Makefile: ghc -package Cabal Setup.hs -o setup Makefile: cd testsrc && ghc --make -package mtl -package HUnit -package MissingH -package HDBC -lodbc $(GHCPARMS) -o runtests -i../dist/build:.. ../d\ ist/build/hdbc-odbc-helper.o runtests.hs Makefile:test-ghc6: testsrc/runtests Makefile:interact-ghci: all Makefile: ghci -idist/build -Ldist/build $(GHCPARMS) Makefile:test: test-ghc6 test-hugs README.txt:You'll need either GHC 6.4.1 or above, or Hugs 2005xx or above. If README.txt:2) ghc --make -o setup Setup.lhs README.txt:To use with GHC, you'll want to use: --- This e-mail may contain confidential and/or privileged information. If you are not the intended recipient (or have received this e-mail in error) please notify the sender immediately and destroy this e-mail. Any unauthorized copying, disclosure or distribution of the material in this e-mail is strictly forbidden.

On Mon, 2007-08-20 at 13:10 -0400, Thomas Hartman wrote:
problemw with the -I flag to ghc are causing cabal install to fail for hdbc-odbc (darcs head).
Any tips on debugging this cabal install would be appreciated.
$ runghc Setup.hs configure; runghc Setup.hs build
Try with -v3 is: runghc Setup.hs build -v3 this will give extremely verbose output. We'd like to see the last bit to see what ghc command line exactly is failing. It'll show the command line arguments in Haskell show format eg ["-I", "/"] Duncan

Well, I built with -v3 as suggested, but the ouptut doesn't seem that
helpful to me. ghc compile commands, at any rate, do not appear to be
outputted
$ echo ":main build" | /usr/local/bin/ghci-6.7.20070816 -v3 Setup.hs
1>build.out 2>build.err
build.out:
GHCi, version 6.7.20070816: http://www.haskell.org/ghc/ :? for help
Loading package base ... linking ... done.
Ok, modules loaded: Main.
*Main> Loading package array-0.1 ... linking ... done.
Loading package containers-0.1 ... linking ... done.
Loading package old-locale-1.0 ... linking ... done.
Loading package old-time-1.0 ... linking ... done.
Loading package filepath-1.0 ... linking ... done.
Loading package directory-1.0 ... linking ... done.
Loading package unix-2.0 ... linking ... done.
Loading package process-1.0 ... linking ... done.
Loading package pretty-1.0 ... linking ... done.
Loading package Cabal-1.1.7 ... linking ... done.
Reading parameters from
/home/hartthoma/installs/HDBC-odbc-1.0.1.0/HDBC-odbc.buildinfo
Preprocessing library HDBC-odbc-1.0.1.0...
*** Exception: exit: ExitFailure 1
*Main> Leaving GHCi.
build.err:
Glasgow Haskell Compiler, Version 6.7.20070816, for Haskell 98, stage 2
booted by GHC version 6.6.1
Using package config file: /usr/local/lib/ghc-6.7.20070816/package.conf
hiding package regex-base-0.72 to avoid conflict with later version
regex-base-0.91
hiding package HDBC-1.0.1 to avoid conflict with later version HDBC-1.1.2
wired-in package base mapped to base-2.1
wired-in package rts mapped to rts-1.0
wired-in package haskell98 mapped to haskell98-1.0
wired-in package template-haskell mapped to template-haskell-0.1
wired-in package ndp not found.
Hsc static flags: -static
*** Parser:
*** Desugar:
*** Simplify:
*** CorePrep:
*** ByteCodeGen:
*** Parser:
*** Desugar:
*** Simplify:
*** CorePrep:
*** ByteCodeGen:
*** Parser:
*** Desugar:
*** Simplify:
*** CorePrep:
*** ByteCodeGen:
*** Chasing dependencies:
Chasing modules from:
Stable obj: []
Stable BCO: []
unload: retaining objs []
unload: retaining bcos []
Ready for upsweep []
Upsweep completely successful.
*** Deleting temp files:
Deleting:
*** Chasing dependencies:
Chasing modules from: Setup.hs
Stable obj: []
Stable BCO: []
unload: retaining objs []
unload: retaining bcos []
Ready for upsweep
[NONREC
ModSummary {
ms_hs_date = Mon Aug 20 09:49:47 EDT 2007
ms_mod = main:Main,
ms_imps = [System.Exit, Distribution.PackageDescription,
Distribution.Simple.Utils, Data.List, System.Info,
Distribution.Simple]
ms_srcimps = []
}]
compile: input file Setup.hs
*** Checking old interface for main:Main:
[1 of 1] Compiling Main ( Setup.hs, interpreted )
*** Parser:
*** Renamer/typechecker:
*** Desugar:
Result size = 435
*** Simplify:
Result size = 464
Result size = 437
*** Tidy Core:
Result size = 437
*** CorePrep:
Result size = 491
*** ByteCodeGen:
*** Deleting temp files:
Deleting:
Upsweep completely successful.
*** Deleting temp files:
Deleting:
*** Parser:
*** Desugar:
*** Simplify:
*** CorePrep:
*** ByteCodeGen:
ghc-6.6.1: unrecognised flags: -I
Usage: For basic information, try the `--help' option.
compiling dist/build/Database/HDBC/ODBC/Connection_hsc_make.c failed
command was: ghc -c -I dist/build/Database/HDBC/ODBC/Connection_hsc_make.c
-o dist/build/Database/HDBC/ODBC/Connection_hsc_make.o
*** Deleting temp files:
Deleting:
*** Deleting temp dirs:
Deleting:
Duncan Coutts
problemw with the -I flag to ghc are causing cabal install to fail for hdbc-odbc (darcs head).
Any tips on debugging this cabal install would be appreciated.
$ runghc Setup.hs configure; runghc Setup.hs build
Try with -v3 is: runghc Setup.hs build -v3 this will give extremely verbose output. We'd like to see the last bit to see what ghc command line exactly is failing. It'll show the command line arguments in Haskell show format eg ["-I", "/"] Duncan --- This e-mail may contain confidential and/or privileged information. If you are not the intended recipient (or have received this e-mail in error) please notify the sender immediately and destroy this e-mail. Any unauthorized copying, disclosure or distribution of the material in this e-mail is strictly forbidden.

On Tue, 2007-08-28 at 18:19 -0400, Thomas Hartman wrote:
Well, I built with -v3 as suggested, but the ouptut doesn't seem that helpful to me. ghc compile commands, at any rate, do not appear to be outputted
Sorry, I meant to pass -v3 to cabal, not to ghc compiling/running Setup.hs
$ echo ":main build" | /usr/local/bin/ghci-6.7.20070816 -v3 Setup.hs 1>build.out 2>build.err
like: runghc Setup.hs build -v3 Duncan

Ah ok, so I did
echo ":main build -v3" | /usr/local/bin/ghci-6.7.20070816 Setup.hs
1>build.out 2>build.err
and this does indeed seem more informative. advice?
build.err:
[1 of 1] Compiling Main ( Setup.hs, interpreted )
ghc-6.6.1: unrecognised flags: -I
Usage: For basic information, try the `--help' option.
compiling dist/build/Database/HDBC/ODBC/Connection_hsc_make.c failed
command was: ghc -c -I dist/build/Database/HDBC/ODBC/Connection_hsc_make.c
-o dist/build/Database/HDBC/ODBC/Connection_hsc_make.o
build.out:
GHCi, version 6.7.20070816: http://www.haskell.org/ghc/ :? for help
Loading package base ... linking ... done.
Ok, modules loaded: Main.
*Main> Loading package array-0.1 ... linking ... done.
Loading package containers-0.1 ... linking ... done.
Loading package old-locale-1.0 ... linking ... done.
Loading package old-time-1.0 ... linking ... done.
Loading package filepath-1.0 ... linking ... done.
Loading package directory-1.0 ... linking ... done.
Loading package unix-2.0 ... linking ... done.
Loading package process-1.0 ... linking ... done.
Loading package pretty-1.0 ... linking ... done.
Loading package Cabal-1.1.7 ... linking ... done.
Reading parameters from
/home/hartthoma/installs/HDBC-odbc-1.0.1.0/HDBC-odbc.buildinfo
Creating dist/build (and its parents)
Creating dist/build/autogen (and its parents)
Preprocessing library HDBC-odbc-1.0.1.0...
Creating dist/build/Database/HDBC/ODBC (and its parents)
("/usr/local/bin/hsc2hs",["-D__GLASGOW_HASKELL__=606","--cflag=-I","--lflag=-lodbc","-o","dist/build/Database/HDBC/ODBC/Connection.hs","Database/HDBC/ODBC/Connection.hsc"])
*** Exception: exit: ExitFailure 1
*Main> Leaving GHCi.
Duncan Coutts
Well, I built with -v3 as suggested, but the ouptut doesn't seem that helpful to me. ghc compile commands, at any rate, do not appear to be outputted
Sorry, I meant to pass -v3 to cabal, not to ghc compiling/running Setup.hs
$ echo ":main build" | /usr/local/bin/ghci-6.7.20070816 -v3 Setup.hs 1>build.out 2>build.err
like: runghc Setup.hs build -v3 Duncan --- This e-mail may contain confidential and/or privileged information. If you are not the intended recipient (or have received this e-mail in error) please notify the sender immediately and destroy this e-mail. Any unauthorized copying, disclosure or distribution of the material in this e-mail is strictly forbidden.

On Wed, 2007-08-29 at 10:05 -0400, Thomas Hartman wrote:
Ah ok, so I did
echo ":main build -v3" | /usr/local/bin/ghci-6.7.20070816 Setup.hs 1>build.out 2>build.err
and this does indeed seem more informative. advice?
Turns out this was a bug in FilePath that Cabal was hitting. The bug was fixed some days ago in Cabal by not using the offending FilePath function. Hopefully the FilePath function will also be fixed. So the solution is to update your development version of Cabal to the latest version. Note that Cabal-1.1.6.x does not have this problem, only Cabal-1.1.7. Duncan
participants (2)
-
Duncan Coutts
-
Thomas Hartman