Wails doctor reports library of libgtk-3-dev and libwebkit2gtk-4.0-dev incorrectly
Nobody has claimed this yet.
- 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
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- 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