จะติดตั้ง Haskell Platform สำหรับ Ubuntu 13.04 ได้อย่างไร


37

จะติดตั้ง Haskell Platform สำหรับ Ubuntu 13.04 ได้อย่างไร ฉันได้รับข้อผิดพลาดต่อไปนี้เมื่อฉันพิมพ์sudo apt-get install haskell-platform:

E: Unable to locate package haskell-platform error 

คุณอาจพบaskubuntu.com/questions/288201/…มีประโยชน์
hdgarrood

2
โดย @HokieTux "มีข้อผิดพลาดใน Launchpad สำหรับสิ่งนี้ทั้งหมด แต่ก็ไม่ได้รับความสนใจมากนักโปรดไปที่สิ่งนี้และทำเครื่องหมายว่าส่งผลกระทบต่อคุณถ้าคุณลงจอดบนหน้านี้เพราะแพ็คเกจ Haskell ของ Ubuntu 13.04 ถูกปิดไว้:" ลิงค์คือ: bugs.launchpad.net/ubuntu/+source/haskell-platform/+bug/1047678
Rafael S. Calsaverini

นี้ได้รับการแก้ไขใน 13.10 ดังนั้นการอัพเกรดเป็นวิธีแก้ปัญหาสำหรับผู้ที่สามารถอัพเกรด
Squidly

การอัปเกรด FUBARs 13.04 (การอัปเกรดก่อนหน้านี้หลายครั้งของฉันล้มเหลว)
karatedog

สิ่งนี้ไม่ได้รับการแก้ไขใน 13.10 คุณจะไม่สามารถทำได้apt-get install ghcซึ่งขึ้นอยู่กับ GHC 4.8.1 ในขณะที่หนึ่งในนั้นติดตั้งและใช้งานโดยไลบรารี Ubuntu จำนวนมากคือ 4.8.2 มันเป็นเวลาที่เหมาะสำหรับการโยกย้ายไปยัง NixOS
polkovnikov.ph

คำตอบ:


38

Raring ติดอยู่ในหุบเขาระหว่างการมี GHC ใหม่เกินไปสำหรับ Haskell Platform 2012.4.0.0 และเก่าเกินไปสำหรับ 2013.2.0.0 หุบเขานี้สามารถเชื่อมโยงกับความเจ็บปวดและเทปพันท่อ

คุณสามารถติดตั้งแพลตฟอร์ม Haskell 2013.2.0.0 จากแหล่งหากคุณได้ติดตั้ง GHC แล้ว มันเป็นกระบวนการ แต่มันใช้งานได้

ก่อนอื่นให้ติดตั้ง GHC 7.6.2:

sudo apt-get install ghc

ตอนนี้คุณต้องการ GHC 7.6.3 เนื่องจากเป็น pre-req สำหรับแพลตฟอร์ม Haskell 2013.2.0.0

ข้อควรระวัง:

คุณอาจคิดว่าการติดตั้งจากคลังเก็บลินุกซ์ที่ไม่รู้จักของ GHC จะใช้งานได้ มันจะไม่ GHC ในคลังผู้ที่มีการเชื่อมโยงแบบไดนามิกกับ/usr/lib/libgmp.so.3ซึ่งเป็นพร้อมใช้งานบน raring ซึ่งมีlibgmp.so.10 อย่าล่อลวงให้เชื่อมโยงไลบรารี่นี้เข้ากับชื่อและที่ตั้งเวอร์ชันก่อนหน้านี้เพื่อลอกลิงก์ออก ฉันไปที่นั่นและมันเป็นเส้นทางไปสู่ความล้มเหลวที่ทำให้สับสนและเป็น วิธีปฏิบัติที่แย่มากดังนั้นฉันจึงแก้ไขวิธีของฉันและสร้าง GHC จากแหล่งที่มา

ถัดไปคุณจะต้องได้รับและสร้าง GHC 7.6.3 จากแหล่งที่มา (GHC เป็นคอมไพเลอร์ที่โฮสต์ด้วยตนเองดังนั้นจึงต้องการ GHC เพื่อสร้าง):

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

การรวบรวม GHC ใช้เวลาสักครู่ (หลายชั่วโมง> ครึ่งชีวิตของ Cesium isotope Cs-134m) สำหรับฉันดังนั้นนี่น่าจะเป็นเวลาที่ดีสำหรับการหยุดพักหรือนอนหลับ มันจะผ่านสามขั้นตอน (0, 1 และ 2) ของการสร้างคอมไพเลอร์แล้วสร้างขั้นตอนต่อไปของคอมไพเลอร์ด้วยคอมไพเลอร์ที่ถูกสร้างขึ้น

เพื่อเพิ่มความเร็วในการรวบรวมกระบวนการคุณสามารถใช้

make -j 8

ในขั้นตอนข้างต้นเพื่อใช้ประโยชน์ CPU แบบมัลติคอร์

จากนั้นรับและสร้างแพลตฟอร์ม Haskell จากต้นทาง (ฉันจะใช้ 2013.2.0.0 เป็นตัวอย่าง):

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

การรวบรวมแพลตฟอร์ม Haskell ใช้เวลาค่อนข้าง> 30 นาทีสำหรับฉันดังนั้นนี่จึงเป็นช่วงเวลาที่ดีสำหรับการหยุดพัก

ตอนนี้คุณควรจะมีแพลตฟอร์ม Haskell ที่ทำงาน 2013.2.0.0 กับ GHC 7.6.3 เชื่อมโยงกับ libgmp.so.10 ได้อย่างถูกต้อง


4
บน Ubuntu 13.04 ในการติดตั้งใหม่ฉันต้องติดตั้งlibncurses5-devแพคเกจเพื่อติดตั้ง =)
Felipe Almeida

1
ฉันต้องการ:sudo apt-get install libgl1-mesa-dev libglc-dev freeglut3-dev libedit-dev libglw1-mesa libglw1-mesa-dev
Rafael S. Calsaverini

ฉันจะลบ 2 โฟลเดอร์นี้หลังจากการติดตั้ง Haskell ได้อย่างไร?
Alan Coromano

ใช่คุณสามารถลบโฟลเดอร์หลังจากการติดตั้ง ขอบคุณสำหรับความคิดเห็นและการแก้ไขคน สิ่งที่ดี.
Alain O'Dea

3
เพียงเพื่อไม่ทำให้ผู้คนแตกตื่น: การสร้างghc-7.6.3บนเดสก์ท็อปอายุห้าปีของฉันใช้เวลาประมาณ 2.5 ชั่วโมงและในเดสก์ท็อป i7 อันทันสมัย ​​- ประมาณ 20 นาที แพลตฟอร์ม Haskell กำลังสร้างเกือบจะทันที make -j8ผลทั้งหมดอยู่กับ
Michael Pankov

8

Ubuntu 13.04 repo มี GHC 7.6.2 แต่น่าเสียดายที่ยังไม่มีแพลตฟอร์ม Haskell สำหรับ GHC 7.6.x เลย ดังนั้นคุณควรที่จะสร้าง GERER รุ่น Giler (เช่น 7.4.x) และ Haskell Platform จากแหล่งที่มาในตอนนี้

ดูสิ่งนี้สำหรับข้อมูลเพิ่มเติม: https://launchpad.net/ubuntu/raring/i386/haskell-platform


5
มีสิ่งหนึ่งที่สงสัยว่าทำไมเมื่อรู้ว่ายังไม่มีการเปิดตัวแพลตฟอร์มรวมถึง GHC 7.6 พวกเขาเลือกที่จะส่ง GHC 7.6 และทำให้การพัฒนา Haskell แตกสลายสำหรับผู้คนจำนวนมาก
Matthew Walton

คุณต้องพูดคุยกับผู้ดูแลแพ็คเกจ
Thorbjørn Ravn Andersen

6

ในฐานะที่เป็นคำตอบที่ดีเยี่ยมจากAlain O'Deaรายละเอียดข้างต้นปัญหานี้ไม่ได้รับการแก้ไขอย่างง่ายดายและในขณะเดียวกันก็ไม่มีแพลตฟอร์ม haskell สำหรับ Ubuntu 13.04

คุณสามารถจัดเรียง 'ปลอม' ได้โดยติดตั้งแพ็คเกจในรายการนี้: http://packages.ubuntu.com/precise/haskell-platform

นี่คือคำสั่งให้ทำเพื่อคุณ:

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

สองรายการที่ขาดหายไปจากสิ่งนี้คือแพ็คเกจ haskell-platform-doc และ haskell-platform-prof ด้วยเหตุผลที่ชัดเจน

หวังว่าผู้พัฒนา Ubuntu จะแก้ไขปัญหาความเข้ากันไม่ได้ในไม่ช้า

เมื่อทราบว่า:

นอกจากนี้: ฉันโชคไม่ดีที่มีชื่อเสียงในการแสดงความคิดเห็นในเว็บไซต์ StackExchange นี้ แต่เป็นสถานที่ที่เหมาะสมที่สุด

มีข้อผิดพลาดใน Launchpad สำหรับสิ่งนี้ทั้งหมด แต่ก็ไม่ได้รับความสนใจมากนัก กรุณาเยี่ยมชมและทำเครื่องหมายว่าส่งผลกระทบต่อคุณถ้าคุณลงจอดบนหน้านี้เนื่องจากแพ็คเกจ Haskell ของ Ubuntu 13.04 ถูกปิดใช้งาน:

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

หวังว่าตัวดัดแปลงจะใช้คำตอบนี้และทำให้มันเป็นความคิดเห็นที่มันเป็น ขออภัยฉันยังไม่มีชื่อเสียงใน Askubuntu เลย!


1
ฉันจะใส่ launchpad bug tracker เป็นความคิดเห็นยอดนิยมในชุดข้อความนี้ ฉันคิดว่ามันสำคัญที่คนที่อ่านหน้านี้จะไปที่นั่นและกดดันบางอย่างให้กับการแก้ไขนี้
Rafael S. Calsaverini

1

ฉันใช้สคริปต์นี้

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

หวังว่ามันจะช่วย


0

sudo apt-get install ghc

GHC ย่อมาจาก Glasgow Haskell Compiler

http://en.wikipedia.org/wiki/Glasgow_Haskell_Compiler


6
GHC นั้นไม่เหมือนกับ Haskell Platform ซึ่งเป็นคอลเลกชันของไลบรารีเฉพาะรุ่นใดรุ่นหนึ่งพร้อมกับคอมไพเลอร์รุ่นใดรุ่นหนึ่ง
Matthew Walton

2
คุณให้ข้อมูลใหม่เป็นศูนย์
Phil
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.