haskell / haskell/haskell-language-server
error while loading shared libraries: libHSinteger-gmp-1.1-ghc9.4.8.so: cannot open shared object file: No such file or directory
- Dominant language
- Haskell
- Stars
- 3k
- Forks
- 455
- Avg merge
- 3d 21h
- Merged PRs (30d)
- 13
Description
## Your environment
- Host machine
- Debian 12
- Emacs 28.2 (installed via nix package manager)
- eglot
- VM
- Debian 12
- stack 2.13.1
- Haskell project with GHC 9.4.8
- HLS 2.5.0.0 installed via ghcup
## What's wrong?
I'm working in Emacs running on the host over SSH (via emacs tramp-mode), editing files on the VM. When I try to start eglot, the Eglot buffer shows:
```
[stderr] 2023-12-16T14:14:07.984860Z | Debug | executing command: stack exec ghc -- --print-libdir
[internal] Sat Dec 16 16:14:08 2023:
(:message "Connection state changed" :change "exited abnormally with code 127\n")
----------b---y---e---b---y---e----------
[stderr] /usr/bin/haskell-language-server-9.4.8: error while loading shared libraries: libHSinteger-gmp-1.1-ghc9.4.8.so: cannot open shared object file: No such file or directory
```
However when I execute HLS from the cli in the VM it runs normally and just waits for JSON input.
This might be a problem in Tramp, but I'd very much appreciate any hints, what HLS is doing when it fails and where to find the code in HLS that fails.
When I lookup `ldd ldd haskell-language-server-9.4.8` it says: "not a dynamic executable". So there must be some code somewhere in HLS that tries to dynamically load shared libraries and for some reason does not get the path right when called by Tramp.
Contributor guide
No contributing guide indexed for this repository
Research direction
Start by reproducing the Eglot-over-Tramp launch using `stack exec ghc -- --print-libdir` and the reported `/usr/bin/haskell-language-server-9.4.8` command on the listed Debian environments. Compare that with running HLS directly in the VM and inspect the `ldd` output. Done means identifying why the Tramp-launched server cannot find `libHSinteger-gmp-1.1-ghc9.4.8.so` and documenting or fixing the launch path.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- emacs, haskell
- Domain
- developer-experience, tooling
- Issue type
- Bug
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Quiet
- Clarity
- Needs clarification
- Newbie friendliness
- 35/100