Pertanyaan Bagaimana saya membangun Kesatuan dari sumber?


Saya ingin tahu bagaimana saya akan membangun Kesatuan dari kode sumber dalam rilis pengembangan saat ini. Silakan tutup topik berikut:

  • Paket mana yang diperlukan untuk mengkompilasi Kesatuan?
  • Di mana saya akan mendapatkan kode sumber saat ini?
  • Apa langkah-langkah untuk benar-benar mengkonfigurasi dan mengkompilasi Kesatuan?
  • Apakah mungkin untuk menjalankan versi terbaru dengan aman versi dari repositori?

64
2018-02-28 19:50


asal




Jawaban:


Membangun Kesatuan dari Sumber

Dalam panduan ini Anda akan membangun versi terpisah dari batang Unity (diinstal secara lokal ke direktori rumah Anda), sehingga Anda tidak perlu khawatir tentang merusak versi dari repositori Ubuntu dan Anda juga tidak perlu mendapatkan izin root di seluruh seluruh proses (kecuali menginstal dependensi build).

0. Memasang dependensi build

Anda harus menjalankan ini sekali untuk menginstal semua dependensi build yang diperlukan:

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

Jika Anda memiliki repositori kode sumber (alias deb-src) diaktifkan, Anda dapat menggunakan:

sudo apt-get build-dep unity

1. Mempersiapkan lingkungan

Menggantikan SOURCE dan PREFIX dengan direktori yang Anda inginkan sumbernya dan buat file untuk pergi. Dalam contoh ini saya menempatkan keduanya di direktori home saya:

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. Membangun Nux

Anda mungkin perlu mengambil versi terbaru Nux untuk mendapatkan batang Unity untuk dikompilasi:

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

Tip: Sebagian besar desktop dan laptop modern memiliki beberapa inti. Anda dapat mempercepat kompilasi dengan memanfaatkan ini. Itu make perintah memiliki dukungan built-in untuk ini yang dapat Anda aktifkan menggunakan -jN pindah kemana N adalah jumlah pekerjaan yang berjalan secara paralel. Aturan praktis yang baik adalah menjalankan 2 kali jumlah core pada prosesor Anda. Dengan demikian, pada komputer dual core yang normal Anda harus menjalankannya make -j4 untuk meminimalkan waktu kompilasi.

3. Membangun Kesatuan

Sekarang ambil kode Unity terbaru dan buatlah:

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

Itu saja, logout dan kembali lagi dan Anda harus menjalankan Unity terbaru. kalau tidak, Anda bisa berlari

setsid $PREFIX/bin/unity

4. Memperbarui

Pastikan untuk menyiapkan lingkungan seperti yang dijelaskan pada langkah 1, lalu cukup masukkan kedua direktori tingkat atas nux dan unity, lari bzr pull, rekondisi, dan instal ulang.

Saya sarankan untuk menghapus dan menciptakan kembali build direktori di unity direktori, untuk memastikan tidak ada file lama yang berantakan dengan build Anda.

5. Menghapus Persatuan

Hapus tiga direktori $SOURCE, $PREFIX dan ~/.compiz-1.


Tautan yang Berguna:


65
2018-03-27 06:11



Saya pikir ada hal yang sangat penting, untuk mengkloning versi yang saat ini kami gunakan, misalnya pada Ubuntu 12.04, saya sudah mencoba untuk mengkloning Nux versi terbaru, dan itu menjadi berantakan, karena Nux digunakan sharedptr Tetapi tampaknya gcc pada 12.04 tidak mendukung, atau membutuhkan beberapa flag untuk ditambahkan ke file make. Jadi, Mengkloning versi yang tepat sesuai dengan sistem saya, sangat penting. - Muhammad Hewedy
Tidak satu pun dari bagian 0 yang bekerja pada 14,04 ... - Goddard
xserver-xorg-video-dummy: Tergantung: xorg-video-abi-15 Tergantung: xserver-xorg-core (> = 2: 1.14.99.902) - Goddard


Saya telah membuat skrip berdasarkan skrip membangun Wayland dan petunjuk ini untuk mengotomatiskan menginstal prasyarat, kloning, memperbarui, mengonfigurasi, dan membangun Kesatuan.

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


9
2017-08-20 01:28





Bangunan di direktori home Anda

Kadang-kadang untuk menguji alasan itu berguna untuk membangun Unity dan nux di direktori home Anda sehingga Anda dapat mencoba untuk melihat apakah ada sesuatu yang tetap di bagasi tanpa mucking dengan paket dan / atau PPA. Saya bertanya kepada Jason Smith (Unity Dev) bagaimana dia membangun Kesatuan dan dia menjelaskan metodenya kepada saya:

  1. Pastikan Anda memiliki semua membangun dependensi dari jawaban ini.

  2. Pertama-tama buat direktori di rumah Anda yang disebut "pementasan", di sinilah kita akan membangun Kesatuan. Buat skrip kecil yang akan menyiapkan lingkungan build, ganti direktori home dengan milik Anda sendiri:

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

    Saya menyebutnya unity.sh dan saya menjalankannya setiap kali saya ingin membangun Kesatuan. Jadi pada dasarnya chmod +x unity.sh lalu ./unity.sh ketika Anda ingin membangun.

  3. Buat nux:

    bzr branch lp:nux
    cd nux
    ./autogen.sh --prefix=/home/jorge/staging
    make -j4
    make install
    cd ..
    
  4. Bangun Kesatuan:

    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
    

CATATAN: Ini membangun nux dan kesatuan di direktori home Anda, tidak perlu untuk sudo di sini atau semacamnya.

  • Keluar dan masuk kembali akan menjalankan versi Unity / nux ini secara otomatis sejak dibangun ~/.compiz
  • Untuk kembali ke paket normal cukup keluar, hapus ~/.compiz dan masuk kembali.

7
2018-06-29 01:53





Kode sumber untuk lingkungan default (Kesatuan) dapat ditemukan dalam paket unity. Instal sumber dengan apt-get source unity, dependensi untuk membangunnya sudo apt-get build-dep unity dan meretas.

Ini akan memungkinkan Anda memposisikan peluncur di kanan, bawah, atas, dll.


6
2018-01-07 15:00



Bisakah Anda memperluas bagaimana tepatnya mengubah posisi? Hanya mengetahui file atau konfigurasi apa yang akan dimodifikasi akan luar biasa. - PitaJ


Ada dokumentasi resmi yang sangat baik di sini - Mengembangkan Kesatuan.

Berikut kutipannya tentang membangun Unity - menginstal dari sumber dan kompilasi

Membangun Kesatuan


4
2017-07-05 13:58





Instalasi menjadi lebih rumit baru-baru ini: modul baru telah ditambahkan ke compiz bernama GTK Load (atau akan crash di XInternAtom). Kita perlu mengaktifkan modul ini untuk menggunakan 4.0.1, tetapi mengaktifkannya akan merusak kesatuan 3.8.

Semakin sulit untuk mempertahankan keduanya. Cara saya melakukannya adalah:

  • masuk ke dalam folder compiz-1 dan beri nama semua .so oleh .so1, kecuali untuk libgtkloader.so
  • restart compiz dengan unity 4.0.1
  • aktifkan gtk Load module di compizconfig-settings-manager
  • ganti nama pustaka kembali ke .so
  • restart compiz.

2