Skip to content

gtk3-nocsd-git in the archcraft repo is outdated and breaks Node native modules #448

@S4vi0r17

Description

@S4vi0r17

Hi @adi1090x, thanks for the work on archcraft.

The gtk3-nocsd-git package shipped in the [archcraft] repo is a pretty old snapshot and it's causing silent crashes on any Node project using native modules with dlsym (sharp, canvas, better-sqlite3, etc).

In my case, next dev was dying seconds after startup with exit code 0 and no error. Turned out to be sharp (used by next/image) segfaulting in a worker thread because libgtk3-nocsd.so.0 is preloaded globally via /etc/X11/xinit/xinitrc.d/30-gtk3-nocsd.sh.

$ pacman -Qo /etc/X11/xinit/xinitrc.d/30-gtk3-nocsd.sh
/etc/X11/xinit/xinitrc.d/30-gtk3-nocsd.sh is owned by gtk3-nocsd-git r82.512c2bd-1

$ pacman -Si gtk3-nocsd-git | head -2
Repository      : archcraft
Name            : gtk3-nocsd-git

$ ldd node_modules/sharp/build/Release/sharp-linux-x64.node | grep nocsd
/usr/${LIB}/libgtk3-nocsd.so.0 => /usr/lib/libgtk3-nocsd.so.0

The current AUR version (r84.a356bf7-2) doesn't install the script to /etc/X11/xinit/xinitrc.d/ anymore — it leaves it as a sample in /usr/share/doc/ and asks the user to copy it if they want. Could the archcraft-repo package be updated to match?

Fix that worked for me: sudo chmod -x /etc/X11/xinit/xinitrc.d/30-gtk3-nocsd.sh and relogin.

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