Budowanie jedności ze źródła
W tym przewodniku zbudujesz oddzielną wersję pnia Unity (instalowaną lokalnie w twoim katalogu domowym), więc nie musisz się martwić o uszkodzenie wersji z repozytoriów Ubuntu, a także nie będziesz musiał uzyskiwać uprawnień roota cały proces (oprócz instalowania zależności kompilacji).
0. Instalowanie zależności kompilacji
Musisz uruchomić to raz, aby zainstalować wszystkie niezbędne zależności kompilacji:
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
Jeśli masz deb-src
włączone repozytoria kodu źródłowego (aka ), możesz zamiast tego użyć:
sudo apt-get build-dep unity
1. Przygotowanie środowiska
Wymień SOURCE
i PREFIX
z katalogów chcesz źródła i zbudować pliki iść. W tym przykładzie umieściłem oba w moim katalogu domowym:
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. Budowanie Nux
Prawdopodobnie będziesz musiał pobrać najnowszą wersję, Nux
aby skompilować bagażnik Unity:
bzr branch lp:nux
cd nux
./autogen.sh --disable-examples --disable-gputests --disable-tests --prefix="$PREFIX"
make -j4
make install
cd ..
Wskazówka : większość nowoczesnych komputerów stacjonarnych i laptopów ma kilka rdzeni. Korzystając z tego, możesz znacznie przyspieszyć kompilację. make
Komenda ma zbudować wsparcie dla tego, który można aktywować za pomocą -jN przełącznik gdzie N jest liczba miejsc pracy, aby uruchomić równolegle. Dobrą zasadą jest uruchamianie 2-krotnej liczby rdzeni procesora. Dlatego na normalnym dwurdzeniowym komputerze powinieneś uruchomić, make -j4
aby zminimalizować czas kompilacji.
3. Budowanie jedności
Teraz pobierz najnowszy kod Unity i skompiluj go:
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
To wszystko, wyloguj się i zaloguj ponownie, a powinieneś uruchomić najnowszą wersję Unity. Alternatywnie możesz uruchomić
setsid $PREFIX/bin/unity
4. Aktualizacja
Przygotuj środowisko zgodnie z opisem w kroku 1, a następnie po prostu wprowadź oba katalogi najwyższego poziomu, nux
a następnie unity
uruchom bzr pull
, przebuduj i ponownie zainstaluj.
Sugeruję usunięcie i ponowne utworzenie build
katalogu w unity
katalogu, aby upewnić się, że żadne stare pliki nie powodują bałaganu w twojej kompilacji.
5. Usuwanie jedności
Wykręć trzy katalogi $SOURCE
, $PREFIX
i ~/.compiz-1
.
Przydatny link:
sharedptr
ale wygląda na to, że gcc na 12.04 nie wsparcie lub potrzebujesz flagi do dodania do plików make. Tak więc klonowanie dokładnej wersji odpowiedniej dla mojego systemu jest bardzo ważne.Stworzyłem skrypt oparty na skrypcie kompilacji Wayland i tych instrukcjach, aby zautomatyzować instalowanie wymagań wstępnych, klonowanie, aktualizowanie, konfigurowanie i budowanie Unity.
https://github.com/bitshifter/Unity-Build/raw/master/build-unity.sh
źródło
Budowanie w twoim katalogu domowym
Czasami ze względów testowych przydatne jest zbudowanie Unity i Nux w twoim katalogu domowym, abyś mógł sprawdzić, czy coś jest naprawione w bagażniku, bez marnowania pakietów i / lub PPA. Zapytałem Jasona Smitha (Unity Dev), jak buduje Unity, i wyjaśnił mi swoją metodę:
Upewnij się, że masz wszystkie zależności kompilacji od tej odpowiedzi.
Najpierw utwórz w domu katalog o nazwie „inscenizacja”, tutaj zbudujemy Unity. Utwórz mały skrypt, który przygotuje środowisko kompilacji, zastąp katalog główny własnym:
Nazywam to
unity.sh
i uruchamiam za każdym razem, gdy chcę zbudować Jedność. Więc w zasadziechmod +x unity.sh
i wtedy,./unity.sh
kiedy chcesz budować.Kompiluj nux:
Zbuduj jedność:
UWAGA: To buduje nux i jedność w twoim katalogu domowym, nie ma potrzeby sudo tutaj ani niczego podobnego.
~/.compiz
~/.compiz
i zaloguj się ponownie.źródło
Kod źródłowy dla domyślnego środowiska (Unity) można znaleźć w pakiecie
unity
. Zainstaluj źródło zapt-get source unity
, zależności, z których chcesz go zbudowaćsudo apt-get build-dep unity
i zhakuj.Umożliwi to ustawienie programu uruchamiającego po prawej, u dołu, u góry itp.
źródło
Jest tutaj doskonała oficjalna dokumentacja - Developing Unity .
Oto fragment tego, jak budować Unity - instalowanie ze źródła i kompilowanie
źródło
Instalacja stała się ostatnio trudniejsza: do compiz został dodany nowy moduł o nazwie GTK Load (lub zawiesi się w XInternAtom). Musimy aktywować ten moduł, aby korzystać z 4.0.1, ale aktywacja spowoduje awarię jedności 3.8.
Trudno jest utrzymać je obie. Sposób, w jaki to zrobiłem, to:
źródło