wailsapp / wailsapp/wails

Wails doctor reports library of libgtk-3-dev and libwebkit2gtk-4.0-dev incorrectly

Open
#4,258 5 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Bug cli Linux P2 v3
Dominant language
Go
Stars
36.3k
Forks
1.9k
Avg merge
2d 11h
Merged PRs (30d)
33

Description

Description

I think the contains call in the GO code is too strict when it is looking for the output of "[installed]". The output could be different. For example, in my container Debian bookworm container it shows:

root@091659c6144f:/# apt list -qq libgtk-3-dev
libgtk-3-dev/now 3.24.38-2~deb12u3 amd64 [installed,local]

Thus, I get a false negative.

To Reproduce

Use this dockerfile:

FROM debian:bookworm-slim

ARG GOLANG_VERSION=1.24.1
ARG LLVM_MINGW_URL=https://github.com/mstorsjo/llvm-mingw/releases/download/20250114/llvm-mingw-20250114-msvcrt-ubuntu-20.04-x86_64.tar.xz
ARG NODE_VERSION=20.12.2

# Install required packages and cross-compilers
RUN apt-get update && apt-get install -y \
    wget curl \
    git bash \
    build-essential pkg-config \
    gcc \
    xsel xclip \
    libpng++-dev \
    xcb libxcb-xkb-dev libxkbcommon-dev \
    gcc-mingw-w64 \
    libgtk-3-dev \
    libwebkit2gtk-4.0-dev \
    ca-certificates \
    software-properties-common \
    gnupg && \
    rm -rf /var/lib/apt/lists/*

# Optional: Install Docker CLI & NSIS for Windows packaging (Wails optional deps)
# RUN apt-get update && apt-get install -y \
#     docker.io \
#     nsis && \
#     rm -rf /var/lib/apt/lists/*

# Install LLVM MinGW
RUN wget ${LLVM_MINGW_URL} -O llvm-mingw.tar.xz && \
    tar -xJf llvm-mingw.tar.xz -C /opt && \
    rm llvm-mingw.tar.xz && \
    name=$(find /opt/* -maxdepth 0 -type d | grep llvm-mingw) && \
    mv "$name" /opt/llvm-mingw

# Install Go
RUN wget https://go.dev/dl/go${GOLANG_VERSION}.linux-amd64.tar.gz && \
    tar -C /usr/local -xzf go${GOLANG_VERSION}.linux-amd64.tar.gz && \
    rm go${GOLANG_VERSION}.linux-amd64.tar.gz

# Install Node.js and npm (default bundled version)
RUN curl -fsSL https://deb.nodesource.com/setup_20.x -o nodesource_setup.sh && \
    bash nodesource_setup.sh && \
    rm nodesource_setup.sh && \
    apt-get install -y nodejs && \
    rm -rf /var/lib/apt/lists/*

ENV PATH="/opt/llvm-mingw/bin:/usr/local/go/bin:/usr/local/bin:$PATH"
Expected behaviour

doctor should report installed

Screenshots

No response

Attempted Fixes

No response

System Details
Wails Doctor



# Wails
Version         | v2.10.1
Package Manager | apt


# System
WARNING: failed to read int from file: open /sys/devices/system/cpu/cpu0/online: no such file or directory
┌──────────────────────────────────────────────────────────┐
| OS           | Debian GNU/Linux                          |
| Version      | 12                                        |
| ID           | debian                                    |
| Go Version   | go1.24.1                                  |
| Platform     | linux                                     |
| Architecture | amd64                                     |
| CPU          | Intel(R) Core(TM) i7-10750H CPU @ 2.60GHz |
| GPU          | Unknown                                   |
| Memory       | 32GB                                      |
└──────────────────────────────────────────────────────────┘

# Dependencies
┌────────────────────────────────────────────────────────────────────┐
| Dependency | Package Name          | Status    | Version           |
| *docker    | Unknown               | Not Found |                   |
| gcc        | build-essential       | Installed | 12.2.0            |
| libgtk-3   | libgtk-3-dev          | Available | 3.24.38-2~deb12u3 |
| libwebkit  | libwebkit2gtk-4.0-dev | Available | 2.48.1-2~deb12u1  |
| npm        | Unknown               | Not Found | 10.8.2            |
| *nsis      | Unknown               | Not Found |                   |
| pkg-config | pkg-config            | Installed | 1.8.1             |
|                                                                    |
└───────────────────── * - Optional Dependency ──────────────────────┘

# Diagnosis
Required package(s) installation details:
  - libgtk-3: sudo apt install libgtk-3-dev
  - libwebkit: sudo apt install libwebkit2gtk-4.0-dev

 WARNING  Your system has missing dependencies!
Fatal:
Required dependencies missing: npm
Please read this article on how to resolve this: https://wails.io/guides/resolving-missing-packages
Additional context

By the way, NPM is installed as the version is seen correctly, however status says not found.

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start with the Wails Doctor dependency checks that parse apt output and report npm status. Reproduce the issue using the provided Debian Bookworm Dockerfile, then compare the parsed results with the shown apt list -qq output and Doctor report. Done means installed GTK/WebKit packages and the installed npm version are reported correctly.

Written by the indexing model from the issue text.

Assessment

Tech stack
go
Domain
cli
Issue type
Bug
Difficulty
3/5
Estimated time
1-2 days
Activity status
Quiet
Clarity
Mostly clear
Newbie friendliness
55/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.