Open cedricroijakkers opened 2 months ago
I've tried building from source, and that is failing with the following message:
FAILED: tilix
ldc -of=tilix tilix.p/source_gx_gtk_actions.d.o tilix.p/source_gx_gtk_cairo.d.o tilix.p/source_gx_gtk_clipboard.d.o tilix.p/source_gx_gtk_color.d.o tilix.p/source_gx_gtk_dialog.d.o tilix.p/source_gx_gtk_resource.d.o tilix.p/source_gx_gtk_settings.d.o tilix.p/source_gx_gtk_threads.d.o tilix.p/source_gx_gtk_util.d.o tilix.p/source_gx_gtk_vte.d.o tilix.p/source_gx_gtk_x11.d.o tilix.p/source_gx_i18n_l10n.d.o tilix.p/source_gx_tilix_bookmark_bmchooser.d.o tilix.p/source_gx_tilix_bookmark_bmeditor.d.o tilix.p/source_gx_tilix_bookmark_bmtreeview.d.o tilix.p/source_gx_tilix_bookmark_manager.d.o tilix.p/source_gx_tilix_prefeditor_advdialog.d.o tilix.p/source_gx_tilix_prefeditor_bookmarkeditor.d.o tilix.p/source_gx_tilix_prefeditor_common.d.o tilix.p/source_gx_tilix_prefeditor_prefdialog.d.o tilix.p/source_gx_tilix_prefeditor_profileeditor.d.o tilix.p/source_gx_tilix_prefeditor_titleeditor.d.o tilix.p/source_gx_tilix_terminal_actions.d.o tilix.p/source_gx_tilix_terminal_activeprocess.d.o tilix.p/source_gx_tilix_terminal_advpaste.d.o tilix.p/source_gx_tilix_terminal_exvte.d.o tilix.p/source_gx_tilix_terminal_layout.d.o tilix.p/source_gx_tilix_terminal_monitor.d.o tilix.p/source_gx_tilix_terminal_password.d.o tilix.p/source_gx_tilix_terminal_regex.d.o tilix.p/source_gx_tilix_terminal_search.d.o tilix.p/source_gx_tilix_terminal_terminal.d.o tilix.p/source_gx_tilix_terminal_util.d.o tilix.p/source_gx_tilix_application.d.o tilix.p/source_gx_tilix_appwindow.d.o tilix.p/source_gx_tilix_closedialog.d.o tilix.p/source_gx_tilix_cmdparams.d.o tilix.p/source_gx_tilix_colorschemes.d.o tilix.p/source_gx_tilix_common.d.o tilix.p/source_gx_tilix_constants.d.o tilix.p/source_gx_tilix_customtitle.d.o tilix.p/source_gx_tilix_encoding.d.o tilix.p/source_gx_tilix_preferences.d.o tilix.p/source_gx_tilix_session.d.o tilix.p/source_gx_tilix_shortcuts.d.o tilix.p/source_gx_tilix_sidebar.d.o tilix.p/source_gx_util_array.d.o tilix.p/source_gx_util_path.d.o tilix.p/source_gx_util_string.d.o tilix.p/source_secret_Collection.d.o tilix.p/source_secret_Item.d.o tilix.p/source_secret_Prompt.d.o tilix.p/source_secret_Schema.d.o tilix.p/source_secret_SchemaAttribute.d.o tilix.p/source_secret_Secret.d.o tilix.p/source_secret_Service.d.o tilix.p/source_secret_Value.d.o tilix.p/source_secretc_secret.d.o tilix.p/source_secretc_secrettypes.d.o tilix.p/source_x11_X.d.o tilix.p/source_x11_Xlib.d.o tilix.p/source_app.d.o -L=--allow-shlib-undefined -link-defaultlib-shared -L=-O1 -L=--sort-common -L=--as-needed -L=-z -L=relro -L=-z -L=now -L=-z -L=pack-relative-relocs --flto=full -L=--export-dynamic -L=-L/usr/lib/pkgconfig/../../lib -L-L/usr/lib// -L-lgtkd-3 -L-ldl -L=-lgtk-3 -L=-lgdk-3 -L=-lz -L=-latk-1.0 -L=-lrsvg-2 -L=-lcairo-gobject -L=-lcairo -L=-lpng16 -L=-ldav1d -L=-lgdk_pixbuf-2.0 -L=-lharfbuzz -L=-lxml2 -L=-lpangocairo-1.0 -L=-lpangoft2-1.0 -L=-lpango-1.0 -L=-lfontconfig -L=-lfreetype -L=-lgmodule-2.0 -L=-lgio-2.0 -L=-lglib-2.0 -L=-lgobject-2.0 -L=--export-dynamic -L=-L/usr/lib/pkgconfig/../../lib -L-lvted-3 -L-L/usr/lib// -L-lgtkd-3 -L-ldl -L=-lgdk-3 -L=-lz -L=-latk-1.0 -L=-lrsvg-2 -L=-lcairo-gobject -L=-lpng16 -L=-ldav1d -L=-lgdk_pixbuf-2.0 -L=-lharfbuzz -L=-lxml2 -L=-lpangocairo-1.0 -L=-lpangoft2-1.0 -L=-lfontconfig -L=-lfreetype -L=-lgmodule-2.0 -L=-lvte-2.91 -L=-lcairo -L=-lgio-2.0 -L=-lglib-2.0 -L=-lgobject-2.0 -L=-lpango-1.0 -L=-lgtk-3 -L=-lX11 -L=-lunwind -L=-lsecret-1 -L=-lglib-2.0 -L=-lgobject-2.0 -L=-lgio-2.0
/usr/bin/ld: /tmp/lto-llvm-8ebefc.o: in function `gx.tilix.common.GenericEvent!(gx.tilix.common.ActionType, gx.tilix.common.CumulativeResult!(bool).CumulativeResult).GenericEvent.__xopEquals(ref const(gx.tilix.common.GenericEvent!(gx.tilix.common.ActionType, gx.tilix.common.CumulativeResult!(bool).CumulativeResult).GenericEvent)) const':
ld-temp.o:(.text._D2gx5tilix6common__T12GenericEventTEQBjQBjQBg10ActionTypeTCQCgQCgQCd__T16CumulativeResultTbZQvZQCx11__xopEqualsMxFKxSQEmQEmQEj__TQEfTQDuTQDbZQErZb+0x25): undefined reference to `core.internal.array.equality.__equals!(const(void(gx.tilix.common.ActionType, gx.tilix.common.CumulativeResult!(bool).CumulativeResult) delegate), const(void(gx.tilix.common.ActionType, gx.tilix.common.CumulativeResult!(bool).CumulativeResult) delegate)).__equals(scope const(void(gx.tilix.common.ActionType, gx.tilix.common.CumulativeResult!(bool).CumulativeResult) delegate)[], scope const(void(gx.tilix.common.ActionType, gx.tilix.common.CumulativeResult!(bool).CumulativeResult) delegate)[])'
/usr/bin/ld: /tmp/lto-llvm-8ebefc.o: in function `gx.tilix.common.GenericEvent!(immutable(char)[], immutable(char)[], immutable(char)[], immutable(char)[]).GenericEvent.__xopEquals(ref const(gx.tilix.common.GenericEvent!(immutable(char)[], immutable(char)[], immutable(char)[], immutable(char)[]).GenericEvent)) const':
ld-temp.o:(.text._D2gx5tilix6common__T12GenericEventTAyaTQeTQhTQkZQBc11__xopEqualsMxFKxSQCrQCrQCo__TQCkTQBzTQCdTQChTQClZQDeZb+0x25): undefined reference to `core.internal.array.equality.__equals!(const(void(immutable(char)[], immutable(char)[], immutable(char)[], immutable(char)[]) delegate), const(void(immutable(char)[], immutable(char)[], immutable(char)[], immutable(char)[]) delegate)).__equals(scope const(void(immutable(char)[], immutable(char)[], immutable(char)[], immutable(char)[]) delegate)[], scope const(void(immutable(char)[], immutable(char)[], immutable(char)[], immutable(char)[]) delegate)[])'
/usr/bin/ld: /tmp/lto-llvm-8ebefc.o: in function `gx.tilix.common.GenericEvent!(gx.tilix.session.Session).GenericEvent.__xopEquals(ref const(gx.tilix.common.GenericEvent!(gx.tilix.session.Session).GenericEvent)) const':
ld-temp.o:(.text._D2gx5tilix6common__T12GenericEventTCQBjQBj7session7SessionZQBn11__xopEqualsMxFKxSQDcQDcQCz__TQCvTQCkZQDdZb+0x25): undefined reference to `core.internal.array.equality.__equals!(const(void(gx.tilix.session.Session) delegate), const(void(gx.tilix.session.Session) delegate)).__equals(scope const(void(gx.tilix.session.Session) delegate)[], scope const(void(gx.tilix.session.Session) delegate)[])'
collect2: error: ld returned 1 exit status
Error: /usr/bin/cc failed with status: 1
Seems like some library Tilix is using has changed in GNOME 47 maybe?
I managed to get a debugging backtrace, see gdb-tilix.txt. It looks like Tilix needs to be rebuilt against the new library. I don have any experience in D, so I really cannot help here by making a PR or something...
The good folks at Arch have now managed to get Tilix to compile again against GNOME 47, see the patch here, and this seems to work again for a lot of people. However, in my case (and I have no idea why) it is still core dumping when starting on one PC, but not on the other.
Also it seems that if you start Tilix with a config file to start with a 2x2 grid, it always core dumps on a PC where you can start the vanilly Tilix.
I had no idea what I was doing, but I have backups, so I gave it a try and compile on Debian Trixie/testing.
My Tilix would constantly crash with a similar segfault at libgdk-3.
I installed dub
and libgio-2.0-dev-bin
, then changed the dub.json
:
*** 33,38 ****
--- 33,39 ----
"name": "default",
"targetType": "executable",
"libs-linux": ["X11"],
+ "lflags": ["-lz"],
"versions": ["StdLoggerDisableTrace"]
},
{
See the added -lz
flag.
After that it compiled and I was able to use install.sh as root (don't sudo here).
So far it seems stable.
I've tried your trick in linking the binary to lz
, but no dice. I can see the new binary is now linked to /usr/lib/libz.so.1
but still crashes when starting.
I'm really baffled here, since I have another laptop on which Tilix is working fine (fair warning: that is running KDE on X11, I'm running GNOME on Wayland). There must be something wrong on my system, but I have absolutely no clue what it is.
GNOME 47 has just been released in the Arch repo's, and Tilix now core dumps when starting: