Skip to content

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

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
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions