Bu yazı WebRTC Raspberry PI ve Arm Cihazlar için çapraz derlemeyi anlatmaktadır.
İlk adımlarda webrtc kaynak kodunu indirmek için gerekli olan depot araçlarını kuracağız. Sonra rpi araçlarını kuracağız.
WebRTC Raspberry PI Kurulum Adımları
-
mkdir webrtc
-
cd webrtc
-
sudo git clone https://chromium.googlesource.com/chromium/tools/depot_tools.git /opt/depot_tools
-
echo “export PATH=/opt/depot_tools:\$PATH” | sudo tee /etc/profile.d/depot_tools.sh
-
sudo git clone https://github.com/raspberrypi/tools.git /opt/rpi_tools
-
echo “export PATH=/opt/rpi_tools/arm-bcm2708/gcc-linaro-arm-linux-gnueabihf-raspbian-x64/bin:\$PATH” | sudo tee /etc/profile.d/rpi_tools.sh
-
source /etc/profile
Şimdi sysroot derlenecektir:
-
sudo apt-get install qemu-user-static debootstrap
-
sudo debootstrap –arch armhf –foreign –include=g++,libasound2-dev,libpulse-dev,libudev-dev,libexpat1-dev,libnss3-dev,libgtk2.0-dev wheezy rootfs
-
sudo cp /usr/bin/qemu-arm-static rootfs/usr/bin/
-
sudo chroot rootfs /debootstrap/debootstrap –second-stage
-
find rootfs/usr/lib/arm-linux-gnueabihf -lname ‘/*’ -printf ‘%p %l\n’ | while read link target do sudo ln -snfv “../../..${target}” “${link}” done
-
find rootfs/usr/lib/arm-linux-gnueabihf/pkgconfig -printf “%f\n” | while read target do sudo ln -snfv “../../lib/arm-linux-gnueabihf/pkgconfig/${target}” rootfs/usr/share/pkgconfig/${target} done
Şimdi kaynak kodu indireceğiz:
fetch –no-history –nohooks webrtc
İndirme işlemi uzun süren bir işlem, gidip birkaç film izleyebilirsiniz 🙂
İndirmede hata alırsanız şunu çalıştırın:
gclient sync
Kaynak kodu tamamıyla indirdikten sonra şimdi sıra derlemede. Aşağıdaki adımları takip edin:
-
cd src
-
./build/linux/sysroot_scripts/install-sysroot.py –arch=arm
-
gn gen out/Default –args=’target_os=”linux” target_cpu=”arm”‘
-
mv webrtc/modules/rtp_rtcp/test/testFec/test_packet_masks_metrics.cc webrtc/modules/rtp_rtcp/test/testFec/test_packet_masks_metrics.cc.bak
-
touch webrtc/modules/rtp_rtcp/test/testFec/test_packet_masks_metrics.cc
Ve son olarak:
ninja -C out/Default
Bu komut ile birlikte webrtc ve örnekleri derlenecektir.
Referanslar: