Cabal unexpected behaviour when upgrading - haskell

ramiro#omfg-hello:~$ cabal --version
cabal-install version 1.24.0.2
compiled using version 1.24.2.0 of the Cabal library
ramiro#omfg-hello:~$ sudo cabal install cabal-install --force-reinstalls
[sudo] password for ramiro:
Resolving dependencies...
Configuring cabal-install-2.4.0.0...
Building cabal-install-2.4.0.0...
Installed cabal-install-2.4.0.0
ramiro#omfg-hello:~$ cabal --version
cabal-install version 1.24.0.2
compiled using version 1.24.2.0 of the Cabal library
Indeed i wasn't expecting something like this. I'm stunned.
Edit:
Fixed with #duplode comment
Further edit:
Anybody knows why i'm still getting this?
ramiro#omfg-hello:~/Haskell/happstack-server$ sudo cabal new-test all
cabal: unrecognised command: new-test (try --help)
At least i get the correct cabal version now
ramiro#omfg-hello:~/Haskell/happstack-server$ cabal --v
cabal-install version 2.4.0.0
compiled using version 2.4.0.1 of the Cabal library
EditN :
ramiro#omfg-hello:~/Haskell/happstack-server$ cabal new-build
/home/ramiro/.cabal/packages/hackage.haskell.org: openBinaryTempFileWithDefaultPermissions: permission denied (Permission denied)
ramiro#omfg-hello:~/Haskell/happstack-server$ sudo cabal new-build
[sudo] password for ramiro:
Up to date
ramiro#omfg-hello:~/Haskell/happstack-server$
Non-sudo vs sudo.

Related

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 glib installation error

I try install install glib via cabal
evgeny#virtuos:~$ cabal install glib-0.13.0.7
Resolving dependencies...
Failed to install glib-0.13.0.7
cabal: Error: some packages failed to install:
glib-0.13.0.7 failed during the configure step. The exception was:
user error (The package 'glib' requires Cabal library version -any && >=1.18
but no suitable version is installed.)
evgeny#virtuos:~$ cabal --version
cabal-install version 1.20.0.3
using version 1.20.0.2 of the Cabal library
what's wrong?
OS: Ubuntu 14.10
Cabal 1.20.0.3
GHC: 7.6.3
Run cabal install cabal-install. Daniel Wagner's suggestion will most likely provide different results than cabal --version.

'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.

cabal can't read bytestring cabal file, with ghc 7.4.1

I just upgraded from GHC 7.2.2 to 7.4.1 on 32-bit linux. The install went fine, but cabal-install is not happy:
$ cabal update
Downloading the latest package list from hackage.haskell.org
$ cabal install repa
Resolving dependencies...
cabal: Couldn't read cabal file "bytestring/0.9.2.1/bytestring.cabal"
Here's the cabal version I'm running:
$ cabal --version
cabal-install version 0.10.2
using version 1.10.1.0 of the Cabal library
Thanks!
There's a workaround through here: http://www.haskell.org/pipermail/haskell-cafe/2012-February/099077.html
run this after you run cabal update:
tar -f ~/.cabal/packages/hackage.haskell.org/00-index.tar --delete bytestring/0.9.2.0
tar -f ~/.cabal/packages/hackage.haskell.org/00-index.tar --delete bytestring/0.9.2.1

Resources