การสร้างความสามัคคีจากแหล่งที่มา
ในคู่มือนี้คุณจะสร้างรุ่น Unity trunk แยกจากกัน (ติดตั้งในเครื่องกับโฮมไดเร็กตอรี่ของคุณ), ดังนั้นคุณไม่ต้องกังวลกับการทำลายเวอร์ชั่นจากที่เก็บของ Ubuntu และคุณไม่จำเป็นต้องได้รับอนุญาต root ตลอดทั้ง กระบวนการทั้งหมด (ยกเว้นสำหรับการติดตั้งการอ้างอิงสร้าง)
0. การติดตั้งการอ้างอิงสร้าง
คุณจะต้องเรียกใช้สิ่งนี้หนึ่งครั้งเพื่อติดตั้งการพึ่งพา build ที่จำเป็นทั้งหมด:
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
หากคุณdeb-src
เปิดใช้งานที่เก็บซอร์สโค้ด (aka ) คุณสามารถใช้:
sudo apt-get build-dep unity
1. การเตรียมสภาพแวดล้อม
แทนที่SOURCE
และPREFIX
กับไดเรกทอรีที่คุณต้องการแหล่งที่มาและสร้างไฟล์ที่จะไป ในตัวอย่างนี้ฉันใส่ทั้งสองไว้ในโฮมไดเร็กตอรี่ของฉัน:
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
คุณอาจจะต้องคว้าเวอร์ชั่นล่าสุดNux
เพื่อรับ Unity trunk เพื่อรวบรวม:
bzr branch lp:nux
cd nux
./autogen.sh --disable-examples --disable-gputests --disable-tests --prefix="$PREFIX"
make -j4
make install
cd ..
เคล็ดลับ : เดสก์ท็อปและแล็ปท็อปที่ทันสมัยส่วนใหญ่มีหลายคอร์ คุณสามารถเร่งความเร็วการรวบรวมได้อย่างมากโดยใช้ประโยชน์จากสิ่งนี้ make
คำสั่งมีการสร้างในการสนับสนุนสำหรับการนี้ซึ่งคุณสามารถเปิดใช้งานโดยใช้-jNสวิทช์ที่Nคือจำนวนของงานที่จะทำงานในแบบขนาน กฎง่ายๆคือใช้จำนวนแกนในโปรเซสเซอร์ของคุณเป็นสองเท่า ดังนั้นในคอมพิวเตอร์แบบดูอัลคอร์ปกติคุณควรรันmake -j4
เพื่อลดเวลาในการรวบรวม
3. การสร้างความสามัคคี
ตอนนี้คว้ารหัส Unity ล่าสุดแล้วสร้างมัน:
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
แค่นั้นออกจากระบบและกลับมาใหม่อีกครั้งและคุณควรใช้ Unity ล่าสุด หรือคุณสามารถเรียกใช้
setsid $PREFIX/bin/unity
4. การอัปเดต
ตรวจสอบให้แน่ใจว่าได้เตรียมสภาพแวดล้อมตามที่อธิบายไว้ในขั้นตอนที่ 1 จากนั้นป้อนทั้งไดเรกทอรีระดับบนสุดnux
และunity
เรียกใช้bzr pull
สร้างใหม่และติดตั้งใหม่
ฉันขอแนะนำให้ลบและสร้างbuild
ไดเรกทอรีใหม่ในunity
ไดเรกทอรีเพื่อให้แน่ใจว่าไม่มีไฟล์เก่าที่มายุ่งกับงานสร้างของคุณ
5. การถอด Unity
นำสามไดเรกทอรี$SOURCE
, และ$PREFIX
~/.compiz-1
ลิงค์ที่มีประโยชน์:
sharedptr
แต่ดูเหมือนว่า gcc ใน 12.04 จะไม่ สนับสนุนหรือต้องการเพิ่มการตั้งค่าสถานะลงในไฟล์ make ดังนั้นการโคลนเวอร์ชั่นที่แน่นอนที่เหมาะสมกับระบบของฉันเป็นสิ่งสำคัญมาก