mason.nvim icon indicating copy to clipboard operation
mason.nvim copied to clipboard

haskell-language-server installation fails hls

Open digidoor opened this issue 10 months ago • 2 comments

I've searched open issues for similar requests

  • [X] Yes

I've recently downloaded the latest plugin version of mason.nvim

  • [X] Yes

Problem description

When hitting i to install haskell-language-server, there is an immediate error of: ▶ # [4/4] spawn: bash failed with exit code 127 and signal 0.

clangd and the bash language server were able to install just fine

Expected behavior

Installation should succeed.

Affected packages

haskell-language-server

Mason output

`  ▶ # [4/4] spawn: bash failed with exit code 127 and signal 0. `

Installation log

[DEBUG Wed 15 Jan 2025 02:03:12 AM PST] ...ocal/share/nvim/lazy/mason.nvim/lua/mason-core/fetch.lua:37: Fetching URL "https://api.mason-registry.dev/api/github/mason-org/mason-registry/releases/latest"
[DEBUG Wed 15 Jan 2025 02:03:12 AM PST] ...al/share/nvim/lazy/mason.nvim/lua/mason-core/process.lua:116: Spawning cmd="curl", spawn_opts={
  args = { "-H", "Accept: application/vnd.mason-registry.v1+json; q=1.0, application/json; q=0.8", "-H", "User-Agent: mason.nvim v1.10.0 (+https://github.com/williamboman/mason.nvim)", "-fsSL", "-X", "GET", "--connect-timeout", 30, "https://api.mason-registry.dev/api/github/mason-org/mason-registry/releases/latest" }
}
[DEBUG Wed 15 Jan 2025 02:03:12 AM PST] ...al/share/nvim/lazy/mason.nvim/lua/mason-core/process.lua:162: Spawned with pid 107984
[DEBUG Wed 15 Jan 2025 02:03:12 AM PST] ...al/share/nvim/lazy/mason.nvim/lua/mason-core/process.lua:148: Job pid=107984 exited with exit_code=0, signal=0
[DEBUG Wed 15 Jan 2025 02:03:12 AM PST] ...ocal/share/nvim/lazy/mason.nvim/lua/mason-core/fetch.lua:37: Fetching URL "https://github.com/mason-org/mason-registry/releases/download/2025-01-15-still-gun/registry.json.zip"
[DEBUG Wed 15 Jan 2025 02:03:12 AM PST] ...al/share/nvim/lazy/mason.nvim/lua/mason-core/process.lua:116: Spawning cmd="curl", spawn_opts={
  args = { "-H", "User-Agent: mason.nvim v1.10.0 (+https://github.com/williamboman/mason.nvim)", "-fsSL", "-X", "GET", "-o", "/home/REDACTED/.local/share/nvim/mason/registries/github/mason-org/mason-registry/registry.json.zip", "--connect-timeout", 30, "https://github.com/mason-org/mason-registry/releases/download/2025-01-15-still-gun/registry.json.zip" }
}
[DEBUG Wed 15 Jan 2025 02:03:12 AM PST] ...al/share/nvim/lazy/mason.nvim/lua/mason-core/process.lua:162: Spawned with pid 107986
[DEBUG Wed 15 Jan 2025 02:03:13 AM PST] ...al/share/nvim/lazy/mason.nvim/lua/mason-core/process.lua:148: Job pid=107986 exited with exit_code=0, signal=0
[DEBUG Wed 15 Jan 2025 02:03:13 AM PST] .../.local/share/nvim/lazy/mason.nvim/lua/mason-core/fs.lua:59: fs: unlink /home/REDACTED/.local/share/nvim/mason/registries/github/mason-org/mason-registry/registry.json.zip
[DEBUG Wed 15 Jan 2025 02:03:13 AM PST] ...ocal/share/nvim/lazy/mason.nvim/lua/mason-core/fetch.lua:37: Fetching URL "https://github.com/mason-org/mason-registry/releases/download/2025-01-15-still-gun/checksums.txt"
[DEBUG Wed 15 Jan 2025 02:03:13 AM PST] ...al/share/nvim/lazy/mason.nvim/lua/mason-core/process.lua:116: Spawning cmd="curl", spawn_opts={
  args = { "-H", "User-Agent: mason.nvim v1.10.0 (+https://github.com/williamboman/mason.nvim)", "-fsSL", "-X", "GET", "--connect-timeout", 30, "https://github.com/mason-org/mason-registry/releases/download/2025-01-15-still-gun/checksums.txt" }
}
[DEBUG Wed 15 Jan 2025 02:03:13 AM PST] ...al/share/nvim/lazy/mason.nvim/lua/mason-core/process.lua:162: Spawned with pid 107989
[DEBUG Wed 15 Jan 2025 02:03:14 AM PST] ...al/share/nvim/lazy/mason.nvim/lua/mason-core/process.lua:148: Job pid=107989 exited with exit_code=0, signal=0
[INFO  Wed 15 Jan 2025 02:03:28 AM PST] ...e/nvim/lazy/mason.nvim/lua/mason-core/installer/init.lua:184: Executing installer for Package(name=haskell-language-server) {}
[DEBUG Wed 15 Jan 2025 02:03:28 AM PST] ...e/nvim/lazy/mason.nvim/lua/mason-core/installer/init.lua:58: Attempting to lock package Package(name=haskell-language-server)
[DEBUG Wed 15 Jan 2025 02:03:28 AM PST] ...e/nvim/lazy/mason.nvim/lua/mason-core/installer/init.lua:70: Wrote lockfile Package(name=haskell-language-server)
[DEBUG Wed 15 Jan 2025 02:03:28 AM PST] .../.local/share/nvim/lazy/mason.nvim/lua/mason-core/fs.lua:71: fs: mkdirp /home/REDACTED/.local/share/nvim/mason/staging/haskell-language-server
[DEBUG Wed 15 Jan 2025 02:03:28 AM PST] ...zy/mason.nvim/lua/mason-core/installer/registry/init.lua:149: Compiling installer. haskell-language-server {}
[DEBUG Wed 15 Jan 2025 02:03:28 AM PST] .../mason.nvim/lua/mason-core/installer/managers/common.lua:100: build: run {
  bin = {
    server_9_10_1 = "bin/haskell-language-server-9.10.1",
    server_9_2_8 = "bin/haskell-language-server-9.2.8",
    server_9_4_8 = "bin/haskell-language-server-9.4.8",
    server_9_6_6 = "bin/haskell-language-server-9.6.6",
    server_9_8_2 = "bin/haskell-language-server-9.8.2",
    wrapper = "bin/haskell-language-server-wrapper"
  },
  env = {
    VERSION = "2.9.0.1"
  },
  run = 'ghcup install hls "$VERSION" -i "$PWD"',
  staged = false,
  target = "unix"
}
[DEBUG Wed 15 Jan 2025 02:03:28 AM PST] ...vim/lazy/mason.nvim/lua/mason-core/installer/context.lua:229: Promoting cwd "/home/REDACTED/.local/share/nvim/mason/staging/haskell-language-server" to "/home/REDACTED/.local/share/nvim/mason/packages/haskell-language-server"
[DEBUG Wed 15 Jan 2025 02:03:28 AM PST] .../.local/share/nvim/lazy/mason.nvim/lua/mason-core/fs.lua:65: fs: mkdir /home/REDACTED/.local/share/nvim/mason/packages/haskell-language-server
[DEBUG Wed 15 Jan 2025 02:03:28 AM PST] .../.local/share/nvim/lazy/mason.nvim/lua/mason-core/fs.lua:84: fs: rename /home/REDACTED/.local/share/nvim/mason/staging/haskell-language-server /home/REDACTED/.local/share/nvim/mason/packages/haskell-language-server
[DEBUG Wed 15 Jan 2025 02:03:28 AM PST] ...al/share/nvim/lazy/mason.nvim/lua/mason-core/process.lua:116: Spawning cmd="bash", spawn_opts={
  args = {},
  cwd = "/home/REDACTED/.local/share/nvim/mason/packages/haskell-language-server",
  env = { "PATH=/home/REDACTED/.local/share/nvim/mason/bin:/home/REDACTED/bin:/usr/local/sbin:/usr/local/bin:/usr/bin:/usr/bin/site_perl:/usr/bin/vendor_perl:/usr/bin/core_perl", "MASON=<redacted>", "VIM=<redacted>", "MOTD_SHOWN=<redacted>", "USER=<redacted>", "GIT_PS1_SHOWDIRTYSTATE=<redacted>", "SESSION_MANAGER=<redacted>", "XDG_SEAT_PATH=<redacted>", "OLDPWD=<redacted>", "EDITOR=<redacted>", "COLORTERM=<redacted>", "XDG_RUNTIME_DIR=<redacted>", "XDG_VTNR=<redacted>", "FUNCNEST=<redacted>", "QV4_GC_TIMELIMIT=<redacted>", "XDG_CONFIG_DIRS=<redacted>", "GIT_PS1_SHOWUNTRACKEDFILES=<redacted>", "QT_WAYLAND_RECONNECT=<redacted>", "XDG_MENU_PREFIX=<redacted>", "ICEAUTHORITY=<redacted>", "XDG_SESSION_CLASS=<redacted>", "RANGER_LOAD_DEFAULT_RC=<redacted>", "GHOSTTY_BIN_DIR=<redacted>", "XAUTHORITY=<redacted>", "GTK_RC_FILES=<redacted>", "TERM_PROGRAM_VERSION=<redacted>", "GIT_PS1_SHOWUPSTREAM=<redacted>", "QT_AUTO_SCREEN_SCALE_FACTOR=<redacted>", "GTK2_RC_FILES=<redacted>", "PAM_KWALLET5_LOGIN=<redacted>", "XDG_CURRENT_DESKTOP=<redacted>", "PWD=<redacted>", "MAIL=<redacted>", "NVIM_LOG_FILE=<redacted>", "XDG_SESSION_TYPE=<redacted>", "DEBUGINFOD_URLS=<redacted>", "GHOSTTY_RESOURCES_DIR=<redacted>", "KDE_SESSION_UID=<redacted>", "KDE_APPLICATIONS_AS_SCOPE=<redacted>", "GIT_PS1_STATESEPARATOR=<redacted>", "LS_COLORS=<redacted>", "SHLVL=<redacted>", "GIT_PS1_SHOWSTASHSTATE=<redacted>", "XDG_SESSION_ID=<redacted>", "TERM=<redacted>", "DISPLAY=<redacted>", "VIMRUNTIME=<redacted>", "SHELL=<redacted>", "TERMINFO=<redacted>", "DESKTOP_SESSION=<redacted>", "MYVIMRC=<redacted>", "KDE_FULL_SESSION=<redacted>", "TERM_PROGRAM=<redacted>", "_=<redacted>", "GHOSTTY_SHELL_INTEGRATION_NO_SUDO=<redacted>", "KDE_SESSION_VERSION=<redacted>", "HOME=<redacted>", "LANG=<redacted>", "GIT_PS1_SHOWCOLORHINTS=<redacted>", "LC_COLLATE=<redacted>", "GROFF_NO_SGR=<redacted>", "DBUS_SESSION_BUS_ADDRESS=<redacted>", "LOGNAME=<redacted>", "GTK_MODULES=<redacted>", "XDG_SEAT=<redacted>", "XDG_SESSION_PATH=<redacted>", "VERSION=<redacted>" }
}
[DEBUG Wed 15 Jan 2025 02:03:28 AM PST] ...al/share/nvim/lazy/mason.nvim/lua/mason-core/process.lua:162: Spawned with pid 107993
[DEBUG Wed 15 Jan 2025 02:03:28 AM PST] ...al/share/nvim/lazy/mason.nvim/lua/mason-core/process.lua:148: Job pid=107993 exited with exit_code=127, signal=0
[DEBUG Wed 15 Jan 2025 02:03:28 AM PST] .../.local/share/nvim/lazy/mason.nvim/lua/mason-core/fs.lua:59: fs: unlink /home/REDACTED/.local/share/nvim/mason/staging/haskell-language-server.lock
[DEBUG Wed 15 Jan 2025 02:03:28 AM PST] .../.local/share/nvim/lazy/mason.nvim/lua/mason-core/fs.lua:47: fs: rmrf /home/REDACTED/.local/share/nvim/mason/packages/haskell-language-server
[DEBUG Wed 15 Jan 2025 02:03:28 AM PST] ...e/nvim/lazy/mason.nvim/lua/mason-core/installer/init.lua:39: Building receipt for Package(name=haskell-language-server)
[ERROR Wed 15 Jan 2025 02:03:28 AM PST] ...e/nvim/lazy/mason.nvim/lua/mason-core/installer/init.lua:249: Installation failed for Package(name=haskell-language-server) error=spawn: bash failed with exit code 127 and signal 0.

Neovim version (>= 0.7)

NVIM v0.11.0-dev-a37784a Build type: RelWithDebInfo LuaJIT 2.1.1734355927

Operating system/version

Linux ArtixMain 6.6.69-1-lts x86_64 GNU/Linux

Healthcheck

==============================================================================

mason:                                         require("mason.health").check()



mason.nvim ~

- OK mason.nvim version v1.10.0

- OK PATH: prepend

- OK Providers: 

    mason.providers.registry-api

    mason.providers.client

- OK neovim version >= 0.7.0



mason.nvim [Registries] ~

- OK Registry `github.com/mason-org/mason-registry version: 2025-01-15-still-gun` is installed.



mason.nvim [Core utils] ~

- OK unzip: `UnZip 6.00 of 20 April 2009, by Info-ZIP.  Maintained by C. Spieler.  Send`

- OK wget: `GNU Wget 1.25.0 built on linux-gnu.`

- OK curl: `curl 8.11.1 (x86_64-pc-linux-gnu) libcurl/8.11.1 OpenSSL/3.4.0 zlib/1.3.1 brotli/1.1.0 zstd/1.5.6 libidn2/2.3.7 libpsl/0.21.5 libssh2/1.11.1 nghttp2/1.64.0 nghttp3/1.7.0`

- OK gzip: `gzip 1.13`

- OK tar: `tar (GNU tar) 1.35`

- OK bash: `GNU bash, version 5.2.37(1)-release (x86_64-pc-linux-gnu)`

- OK sh: `Ok`



mason.nvim [Languages] ~

- WARNING cargo: not available

  - ADVICE:

    - spawn: cargo failed with exit code - and signal -. cargo is not executable

- WARNING Composer: not available

  - ADVICE:

    - spawn: composer failed with exit code - and signal -. composer is not executable

- WARNING PHP: not available

  - ADVICE:

    - spawn: php failed with exit code - and signal -. php is not executable

- WARNING luarocks: not available

  - ADVICE:

    - spawn: luarocks failed with exit code - and signal -. luarocks is not executable

- OK node: `v23.4.0`

- WARNING javac: not available

  - ADVICE:

    - spawn: javac failed with exit code - and signal -. javac is not executable

- WARNING java: not available

  - ADVICE:

    - spawn: java failed with exit code - and signal -. java is not executable

- WARNING julia: not available

  - ADVICE:

    - spawn: julia failed with exit code - and signal -. julia is not executable

- OK python: `Python 3.13.1`

- OK Ruby: `ruby 3.3.5 (2024-09-03 revision ef084cc8f4) [x86_64-linux]`

- WARNING pip: not available

  - ADVICE:

    - spawn: python3 failed with exit code 1 and signal 0. /usr/bin/python3: No module named pip

      

- OK Go: `go version go1.23.4 linux/amd64`

- OK python venv: `Ok`

- OK npm: `11.0.0`

- OK RubyGem: `3.5.16`



mason.nvim [GitHub] ~

- OK GitHub API rate limit. Used: 0. Remaining: 60. Limit: 60. Reset: Wed 15 Jan 2025 03:11:51 AM PST.

  Install and authenticate via gh-cli to increase rate limit.

Screenshots

No response

digidoor avatar Jan 15 '25 10:01 digidoor

I have the exact same issue as well. It's the only language server giving me this issue, I'm on Arch Linux.

rabiescow avatar Mar 17 '25 21:03 rabiescow

Not sure if this is the same issue you are facing, but when I hit a snag with this package in the last couple of weeks I looked at some logs and discovered Mason wasn't finding the appropriate download.

Then I poked around in my Haskell toolchain and discovered various portions were a bit 'behind'.

I updated ghcup, then ghc, cabal, hls and stack to the latest versions (not sure all that was required, but figured I'd bring them in line with one another), then re-ran :MasonInstall haskell-language-server and it succeeded.

Hopefully this helps!

rodericktech avatar May 08 '25 14:05 rodericktech