Mam problem z budowaniem wspólnej biblioteki z ghc i myślę, że muszę odbudować moje pakiety haskell z --enable-shared, czy istnieje prosty sposób na odbudowanie wszystkich moich paczki z kabałą z flagą - do udostępnienia?Cabal rebuild all z flagą enable-shared
7
A
Odpowiedz
7
Jeśli masz ~/.cabal/world, cabal install --reinstall --enable-shared world
może działać, ale najpierw przetestuj flagę --dry-run
. Będzie to jednak dotyczyć jedynie pakietów zainstalowanych w kabinie. Jeśli masz zainstalowane pakiety z menedżerem pakietów w dystrybucji, dystrybucja może również udostępnić dla nich wersje wspólne (w przeciwnym razie musisz to zrobić ręcznie). Przydatne byłoby również ustawienie shared: True
w ~/.cabal/config.
Dzięki za szybką odpowiedź! Wygląda na to, że świat opuszcza bazę, czy to odpowiedzialność za kabały czy ghc? –
i otrzymuję: "XMonad.hs: 47: 8: Nie można znaleźć modułu' Control.Monad.Reader ': Być może nie zainstalowałeś bibliotek "dyn" dla pakietu 'mtl-2.0.1.0 '? Użyj opcji -v, aby wyświetlić listę wyszukanych plików. " –
Nie można ponownie zainstalować bazy. Ponowne zainstalowanie innych pakietów rozruchowych spowoduje również poważne złamanie. _Nie nawet tego nie próbuj. Jednak biblioteki współdzielone dla pakietów startowych powinny być dostępne, afair, są zawarte w plikach binarnych ze strony pobierania ghc i budowane automatycznie, jeśli budujesz z źródła. Jeśli dostałeś swojego ghc z pakietu dystrybucyjnego, dystrybucja powinna także udostępnić pakiety wspólne (przynajmniej dla bibliotek bootowych). –