Ubuntu 13.04 के लिए हास्केल प्लेटफार्म कैसे स्थापित करें?


37

Ubuntu 13.04 के लिए हास्केल प्लेटफार्म कैसे स्थापित करें? टाइप करने पर मुझे निम्न त्रुटि मिलती है sudo apt-get install haskell-platform:

E: Unable to locate package haskell-platform error 

आप भी पूछ सकते हैं askubuntu.com/questions/288201/… उपयोगी
hdgarrood

2
@HokieTux द्वारा "इस सब के लिए लॉन्चपैड पर एक बग है, लेकिन इस पर बहुत ध्यान नहीं दिया जा रहा है। कृपया इसे देखें और इसे प्रभावित करने के रूप में चिह्नित करें यदि आप इस पृष्ठ पर उतरे हैं क्योंकि Ubuntu 13.04 का Haskell संकुल hosed है:" लिंक है: Bugs.launchpad.net/ubuntu/+source/haskell-platform/+bug/1047678
राफेल एस। कलसेवेनी

यह 13.10 में तय किया गया है, इसलिए उन्नयन उन लोगों के लिए एक समाधान है जो उन्नयन कर सकते हैं।
स्क्वीडली

13.04 को अपग्रेड करना (जैसा कि अपग्रेड करने के मेरे पिछले प्रयास में से कई असफल रहे हैं)।
कराटेगॉग

यह 13.10 में तय नहीं है। आप नहीं कर पाएंगे apt-get install ghc, जो GHC 4.8.1 पर निर्भर करता है, जबकि उबंटू पुस्तकालयों के बहुत सारे द्वारा स्थापित और उपयोग किया जाने वाला 4.8.2 है। यह निक्सॉस की ओर पलायन करने के लिए सही समय है।
polkovnikov.ph

जवाबों:


38

रेयरिंग एक घाटी में पकड़ा गया है, जो HHCell Platform 2012.4.0.0 के लिए बहुत पुराना है और 2013.2.0.0 के लिए बहुत पुराना है। इस घाटी को कुछ दर्द और डक्ट टेप के साथ जोड़ा जा सकता है।

यदि आप GHC पहले से स्थापित हैं, तो आप Haskell Platform 2013.2.0.0 स्रोत से इंस्टॉल कर सकते हैं। यह एक प्रक्रिया है, लेकिन यह काम करता है।

सबसे पहले, GHC 7.6.2 स्थापित करें:

sudo apt-get install ghc

अब आपको जीएचसी 7.6.3 की आवश्यकता है क्योंकि यह हास्केल प्लेटफॉर्म 2013.2.0.0 के लिए पूर्व-रीक है।

सावधान:

आप सोच सकते हैं कि GHC के अज्ञात-लिनक्स अभिलेखागार से काम चल रहा है। यह नहीं होगा उन अभिलेखागार में GHC गतिशील रूप से /usr/lib/libgmp.so.3 के विरुद्ध जुड़ा हुआ है, जो Raring पर उपलब्ध नहीं है, जिसमें libgmp.so.10 है । लिंक लाइब्रेरी को नकली करने के लिए इस लाइब्रेरी को पहले के संस्करण के नाम और स्थान से जोड़ने के लिए लुभाया न जाए। मैं वहां गया और यह बहुत भ्रमित करने वाली विफलताओं का रास्ता है और एक बहुत बुरा अभ्यास है इसलिए मैंने अपने तरीके से बदलाव किया और स्रोत से जीएचसी का निर्माण किया।

अगला, आपको स्रोत से 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

जीएचसी को संकलित करने में मेरे लिए काफी समय (कई घंटे,> आधा जीवन का सीज़ियम आइसोटोप Cs-134m) लिया गया, इसलिए यह ब्रेक या नींद के लिए एक बहुत अच्छा समय है। यह कंपाइलर के निर्माण के तीन चरणों (0, 1, और 2) से गुजरता है और फिर कंपाइलर के साथ कम्पाइलर के अगले चरण का निर्माण करता है।

संकलन प्रक्रिया को गति देने के लिए, आप उपयोग कर सकते हैं

make -j 8

मल्टी-कोर सीपीयू का लाभ उठाने के लिए उपरोक्त चरण में।

फिर, स्रोत से हास्केल प्लेटफ़ॉर्म प्राप्त करें और बनाएं (मैं उदाहरण के रूप में 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

हास्केल प्लेटफ़ॉर्म को संकलित करने में मेरे लिए काफी> 30 मिनट का समय लगा इसलिए ब्रेक के लिए यह एक और अच्छा समय है।

अब आपके पास वर्किंग हास्केल प्लेटफॉर्म 2013.2.0.0 होना चाहिए, जो जीएचसी 7.6.3 के साथ libgmp.so.10 के खिलाफ सही तरीके से जुड़ा हुआ है।


4
एक नए इंस्टालेशन पर ubuntu 13.04 पर, मुझे libncurses5-devकाम करने के लिए इंस्टाल के लिए पैकेज स्थापित करना पड़ा । =)
फेलिप अल्मेडा

1
मुझे यह भी चाहिए:sudo apt-get install libgl1-mesa-dev libglc-dev freeglut3-dev libedit-dev libglw1-mesa libglw1-mesa-dev
राफेल एस। कलसविनी

क्या मैं हैस्केल इंस्टॉलेशन के बाद इन 2 फ़ोल्डरों को हटा सकता हूं?
एलन कोरोमनो

हां, आप स्थापना के बाद फ़ोल्डर्स को हटा सकते हैं। टिप्पणियों के लिए धन्यवाद और लोगों को संपादित करता है। अच्छी चीज़।
एलेन ओ'डे सेप

3
बस लोगों को डराने के लिए नहीं: ghc-7.6.3मेरे पांच साल पुराने डेस्कटॉप पर निर्माण में लगभग 2.5 घंटे लगे, और आधुनिक i7 डेस्कटॉप पर - लगभग 20 मिनट। हास्केल प्लेटफ़ॉर्म लगभग तुरंत निर्माण कर रहा है। सभी परिणाम साथ हैं make -j8
माइकल पैंकोव

8

Ubuntu 13.04 रेपो में GHC 7.6.2 शामिल है, दुर्भाग्य से GHC 7.6.x के लिए अभी तक कोई Haskell Platform नहीं है। तो आप अब से स्रोत के लिए GHC (यानी, 7.4.x) और हास्केल प्लेटफ़ॉर्म के एक ईयरलर संस्करण का निर्माण करना बेहतर समझेंगे।

अधिक जानकारी के लिए इसे देखें: https://launchpad.net/ubuntu/raring/i386/haskell-platform


5
एक आश्चर्य की बात है कि, यह जानते हुए कि जीएचसी 7.6 सहित कोई भी प्लेटफ़ॉर्म रिलीज़ नहीं हुआ है, उन्होंने जीएचसी 7.6 को जहाज करने के लिए चुना और इस तरह बहुत से लोगों के लिए हास्केल विकास को तोड़ दिया।
मैथ्यू वाल्टन

आपको इस बात पर चर्चा करने की जरूरत है कि पैकेज
मेंटेनर्स के

6

जैसा कि ऊपर दिए गए विवरणों में Alain O'Dea का उत्कृष्ट उत्तर है , यह समस्या आसानी से तय नहीं है, और इस बीच उबंटू 13.04 के लिए कोई हैस्केल-प्लेटफॉर्म उपलब्ध नहीं है।

आप इस सूची पर पैकेजों को स्थापित करके 'नकली' को छांट सकते हैं: http://packages.ubuntu.com/precise/haskar-box

यहाँ आपके लिए ऐसा करने का आदेश दिया गया है:

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

इससे गायब दो आइटम स्पष्ट कारणों के लिए हैसेल-प्लेटफॉर्म-डॉक और हैस्केल-प्लेटफॉर्म-प्रोफ पैकेज हैं।

उम्मीद है, उबंटू देवता असंगति के मुद्दे को जल्द ही ठीक कर देंगे।

इस टिप्पणी पे:

इसके अलावा: मैं दुर्भाग्य से इस StackExchange साइट पर एक टिप्पणी के रूप में छोड़ने के लिए प्रतिष्ठा नहीं है, लेकिन यह सबसे उपयुक्त जगह है।

इस सब के लिए लॉन्चपैड पर एक बग है, लेकिन इस पर ज्यादा ध्यान नहीं दिया जा रहा है। कृपया इसे देखें और इसे प्रभावित करने के रूप में चिह्नित करें यदि आप इस पृष्ठ पर उतरे हैं क्योंकि उबंटू 13.04 का हास्केल पैकेज निरस्त हैं:

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

उम्मीद है कि एक मॉड इस जवाब को लेगा और इसे एक टिप्पणी में बदल देगा, जहां यह है। क्षमा करें - मैं अभी तक askubuntu पर प्रतिष्ठा नहीं है!


1
मैं इस थ्रेड में लॉन्चपैड बग ट्रैकर को एक शीर्ष टिप्पणी के रूप में रखूंगा। मुझे लगता है कि यह महत्वपूर्ण है कि जो लोग इस पृष्ठ को पढ़ते हैं वे वहां जाते हैं और इसके समाधान के लिए कुछ दबाव डालते हैं।
राफेल एस। कलसविनी

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

जीएचसी का अर्थ ग्लासगो हास्केल कंपाइलर है

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


6
जीएचसी हास्केल प्लेटफॉर्म के समान नहीं है, जो संकलक के एक विशेष संस्करण के साथ विशेष पुस्तकालयों के विशेष संस्करणों का एक संग्रह है।
मैथ्यू वाल्टन

2
आप शून्य नई जानकारी दें।
फिल
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.