[Hackage] #389: ld-options not properly escaped when passing them to ghc

#389: ld-options not properly escaped when passing them to ghc ----------------------------------+----------------------------------------- Reporter: duncan | Owner: Type: defect | Status: new Priority: normal | Milestone: Cabal-1.6 Component: Cabal library | Version: 1.0 Severity: normal | Keywords: Difficulty: very easy (<1 hour) | Ghcversion: 6.8.3 Platform: | ----------------------------------+----------------------------------------- In constructing the `ghc` command line, the `ldOptions` are passed directly to `ghc` without any escaping. Obviously they should be escaped with the `-optl` prefix. This bug has been in Cabal since support for ld options was introduced in version 0.4, which was released in January 2005. We got away with it for nearly four years because ghc understands most common ld options like `-lfoo` or `-Lbar`. It cropped up because recent versions of `libcurl` (at least in Ubuntu Intrepid) supply a `pkg-config` file which instructs clients to use `-Wl ,-Bsymbolic-functions` when linking to `libcurl`. Obviously this is not a flag that ghc understands. The bug manifests itself as: {{{ ghc-6.8.3: unrecognised flags: -Wl,-Bsymbolic-functions }}} The fix is of course trivial: {{{ - ++ ldOptions bi + ++ ["-optl" ++ opt | opt <- ldOptions bi] }}} Thanks to kowey for discovering it and helping diagnose the source of the problem. It'll be fixed in Cabal-1.6.0.2. I thought I'd document it here partly because it's interesting to find such a bug that went undiscovered for so long. -- Ticket URL: http://hackage.haskell.org/trac/hackage/ticket/389 Hackage http://haskell.org/cabal/ Hackage: Cabal and related projects

#389: ld-options not properly escaped when passing them to ghc
----------------------------+-----------------------------------------------
Reporter: duncan | Owner:
Type: defect | Status: closed
Priority: normal | Milestone: Cabal-1.6
Component: Cabal library | Version: 1.0
Severity: normal | Resolution: fixed
Keywords: | Difficulty: very easy (<1 hour)
Ghcversion: 6.8.3 | Platform:
----------------------------+-----------------------------------------------
Changes (by duncan):
* status: new => closed
* resolution: => fixed
Comment:
{{{
Mon Nov 3 15:19:31 GMT 2008 Duncan Coutts
participants (1)
-
Hackage