Làm cách nào để cài đặt Nền tảng Haskell cho Ubuntu 13.04?


37

Làm cách nào để cài đặt Nền tảng Haskell cho Ubuntu 13.04? Tôi nhận được lỗi sau khi tôi gõ sudo apt-get install haskell-platform:

E: Unable to locate package haskell-platform error 

bạn cũng có thể tìm thấy Askubfox.com/questions/288201/ hữu ích
hdgarrood

2
Bởi @HokieTux "Có một lỗi trên Launchpad cho tất cả những điều này, nhưng nó không được chú ý nhiều. Vui lòng truy cập và đánh dấu nó là ảnh hưởng đến bạn nếu bạn hạ cánh trên trang này vì các gói Haskell của Ubuntu 13.04 bị hos:" liên kết là: bugs.launchpad.net/ubuntu/+source/haskell-platform/+bug/1047678
Rafael S. Calsaverini

Điều này được sửa trong 13.10, vì vậy nâng cấp là một giải pháp cho những người có thể nâng cấp.
Mực

Nâng cấp FUBAR 13.04 (vì nhiều nỗ lực nâng cấp trước đây của tôi đã thất bại).
karatedog

Điều này không cố định trong 13.10. Bạn sẽ không thể apt-get install ghc, điều này phụ thuộc vào GHC 4.8.1, trong khi thư viện được cài đặt và sử dụng bởi nhiều thư viện Ubuntu là 4.8.2. Đây là thời điểm hoàn hảo để di chuyển đến NixOS.
polkovnikov.ph

Câu trả lời:


38

Rared bị bắt gặp trong một thung lũng giữa việc có GHC quá mới cho Nền tảng Haskell 2012.4.0.0 và quá cũ cho 2013.2.0.0. Thung lũng này có thể được bắc cầu bằng một số băng đau và ống dẫn.

Bạn có thể cài đặt Nền tảng Haskell 2013.2.0.0 từ nguồn nếu bạn đã cài đặt GHC. Đó là một chút của một quá trình, nhưng nó hoạt động.

Đầu tiên, cài đặt GHC 7.6.2:

sudo apt-get install ghc

Bây giờ bạn cần GHC 7.6.3 vì đây là bản yêu cầu trước cho Nền tảng Haskell 2013.2.0.0.

THẬN TRỌNG:

Bạn có thể nghĩ rằng cài đặt từ kho lưu trữ linux chưa biết của GHC sẽ hoạt động. Nó sẽ không. GHC trong các tài liệu lưu trữ đó được liên kết động với /usr/lib/libgmp.so.3 không khả dụng trên Raredlibgmp.so.10 . KHÔNG được khuyến khích liên kết thư viện này với tên và vị trí của phiên bản trước đó để giả mạo trình liên kết. Tôi đã đến đó và đó là một con đường dẫn đến những thất bại rất khó hiểu và là một thực tiễn rất tồi tệ vì vậy tôi đã sửa chữa các cách của mình và xây dựng GHC từ nguồn.

Tiếp theo, bạn cần lấy và xây dựng GHC 7.6.3 từ nguồn (GHC là trình biên dịch tự lưu trữ nên cần GHC để xây dựng nó):

wget http://www.haskell.org/ghc/dist/7.6.3/ghc-7.6.3-src.tar.bz2
tar xjvf ghc-7.6.3-src.tar.bz2
cd ghc-7.6.3
./configure
make
sudo make install

Quá trình biên dịch GHC mất khá nhiều thời gian (vài giờ,> nửa đời của đồng vị Caesium Cs-134m) đối với tôi vì vậy đây có thể là thời gian rất tốt để nghỉ ngơi hoặc ngủ. Nó trải qua ba giai đoạn (0, 1 và 2) để xây dựng trình biên dịch và sau đó xây dựng giai đoạn tiếp theo của trình biên dịch với trình biên dịch được xây dựng.

Để tăng tốc quá trình biên dịch, bạn có thể sử dụng

make -j 8

trong bước trên để tận dụng CPU đa lõi.

Sau đó, lấy và xây dựng Nền tảng Haskell từ nguồn (Tôi sẽ sử dụng 2013.2.0.0 làm ví dụ):

wget http://lambda.haskell.org/platform/download/2013.2.0.0/haskell-platform-2013.2.0.0.tar.gz
tar xzvf haskell-platform-2013.2.0.0.tar.gz
cd haskell-platform-2013.2.0.0
./configure
make
sudo make install

Việc biên dịch Nền tảng Haskell mất khá> 30 phút đối với tôi vì vậy đây là thời điểm tốt để nghỉ ngơi.

Bây giờ bạn sẽ có Nền tảng Haskell 2013.2.0.0 hoạt động với GHC 7.6.3 được liên kết chính xác với libgmp.so.10.


4
Trên Ubuntu 13.04 trên bản cài đặt mới, tôi phải cài đặt libncurses5-devgói để cài đặt hoạt động. =)
Felipe Almeida

1
Tôi cũng cần:sudo apt-get install libgl1-mesa-dev libglc-dev freeglut3-dev libedit-dev libglw1-mesa libglw1-mesa-dev
Rafael S. Calsaverini

Tôi có thể xóa 2 thư mục này sau khi cài đặt haskell không?
Alan Coromano

Có, bạn có thể xóa các thư mục sau khi cài đặt. Cảm ơn bạn đã bình luận và chỉnh sửa folks. Đồ tốt.
Alain O'Dea

3
Chỉ để không khiến mọi người sợ hãi: xây dựng ghc-7.6.3trên máy tính để bàn năm tuổi của tôi mất khoảng 2,5 giờ và trên máy tính để bàn i7 hiện đại - khoảng 20 phút. Nền tảng Haskell đang xây dựng gần như ngay lập tức. Tất cả kết quả là với make -j8.
Michael Pankov

8

Repo Ubuntu 13.04 chứa GHC 7.6.2, thật không may, chưa có Nền tảng Haskell cho GHC 7.6.x. Vì vậy, tốt hơn hết là bạn nên xây dựng một phiên bản tai nghe của GHC (tức là 7.4.x) và Nền tảng Haskell từ nguồn ngay bây giờ.

Xem phần này để biết thêm thông tin: https://launchpad.net/ubfox/rared/i386/haskell-pl platform


5
Người ta tự hỏi tại sao, khi biết rằng chưa có bản phát hành Nền tảng bao gồm GHC 7.6, họ đã chọn gửi GHC 7.6 và do đó phá vỡ sự phát triển của Haskell cho nhiều người.
Matthew Walton

Bạn cần thảo luận với các nhà bảo trì gói
Thorbjørn Ravn Andersen

6

Như câu trả lời xuất sắc từ Alain O'Dea ở trên chi tiết, vấn đề này không dễ khắc phục và trong khi đó, không có nền tảng haskell có sẵn cho Ubuntu 13.04.

Bạn có thể sắp xếp 'giả' nó bằng cách cài đặt các gói trong danh sách này: http : // packages.ubfox.com/precise/haskell-pl platform

Đây là một lệnh để làm điều này cho bạn:

sudo apt-get install ghc alex cabal-install happy libghc-cgi-dev libghc-fgl-dev libghc-glut-dev libghc-haskell-src-dev libghc-html-dev libghc-http-dev libghc-hunit-dev libghc-mtl-dev libghc-network-dev libghc-opengl-dev libghc-parallel-dev libghc-parsec3-dev  libghc-quickcheck2-dev libghc-regex-base-dev libghc-regex-compat-dev  libghc-regex-posix-dev libghc-stm-dev libghc-syb-dev  libghc-text-dev  libghc-transformers-dev  libghc-xhtml-dev libghc-zlib-dev

Hai mục còn thiếu trong số này là các gói haskell-platform-doc và haskell-platform-prof, vì những lý do rõ ràng.

Hy vọng, các nhà phát triển Ubuntu sẽ sớm khắc phục sự cố không tương thích.

Trên lưu ý rằng:

Ngoài ra: Tôi rất tiếc không có tiếng tăm để lại nhận xét này trên trang StackExchange này, nhưng đó là nơi thích hợp nhất.

Có một lỗi trên Launchpad cho tất cả những điều này, nhưng nó không được chú ý nhiều. Vui lòng truy cập trang này và đánh dấu nó là ảnh hưởng đến bạn nếu bạn hạ cánh trên trang này vì các gói Haskell của Ubuntu 13.04 bị hos:

https://bugs.launchpad.net/ubfox/+source/haskell-pl platform / +bug / 1067678

Hy vọng rằng một mod sẽ đưa câu trả lời này và đưa nó vào một bình luận, nơi nó thuộc về. Xin lỗi - Tôi chưa có danh tiếng trên Askubfox!


1
Tôi sẽ đặt trình theo dõi lỗi launchpad làm bình luận hàng đầu trong chủ đề này. Tôi nghĩ điều quan trọng là những người đọc trang này đến đó và gây áp lực cho việc này được giải quyết.
Rafael S. Calsaverini

1

Tôi đã sử dụng kịch bản này .

#!/bin/bash

# Install needed developer libraries
sudo apt-get install libgmp-dev zlib1g-dev libgl1-mesa-dev libglc-dev freeglut3-dev libedit-dev libglw1-mesa-dev libglw1-mesa

# Remove old tmp folder
sudo rm -r tmp
mkdir tmp

# Create symlink if necessary
libgmp=/usr/lib/libgmp.so.3
if [ ! \( -e "$libgmp" \) ]
then
    sudo ln -s /usr/lib/x86_64-linux-gnu/libgmp.so.10.0.5 $libgmp
fi

# Download the ghc
output_ghc_archive="tmp/ghc-7.6.3.tar.bz2"
output_ghc="tmp/ghc-7.6.3"
url=http://www.haskell.org/ghc/dist/7.6.3/ghc-7.6.3-x86_64-unknown-linux.tar.bz2
wget $url -O $output_ghc_archive

# Unpack and remove archive
tar -xjvf $output_ghc_archive -C "tmp/"
rm $output_ghc_archive

# Configure and install
cd $output_ghc
./configure
sudo make install

# Remove ghc installation files
cd ../..
sudo rm -r $output_ghc

# Download the haskell platform
output_hp_archive="tmp/haskell-platform-2013.2.0.0.tar.gz"
output_hp="tmp/haskell-platform-2013.2.0.0"
url2=http://lambda.haskell.org/platform/download/2013.2.0.0/haskell-platform-2013.2.0.0.tar.gz
wget $url2 -O $output_hp_archive


# Unpack and remove archive
tar -xzf $output_hp_archive -C "tmp/"
rm $output_hp_archive


# Configure and install
cd $output_hp
./configure
make
sudo make install

# Remove haskell platform installation files
cd ../..
sudo rm -r $output_hp

# Remove this tmp folder
sudo rm -r tmp

Hy vọng nó giúp.


Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.