66 votes

Comment construire Unity à partir des sources ?

J'aimerais savoir comment je pourrais construire Unity à partir du code source dans la version de développement actuelle. Veuillez couvrir les sujets suivants :

  • Quels sont les paquets nécessaires pour compiler Unity ?
  • Où puis-je obtenir le code source actuel ?
  • Quelles sont les étapes pour configurer et compiler Unity ?
  • Est-il possible d'exécuter en toute sécurité la dernière version en même temps que la version issue des dépôts ?

64voto

Stefano Candori Points 871

Construire Unity à partir de la source

Dans ce guide, vous allez construire une version séparée du tronc d'Unity (installée localement dans votre répertoire personnel), de sorte que vous n'aurez pas à vous soucier de corrompre la version provenant des dépôts Ubuntu et vous n'aurez pas non plus besoin d'obtenir les droits root tout au long du processus (sauf pour l'installation des dépendances de construction).

0. Installation des dépendances de construction

Vous devrez l'exécuter une fois pour installer toutes les dépendances de construction nécessaires :

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

Si vous avez des dépôts de code source (alias deb-src ) activé, vous pouvez utiliser à la place :

sudo apt-get build-dep unity

1. Préparation de l'environnement

Remplacer SOURCE y PREFIX avec les répertoires où vous voulez que les fichiers source et de construction aillent. Dans cet exemple, je les ai mis dans mon répertoire personnel :

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. Construction de Nux

Vous aurez probablement besoin de récupérer la dernière version de Nux pour que Unity trunk compile :

bzr branch lp:nux
cd nux
./autogen.sh --disable-examples --disable-gputests --disable-tests --prefix="$PREFIX"
make -j4
make install
cd ..

Conseil : La plupart des ordinateurs de bureau et des ordinateurs portables modernes possèdent plusieurs cœurs. Vous pouvez accélérer considérablement la compilation en profitant de cet avantage. Le site make a un support intégré pour cela que vous pouvez activer en utilisant la commande -jNN est le nombre de travaux à exécuter en parallèle. Une bonne règle de base est d'exécuter deux fois le nombre de cœurs de votre processeur. Ainsi, sur un ordinateur normal à double cœur, vous devriez exécuter make -j4 pour minimiser le temps de compilation.

3. Construire l'unité

Maintenant, récupérez le dernier code Unity et construisez-le :

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

C'est tout, déconnectez-vous et reconnectez-vous et vous devriez avoir la dernière version d'Unity. Ou bien vous pouvez exécuter

setsid $PREFIX/bin/unity

4. Mise à jour de

Assurez-vous de préparer l'environnement comme décrit à l'étape 1, puis saisissez simplement les deux répertoires de premier niveau nux y unity courir bzr pull , reconstruire et réinstaller.

Je suggère de supprimer et de recréer le build dans le répertoire unity pour s'assurer qu'aucun vieux fichier ne perturbe votre compilation.

5. Suppression de l'unité

Supprimez les trois répertoires $SOURCE , $PREFIX y ~/.compiz-1 .


Lien utile :

9voto

maxpolun Points 126

J'ai fait un script basé sur le build Wayland script et ces instructions pour automatiser l'installation des prérequis, le clonage, la mise à jour, la configuration et le build de Unity.

https://github.com/bitshifter/Unity-Build/raw/master/build-unity.sh

7voto

Joshua McKinnon Points 12379

Construction dans votre répertoire personnel

Parfois, pour des raisons de test, il est utile de compiler Unity et nux dans votre répertoire personnel afin de voir si quelque chose est corrigé dans le tronc sans avoir à s'occuper des paquets et/ou des PPAs. J'ai demandé à Jason Smith (Unity Dev) comment il construit Unity et il m'a expliqué sa méthode :

  1. Assurez-vous que vous avez tous les construire les dépendances de cette réponse.

  2. Tout d'abord, créez un répertoire dans votre maison appelé "staging", c'est là que nous allons construire Unity. Créez un petit script qui va préparer l'environnement de construction, remplacez le répertoire home par le vôtre :

    #!/bin/bash
    
    PREFIX=/home/jorge/staging
    
    export XDG_DATA_DIRS="$PREFIX/share:$XDG_DATA_DIRS"
    export LD_LIBRARY_PATH="$PREFIX/lib/"
    export PKG_CONFIG_PATH="$PREFIX/lib/pkgconfig/"

    J'appelle ça unity.sh et je le lance à chaque fois que je veux construire Unity. Donc, en gros chmod +x unity.sh et ensuite ./unity.sh quand vous voulez construire.

  3. Construire nux :

    bzr branch lp:nux
    cd nux
    ./autogen.sh --prefix=/home/jorge/staging
    make -j4
    make install
    cd ..
  4. Construire l'unité :

    bzr branch lp:unity
    cd unity
    mkdir build
    cd build
    cmake .. -DCMAKE_INSTALL_PREFIX=/home/jorge/staging/ -DCMAKE_BUILD_TYPE=Debug -DCOMPIZ_PLUGIN_INSTALL_TYPE=local -DGSETTINGS_LOCALINSTALL=ON
    make -j4
    make install

NOTE : Cela construit nux et unity dans votre répertoire personnel, il n'y a pas besoin de sudo ici ou quelque chose comme ça.

  • En se déconnectant et en se reconnectant, cette version d'Unity/nux s'exécutera automatiquement puisqu'elle a été intégrée dans le système. ~/.compiz
  • Pour revenir aux paquets normaux, il suffit de se déconnecter, de supprimer ~/.compiz et se reconnecter.

6voto

ish Points 134738

Le code source de l'environnement par défaut (Unity) se trouve dans le paquetage unity . Installez la source avec apt-get source unity les dépendances pour le construire avec sudo apt-get build-dep unity et tailler la route.

Cela vous permettra de positionner le lanceur à droite, en bas, en haut, etc.

4voto

Adam Millerchip Points 101

Il existe une excellente documentation officielle ici - Développer l'unité .

En voici un extrait sur la construction d'Unity - installation à partir des sources et compilation.

Construire l'unité

Ces instructions vous aideront à construire unity à partir des sources. Cependant, il y a quelques éléments à prendre en compte :

  • Il est recommandé de ne jamais copier ce que vous avez construit localement en dehors de votre répertoire personnel. Faire cela, c'est s'attirer des ennuis, d'autant plus que nous construisons le bureau entier Shell. Si vous parvenez à ruiner l'ensemble de votre bureau Shell vous serez un bien triste programmeur !
  • Il est supposé que vous utilisez la version exacte d'Ubuntu.
  • Il est également supposé que vous voulez construire unity à partir de trunk (c'est-à-dire lp:unity).

Obtenir le code source :

Si vous n'avez pas encore installé Bazaar, installez-le maintenant :

sudo apt-get install bzr

Vous voudrez vous créer un dossier pour le code de l'unité. Faites quelque chose comme ceci :

mkdir -p ~/code/unity
cd ~/code/unity

Prenons le code du launchpad :

bzr branch lp:unity trunk

Cela peut prendre un certain temps.
Installation des dépendances de construction :

Nous devons obtenir les dépendances de construction pour unity. Heureusement, apt-get rend cela trivial :

sudo apt-get build-dep unity

Compilation de Unity :

Utilisez cet ensemble de fonctions bash pour rendre cette étape beaucoup plus facile. Pour les utiliser, copiez le code bash suivant dans un fichier de votre répertoire home appelé .bash_functions :

function recreate-build-dir()
{
   rm -r build
   mkdir build
   cd build
}

function remake-autogen-project()
{
    ./autogen.sh --prefix=$HOME/staging --enable-debug
    make clean && make && make install
}

function remake-unity()
{
    recreate-build-dir
    cmake .. -DCMAKE_BUILD_TYPE=Debug -DCOMPIZ_PLUGIN_INSTALL_TYPE=local -DCMAKE_INSTALL_PREFIX=$HOME/staging/ -DGSETTINGS_LOCALINSTALL=ON
    make  && make install
}

function unity-env
{
 export PATH=~/staging/bin:$PATH
 export XDG_DATA_DIRS=~/.config/compiz-1/gsettings/schemas:~/staging/share:/usr/share:/usr/local/share
 export LD_LIBRARY_PATH=~/staging/lib:${LD_LIBRARY_PATH}
 export LD_RUN_PATH=~/staging/lib:${LD_RUN_PATH}
 export PKG_CONFIG_PATH=~/staging/lib/pkgconfig:${PKG_CONFIG_PATH}
 export PYTHONPATH=~/staging/lib/python2.7/site-packages:$PYTHONPATH
}

Maintenant, exécutez ceci dans un terminal :

echo ". ~/.bash_functions" >> ~/.bashrc

Cela garantit que la prochaine fois que vous ouvrez un Shell bash, les fonctions énumérées ci-dessus seront disponibles pour vous. Pour éviter d'avoir à fermer et à rouvrir un terminal, nous pouvons les lire manuellement juste cette fois-ci :

. ~/.bash_functions

Vous devriez maintenant être en mesure de vous exécuter :

remake-unity

de la trunk/ que nous avons créé plus tôt. C'est tout - vous êtes construisez l'unité !

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X