Побудова єдності з джерела
У цьому посібнику ви створите відокремлену версію магістралі 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
увімкнено сховища вихідного коду (ака ), ви можете використовувати:
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 є кількістю робочих місць працювати паралельно. Добре правило - запустити в 2 рази більше ядер на вашому процесорі. Таким чином, на звичайному двоядерному комп'ютері слід запустити, 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. Отже, клонування точної версії, яка відповідає моїй системі, є дуже важливою.