Costruire l'unità dalla fonte
In questa guida costruirai una versione separata del trunk Unity (installato localmente nella tua home directory), quindi non dovrai preoccuparti di corrompere la versione dai repository Ubuntu e non avrai nemmeno bisogno di ottenere i permessi di root in tutto il intero processo (ad eccezione dell'installazione delle dipendenze di compilazione).
0. Installazione delle dipendenze di compilazione
Dovrai eseguirlo una volta per installare tutte le dipendenze di build necessarie:
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
Se hai repository di codice sorgente (aka deb-src
) abilitati, puoi invece usare:
sudo apt-get build-dep unity
1. Preparare l'ambiente
Sostituisci SOURCE
e PREFIX
con le directory che vuoi che arrivino alla fonte e costruisci i file. In questo esempio ho inserito entrambi nella mia home directory:
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. Costruire Nux
Probabilmente dovrai prendere l'ultima versione di Nux
per far compilare il trunk Unity:
bzr branch lp:nux
cd nux
./autogen.sh --disable-examples --disable-gputests --disable-tests --prefix="$PREFIX"
make -j4
make install
cd ..
Suggerimento : la maggior parte dei desktop e laptop moderni ha diversi core. Puoi accelerare notevolmente la compilazione sfruttando questo. Il make
comando ha il supporto integrato per questo che puoi attivare usando l' opzione -jN dove N è il numero di lavori da eseguire in parallelo. Una buona regola empirica è eseguire 2 volte il numero di core sul processore. Pertanto, su un normale computer dual core è necessario eseguire make -j4
per ridurre al minimo i tempi di compilazione.
3. Costruire l'unità
Ora prendi l'ultimo codice Unity e costruiscilo:
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
Ecco fatto, disconnettersi e riconnettersi e si dovrebbe eseguire l'ultimo Unity. In alternativa , puoi eseguire
setsid $PREFIX/bin/unity
4. Aggiornamento
Assicurati di preparare l'ambiente come descritto nel passaggio 1, quindi inserisci semplicemente entrambe le directory di livello superiore nux
ed unity
esegui bzr pull
, ricostruisci e reinstalla.
Suggerisco di rimuovere e ricreare la build
directory nella unity
directory, per assicurarsi che nessun vecchio file stia rovinando la tua build.
5. Rimozione di Unity
Rimuovere le tre directory $SOURCE
, $PREFIX
e ~/.compiz-1
.
Link utile:
sharedptr
ma sembra che il gcc su 12.04 non lo faccia supporto o bisogno di aggiungere un flag per aggiungere i file make. Quindi, la clonazione della versione esatta adatta al mio sistema è molto importante.