2015-08-20 12 views
7

kalkmaya çalışırken ve ahududu pi ARMv7 için yayınladığı yakın ghc ikili ile 2 koşuyorum,:ghc armv7 ikili + cabal? Mevcut burada yasadışı talimat

https://www.haskell.org/ghc/download_ghc_7_10_2#linux_armv7

Bu debian Jesse ile inşa edilmiştir diyor, bu yüzden Pi2'mde debian jesse yüklü. Ghc'yi başarıyla yükledim - en azından ghci işleri. Ancak kabalık yok ve görünüşe göre ghc 7.10.2, 1.22+ kabiliyet gerektiriyor. Kabalının debian sürümü 1.16 gibi bir şeydir (ve ayrıca ghc 7.6.x'i de kuracaktır). Bu yüzden, bootstrap.sh betiğiyle kaynağından cabal-install kurmaya çalışıyorum. Bu mtl paketini indirir ve bir 'Kurulum' yürütme kurar, sonra yürütmeye çalışır. Ancak Kurulum exe 'yasadışı talimat' ile başarısız olur.

İndirme sayfasına göre 'altın' bağlayıcı gereklidir. Ben

ln yaparak which gold ~/bin/ld

ve ~/bin içerecek şekilde yolumu ayarı -s belirtti. Maalesef aynı sonuç.

Sonraki ghc ikili dosyalarını yeniden yüklemeyi denedim (sanırım). Yani kök olarak:

> ln -s `which gold` /usr/local/bin/ld 
> cd ghc-7.10.2 
> make install 

kez daha ghc başarıyla yüklendi, ancak Cabal yüklemek oluşturmak için sonuç aynıdır:

[email protected]:~/code/cabal/cabal-install$ ./bootstrap.sh 
Using gcc for C compiler. If this is not what you want, set CC. 
Using /usr/lib/gcc/arm-linux-gnueabihf/4.9/collect2 instead. 
Checking installed packages for ghc-7.10.2... 
deepseq is already installed and the version is ok. 
binary is already installed and the version is ok. 
time is already installed and the version is ok. 
Cabal is already installed and the version is ok. 
transformers is already installed and the version is ok. 
mtl-2.2.1 will be installed from local tarball. 
text-1.2.0.3 will be downloaded and installed. 
parsec-3.1.7 will be downloaded and installed. 
network-2.6.0.2 will be downloaded and installed. 
old-locale-1.0.0.7 will be downloaded and installed. 
old-time-1.1.0.3 will be downloaded and installed. 
HTTP-4000.2.19 will be downloaded and installed. 
zlib-0.5.4.2 will be downloaded and installed. 
random-1.1 will be downloaded and installed. 
stm-2.4.4 will be downloaded and installed. 

Using local tarball for mtl-2.2.1. 
[1 of 1] Compiling Main    (Setup.hs, Setup.o) 
Linking Setup ... 
Illegal instruction 

Error during cabal-install bootstrap: 
Configuring the mtl package failed. 

Herhangi bir fikir?

Symlinks'in bunun için altını etkinleştirmenin doğru yolu olup olmadığını merak ediyorum. Belki de her bir kabin projesinde bir ghc seçeneği olarak eklemem gerekiyor mu yoksa altın kullanmanın başka bir yolu var mı? Ya da belki sorun bu değil mi?

+0

derleyici için bozuldu geliyor bana: Ben debian jessie varsayılan LLVM 3.5 ile kullanıyordum https://packages.debian.org/experimental/armhf/ghc/download

böcek Mimarlık. Ama uzun zamandır Haskell'i uzun bir süredir çalıştırmakla ilgileniyorum ve şimdiye kadar sizden daha az şanslı oldum. Yani onu çıkarabilirsin ... ve eğer yönetirsen bize haber ver. – dsign

+0

@dsign Kırık ama deneysel olarak adlandırılamazdım. :) Bir veya iki hafta önce, Debian Jessie üzerine inşa edilen ARM için GHC dağıtımı yüklendi. – Sibi

+0

@Sibi Benim tarafımdan talihsiz ifadeler kabul edildi. Keşke düzeltilebilseydim. – dsign

cevap

3

Sonunda bunu düzelttim. Ghc indirme sayfasına göre debian jessie ile gelen llvm 3.5 kullanmalısınız. Ama varsayılan llvm sürümü 3.5-10 ve bu çalışmaz. İhtiyaç duyulan şey 3.5.2-2.

3.5.2-2 için yüklenen dosyaları indirdim ve yüklü, ancak 3.5.2-2 gerektiren llvm 5-6 libs yüklemek için oldukça hızlı bağımlılık cehenneme döndü. Debian testine geçtim ve llvm'yi kurmak daha kolaydı. Debian deneyinde olmanız daha kolay olabilir.

ghc 7.10.2 paket kullandığım: https://ghc.haskell.org/trac/ghc/ticket/10863