Сборка devel-версии FlightGear

Материал из FlightGear.ru.

Перейти к: навигация, поиск

Сборка devel-версии FlightGear

В данной инструкции установка devel-версии FlightGear производится в каталог /opt и не затрагивает систему и установленную пакетным менеджером версию симулятора.

Сборка производится с правами обычного пользователя. Создадим директорию, в которую будет установлен FlightGear:

$ sudo -s
# mkdir /opt/FlightGear
# chown $SUDO_UID /opt/FlightGear
# exit
$

Все остальные команды следует выполнять от имени пользователя, которому принадлежит свежесозданная директория.

Содержание

Необходимые пакеты

Это весьма примерный список:

  • gcc
  • g++
  • make
  • cmake
  • automake
  • autoconf
  • cvs
  • svn
  • libxi-dev
  • libgl1-mesa-dev
  • libxmu6
  • libxmu-dev
  • libboost-dev
  • libopenal-dev

Сборка plib

Скачиваем последнюю версию тут и распаковываем:

wget http://plib.sourceforge.net/dist/plib-1.8.5.tar.gz
tar -xzf plib-1.8.5.tar.gz
cd plib-1.8.5

Далее, собираем как обычно:

./configure --prefix=/opt/FlightGear
make
make install

Установка OpenSceneGraph

Полная инструкция тут

Если кратко, то:

cd /opt/FlightGear
svn checkout http://www.openscenegraph.org/svn/osg/OpenSceneGraph/trunk OpenSceneGraph 
mkdir build.osg
cd build.osg
ccmake ../OpenSceneGraph

Заполняем Prefix: /opt/FlightGear и Build type: Release

Чтобы заполнить поле, подведите к нему курсор, нажмите Enter, введите нужное значение и нажмите Enter еще раз.

(Внимание! Это обязательный этап конфигурирования OSG. Иначе FlightGear соберется как Debug и будет сильно тормозить.)

Посмотреть скриншот

Конфигурируем (С) и сохраняем (G)

make
make install

Установка SimGear

Оригинальная инструкция тут

cd /opt/FlightGear
cvs -d :pserver:cvsguest@cvs.simgear.org:/var/cvs/SimGear-0.3 login
CVS passwd: guest
cvs -d :pserver:cvsguest@cvs.simgear.org:/var/cvs/SimGear-0.3 co source
mv source simgear
cd simgear
./autogen.sh
./configure --prefix=/opt/FlightGear --with-jpeg-factory
make
make install

Установка FlightGear

Инструкция та же

cd /opt/FlightGear
cvs -d :pserver:cvsguest@cvs.flightgear.org:/var/cvs/FlightGear-0.9 login
CVS passwd: guest
cvs -d :pserver:cvsguest@cvs.flightgear.org:/var/cvs/FlightGear-0.9 co source
mv source flightgear
cd flightgear
./autogen.sh
./configure --prefix=/opt/FlightGear --with-osg=/opt/FlightGear/build.osg/ --enable-osgviewer

Поскольку /opt/FlightGear по умолчанию не входит в путь поиска библиотек, надо сделать следующее: либо export LD_LIBRARY_PATH=/opt/FlightGear/lib:$LD_LIBRARY_PATH, либо после сборки добавить строку /opt/FlightGear/lib в файл /еtс/ld.so.conf и запустить ldconfig от рута

make
make install

Установка FG Data

Если вы обновляете FG Data спустя значительное время после сборки, нужно заново залогиниться

cvs -d :pserver:cvsguest@cvs.flightgear.org:/var/cvs/FlightGear-0.9 login
CVS passwd: guest

Всё та же инструкция

cd /opt/FlightGear
cvs -d :pserver:cvsguest@cvs.flightgear.org:/var/cvs/FlightGear-0.9 co data
mv data /opt/FlightGear/share/FlightGear

Если при запуске FlightGear он ругнется на отсутствие библиотек OSG, скомандуйте:

sudo ldconfig

Обновление симулятора

Чтобы быть в курсе всех изменений в девелоперской версии FlightGear, рекомендуется постоянно обновлять data и пересобирать сам FlightGear. Чтобы обновить data, войдите в данный каталог и скомандуйте:

cvs update -d -P

Аналогичная команда используется для получения обновлений исходников Simgear и FlightGear. Если желаете сэкономить время и трафик, создайте в домашнем каталоге файл .cvsrc следующего содержания:

cvs -z3 -q
diff -up
update -dP
checkout -P
rdiff -u

Для обновления исходников OSG, скомандуйте в директории с исходниками:

svn update

Следует отметить особенность системы SVN - она все хранит в двойных экземплярах. Если исходный каталог с файлами весит 30 МБ, то в SVN он будет занимать 60 МБ или даже больше.

Пересборка FlightGear и его зависимостей

Нередки случаи, когда после обновления data, в самом FG что-нибудь отваливается или он вообще перестает запускаться. Это бывает потому, что data хранит не только Scenery и модели, но и конфигурационные файлы, в том числе файлы, отвечающие за интерфейс, диалоги, внутренние свойства (properties). В тех случаях, когда разработчики вносят изменения в код FG, требующие внесения изменений в некоторые конфигурационные файлы, то они одновременно вносят изменения и в data. Теперь представьте, что вы обновили только data, а сам FG остался старый. Запустив FG вы обнаружите отсутствие каких-то текстур, нерабочий HUD или какую-то другую аномалию. Таким образом, идеальным вариантом является пересборка FG по мере обновления его кода, синхронно с data.

О том, как обновить исходники из cvs и svn написано выше. Теперь немного о том, как пересобирать FG и его зависимости. Сначала в директориях с исходниками скомандуйте:

make uninstall

Затем повторите все те действия, которые вы совершали при первой установке FG и его зависимостей.

Личные инструменты