Stiamo lavorando su un fork di Parsec (con la suite di test QuickCheck completa, migliori messaggi di errore e altri miglioramenti) e alcuni progressi sono stati fatti. La maggior parte delle volte ho lavorato con REPL di Emacs, specificando il target di build tests
(ovvero, ovviamente, il nome della suite di test). Questo ha funzionato bene.GHC Panic: caricamento dell'oggetto temporaneo condiviso non riuscito
Ora la nostra cosa supera i test, tutto sembra essere OK, ma se comincio REPL con l'obiettivo di libreria (o l'omissione di esso, vale a dire cabal repl
o cabal repl lib:megaparsec
) e fare qualcosa, ottengo GHC panico:
λ> 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
Poiché il codice viene compilato e funziona correttamente tramite cabal repl tests
, concludo che questo non è il mio difetto di programmazione, ma potrebbe trattarsi di un bug.
Ho trovato questo ticket: https://ghc.haskell.org/trac/ghc/ticket/10761, ma la nostra libreria non utilizza Template Haskell.
La domanda effettiva è: cosa devo fare e come può essere risolto? Non riesco nemmeno a capire se è Cabal o GHC, non ho idea di come creare un esempio minimo che possa riprodurre il problema.
ho fatto presente che:
https://ghc.haskell.org/trac/ghc/ticket/10765#ticket
Questo sembra qualche stranezza legata a 'HPC' (copertura del programma haskell). Hai provato a disattivare HPC (eseguendo 'cabal clean' e poi a configurare di nuovo, assicurandoti che' HPC' non sia abilitato?) – bennofs
@bennofs, in effetti, senza l'opzione '--enable-coverage' questo non succede! Come facevi a sapere che questo è legato a HPC? Aggiungilo anche come risposta, questo può essere utile per i futuri lettori :-D Devo segnalare un errore ai manutentori di HPC o qualcosa del genere? – Mark