2011-08-10 38 views
5

Câu hỏi này chỉ là yak-shaving để thử và khắc phục sự cố another problem.Cabal: cabal configure failed

Vì vậy, trong một nỗ lực để chẩn đoán một vấn đề của tôi, tôi được khuyên là nên thử:

cabal unpack base 
cd base-4.3.1.0 
cabal haddock 

Để xem những gì mà đã làm.

Chỉ khi tôi đã làm cabal unpack base, nó được giải nén base-3.0.3.2. Sau đó cabal haddock phàn nàn rằng tôi cần thiết để chạy cabal configure đầu tiên sau đó không thành công (bị mất lỗi chính xác, đáng buồn).

Vì vậy, tôi đã quyết định cài đặt base-4.3.1.0, vì vậy tôi có thể thực hiện lại chính xác hướng dẫn.
Ngay cả sau khi cài đặt, cabal unpack base unpacks base-3.0.3.2, mặc dù cabal unpack base-4.3.1.0 unpacks base-4.3.1.0.

Bây giờ tôi có thể không nhận được một trong hai cấu hình:

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

Ngoài ra, tôi không thể trở lại căn-3.0.3.2, bởi vì nó phụ thuộc vào việc có phiên bản cơ sở> = 4.0 < 4.3 (WTF?), Và tôi không thể cài đặt base-4.2.0.2 b/c nó không thành công b/c nó không thể tìm thấy 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: 
    ... 
% 

Tôi đang làm gì sai và cách khắc phục?

Trả lời

5

Không ai có nghĩa là tự biên dịch base. Nó được gắn với một cài đặt ghc cụ thể, vì vậy bạn không thể sử dụng bất kỳ gói cơ sở nào khác nếu bạn đã xây dựng nó. Tôi không ngạc nhiên khi gói cơ sở không xây dựng từ hackage; hầu như không ai cố gắng xây dựng nó.

Dù sao, tôi sẽ thử checking out the ghc source. Tệp base.buildinfo.in sẽ nằm trong số base package repo. Bạn có thể sao chép tệp từ repo vào bản phân phối chưa được giải nén của bạn, nhưng có lẽ tốt hơn là chỉ xây dựng từ nguồn đã kiểm xuất.

Chỉ cần đảm bảo chỉ cài đặt tài liệu chứ không phải thư viện.

Các vấn đề liên quan