3

(Arch linux) I have been having a lot of problems lately with haskell packages. Normally I would fix them fairly easily by updating some packages, but there is probably a root cause to all of them that I cannot figure out. I currently think the most likely explanation is that I went wrong somewhere in the haskell installation process, as I did not use the “haskell platform” but somewhat haphazardly installed packages from all over the place when I needed them. I just performed a system upgrade, and now when I run startx, this is the result. The shared object file it references near the end, libHSxmonad-contrib-0.16-AAxGT3H9yrS67i4YFgpjoh-ghc8.10.1.so, does not in fact exist, but two libHSxmonad-contrib shared object files that end in ghc8.0.2 (which is my ghc —-version) do exist. Also, most of the packages it says are missing I remember installing (some via cabal, some pacman) at some point or another. If it helps, here is my cabal list —-installed, ghc-pkg check, and pacman -Q|grep haskell.

sclv
  • 38,665
  • 7
  • 99
  • 204

1 Answers1

2

[Arch Linux] I am not sure if this is related, but recently I've been increasingly annoyed by the recurrent frequency of interminable Haskell package updates -- in my case virtually solely triggered by my pandoc installation.

Resolution

yay -Syu                        ## system update; alt: sudo -Syu
sudo pacman -R pandoc           ## uninstall pandoc

## ----------------------------------------
## Repeated cycles (~5-6) of the following, until nothing shown:

sudo pacman -Qdt                ## list all packages no longer required
                                ## as dependencies (orphans) ...

sudo pacman -R $(pacman -Qdtq)  ## ... and delete them
## ----------------------------------------

yay -Syu                        ## system update; alt: sudo -Syu

Update. For clarity, run as many cycles as needed of:

sudo pacman -R $(pacman -Qdtq)

To find dependencies , use pactree :

[victoria@victoria ~]$ pactree -h
  pactree v1.8.2
  Package dependency tree viewer.
  Usage: pactree [options] <package>

  Options:
    -a, --ascii             use ASCII characters for tree formatting
    -c, --color             colorize output
        --config <path>     set an alternate configuration file
    -b, --dbpath <path>     set an alternate database location
        --debug             display debug messages
    -d, --depth <#>         limit the depth of recursion
        --gpgdir <path>     set an alternate home directory for GnuPG
    -g, --graph             generate output for graphviz's dot
    -l, --linear            enable linear output
    -o, --optional[=depth]  controls at which depth to stop printing optional deps
                            (-1 for no limit)
    -r, --reverse           list packages that depend on the named package
    -s, --sync              search sync databases instead of local
    -u, --unique            show dependencies with no duplicates (implies -l)
    -h, --help              display this help message and exit
    -V, --version           display version information and exit

[victoria@victoria ~]$ pactree -r haskell
  error: package 'haskell' not found    ## removed per this discussion

[victoria@victoria ~]$ pactree -r vim
  gvim provides vim    ## I installed Vim via gVim to get the clipboard

[victoria@victoria ~]$ 

Sample output

[victoria@victoria 2.0]$ sudo pacman -R $(pacman -Qdtq)

checking dependencies...

Packages (88) asar-3.0.3-1  crypto++-8.2.0-3  dep-0.5.4-5  devilspie-0.23-4  extra-cmake-modules-5.77.0-1  fuseiso-20070708-8  gendesk-1.0.6-1  giblib-1.2.4-8  gnome-common-3.18.0-4  go-2:1.15.6-1  go-bindata-3.5.2-2
              gobject-introspection-1.66.1-3  gperf-3.1-3  haskell-bitarray-0.0.1.1-19  haskell-citeproc-0.2-9  haskell-cmark-gfm-0.2.2-20  haskell-commonmark-pandoc-0.2.0.1-36  haskell-doctemplates-0.8.3-10  haskell-glob-0.10.1-33
              haskell-haddock-library-1.9.0-65  haskell-hslua-module-system-0.2.2.1-22  haskell-hslua-module-text-0.3.0.1-10  haskell-http-4000.3.15-57  haskell-http-client-tls-0.3.5.3-344  haskell-ipynb-0.1.0.1-128
              haskell-jira-wiki-markup-1.3.2-32  haskell-juicypixels-3.3.5-42  haskell-regex-pcre-0.95.0.0-7  haskell-sha-1.6.4.4-15  haskell-skylighting-0.10.0.2-4  haskell-tagsoup-0.14.8-67  haskell-texmath-0.12.0.3-48
              haskell-unicode-transforms-0.3.7.1-16  haskell-zip-archive-0.4.1-71  ibus-1.5.23+3+gaa558de8-2  ipython2-5.9.0-1  jq-1.6-4  js68-68.12.0-1  kitty-terminfo-0.19.3-1  libgpod-0.8.3-11  libguess-1.2-3
              libhandy0-0.0.13+12+gaa6b6f4-2  libkcddb-20.12.0-1  libkeybinder2-0.3.1-4  liblastfm-qt5-1.0.9-5  libmspack-1:0.10.1alpha-3  libmygpo-qt5-1.1.0-3  liborcus-0.16.1-5  libpqxx-6.4.5-2  libspf2-1.2.10-5  lsb-release-1.4-18
              lv2-1.18.0-1  mathjax2-2.7.9-1  perl-number-bytes-human-0.11-4  perl-test-needs-0.002006-3  perl-test-pod-1.52-5  pygtk-2.24.0-12  python-atomicwrites-1.4.0-3  python-click-log-0.3.2-7  python-configobj-5.0.6-10
              python-flask-babel-2.0.0-3  python-icalendar-4.0.7-3  python-pipenv-2020.11.15-1  python-pytoml-0.1.21-6  python-tensorflow-serving-api-2.3.0-2  python-tzlocal-2.1-3  python-urwid-2.1.1-3  python-yaml-5.3.1-4
              python2-apsw-3.33.0-3  python2-dateutil-2.8.1-5  python2-dbus-1.2.16-3  python2-feedparser-5.2.1-9  python2-ipaddress-1.0.23-2  python2-msgpack-0.6.2-4  python2-mutagen-1.43.0-3  python2-pillow-6.2.1-3
              python2-psutil-5.7.3-3  python2-simplejson-3.17.2-3  quilt-0.66-2  sndio-1.7.0-3  tesseract-4.1.1-4  uwsgi-plugin-python-2.0.19.1-7  wxgtk2-3.0.5.1-1  xorg-bdftopcf-1.1-2  xorg-font-util-1.3.2-2  xorg-mkfontscale-1.2.1-2
              xorg-server-xvfb-1.20.10-3  yasm-1.3.0-4

Total Removed Size:  867.02 MiB

:: Do you want to remove these packages? [Y/n] y
...

## ***************************
## **  Subsequent cycles:  ***
## ***************************

Packages (47) autoconf-archive-1:2019.01.06-4  cmake-3.19.2-1  cmark-gfm-0.29.0.gfm.0-2  diffstat-1.63-1  gtk-doc-1.33.1-1  haskell-aeson-pretty-0.8.8-101  haskell-commonmark-extensions-0.2.0.4-6  haskell-connection-0.3.1-72
              haskell-data-default-0.7.1.1-92  haskell-digest-0.0.1.2-21  haskell-doclayout-0.3-50  haskell-file-embed-0.0.13.0-2  haskell-hslua-1.3.0-7  haskell-hsyaml-0.2.1.0-57  haskell-http-client-0.7.3-22
              haskell-old-time-1.1.0.3-26  haskell-pandoc-types-1.22-20  haskell-regex-base-0.94.0.0-7  haskell-skylighting-core-0.10.0.2-4  haskell-temporary-1.3-145  haskell-text-conversions-0.3.1-22  haskell-text-icu-0.7.0.1-36
              haskell-uniplate-1.6.13-9  haskell-xml-1.3.14-26  haskell-xml-conduit-1.9.0.0-82  intltool-0.51.0-6  leptonica-1.80.0-1  libixion-0.16.1-5  libmusicbrainz5-5.1.0-4  python-certifi-2020.6.20-3  python-flask-1.1.2-4
              python-greenlet-0.4.17-3  python-mako-1.1.3-3  python-speaklater-1.3-9  python-virtualenv-20.2.2-1  python-virtualenv-clone-0.5.4-3  python2-backports.shutil_get_terminal_size-1.0.0-4  python2-cairo-1.18.2-4
              python2-gobject2-2.28.7-6  python2-numpy-1.16.6-1  python2-olefile-0.46-3  python2-pexpect-4.8.0-3  python2-pickleshare-0.7.5-5  python2-prompt_toolkit1-1.0.15-2  python2-traitlets-4.3.3-6  sg3_utils-1.45-1
              yelp-tools-3.38.0-1

Packages (41) glib2-docs-2.66.4-1  haskell-aeson-1.5.4.1-26  haskell-ansi-terminal-0.11-25  haskell-base16-bytestring-1.0.1.0-1  haskell-base64-bytestring-1.2.0.1-8  haskell-blaze-html-0.9.1.2-62  haskell-cmdargs-0.10.20-15
              haskell-commonmark-0.1.1.2-7  haskell-conduit-extra-1.3.5-75  haskell-cookie-0.4.5-8  haskell-data-default-instances-containers-0.0.1-32  haskell-data-default-instances-dlist-0.0.1-105
              haskell-data-default-instances-old-locale-0.0.1-32  haskell-emojis-0.1-52  haskell-errors-2.3.0-58  haskell-http-types-0.12.3-105  haskell-hxt-9.3.1.18-185  haskell-mime-types-0.1.0.9-10  haskell-quickcheck-2.14.2-24
              haskell-socks-0.6.1-64  haskell-syb-0.7.1-8  haskell-tls-1.5.4-52  haskell-utf8-string-1.0.1.1-20  haskell-x509-system-1.6.6-164  haskell-xml-types-0.3.8-4  itstool-1:2.0.6-2  jsoncpp-1.9.4-1  mallard-ducktype-1.0.2-6
              python-anytree-2.8.0-3  python-beaker-1.11.0-6  python-filelock-3.0.12-5  python-itsdangerous-1.1.0-6  python-jinja-2.11.2-4  python2-decorator-4.4.2-3  python2-enum34-1.1.9-1  python2-pathlib-1.0.1-5
              python2-ptyprocess-0.6.0-6  python2-pygments-2.5.2-2  python2-wcwidth-0.2.5-3  rhash-1.4.0-1  yelp-xsl-3.38.2-1

Packages (23) haskell-attoparsec-0.13.2.4-41  haskell-base-compat-batteries-0.11.2-18  haskell-blaze-markup-0.8.2.7-32  haskell-case-insensitive-1.2.1.0-44  haskell-cereal-0.5.8.1-8  haskell-colour-2.3.5-83  haskell-conduit-1.3.4-8
              haskell-data-fix-0.3.0-32  haskell-dlist-1.0-28  haskell-erf-2.0.0.0-20  haskell-hxt-regex-xmlschema-9.2.0.3-24  haskell-hxt-unicode-9.0.2.4-20  haskell-network-uri-2.6.3.0-204  haskell-old-locale-1.0.0.7-26
              haskell-safe-0.3.19-4  haskell-streaming-commons-0.2.2.1-33  haskell-strict-0.4.0.1-6  haskell-time-compat-1.9.5-6  haskell-typed-process-0.2.6.0-68  haskell-uuid-types-1.0.3-63  haskell-x509-validation-1.6.11-96
              python-babel-2.9.0-1  python-markupsafe-1.1.1-6

Packages (14) haskell-async-2.2.2-48  haskell-base-compat-0.11.2-3  haskell-blaze-builder-0.4.1.0-15  haskell-byteable-0.1.1-21  haskell-data-default-class-0.1.2.0-20  haskell-hxt-charproperties-9.4.0.0-8
              haskell-mono-traversable-1.0.15.1-79  haskell-network-3.1.2.1-6  haskell-random-1.2.0-68  haskell-resourcet-1.2.4.2-36  haskell-scientific-0.3.6.2-58  haskell-these-1.1.1.1-33  haskell-x509-store-1.6.7-96
              haskell-zlib-0.6.2.2-4

Packages (8) haskell-assoc-1.0.2-32  haskell-integer-logarithms-1.0.3.1-2  haskell-split-0.2.3.4-86  haskell-splitmix-0.1.0.3-13  haskell-unliftio-core-0.2.0.1-5  haskell-unordered-containers-0.2.13.0-16
             haskell-vector-algorithms-0.8.0.4-6  haskell-x509-1.7.5-97

Packages (6) haskell-asn1-parse-0.9.5-63  haskell-bifunctors-5.5.8-22  haskell-cryptonite-0.27-37  haskell-hashable-1.3.0.0-44  haskell-pem-0.2.4-119  haskell-vector-0.12.1.2-76

Packages (3) haskell-asn1-types-0.3.4-42  haskell-distributive-0.6.2-48  haskell-transformers-compat-0.6.6-2

Packages (4) haskell-base-orphans-0.8.4-8  haskell-hourglass-0.2.12-87  haskell-memory-0.15.0-54  haskell-tagged-0.8.6-13

Packages (1) haskell-basement-0.0.11-9
Victoria Stuart
  • 4,610
  • 2
  • 44
  • 37
  • 1
    LOL, `sudo pacman -R $(pacman -Qdtq)` is a command that keeps on giving. Awesome to remove haskell, you repeat the command and it remove the unused packages, then execute again and it removes the packages which had the previoulsy removed ones as dependencies. AWESOME for removing haskell!! +1 – Iacchus Mar 07 '22 at 07:29
  • Wow that command was a godsend. Thank you so much for it. – dessalines Jan 06 '23 at 16:02