Skip to content

Couldn't start client Lua from VSCode devcontainer #2423

Description

@gentooise

How are you using the lua-language-server?

Visual Studio Code Extension (sumneko.lua)

Which OS are you using?

Linux

What is the issue affecting?

Other

Expected Behaviour

Lua language server starts correctly.

Actual Behaviour

I see this message when opening a Lua file, and language linting is not available:

image

Reproduction steps

  1. Add a Dockerfile in .devcontainer folder, I'm using this:

    FROM python:3.8-alpine as build
    
    LABEL description="Dev container - test-sumneko"
    
    ARG USERNAME=vscode
    ARG USER_UID=1000
    ARG USER_GID=$USER_UID
    
    RUN addgroup -g $USER_GID $USERNAME && adduser -D -u $USER_UID -G $USERNAME $USERNAME
    USER $USERNAME
    
    CMD ["sh"]
    
  2. Specify sumneko extension in devcontainer.json:

    {
        "customizations": {
            "vscode": {
                "extensions": [
                    "sumneko.lua"
                ]
            }
        }
    }
    
  3. Do Rebuild and Reopen in Container from command palette

  4. Open any .lua file in the workspace

Additional Notes

lua-language-server seems there but it gives a strange not found error when launched:

/workspaces/test-sumneko $ /home/vscode/.vscode-server/extensions/sumneko.lua-2.5.3/server/bin/Linux/lua-language-server 
/bin/ash: /home/vscode/.vscode-server/extensions/sumneko.lua-2.5.3/server/bin/Linux/lua-language-server: not found
/workspaces/test-sumneko $ ls -la /home/vscode/.vscode-server/extensions/sumneko.lua-2.5.3/server/bin/Linux/lua-language-server 
-rwxrwxrwx    1 vscode   vscode     2068664 Nov 21 11:24 /home/vscode/.vscode-server/extensions/sumneko.lua-2.5.3/server/bin/Linux/lua-language-server

As current workaround I'm adding this in Dockerfile:

RUN apk add --update --no-cache --repository http://dl-cdn.alpinelinux.org/alpine/edge/testing/ lua-language-server

and this in devcontainer.json:

"postCreateCommand": "sleep 10 && rm -vf /home/vscode/.vscode-server/extensions/sumneko.lua-*/server/bin/Linux/lua-language-server && ln -s /usr/bin/lua-language-server /home/vscode/.vscode-server/extensions/sumneko.lua-*/server/bin/Linux/",

Version used: sumneko.lua-2.5.3

UPDATE

Looking around, seems this is the root cause:

this can happen if binary is linked with a libc that doesn't exist on your device.

In fact:

/workspaces/test-sumneko $ ldd
musl libc (x86_64)
Version 1.2.4
Dynamic Program Loader
Usage: /lib/ld-musl-x86_64.so.1 [options] [--] pathname
/workspaces/test-sumneko $ ldd /home/vscode/.vscode-server/extensions/sumneko.lua-2.5.3/server/bin/Linux/lua-language-server
        /lib64/ld-linux-x86-64.so.2 (0x7fd02de67000)
        libm.so.6 => /lib64/ld-linux-x86-64.so.2 (0x7fd02de67000)
        libdl.so.2 => /lib64/ld-linux-x86-64.so.2 (0x7fd02de67000)
        libpthread.so.0 => /lib64/ld-linux-x86-64.so.2 (0x7fd02de67000)
        libc.so.6 => /lib64/ld-linux-x86-64.so.2 (0x7fd02de67000)
Error loading shared library ld-linux-x86-64.so.2: No such file or directory (needed by /home/vscode/.vscode-server/extensions/sumneko.lua-2.5.3/server/bin/Linux/lua-language-server)
Error relocating /home/vscode/.vscode-server/extensions/sumneko.lua-2.5.3/server/bin/Linux/lua-language-server: __longjmp_chk: symbol not found
Error relocating /home/vscode/.vscode-server/extensions/sumneko.lua-2.5.3/server/bin/Linux/lua-language-server: __fprintf_chk: symbol not found
Error relocating /home/vscode/.vscode-server/extensions/sumneko.lua-2.5.3/server/bin/Linux/lua-language-server: __printf_chk: symbol not found
Error relocating /home/vscode/.vscode-server/extensions/sumneko.lua-2.5.3/server/bin/Linux/lua-language-server: __strftime_l: symbol not found
Error relocating /home/vscode/.vscode-server/extensions/sumneko.lua-2.5.3/server/bin/Linux/lua-language-server: __memcpy_chk: symbol not found
Error relocating /home/vscode/.vscode-server/extensions/sumneko.lua-2.5.3/server/bin/Linux/lua-language-server: __sprintf_chk: symbol not found
Error relocating /home/vscode/.vscode-server/extensions/sumneko.lua-2.5.3/server/bin/Linux/lua-language-server: __snprintf_chk: symbol not found
Error relocating /home/vscode/.vscode-server/extensions/sumneko.lua-2.5.3/server/bin/Linux/lua-language-server: __fdelt_chk: symbol not found

Log File

No log file available.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions