Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Cabal: cabal configure fails

Tags:

haskell

cabal

This question is only yak-shaving to try and troubleshoot another problem.

So, in an attempt to diagnose another problem of mine, I was advised to try:

cabal unpack base
cd base-4.3.1.0
cabal haddock

To see what that did.

Only, when I did cabal unpack base, it unpacked base-3.0.3.2. Then cabal haddock complained that I needed to run cabal configure first then that failed (lost the exact error, sadly).

So I decided to install base-4.3.1.0, just so I could reenact the instructions exactly.
Even after install, cabal unpack base unpacks base-3.0.3.2, though cabal unpack base-4.3.1.0 unpacks base-4.3.1.0.

Now I'm can't get either to configure:

% cabal unpack base
Unpacking to base-3.0.3.2/
% cd base-3.0.3.2
% cabal haddock
cabal: Run the 'configure' command first.
% cabal configure
Resolving dependencies...
Configuring base-3.0.3.2...
cabal: At least the following dependencies are missing:
base >=4.0 && <4.3, syb ==0.1.*
% cd ..
%
% cabal unpack base-4.3.1.0
Unpacking to base-4.3.1.0/
% cd base-4.3.1.0
% cabal haddock
cabal: Run the 'configure' command first.
% cabal configure
Resolving dependencies...
Configuring base-4.3.1.0...
configure: WARNING: unrecognized options: --with-compiler, --with-gcc
checking for gcc... gcc
checking whether the C compiler works... yes
...
checking for library containing iconv... -liconv
checking for library containing locale_charset... none required
configure: creating ./config.status
config.status: error: cannot find input file: `base.buildinfo.in'
% cd ..

Also, I can't revert to base-3.0.3.2, because it depends on having base version >=4.0 <4.3 (WTF?), and I can't install base-4.2.0.2 b/c it fails b/c it can't find base.buildinfo.in.

% cabal --version
cabal-install version 0.10.2
using version 1.10.1.0 of the Cabal library
% cabal info base
* base             (library)
    Synopsis:      Basic libraries (backwards-compatibility version)
    Versions available: 3.0.3.1, 3.0.3.2, (4.0.0.0), (4.1.0.0), (4.2.0.0),
                        (4.2.0.1), (4.2.0.2), (4.3.0.0), (4.3.1.0)
    Versions installed: (4.3.1.0)
    Homepage:      [ Not specified ]
    Bug reports:   http://hackage.haskell.org/trac/ghc/newticket?component=libraries/base
    Description:   This is a backwards-compatible version of the base package.
                   It depends on a later version of base, and was probably
                   supplied with your compiler when it was installed.
    License:       BSD3
    Maintainer:    [email protected]
    Source repo:   http://darcs.haskell.org/packages/base3-compat
    Dependencies:  base >=4.0 && <4.3, syb ==0.1.*
    Documentation: /usr/local/share/doc/ghc/html/libraries/base-4.3.1.0
    Cached:        Yes
    Modules:
    ...
%

What am I doing wrong and how can I fix it?

like image 463
rampion Avatar asked Aug 10 '11 19:08

rampion


1 Answers

Nobody is meant to self-compile base. It's tied to a particular ghc installation, so you couldn't use any other base package if you built it. I'm not surprised that the base package doesn't build from hackage; most likely nobody ever tries to build it.

Anyway, I'd try checking out the ghc source. The base.buildinfo.in file will be in the base package repo. You could copy the file from the repo to your unpacked distribution, but it's probably better to just build from the checked-out source.

Just be sure to only install the docs and not the library.

like image 151
John L Avatar answered Oct 06 '22 12:10

John L