17.09.2021

Собрал Cinelerra-gg под termux (arm android)

Поскольку в дороге у меня только планшет — решил попробовать Termux — линукс-окружение для Android не требующее рута.

в Huawei App Gallery старая версия 0.94 и там не работает termux api. Но компилять уже можно, чем я и занялся…

исходники cinelerra-gg взял из официального git, пришлось немного подправть configure, потому что оказалось в нашем configure.ac есть башизмы, которые настоящий sh не понимает (конструкция +=). Исправил сам файл configure первую строчку.. там в конце sh, заменил на bash.

Еще оказалось что под termux нету полной реализаци. pthreads — пришлось собрать вручную, как с++ объект вот эту либу (не штатной системой сборки, а вручную, с-cat-ав в один файл кучку мелких и сказав «g++ -c — o jpt. o just-pt.c -I. » только после этого объектник слинковался в libguicast.a и далее в саму программу)

https://github.com/tux-mind/libbthread

патчи (не все, что-то пока хаком, кроме сборки этого хитрого объектика еще в thirdparty/mjpegtools были проблемы, которые я запатчил, но нормальный патч пока не сделал) вот тут — https://lists.cinelerra-gg.org/pipermail/cin/2021-May/003320.html

запускаю так:

 Report issues at https://termux.com/issues $ export DISPLAY=":1"
$ rm $PREFIX/tmp/
.ICE-unix/ cgVpZcnO/ mc-u0_a116/
.X1-lock cgh3GJ8p/ pulse-PKdhtXMmr18n/
.X11-unix/ conftest-a3b133.o ssh-LESs3hNQy19G/
.termux-build.lck conftest-b8b5e9.o ssh-a63hP1ygRKMZ/
.xfsm-ICE-C45G30 conftest-c50763.o tmp4kijan3vcacert.pem
.xfsm-ICE-J8JU30 conftest-f7fe5b.o
$ rm $PREFIX/tmp/.X1
.X1-lock .X11-unix/
$ rm $PREFIX/tmp/.X1-lock
rm: remove write-protected regular file '/data/data/com.termux/files/usr/tmp/.X1-lock'? y
$ rm $PREFIX/tmp/.X11-unix/X1
$ vncstart
No command vncstart found, did you mean: Command lxc-start in package lxc from the root-repo repository Command vmstat in package procps
$ vncserver New 'localhost:1 ()' desktop is localhost:1 Starting applications specified in /data/data/com.termux/files/home/.vnc/xstartup
Log file is /data/data/com.termux/files/home/.vnc/localhost:1.log $ xfwm4&
[1] 22933
$
(xfwm4:22933): xfwm4-WARNING **: 18:58:34.013: Cannot find a matching visual for the frame buffer config. (xfwm4:22933): xfwm4-WARNING **: 18:58:34.015: Cannot find a matching GLX config, vsync disabled. (xfwm4:22933): xfwm4-WARNING **: 18:58:34.269: Failed to connect to session manager: Failed to connect to the session manager: SESSION_MANAGER environment variable not defined
$ LD_PRELOAD=$PREFIX/lib/libandroid-shmem.so ~/cingg/cinelerra/cinelerra-5.1/bin/cin
Cinelerra Infinity - built: May 22 2021 13:33:54
git://git.cinelerra-gg.org/goodguy/cinelerra.git
(c) 2006-2019 Heroine Virtual Ltd. by Adam Williams
2007-2020 mods for Cinelerra-GG by W.P.Morrow aka goodguy
Cinelerra is free software, covered by the GNU General Public License,
and you are welcome to change it and/or distribute copies of it under
certain conditions. There is absolutely no warranty for Cinelerra. BC_WindowBase::init_im: Could not open input method.
init ladspa index: /data/data/com.termux/files/home/cingg/cinelerra/cinelerra-5.1/bin/ladspa

и подцепляюсь vncviewer

ставить пакеты в сам термукс довольно просто, я даже libaom-3.0.0 пакетом сам собрал.

https://wiki.termux.com/wiki/Building_packages

Есть проблема с аудиодорожками — попытка их проиграть или отрендерить приводит к сегфолту (на x86 все в порядке)

дебаг:
https://lists.cinelerra-gg.org/pipermail/cin/2021-May/003317.html

пока не понимаю почему, там что массив не аллоцируется вовремя?

еще почему-то спустя несколько секунд все приостанавливается и нужно переключать задачи.. тогда еще на несколько секунд прога отмерзает. Не знаю как это отключить..

>>> Просмотр (800×1280, 304 Kb)

Источник.