Ubuntu 13.04 용 Haskell 플랫폼을 설치하는 방법?


37

Ubuntu 13.04 용 Haskell 플랫폼을 설치하는 방법? 입력하면 다음과 같은 오류가 발생합니다 sudo apt-get install haskell-platform.

E: Unable to locate package haskell-platform error 

당신은 또한 찾을 수 askubuntu.com/questions/288201/... 유용
hdgarrood

2
작성자 : @HokieTux "이 모든 것에 대한 런치 패드에 버그가 있지만 별다른 주목을 받고 있지는 않습니다. 우분투 13.04의 Haskell 패키지가 호스로 연결되어 있으므로이 페이지를 방문한 경우이 페이지를 방문하여 영향을주는 것으로 표시하십시오." 링크는 다음과 같습니다. bugs.launchpad.net/ubuntu/+source/haskell-platform/+bug/1047678
Rafael S. Calsaverini

이것은 13.10에서 수정되었으므로 업그레이드는 업그레이드 할 수있는 사람들을위한 솔루션입니다.
오징어

FUBARs 13.04 업그레이드 (이전의 많은 업그레이드 시도가 실패 했으므로).
karatedog

이것은 13.10에서 수정되지 않았습니다. apt-get install ghc많은 우분투 라이브러리가 설치하고 사용하는 것이 4.8.2 인 반면 GHC 4.8.1에 의존 할 수는 없습니다 . NixOS로 마이그레이션하기에 완벽한시기입니다.
polkovnikov.ph

답변:


38

Haskell Platform 2012.4.0.0의 경우 GHC가 너무 새롭고 2013.2.0.0의 경우 너무 오래되었습니다. 이 계곡은 약간의 통증과 덕트 테이프로 연결될 수 있습니다.

GHC가 이미 설치되어있는 경우 소스에서 Haskell Platform 2013.2.0.0을 설치할 수 있습니다. 약간의 과정이지만 작동합니다.

먼저 GHC 7.6.2를 설치하십시오 :

sudo apt-get install ghc

이제 Haskell Platform 2013.2.0.0의 사전 요구 사항이므로 GHC 7.6.3이 필요합니다.

주의:

알려지지 않은 Linux 아카이브에서 GHC 설치가 작동한다고 생각할 수도 있습니다. 그렇지 않습니다. 해당 아카이브의 GHC 는 libgmp.so.10 이있는 Raring 에서 사용할 수없는 /usr/lib/libgmp.so.3 에 대해 동적으로 연결 됩니다. 이 라이브러리를 링커를 가짜로 만들기 위해 이전 버전의 이름과 위치로 심볼릭 링크를 시도하지 마십시오. 나는 거기에 갔다. 그리고 그것은 매우 혼란스러운 실패의 길이고 매우 나쁜 습관이다. 그래서 나는 나의 길을 따르고 소스로부터 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를 컴파일하는 데 꽤 오랜 시간이 걸렸습니다 (몇 시간, 세슘 동위 원소 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 분 이상이 걸렸으므로 휴식을 취하기에 좋은시기입니다.

이제 libgmp.so.10에 대해 올바르게 연결된 GHC 7.6.3의 Haskell Platform 2013.2.0.0이 작동해야합니다.


4
새로 설치 한 우분투 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

haskell 설치 후이 2 개의 폴더를 삭제할 수 있습니까?
Alan Coromano

예, 설치 후 폴더를 삭제할 수 있습니다. 의견을 보내 주셔서 감사합니다. 좋은 물건.
Alain O'Dea

3
사람들을 놀라게하지 않기 위해 : ghc-7.6.35 살짜리 데스크탑에 구축하는 데 약 2.5 시간이 걸렸으며 현대 i7 데스크탑에는 약 20 분이 걸렸습니다. 하스켈 플랫폼은 거의 즉각적으로 구축되고 있습니다. 모든 결과는입니다 make -j8.
Michael Pankov

8

Ubuntu 13.04 repo에는 GHC 7.6.2가 포함되어 있지만 불행히도 Haskell Platform for GHC 7.6.x는 아직 없습니다. 따라서 지금은 초기 버전의 GHC (예 : 7.4.x) 및 Haskell 플랫폼을 소스에서 빌드하는 것이 좋습니다.

자세한 내용은 다음을 참조하십시오 : 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 의 탁월한 답변 으로이 문제는 쉽게 해결되지 않으며 그 동안 Ubuntu 13.04에 사용할 수있는 haskell 플랫폼이 없습니다.

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에는이 모든 것에 대한 버그가 있지만 많은 주목을받지는 않습니다. Ubuntu 13.04의 Haskell 패키지가 호스로 연결되어 있으므로이 페이지를 방문한 경우이 페이지를 방문하여 영향을주는 것으로 표시하십시오.

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

바라건대 mod 가이 답변을 가져 와서 주석이있는 곳으로 만들 것입니다. 죄송합니다-아직 askubuntu에 대한 명성이 없습니다!


1
이 스레드에서 런치 패드 버그 추적기를 맨 위 주석으로 넣겠습니다. 이 페이지를 읽는 사람들이 거기에 가서이 문제를 해결하기 위해 약간의 압력을 가하는 것이 중요하다고 생각합니다.
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

도움이 되길 바랍니다.


당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.