Glam Prestige Journal

Bright entertainment trends with youth appeal.

I recently updated to Bionic Beaver but Aegisub is no longer available in Ubuntu repositories.

I don't know of any other alternative and it's not the first time I've lost a program when upgrading :(

Does anyone know:

  1. Why it was removed from Ubuntu repositories?
  2. Any alternative I could use without add a third party repo?

Thanks~

1

2 Answers

I could find no hints as to why Aegisub has vanished although I believe that it was dropped from Debian Buster (which Bionic Beaver is based upon).

Update: fkraiem has found the relevant Debian entry and the relevant bugreport.

Notwithstanding Debian's issues on 'Buster' I have managed to compile my own copy of Aegisub on Bionic Beaver. This is good solid option for you to regain access to this application without using a 3rd party repository.

As it is an older application some massaging of the source with sed has been required, otherwise there are really only 2 simple steps to take:

1. Dependencies and build tools:

Copy and paste this entire code block into a Terminal window to download and install some required dependencies and build tools:

sudo apt-get install build-essential checkinstall libx11-dev libwxgtk3.0-gtk3-dev \
libfreetype6-dev pkg-config libfontconfig1-dev libass-dev libboost1.62-all-dev \
liblua50-dev libasound2-dev libffms2-dev intltool

2. Download, compile and install the source:

Copy and paste the following lines into a Terminal window to download, extract, modify, compile and install the Aegisub source:

mkdir -v $HOME/aegisub_build && cd $HOME/aegisub_build
wget
tar xvf aegisub-3.2.2.tar.xz && cd aegisub-3.2.2
sed -i 's/$(LIBS_BOOST) $(LIBS_ICU)/$(LIBS_BOOST) $(LIBS_ICU) -pthread/' tools/Makefile
sed -i '46 a\#include <unicode/unistr.h>' src/utils.cpp
CPPFLAGS="-DU_USING_ICU_NAMESPACE=1" ./configure && make -j 2
sudo checkinstall -D --install=yes --fstrans=no --pakdir "$HOME/aegisub_build" \ --pkgname aegisub --backup=no --deldoc=yes --deldesc=yes --delspec=yes --default \ --pkgversion "3.2.2"

The sed magic has been drawn from many sources, looks like Arch and Slackware are both keeping the application alive :).

3. Screenshot:

And a final screenshot demonstrating Aegisub successfully running on my Bionic system:

enter image description here

10

Well, your proposed solution is using the vendor source luajit provided by the aegisub source dating back to ~ 2014. In Debian and Ubuntu we instead build the package aegisub using the system installed libraries, which are regularly upgraded by the developers. This means that from now on, we use luajit version 2.1.0 instead of version 2.0.x. The usual procedure is for the developers of an application using these libraries to update their code. However, aegisub isn't anymore supported by its developers...

And compared to the previous 2.0.x version of the luajit library, it looks like there is some differences for the C code interpretation. The blocking error comes from file vendor/luabins/src/luabins.c

/* luabins Lua module API */
static const struct luaL_reg R[] =
{ { "save", l_save }, { "load", l_load }, { NULL, NULL }
};

giving the above mentioned error:

aegisub/aegisub-3.2.2/vendor/luabins/src/luabins.c:57:30: error: array type has incomplete element type ‘struct luaL_reg’ static const struct luaL_reg R[] = ^
/home/ubuntu-xenial/pascal/Downloads/Launchpad/aegisub/aegisub-3.2.2/vendor/luabins/src/luabins.c:57:30: warning: ‘R’ defined but not used [-Wunused-variable]
Makefile.target:99: recipe for target '/home/ubuntu-xenial/pascal/Downloads/Launchpad/aegisub/aegisub-3.2.2/vendor/luabins/src/luabins.o' failed

Even building against lua5.2 instead of lua5.1, the error is still there.

Hence, since the debian package manager cannot contact any aegisub developer to ask for an update, this app was removed from the Debian repository.

For further reference have a look at:

Lua 5.2 compatibilityArray element has incomplete type