Skip to content

wrapper requires libtinfo.so.5, which is not present on Arch Linux-based distros #2657

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Closed
Anton-Latukha opened this issue Jan 29, 2022 · 6 comments
Labels
can-workaround old_type: distribution type: bug Something isn't right: doesn't work as intended, documentation is missing/outdated, etc..

Comments

@Anton-Latukha
Copy link
Collaborator

Anton-Latukha commented Jan 29, 2022

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
  • .cabal files, 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.

@Anton-Latukha Anton-Latukha added type: bug Something isn't right: doesn't work as intended, documentation is missing/outdated, etc.. status: needs triage labels Jan 29, 2022
@Anton-Latukha
Copy link
Collaborator Author

Anton-Latukha commented Jan 29, 2022

Now adding this to HLS docs Arch Linux support page.

Opened to report & for people to find the solution during search in reports, before they maybe decide to open a report themselves (where template directs to support information).

@Anton-Latukha
Copy link
Collaborator Author

Sinse #2650 (comment) I wonder, the workaround in the doc should become irrelevant in a couple of hours, when 1.6.1 releases.

@jneira
Copy link
Member

jneira commented Jan 30, 2022

1.6.1.0 with a statically linked wrapper has been just released

@jneira
Copy link
Member

jneira commented Jan 30, 2022

@Anton-Latukha so we could close this?

@jneira
Copy link
Member

jneira commented Jan 30, 2022

closing as the new 1.6.1.0 release has fixed the wrapper executable

@jneira jneira closed this as completed Jan 30, 2022
@Anton-Latukha
Copy link
Collaborator Author

Thank you

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
can-workaround old_type: distribution type: bug Something isn't right: doesn't work as intended, documentation is missing/outdated, etc..
Projects
None yet
Development

No branches or pull requests

2 participants