-
-
Notifications
You must be signed in to change notification settings - Fork 414
Description
Syndrome: support for libtinfo.so.5 version of a library is not available in the system environment by default. Therefore after update to 1.6.0, haskell-language-server-wrapper consistently immediately exits on launch & reports: see section Actual Behaviour.
it is a consequence of #2650, one can observe ldd lists libtinfo.so.5 there.
Environment
- OS:
Arch Linux btw emacs+lsp-mode.cabalfiles,hie.yaml
Steps to reproduce
Using ghcup Install HLS 1.6 on Linux. Select GHC 9.0.2, run haskell-language-server-wrapper in the terminal or in IDE.
Expected behaviour
>haskell-language-server-wrapper
Found "/home/.../src/haskell/.../hie.yaml" for "/home/.../src/haskell/.../a"
Run entered for haskell-language-server-wrapper(haskell-language-server-wrapper) Version 1.6.0.0, Git revision ce41b6459af131c845f942bd39e356f02b6306fa (dirty) x86_64 ghc-8.10.7
Current directory: /home/.../src/haskell/...
Operating system: linux
Arguments: []
Cradle directory: /home/.../src/haskell/...
Cradle type: Cabal
Tool versions found on the $PATH
cabal: 3.6.2.0
stack: Not found
ghc: 9.0.2
Consulting the cradle to get project GHC version...
Project GHC version: 9.0.2
haskell-language-server exe candidates: ["haskell-language-server-9.0.2","haskell-language-server"]
Launching haskell-language-server exe at:/home/.../.local/bin/haskell-language-server-9.0.2
Actual behaviour
>haskell-language-server-wrapper
haskell-language-server-wrapper: error while loading shared libraries: libtinfo.so.5: cannot open shared object file: No such file or directory
Solution
libinfo is an old library, used in terminal application & bundled in ncurses.
Arch Linux uses & ships with ncurses6 & inside it libinfo6. libinfo6 does not support libinfo5.
So the solution is to install ncurses5-compat-libs.
For Arch Linux the package is in the AUR: https://aur.archlinux.org/packages/ncurses5-compat-libs/
It would require adding a GPG key: gpg --recv-keys 'C52048C0C0748FEE227D47A2702353E0F7E48EDB'
That it is a valid key can be checked/or use the same key from PKGBUILD source of the package.