Создание единства из источника
В этом руководстве вы создадите отдельную версию ствола Unity (локально установленную в вашем домашнем каталоге), так что вам не нужно беспокоиться о повреждении версии из репозиториев Ubuntu, и вам также не нужно будет получать права root для всех пользователей. весь процесс (кроме установки зависимостей сборки).
0. Установка зависимостей сборки
Вам нужно будет выполнить это один раз, чтобы установить все необходимые зависимости сборки:
sudo apt-get install bzr cmake compiz-dev gnome-common libbamf3-dev libboost-dev \
libboost-serialization-dev libgconf2-dev libgdu-dev libglewmx1.6-dev \
libgnome-desktop-3-dev libibus-1.0-dev libindicator3-dev libjson-glib-dev \
libnotify-dev libnux-2.0-dev libpci-dev libsigc++-2.0-dev libunity-dev \
libunity-misc-dev libutouch-geis-dev libxxf86vm-dev libzeitgeist-dev xsltproc
Если у вас deb-src
включены репозитории исходного кода (aka ), вы можете вместо этого использовать:
sudo apt-get build-dep unity
1. Подготовка окружающей среды
Замените SOURCE
и PREFIX
на каталоги, которые вы хотите, чтобы исходный код и файлы сборки были отправлены В этом примере я поместил оба в мой домашний каталог:
export SOURCE=$HOME/source/unity
export PREFIX=$HOME/build/unity
export PKG_CONFIG_PATH="$PREFIX/lib/pkgconfig:$PKG_CONFIG_PATH"
export LD_LIBRARY_PATH="$PREFIX/lib:$LD_LIBRARY_PATH"
export LD_RUN_PATH="$PREFIX/lib:$LD_RUN_PATH"
export XDG_DATA_DIRS="$PREFIX/share:$XDG_DATA_DIRS"
mkdir -p "$PREFIX"
mkdir -p "$SOURCE"
cd "$SOURCE"
2. Сборка Nux
Вам, вероятно, понадобится взять последнюю версию, Nux
чтобы заставить транслировать Unity:
bzr branch lp:nux
cd nux
./autogen.sh --disable-examples --disable-gputests --disable-tests --prefix="$PREFIX"
make -j4
make install
cd ..
Совет : большинство современных настольных компьютеров и ноутбуков имеют несколько ядер. Вы можете значительно ускорить компиляцию, воспользовавшись этим. Для этой make
команды предусмотрена встроенная поддержка, которую вы можете активировать с помощью ключа -jN, где N - это количество заданий, которые должны выполняться параллельно. Хорошее практическое правило - запускать в два раза больше ядер на вашем процессоре. Таким образом, на обычном двухъядерном компьютере вы должны запустить, make -j4
чтобы минимизировать время компиляции.
3. Создание Единства
Теперь возьмите последний код Unity и соберите его:
bzr branch lp:unity
cd unity
mkdir build
cd build
cmake .. -DCMAKE_BUILD_TYPE=Debug -DCOMPIZ_PLUGIN_INSTALL_TYPE=local -DGSETTINGS_LOCALINSTALL=ON -DCMAKE_INSTALL_PREFIX="$PREFIX"
make -j4
make install
Вот и все, выйдите и снова войдите в систему, и вы должны запустить последнюю версию Unity. Кроме того , вы можете запустить
setsid $PREFIX/bin/unity
4. Обновление
Обязательно подготовьте среду, как описано в шаге 1, затем просто введите оба каталога верхнего уровня, nux
а затем unity
запустите bzr pull
, пересоберите и переустановите.
Я предлагаю удалить и воссоздать build
каталог в unity
каталоге, чтобы убедиться, что старые файлы не мешают вашей сборке.
5. Удаление Единства
Удалите три каталога $SOURCE
, $PREFIX
и ~/.compiz-1
.
Полезная ссылка:
sharedptr
но кажется, что gcc на 12.04 не поддержка, или нужно добавить флаг в файлы make. Итак, клонирование точной версии, подходящей для моей системы, очень важно.