On 19/11/2010 08:32 PM, Judah Jacobson wrote:
Two possible fixes come to mind:

1) In the .cabal file for cautious-file, it says:

Flag posix
     description: Use POSIX-specific features
     default: True

Ah. I hadn't seen this bit.

Yes, what's probably happened is that I altered the build dependencies, but the CPP flag was still turned on by default, resulting in a borked binary being built.

You can use "cabal install -fposix cautious-file" to explicitly turn
on POSIX support, and "cabal install -f-posix cautious-file" to
explicitly turn it off.  (From above, the default is the former.)

Right. Yes, if I explicitly turn off POSIX support, that'll probably fix it. (I didn't know what the correct flag was to do that.)

Incidentally, it would be better for the .cabal file to detect that
automatically with "if os(windows)", as e.g. Haskeline does.

Tell it to whoever maintains cautious-file. ;-)

2) If you have a local, edited installation of a package with the same
version number as the one on Hackage, then it seems to confuse "cabal
install".  (This may be a bug; I'm not sure.)

It sure sounds like a bug to me... (And presumably a bug specifically with cabal-install, not the cabal library itself?)

Workaround is to bump
the version in your local installation, e.g. from 0.1.5 to
0.1.5.0.0.0.1.; then "cabal install" won't try to rebuild it.

Ooo, yeah, but only if the package depending on cautious-file doesn't exactly pin down the required version number. ;-)

Hope that helps,
-Judah

Yes, I think I know how to fix this now.

PS. You have *no idea* how many different MD5 implementations I saw being compiled during this exercise...!

_______________________________________________
Haskell-Cafe mailing list
Haskell-Cafe@haskell.org
http://www.haskell.org/mailman/listinfo/haskell-cafe

Reply via email to