无法升级cabal本身

时间:2015-06-08 02:16:52

标签: linux haskell ubuntu cabal

我正在尝试在Linux上升级Cabal:

$ cabal --version
cabal-install version 1.16.0.2
using version 1.16.0 of the Cabal library

我收到很多错误:

$ cabal install cabal cabal-install
.............................

checking for sendfile in sys/socket.h... no
checking for gethostent... yes
checking for accept4... yes
configure: creating ./config.status
config.status: creating network.buildinfo
config.status: creating include/HsNetworkConfig.h
configure: WARNING: unrecognized options: --with-compiler, --with-gcc
Building network-2.6.2.0...
Preprocessing library network-2.6.2.0...
ghc: ghc no longer supports single-file style package databases (dist/package.conf.inplace) use 'ghc-pkg init' to create the database with the correct format.
Failed to install network-2.6.2.0
Configuring old-locale-1.0.0.7...
Building old-locale-1.0.0.7...
Preprocessing library old-locale-1.0.0.7...
ghc: ghc no longer supports single-file style package databases (dist/package.conf.inplace) use 'ghc-pkg init' to create the database with the correct format.
Failed to install old-locale-1.0.0.7
Configuring random-1.1...
Building random-1.1...
Preprocessing library random-1.1...
ghc: ghc no longer supports single-file style package databases (dist/package.conf.inplace) use 'ghc-pkg init' to create the database with the correct format.
Failed to install random-1.1
Configuring stm-2.4.4...
Building stm-2.4.4...
Preprocessing library stm-2.4.4...
ghc: ghc no longer supports single-file style package databases (dist/package.conf.inplace) use 'ghc-pkg init' to create the database with the correct format.
Failed to install stm-2.4.4
Configuring text-1.2.1.1...
Building text-1.2.1.1...
Preprocessing library text-1.2.1.1...
ghc: ghc no longer supports single-file style package databases (dist/package.conf.inplace) use 'ghc-pkg init' to create the database with the correct format.
Failed to install text-1.2.1.1
Configuring zlib-0.5.4.2...
Building zlib-0.5.4.2...
Preprocessing library zlib-0.5.4.2...
ghc: ghc no longer supports single-file style package databases (dist/package.conf.inplace) use 'ghc-pkg init' to create the database with the correct format.
Failed to install zlib-0.5.4.2
cabal: Error: some packages failed to install:
HTTP-4000.2.19 depends on text-1.2.1.1 which failed to install.
cabal-install-1.22.4.0 depends on zlib-0.5.4.2 which failed to install.
mtl-2.2.1 failed during the building phase. The exception was:
ExitFailure 1
network-2.6.2.0 failed during the building phase. The exception was:
ExitFailure 1
network-uri-2.6.0.3 depends on text-1.2.1.1 which failed to install.
old-locale-1.0.0.7 failed during the building phase. The exception was:
ExitFailure 1
old-time-1.1.0.3 depends on old-locale-1.0.0.7 which failed to install.
parsec-3.1.9 depends on text-1.2.1.1 which failed to install.
random-1.1 failed during the building phase. The exception was:
ExitFailure 1
stm-2.4.4 failed during the building phase. The exception was:
ExitFailure 1
text-1.2.1.1 failed during the building phase. The exception was:
ExitFailure 1
zlib-0.5.4.2 failed during the building phase. The exception was:
ExitFailure 1

1 个答案:

答案 0 :(得分:1)

最有可能发生的事情是你升级了GHC,而GHC 7.10需要Cabal 1.22,否则会出错 ghc: ghc no longer supports single-file style package databases (dist/package.conf.inplace) use 'ghc-pkg init' to create the database with the correct format.出现了。由于您使用的是Ubuntu,因此可以从the PPA安装cabal-install

sudo apt-add-repository ppa:hvr/ghc
sudo apt-get update && sudo apt-get install cabal-install-1.22

由于PPA安装位置不在PATH中,您可以将/opt/cabal/1.22/bin添加到PATH,或者如果您希望将所有Haskell二进制文件放在一个位置以后再运行/opt/cabal/1.22/bin/cabal install cabal,则可以选择运行cabal-install使用apt-get卸载.....state('tab.search', { url: '/search', views: { 'tab-search': { templateUrl: 'templates/tab-search.html', controller: 'SearchCtrl as search' } } }) .state('tab.search-results', { url: '/results', views: { 'tab-search-results': { templateUrl: 'templates/tab-search-results.html', controller: 'SearchResultsCtrl as searchResults' } } })

否则haskell.org会提供二进制文件。