2015-08-11 18 views
7

Parsec (komple QuickCheck test odası, daha iyi hata mesajları ve diğer iyileştirmeler) bir çatal üzerinde çalışıyoruz ve bazı ilerlemeler kaydedildi. Çoğu zaman Emacs'ten REPL ile çalıştım ve tests yapı hedefini belirttim (yani, açıkça test paketinin adı). Bu iyi çalışıyor.GHC Panik: Yükleme ortamı paylaşılan nesnesi başarısız oldu

λ> parseTest (string "rere" <* eof) "reri" 
ghc: panic! (the 'impossible' happened) 
    (GHC version 7.10.1 for x86_64-unknown-linux): 
    Loading temp shared object failed: /tmp/ghc9380_0/libghc9380_93.so: undefined symbol: _hpc_tickboxes_megapzuEw3SHAmfXgNLpm5a31oXO6_TextziMegaparsecziError_hpc 

Please report this as a GHC bug: http://www.haskell.org/ghc/reportabug 
:

Şimdi bizim bir şey herşey yolunda gibi görünüyor, ama kütüphane hedefle Repl başlar (veya yani cabal repl veya cabal repl lib:megaparsec, onu ihmal) ve bir şey yaparsam, ben GHC panik almak testleri geçer

Kod, cabal repl tests aracılığıyla düzgün olarak derlendiğinden ve çalıştığından, bunun herhangi bir hızda programlama hatam olmadığına inanıyorum, ancak bir hata olabilir.

Bu bileti buldum: https://ghc.haskell.org/trac/ghc/ticket/10761, fakat kütüphanemiz Template Haskell'i kullanmıyor.

Gerçek soru şudur: ne yapmalıyım ve bu nasıl düzeltilebilir? Cabal veya GHC olup olmadığını bile söyleyemem, sorunu yeniden üretebilecek en az örnek nasıl inşa edeceğimi bilmiyorum.


o rapor ettik:

https://ghc.haskell.org/trac/ghc/ticket/10765#ticket

+4

Bu, HPC'nin (haskell program kapsamı) ile ilgili bazı garipliklere benziyor. HPC'yi devre dışı bırakmayı ('cabal clean'i çalıştırmayı ve ardından yeniden yapılandırmayı' HPC'nin etkin olmadığından emin olmak için denediniz mi?) – bennofs

+0

@bennofs, '--enable-scope' seçeneği olmadan, bu gerçekleşmez! Bunun HPC ile ilgili olduğunu nereden biliyorsunuz? Bunu bir cevap olarak da ekleyin, bu da gelecekteki okuyucular için yararlı olabilir: -D Hatayı HPC denetçilerine veya bir şeye bildirmeliyim mi? – Mark

cevap

7

dikkatle hatayı okursanız eksik fonksiyon HPC ile ilişkili olduğunu fark edeceksiniz:

 
undefined symbol: _hpc_tickboxes_megapzuEw3SHAmfXgNLpm5a31oXO6_TextziMegaparsecziError_hpc 

Tahminimce, HPC'nin (haskell program kapsamı) yaptığı enstrümantasyonun GHCi'nin yaptığı haskell kodunun etkileşimli yüklenmesi ile uyumlu olmamasıdır. HPC (cabal clean ve bunu takiben cabal configure takibi, yapılandırmanın kapsama alanının kapalı olduğundan emin olun) sorunu çözmelidir.

GHC hata izleyicisindeki bir hatayı bildirmenizi öneririm (bu, aynı zamanda bir hata olabileceği gibi, burada kimin hatalı olduğunu da bilmiyor olabilir).

+0

İlk önce Cabal'i deneyeceğim, çünkü GitHub'da ve etkileşim kurmak benim için daha kolay, aynı zamanda GHC'deki Cabal ya da HPC hatası olduğunu düşünüyorum. Teşekkür ederim, bunu ilk gördüğümde bazen uyumaya ihtiyacım olduğunu düşündüm çünkü bu bir halüsinasyon olmalı, gerçek olamaz! : -D – Mark

+0

HPC, GHC – bennofs

+0

Oh'un bir parçasıdır. Ayrı bir paket olduğunu düşündüm. – Mark