Pixeldrama

GHC update auf 7.3.10 schlägt fehl unter Arch Linux

December 12, 2015

Das neueste Minor-Update des Glasgow Haskell Compilers (GHC) verursachte einen Konflikt auf meinem Arch Linux.

$ pacman -Qu
ghc 7.10.2-1 -> 7.10.3-1

Der Versuch eines Updates scheitert mit folgender Ausgabe:

$ sudo pacman -Sy
error: failed to commit transaction (conflicting files)
ghc: /usr/share/doc/ghc/html/libraries/doc-index-126.html exists in filesystem
ghc: /usr/share/doc/ghc/html/libraries/doc-index-35.html exists in filesystem
ghc: /usr/share/doc/ghc/html/libraries/doc-index-37.html exists in filesystem
ghc: /usr/share/doc/ghc/html/libraries/doc-index-38.html exists in filesystem
ghc: /usr/share/doc/ghc/html/libraries/doc-index-42.html exists in filesystem
ghc: /usr/share/doc/ghc/html/libraries/doc-index-46.html exists in filesystem
ghc: /usr/share/doc/ghc/html/libraries/doc-index-61.html exists in filesystem
ghc: /usr/share/doc/ghc/html/libraries/doc-index-94.html exists in filesystem
Errors occurred, no packages were upgraded.

Das Problem ist, dass auf dem Dateisystem schon Dateien liegen, die durch das Update überschrieben werden. Es sind nur Dokumentationsdateien, die zu dem alten Package ghc 7.10.2.1 gehören:

$ pacman -Qo /usr/share/doc/ghc/html/libraries/doc-index-126.html
/usr/share/doc/ghc/html/libraries/doc-index-126.html is owned by ghc 7.10.2-1

Man kann pacman dazu zwingen diese Dateien zu überschreiben. Diese Option sollte nur eingesetzt werden, wenn man sicher ist, was man tut und auf das jeweilige Package einschränken.

$ sudo pacman -S ghc --force

Danach sollte der aktuellste Haskell-Compiler zur Verfügung stehen. Happy Haskell programing!