Перейти к содержимому

Как собрать Gource в CentOS

Сперва о том, что такое Gource? Gource это такая интересная софтинка, орая визуализирует историю коммитов в вашей системе контроля версий в виде видео. Примеры и, собственно говоря, исходник – тут.

Я собирал ее для Centos 6.6 (uname –a: Linux test.centos.local.lectric.nl 2.6.32-504.3.3.el6.x86_64 #1 SMP Wed Dec 17 01:55:02 UTC 2014 x86_64 x86_64 x86_64 GNU/Linux) использую этот гайд за основу.

В момент, когда я вызывал ./configure для gource – оказалось, что у меня не хватает несколько пакетов: Glew, Boost-filesystem, GLM.

Glew ставиться из репозитория: yum install –y glew glew-devel

Boost вызвал некоторые проблемы, так как в репозиториях была слишком старая версия и пришлось собирать вручную - http://www.linuxfromscratch.org/blfs/view/svn/general/boost.html
После всех этих развлечений пришлось еще добавить ‘export LD_LIBRARY_PATH=/usr/local/lib' в ‘~/.bashrc' – чтобы линкер увидел Boost.

GLM, как оказалось, собирать не надо, а надо просто скачать:

На стадии оказалось (https://code.google.com/p/logstalgia/issues/detail?id=49) что мой gcc слишком стар (gcc version 4.4.7 20120313 (Red Hat 4.4.7-11) (GCC)) и мне нужен как минимум 4.6, который можно скачать с DevTools-2 репозитория http://superuser.com/questions/381160/how-to-install-gcc-4-7-x-4-8-x-on-centos:

После всех этих манипуляций Gource наконец-то собрался, и я смог продвинуться дальше, к инсталяции ffmpeg по гайду - https://trac.ffmpeg.org/wiki/CompilationGuide/Centos

Ну, и финальная проблема, с которой пришлось столкнуться – я пытался запустить все это на виртуальной машине, запущенной в Windows 2008 , бегающего на хосте без видеокарты.
Потому, пришлось последовать совету https://code.google.com/p/gource/issues/detail?id=29 и установить XVFB (http://ithubinfo.blogspot.com/2013/11/how-to-install-and-configure-xvfb-in.html) командой yum install -x11-server-Xvfb

Так как нужно было запускать его в режиме headless (нету видеокарты + виртуальная машина), то пришлось поизвращаться:

  • Заходим в склонированный репозиторий и запускаем: ‘xvfb-run -a -s "-screen 0 1280x720x24" gource -a 0.01 -s 2 --highlight-all-users --git-branch master --stop-at-end -o ../gource.ppm'
  • а потом, ужимаем сырое видео (просто набор картинок, по сути) – ‘ffmpeg -y -r 60 -f image2pipe -vcodec ppm -i gource.ppm -vcodec libx264 -preset ultrafast -pix_fmt yuv420p -crf 1 -threads 0 -bf 0 gource.mp4'

Параметры Gource документированы тут - https://github.com/acaudwell/Gource

 

Финальное слово

К сожалению, это все не привело ни к какому более-менее полезному выхлоп: gource где то на середине процесса в xvfb-run падает с ошибкой:

XIO:  fatal IO error 11 (Resource temporarily unavailable) on X server ":101"
after 37458 requests (116 known processed) with 0 events remaining.

И продолжает писать просто белый шум на диск.
Так что я пошел по другому пути – и просто установил его на Windows ноутбук из MSI пакета…