Saya sudah mengajukan pertanyaan ini pada Stack Overflow, tetapi saya ingin tahu apakah ada yang berhasil membangun toolchain GCC 4.7 untuk kompilasi silang ARM (untuk host Linux x86 / x86-64). Ada banyak instruksi untuk membangun GCC dari sumber dan banyak cross-compiler tersedia untuk versi GCC pra-4.7, hanya saja bukan yang terbaru.
Kompilasi pada Rasp Pi sendiri berfungsi dengan baik, tetapi agak terlalu lambat untuk tujuan praktis.
Saya ingin mendapatkan kompilasi dan saya ingin menggunakan alat terbaru dan terbaik.
software-development
cross-compilation
gcc
tlhIngan
sumber
sumber
Jawaban:
Saya menemukan petunjuk ini Cara membuat kompiler silang untuk Raspberry Pi Anda . Ini adalah cara yang bagus untuk menggunakan
crosstool-ng
alat yang menyederhanakan konfigurasi cross-compiler build A LOT (memiliki antarmuka berbasis kutukan yang bagus) dan mendukung GCC 4.7.Saya telah mengikuti langkah-langkah ini dan berakhir dengan build yang sukses dengan 4,7 cross-compiler.
crosstool-ng
dari sini (saya menggunakan versi 1.15.2)../configure
/make
/install
cd
masuk ke dalamnya.ct-ng menuconfig
. Anda akan diberikan serangkaian menu yang bagus untuk mengonfigurasi bangunan Anda.Pilih direktori Awalan yang sesuai . Ini adalah direktori tempat kompiler dan pustaka Anda akan diinstal (semuanya baik-baik saja, pastikan direktori tersebut kosong).
Buka menu Opsi target .
Anda mungkin juga ingin mengatur parameter floating point ke softfp (lihat ini untuk info lebih lanjut), tetapi hardfp lebih sesuai untuk Raspbian.
Buka menu C-library dan pilih satu. Default-nya adalah eglibc tetapi yang itu tidak bagus untuk saya, jadi saya menggunakan glibc (versi terbaru).
crosstool-ng
ct-ng build
di direktori yang sama. Tunggu beberapa saat (sekitar 45 menit dalam kasus saya) dan kompiler silang Anda harus siap.Tampaknya bekerja dengan baik!
sumber
Bahkan, alat-alat terbaru dan terbaik tidak perlu dibangun sendiri. Pada Repositori Raspberry Pi Tool GitHub Anda akan menemukan
X86_64
danx686
toolchains untuk perangkat lunak lintas-kompilasi.Saya sarankan menggunakan
x86-linux64-cross-arm-linux-hardfp
toolchain, karena itu akan dikompilasi untuk Hard Floating Point, yang akan menghasilkan sistem yang jauh lebih cepat.Catatan: Jika Anda menggunakan kernel yang ada maka Anda harus menggunakan toolchain yang cocok dengan kernel. Aplikasi HardFP tidak akan berfungsi pada kernel SoftFP.
Untuk menggunakan toolchain cukup periksa repositori:
The
--depth
parameter akan berarti bahwa Anda tidak harus menunggu sejarah repositori untuk diunduh juga (karena kita tidak akan menggunakannya).Kemudian tambahkan binari ke variabel PATH Anda:
Atau untuk bertahan di PATH:
Untuk mengkompilasi dengan rantai alat Anda sekarang dapat menambahkan
CROSS_COMPILE
parameter. Misalnya, saat menjalankanmake
:Atau untuk mempermudah ini, Anda dapat menyimpan variabel ke
bashrc
lagi:dan sekarang gunakan variabel saat kompilasi:
sumber
Perhatikan bahwa ketika membangun toolchain menggunakan ct-ng pada centos 6.3 pada sistem 64 bit saya terpaksa membatalkan pilihan untuk secara statis menghubungkan libstdc ++ karena tautan statis tidak didukung pada platform (tampaknya).
Selain itu, walaupun akan lebih baik menggunakan prchainilt toolchain dari repositori git, rantai itu tampaknya tidak bekerja pada Centos 6.3 - mungkin karena ia dibangun untuk sistem yang lebih modern atau semacamnya. Saya tidak benar-benar mencoba menjalankan ini.
sumber
Panduan ini mungkin bermanfaat.
Itu membantu saya mendapatkan milik saya. Saya menambahkan beberapa komentar tentang penyetelan juga.
sumber
Jika Anda ingin mendapat manfaat dari host cepat untuk mengkompilasi hal-hal untuk RPI Anda, saya sarankan untuk bekerja di lingkungan lintas melalui chroot dan QEMU. Ini dengan cara menggantikan kompiler silang tanpa kerumitan.
Cukup siapkan lingkungan lintas Debian menggunakan deboostrap / multistrap
(lihat bab QEMU / pendekatan debootstrap) dan Anda selesai.
sumber
Jika Anda akan melakukan kompilasi silang dari OS X: inilah artikel yang bagus (dan satu-satunya yang berfungsi di web yang saya temukan).
Hal terbaiknya adalah penulis menyediakan toolchain lengkap yang sudah dikompilasi , jadi Anda hanya perlu mengunduh, unzip, dan me-mount gambar dmg. Dan itu saja, Anda siap melakukan kompilasi silang.
sumber
Jika Anda menginstal Ubuntu 64 bit edisi dan alat-alat dari Raspberry Pi SVN dan Anda mendapatkan kesalahan:
lari saja:
sumber
Carlson-Minot Inc. menyediakan toolchain prebuilt untuk target bare-metal dan GNU / Linux. Toolchain ini didasarkan pada Mentor Graphics Sourcery Lite toolchain dengan perbaikan dan adopsi untuk pengembangan OS X. Lihat
sumber