arch1t3cht / Aegisub

Cross-platform advanced subtitle editor, with new feature branches. Read the README on the feature branch.
http://www.aegisub.org
Other
800 stars 34 forks source link

Linux Appimage can't detect input from ibus in Linux Mint 22 #151

Closed thantzarni77 closed 2 months ago

thantzarni77 commented 4 months ago

In Linux Mint 21.3, the Appimage works ok with ibus. But in Linux Mint 22, it doesn't detect any inputs from ibus.

Error Message

Gtk-Message: 14:46:40.957: Failed to load module "xapp-gtk3-module"
/usr/lib/x86_64-linux-gnu/gvfs/libgvfscommon.so: undefined symbol: g_task_set_static_name
Failed to load module: /usr/lib/x86_64-linux-gnu/gio/modules/libgvfsdbus.so

(Aegisub-x86_64.AppImage:19532): Gtk-WARNING **: 14:46:41.621: /lib/x86_64-linux-gnu/libibus-1.0.so.5: undefined symbol: g_task_set_static_name

(Aegisub-x86_64.AppImage:19532): Gtk-WARNING **: 14:46:41.621: Loading IM context type 'ibus' failed

Distro : Linux Mint 22 Base : Ubuntu 24.04 Lts Kernal Version : 6.8.0-39-generic Display Server : X11 Ibus Version : 1.5.29-2sil1~noble

EmiyaSyahriel commented 3 months ago

The AppImage version is also problematic on my Fcitx5 setup too on Ubuntu 24.04 Wayland, seems like the contained binary is linked to a non-current or modified version of these input backend libraries during compilation, hence the undefined symbols.

The solution on my machine is to compile the program manually. But, doing this way you wouldn't have a complete installation like you would when using AppImage or distro package, there are things that you may need to supply separately like MoonScript and copying the built-in automation scripts around. And it might also unstable depending on which branch and commit, so far branch feature at commit https://github.com/arch1t3cht/Aegisub/commit/bf20c62e6b3d88a3e425fc05d26fd2b40e652775 is stable enough for me.

thantzarni77 commented 2 months ago

Can you guide me how to compile it since i'm not familiar with compiling?

EmiyaSyahriel commented 2 months ago

I am not familiar with Linux Mint since I uses Ubuntu since beginning, but since Linux Mint is based on Ubuntu, I think the way the manage package should be similar (Linux Mint also uses apt, am I right?).

By the way, all of this steps is available on this repo's homepage, I just made it more verbose here.

Installing dependencies

I have to warn you that these packages were from apt show aegisub (the one at the Ubuntu repo) dependencies, because I did not remember what packages I already have in my system and the one that I need install at the time I compile, and these packages might require a lot of storage space.

And if you fail to setup or compile with an error like missing library : [library name] or missing dependency : [library name], you can just search it by apt search [library name] and you can just install them through sudo apt install [library name from apt search list] and then re-run the process.

Here is the list:

Here is the shell command to install all of these dependencies :

sudo apt install build-essential meson ninja ffmpeg git libffms2-dev liblua5.1-0-dev libluajit5.1-dev libfftw3-dev libfontconfig-dev libass-dev libboost-chrono-dev libboost-filesystem-dev libboost-thread-dev libboost-locale-dev libboost-regex-dev libpulse-dev libopenal1-dev libwxbase3.2-1t64 libwxgtk3.2-dev

Cloning the repository

Now you have cloned (downloaded) the source code repository, so you can build the app from the source code. Do not close the terminal yet.

Compiling the app

thantzarni77 commented 2 months ago

I appreciate it. Compiling was successful with a single attempt.