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
我找不到关于 Aegisub 为何消失的任何线索,尽管我相信它是从 Debian Buster(Bionic Beaver 的基础)中删除的。
更新:fkraiem找到了相关的 Debian 条目和相关的错误报告。
尽管 Debian 关于“Buster”的问题,我还是设法在 Bionic Beaver 上编译了我自己的 Aegisub 副本。这是一个不错的选择,您可以在不使用 3rd 方存储库的情况下重新获得对该应用程序的访问权限。
由于它是一个较旧的应用程序,因此需要使用 sed 对源进行一些按摩,否则实际上只需2 个简单的步骤:
1.依赖和构建工具:
将整个代码块复制并粘贴到终端窗口中,以下载并安装一些必需的依赖项和构建工具:
2.下载、编译、安装源码:
将以下行复制并粘贴到终端窗口中,以下载、提取、修改、编译和安装 Aegisub 源代码:
sed 的魔力来自许多来源,看起来 Arch 和 Slackware 都在使应用程序保持活力:)。
3. 截图:
最后一张截图展示了 Aegisub 在我的仿生系统上成功运行:
好吧,您提出的解决方案是使用可追溯到 ~ 2014 年的 aegisub 源提供的供应商源 luajit。在 Debian 和 Ubuntu 中,我们改为使用系统安装的库构建包 aegisub,这些库由开发人员定期升级。这意味着从现在开始,我们使用 luajit 2.1.0 版本而不是 2.0.x 版本。通常的程序是让应用程序的开发人员使用这些库来更新他们的代码。然而,aegisub 不再受到其开发人员的支持......
并且和之前的 2.0.x 版本的 luajit 库相比,C 代码的解释看起来有些不同。阻塞错误来自文件 vendor/luabins/src/luabins.c
给出上述错误:
即使针对 lua5.2 而不是 lua5.1 构建,错误仍然存在。
因此,由于 debian 包管理器无法联系任何 aegisub 开发人员要求更新,因此该应用程序已从 Debian 存储库中删除。
如需进一步参考,请查看:
Lua 5.2 兼容性 Array 元素的类型不完整