Bagaimana cara menginstal Haskell Platform untuk Ubuntu 13.04?


37

Bagaimana cara menginstal Haskell Platform untuk Ubuntu 13.04? Saya mendapatkan kesalahan berikut ketika saya mengetik sudo apt-get install haskell-platform:

E: Unable to locate package haskell-platform error 

Anda juga mungkin menemukan askubuntu.com/questions/288201/... berguna
hdgarrood

2
Oleh @HokieTux "Ada bug di Launchpad untuk semua ini, tetapi tidak mendapatkan banyak perhatian. Silakan kunjungi ini dan tandai itu memengaruhi Anda jika Anda mendarat di halaman ini karena paket Haskell Ubuntu 13.04 disembunyikan:" Tautannya
Rafael S. Calsaverini

Ini diperbaiki di 13.10, jadi pemutakhiran adalah solusi bagi mereka yang bisa memutakhirkan.
Squidly

Memutakhirkan FUBAR 13,04 (karena banyak upaya saya sebelumnya untuk meningkatkan gagal).
karatedog

Ini tidak diperbaiki di 13.10. Anda tidak akan bisa apt-get install ghc, yang tergantung pada GHC 4.8.1, sementara yang diinstal dan digunakan oleh banyak perpustakaan Ubuntu adalah 4.8.2. Ini waktu yang tepat untuk bermigrasi ke NixOS.
polkovnikov.ph

Jawaban:


38

Raring terperangkap di lembah antara memiliki GHC yang terlalu baru untuk Haskell Platform 2012.4.0.0 dan terlalu tua untuk 2013.2.0.0. Lembah ini dapat dijembatani dengan beberapa rasa sakit dan lakban.

Anda dapat menginstal Haskell Platform 2013.2.0.0 dari sumber jika GHC Anda sudah diinstal. Ini sedikit proses, tetapi berhasil.

Pertama, instal GHC 7.6.2:

sudo apt-get install ghc

Sekarang Anda membutuhkan GHC 7.6.3 karena ini merupakan pra-req untuk Haskell Platform 2013.2.0.0.

PERINGATAN:

Anda mungkin berpikir menginstal dari arsip GHC linux yang tidak dikenal akan bekerja. Tidak akan. GHC dalam arsip tersebut secara dinamis ditautkan dengan /usr/lib/libgmp.so.3 yang tidak tersedia di Raring yang memiliki libgmp.so.10 . JANGAN tergoda untuk menyambungkan pustaka ini ke nama dan lokasi versi sebelumnya untuk memalsukan tautan. Saya pergi ke sana dan itu adalah jalan menuju kegagalan yang sangat membingungkan dan merupakan praktik yang sangat buruk sehingga saya memperbaiki cara saya dan membangun GHC dari sumber.

Selanjutnya, Anda perlu mendapatkan dan membangun GHC 7.6.3 dari sumber (GHC adalah kompilator yang di-host sendiri sehingga perlu GHC untuk membangunnya):

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

Menyusun GHC butuh waktu cukup lama (beberapa jam, setengah paruh dari Cesium isotop Cs-134m) bagi saya jadi ini mungkin waktu yang sangat baik untuk istirahat atau tidur. Itu melewati tiga tahap (0, 1, dan 2) membangun kompiler dan kemudian membangun tahap berikutnya kompilator dengan kompiler yang dibangun.

Untuk mempercepat proses kompilasi, Anda dapat menggunakan

make -j 8

pada langkah di atas untuk memanfaatkan CPU multi-core.

Lalu, dapatkan dan bangun Platform Haskell dari sumber (saya akan menggunakan 2013.2.0.0 sebagai contoh):

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

Mengompilasi Platform Haskell membutuhkan waktu> 30 menit bagi saya jadi ini waktu yang tepat untuk istirahat.

Anda sekarang harus memiliki Platform Haskell 2013.2.0.0 yang berfungsi dengan GHC 7.6.3 yang terhubung dengan benar ke libgmp.so.10.


4
Di ubuntu 13,04 pada instalasi baru, saya harus menginstal libncurses5-devpaket agar instalasi dapat bekerja. =)
Felipe Almeida

1
Saya juga membutuhkan:sudo apt-get install libgl1-mesa-dev libglc-dev freeglut3-dev libedit-dev libglw1-mesa libglw1-mesa-dev
Rafael S. Calsaverini

dapatkah saya menghapus 2 folder ini setelah instalasi haskell?
Alan Coromano

Ya, Anda dapat menghapus folder setelah instalasi. Terima kasih atas komentar dan suntingannya. Barang bagus.
Alain O'Dea

3
Hanya untuk tidak menakuti orang: membangun ghc-7.6.3desktop lima tahun saya memakan waktu sekitar 2,5 jam, dan pada desktop i7 modern - sekitar 20 menit. Platform Haskell sedang membangun hampir secara instan. Semua hasil dengan make -j8.
Michael Pankov

8

Repo Ubuntu 13.04 berisi GHC 7.6.2, sayangnya belum ada Platform Haskell untuk GHC 7.6.x. Jadi sebaiknya Anda membangun versi GHC eariler (yaitu, 7.4.x) dan Platform Haskell dari sumber untuk saat ini.

Lihat ini untuk informasi lebih lanjut: https://launchpad.net/ubuntu/raring/i386/haskell-platform


5
Orang bertanya-tanya mengapa, mengetahui bahwa tidak ada rilis Platform termasuk GHC 7.6, mereka memilih untuk mengirimkan GHC 7.6 dan dengan demikian menghancurkan pengembangan Haskell untuk banyak orang.
Matthew Walton

Anda perlu mendiskusikan hal itu dengan pengelola paket
Thorbjørn Ravn Andersen

6

Sebagai jawaban yang sangat baik dari Alain O'Dea di atas, masalah ini tidak mudah diperbaiki, dan sementara itu tidak ada platform haskell yang tersedia untuk Ubuntu 13.04.

Anda dapat mengurutkannya 'palsu' dengan menginstal paket-paket pada daftar ini: http://packages.ubuntu.com/precise/haskell-platform

Ini adalah perintah untuk melakukan ini untuk Anda:

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

Dua item yang hilang dari ini adalah paket haskell-platform-doc dan haskell-platform-prof, untuk alasan yang jelas.

Semoga, pengembang Ubuntu segera memperbaiki masalah ketidakcocokan.

Pada catatan itu:

Selain itu: Sayangnya saya tidak memiliki reputasi untuk meninggalkan ini sebagai komentar di situs StackExchange ini, tetapi itu adalah tempat yang paling tepat.

Ada bug di Launchpad untuk semua ini, tetapi tidak mendapat banyak perhatian. Kunjungi ini dan tandai sebagai hal yang memengaruhi Anda jika Anda mendarat di halaman ini karena paket Haskell Ubuntu 13.04 disemprot:

https://bugs.launchpad.net/ubuntu/+source/haskell-platform/+bug/1047678

Semoga seorang mod akan mengambil jawaban ini dan membuatnya menjadi komentar, di mana tempatnya. Maaf - Saya hanya belum memiliki reputasi di askubuntu!


1
Saya akan meletakkan pelacak bug launchpad sebagai komentar teratas di utas ini. Saya pikir sangat penting bahwa orang-orang yang membaca halaman ini pergi ke sana dan memberi tekanan agar masalah ini diselesaikan.
Rafael S. Calsaverini

1

Saya telah menggunakan skrip ini .

#!/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

Semoga ini bisa membantu.


Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.