cabal update fails to download the archive file - haskell

I upgraded my Haskell platform to and copied the new cabal binary to my ~/.cabal/bin folder in my MacOS.
$ ghc --version
The Glorious Glasgow Haskell Compilation System, version 7.10.1
$ cabal --version
cabal-install version 1.22.2.0
using version 1.22.2.0 of the Cabal library
Now, when I try to update the package list, I get the following error:
$ cabal update
Downloading the latest package list from hackage.haskell.org
cabal: Failed to download
http://hackage.haskell.org/packages/archive/00-index.tar.gz : ErrorMisc "Error
HTTP code: 400"
I can download the 00-index.tar.gz file using my browser, but cabal fails to download it. What can be the problem?

Related

Haskell Cabal update won't work - "Local and remote files match"

I did "cabal update", bumped the version number on my project, and then did "cabal update" again...
>cabal update
Downloading the latest package list from hackage.haskell.org
Skipping download: Local and remote files match.
^ The cabal respository changed but the update won't appear without a ~5 minutes delay.
>cabal --version
cabal-install version 1.22.6.0
using version 1.22.5.0 of the Cabal library
>ghci --version
The Glorious Glasgow Haskell Compilation System, version 7.10.3
>ver
Microsoft Windows [Version 10.0.10586]
Self answer:
They apparently update their package list every 5 minutes or so - you can't make it any faster

Cabal claims it has updated itself but has not really

Following the instructions from this post on how to update cabal-install, I seemed to be able to install the latest version (or at least some version > 1.18, which is what I wanted.
$ cabal install Cabal cabal-install
Resolving dependencies...
Configuring cabal-install-1.22.6.0...
Building cabal-install-1.22.6.0...
Preprocessing executable 'cabal' for cabal-install-1.22.6.0...
<snip>
Linking dist/build/cabal/cabal ...
Installing executable(s) in /home/kavi/.cabal/bin
Installed cabal-install-1.22.6.0
However, when I tried cabal sandbox, it failed, so I checked cabal --version.
$ cabal --version
cabal-install version 1.16.0.2
using version 1.16.0 of the Cabal library
As you can see, the version is not the one that cabal claimed to install.
Adding ~/.cabal/bin to my path did nothing to help. (Yes, I did restart my terminal).
$ echo $PATH
<snip>:/home/kavi/.cabal/bin
$ cabal --version
cabal-install version 1.16.0.2
using version 1.16.0 of the Cabal library
I tried restarting my computer, but still:
$ cabal --version
cabal-install version 1.16.0.2
using version 1.16.0 of the Cabal library
I am using Ubuntu 14.04.
You should add /home/kavi/.cabal/bin to the beginning of the $PATH.
which cabal tells which executable shell will pick to execute, on my machine:
% echo $PATH
/Users/ogre/.local/bin:...
% which cabal
/Users/ogre/.local/bin/cabal

'cabal run' gives "unrecognised command: run"

I'm attempting to create simple Cabal executable package.
The Cabal user guide's "Running executables" section says:
You can have Cabal build and run your executables by using the run command.
cabal run EXECUTABLE [-- EXECUTABLE_FLAGS]
Yet when I enter that command:
$ cabal run HelloWorld
I get this error message:
cabal: unrecognised command: run (try --help)
cabal --help tells me that, indeed, there is no run command.
Am I missing something? How do I run my executable?
I'm totally new to Haskell and Cabal; please let me know what info would be helpful to include here.
I'm on Mac OS X 10.8.5.
cabal --version gives:
cabal-install version 0.14.0
using version 1.14.0 of the Cabal library
ghc --version gives:
The Glorious Glasgow Haskell Compilation System, version 7.4.2
Your version of cabal-install is too old. The newest version of cabal-install is 1.20. You can upgrade to this version by running cabal install cabal-install.

cabal update not working

I just did a fresh install of GHC 7.6.3, followed by installing the latest platform. But when I run cabal update, I get:
$ cabal --version
cabal-install version 1.16.0.2
using version 1.16.0 of the Cabal library
$ cabal update
Downloading the latest package list from hackage.haskell.org
cabal: <file descriptor: 8>: does not exist
What file descriptor is this referring to, and how can I fix this problem?
I've reported this issue on github but haven't gotten any help.

Exit Code 11 installing Persistent (Yesod)

I'm trying to install Yesod on my Mac (running Mavericks), but installation fails because of an error installing Persistent. Specifically, cabal install persistent yields:
Failed to install persistent-1.3.0.2
Updating documentation index /Users/Max/Library/Haskell/doc/index.html
cabal: Error: some packages failed to install:
persistent-1.3.0.2 failed during the building phase. The exception was:
ExitFailure 11
(The full output is available as a gist)
I don't think this is an issue with conflicts, because I ran rm -rf ~/.ghc ~/.cabal before trying this (though I think 3 globally installed packages might not have been erased—unsure).
I'm using the latest Haskell Platform with the ghc-clang-wrapper script.
Cabal versions:
$ cabal --version
cabal-install version 1.16.0.2
using version 1.16.0 of the Cabal library
GHC version:
$ ghc --version
The Glorious Glasgow Haskell Compilation System, version 7.6.3
Reinstalling Haskell platform allowed me to install Persistent, but the real issue was that I needed to install gcc48. Installing this cleared everything up. https://stackoverflow.com/a/21285413/1176156

Resources