Kaynaktan Unity'yi nasıl kurabilirim?

64

Mevcut geliştirme sürümündeki kaynak koddan Unity'yi nasıl kuracağımı öğrenmek istiyorum. Lütfen aşağıdaki konuları ele alın:

  • Unity'yi derlemek için hangi paketlere ihtiyaç var?
  • Mevcut kaynak kodunu nereden alabilirim?
  • Unity'yi gerçekten yapılandırmak ve derlemek için adımlar nelerdir?
  • Deponitelerdeki sürümle birlikte en son sürümü güvenli bir şekilde çalıştırmak mümkün mü?
sordu htorque 28.02.2011 20:50

6 cevap

65

Kaynaktan Birlik Kurma

Bu kılavuzda, Unity trunk'unun ayrı bir sürümünü (yerel dizininize yerel olarak kurulu) oluşturacaksınız, böylece Ubuntu depolarından sürümü bozmaya çalışmak zorunda kalmazsınız ve aynı zamanda root almanıza da gerek yoktur. Tüm süreç boyunca izinler (yapı bağımlılıklarının yüklenmesi hariç).

0 . Yapı bağımlılıkları yükleniyor

Gerekli tüm yapı bağımlılıklarını yüklemek için bunu bir kez çalıştırmanız gerekir:

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

Kaynak kod depoları ( deb-src ) etkinse, bunun yerine şunları kullanabilirsiniz:

sudo apt-get build-dep unity

1 . Çevreyi hazırlamak

SOURCE ve PREFIX dizinini kaynağını istediğiniz dizinlerle değiştirin ve dosyaların oluşturulmasını sağlayın. Bu örnekte hem ev dizinime koydum:

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 Yapısı

Unity trunk'u derlemek için muhtemelen Nux 'in en son sürümünü almanız gerekir:

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

İpucu : Çoğu modern masaüstü ve dizüstü bilgisayarın birkaç çekirdeği vardır. Bundan yararlanarak derlemeyi büyük ölçüde hızlandırabilirsiniz. % Co_de% komutunda, -jN anahtarını kullanarak etkinleştirebileceğiniz yerleşik destek vardır; burada N paralel olarak çalışacak işlerin sayısıdır. İyi bir kural, işlemcinizdeki çekirdek sayısının 2 katını çalıştırmaktır. Böylece, normal çift çekirdekli bir bilgisayarda derleme süresini en aza indirmek için make çalıştırmalısınız.

3 . Yapı Birliği

Şimdi en son Unity kodunu alın ve oluşturun:

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

İşte, çıkış yap ve tekrar içeri gir ve en son Unity'yi çalıştırıyor olmalısın. Alternatif olarak , koşabilirsiniz

setsid $PREFIX/bin/unity

4 . Güncelleniyor

1. adımda anlatıldığı gibi ortamı hazırladığınızdan emin olun, ardından en üst düzey dizinleri make -j4 ve nux değerini girin, unity dosyasını çalıştırın, yeniden oluşturun ve yeniden yükleyin.

Eski dosyaların yapınızı bozmadığından emin olmak için bzr pull dizinindeki build dizinini kaldırmanızı ve yeniden oluşturmanızı öneririz.

5 . Birliği Kaldırma

Üç dizini unity , $SOURCE ve $PREFIX kaldırın.

Faydalı Bağlantı:

verilen cevap htorque 12.01.2013 11:09
9

Wayland oluşturma komut dosyasına dayalı bir komut dosyası hazırladım ve bu talimatları yükleme önkoşullarını otomatikleştirmek, klonlamak, güncellemek, yapılandırmak ve Birlik oluşturmak.

İşte

    
verilen cevap Cam 27.03.2011 08:11
7

Ev dizininizde bina oluşturma

Test etme nedenleri nedeniyle bazen ev dizininizde Unity ve nux oluşturmak yararlıdır, böylece paketler ve / veya PPA'lar ile uğraşmadan bir şeyin sabit olup olmadığını görmeye çalışabilirsiniz. Jason Smith’e (Unity Dev) bir birlik nasıl kurulduğunu sordu ve bana yöntemini anlattı:

  1. Tüm bağımlılıklara sahip olduğunuzdan emin olun bu cevaptan.

  2. Önce evinizde "evreleme" adı verilen bir dizin hazırlayın, burası birlik kuracağız. Oluşturma ortamını hazırlayacak küçük bir komut dosyası oluşturun, giriş dizini kendi dizininizle değiştirin:

    #!/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/"
    

    Bunu unity.sh olarak adlandırıyorum ve Unity oluşturmak istediğimde onu çalıştırıyorum. Bu nedenle temelde, chmod +x unity.sh ve sonra ./unity.sh oluşturmak istediğinizde.

  3. Build nux:

    bzr branch lp:nux
    cd nux
    ./autogen.sh --prefix=/home/jorge/staging
    make -j4
    make install
    cd ..
    
  4. Birlik Oluşturun:

    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
    

NOT: Bu, ev dizininizde nux ve birliği oluşturur, burada sudo'ya veya benzeri bir şeye gerek yoktur.

  • Çıkış ve geri yükleme, ~/.compiz dizininde oluşturulduğundan bu otomatik olarak Unity / nux sürümünü çalıştıracaktır.
  • Normal paketlere geri dönmek için çıkış yapın, ~/.compiz sini silin ve tekrar giriş yapın.
verilen cevap Jorge Castro 20.08.2011 03:28
6

Varsayılan ortamın kaynak kodu (Unity) unity paketinde bulunabilir. Kaynağı apt-get source unity ile, sudo apt-get build-dep unity ile oluşturmak için bağımlılıkları yükleyin ve hack atın.

Bu, başlatıcıyı sağ, alt, üst, vb. konumuna yerleştirmenize izin verir.

    
verilen cevap ish 29.06.2012 03:53
4

Burada mükemmel resmi belgeler var - Birlik Geliştirme .

İşte burada Birlik kurma, kaynak yükleme ve derleme

'de bir alıntı var.
  

Yapı Birliği

     

Bu talimatlar, kaynaktan bir birlik oluşturmanıza yardımcı olacaktır. Ancak,   düşünülecek birkaç şey var:

     
  • Ana dizininizin dışında yerel olarak oluşturduğunuz hiçbir şeyi kopyalamanız kesinlikle önerilir. Bunu yapmak problemi soruyor,   özellikle de tüm masaüstü kabuğunu oluşturuyoruz. Eğer yönetirsen   sistem çapında masaüstü kabuğunuzu mahvetmek için çok üzgün olacaksınız   programcı!
  •   
  • Kesin Ubuntu sürümünü yayınladığınız varsayılmıştır.
  •   
  • Ayrıca, gövdeden birliği (yani, lp: birlik) oluşturmak istediğiniz varsayılır.
  •   

Kaynak kodunu alma:

     

Zaten Bazaar’ın yüklü değilse, şimdi yükleyin:

sudo apt-get install bzr
     

Kendinize birlik kodu için bir klasör oluşturmak isteyeceksiniz. Yap   böyle bir şey:

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

Kodu, başlatma panelinden alalım:

bzr branch lp:unity trunk
     

Bu biraz zaman alabilir.
Yapı Bağımlılıklarını Kurma:

     

Birlik için yapı bağımlılıklarına ihtiyacımız var. Neyse ki, apt-get   Bu önemsiz hale getirir:

sudo apt-get build-dep unity
     

Birliğin Derlenmesi:

     

Bu adımı önemli ölçüde kolaylaştırmak için bu bash işlevlerini kullanın.   Bunları kullanmak için, aşağıdaki bash kodunu evinizdeki bir dosyaya kopyalayın.    .bash_functions dizini:

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
}
     

Şimdi bunu bir terminalde çalıştırın:

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

Bu, bir bash kabuğunu bir sonraki açışınızda işlevlerin   Yukarıda listelenen mevcut olacaktır. Kapatmaktan kaçınmak için   Bir terminali tekrar açın, bunları sadece bir kez manuel olarak okuyabiliriz:

. ~/.bash_functions
     

Şimdi artık çalışabilmelisiniz:

remake-unity
     

Daha önce oluşturduğumuz trunk/ dizininden. İşte bu kadar   Birlik inşa!

    
verilen cevap Nitin Venkatesh 07.01.2013 16:00
2

Kurulum son zamanlarda daha da zorlaştı: GTK Load adlı yeni bir modül eklendi (ya da XInternAtom'da çökecek). Bu modülü 4.0.1'i kullanacak şekilde aktif hale getirmeliyiz, fakat aktif hale getirmesi birliği bozacak 3.8.

İkisini de tutmak zor oluyor. Yaptığım yol şuydu:

  • compiz-1 klasörüne gidin ve libso.tkloader.so dışındaki tüm .so1 ile .so1 olarak yeniden adlandırın.
  • birlik 4.0.1 ile compiz'i yeniden başlat
  • gtk Yükleme modülünü compizconfig-settings-manager
  • içinde etkinleştirin
  • kütüphaneleri .so
  • olarak yeniden adlandırın
  • compiz'i yeniden başlatın.
verilen cevap Yann 05.07.2011 15:58

Etiketlerdeki diğer soruları oku