Ne yazık ki, ARMv6 mimarisi için Cross-derleme Git zorluk çekiyorum.ARM için Git'i çapraz derleme nasıl yapılır?
Ama girdikten ben uyguladığınız adımları ve komutları açıklayan başlamadan önce, kısaca oluşturma ortamını açıklamalıdır:
- ben çapraz derleme duyuyorum Ubuntu 12.10 64 bit üzerinde.
- Çapraz derleyici,
/home/my_name/cctoolchain
'a yüklenmiştir (bu dizinbin/
,lib/
, vb içerir).
here'dan Git 1.8.2'yi yakalamaya başladım. dizini ayıkladıktan sonra koştum:
export PATH=$PATH:/home/my_name/cctoolchain/binBen de
./configure
güncel olduğuna emin olmak için
autoconf
koştu.
./configure --prefix=/home/my_name/git-arm --build=x86_64-linux-gnu --host=arm-linux-androideabi
Bu birkaç saniye için koştu ve daha sonra iptal: Açık configure.ac
kırık ve testi devre dışı bırakarak, çizgileri 806-825 kaldırıldı
checking whether system succeeds to read fopen'ed directory... configure: error: in `/home/my_name/git-1.8.2': configure: error: cannot run test program while cross compiling
şöyle Sonra ./configure
çağrılan. Bunu yaptıktan sonra, benzer bir sebeple 806-839 satırlarını da kaldırmak zorunda kaldım.
Bu noktada, ./configure
komut dosyası tamamlamayı başardı. Sonra heyecanla Git inşa etmek make
koştu ve daha birkaç dakika sonra, bu hata koştu:
fetch-pack.c: In function 'fetch_pack': fetch-pack.c:928:16: error: 'struct stat' has no member named 'st_mtim' make: *** [fetch-pack.o] Error 1nasılsa ben "yanlış yapıyorum" ediyorum duygu olsun. Bu,
configure.ac
'dan testlerin manuel olarak kaldırılmasından çok daha kolay olması gereken bir şeye benziyor. Neyi kaçırıyorum?
Teşekkürler, sorunuz bana çok yardımcı oldu! Sonunda benim için çalışan komut "CC = armv7l-timesys-linux-gnueabi-gcc CFLAGS =" - sysroot =/home/mmes/projeler/arm-cross-sdk/tags/0.1.8 "LDFLAGS =" - -sysroot =/home/evadeflow/projeler/arm-cross-sdk/etiketler/0.1.8 "./configure --prefix =/home/evadeflow/git-arm --build = i386-linux-gnu --host = armv7l-TimeSys-linux-gnueabi'. (''sysroot =' arg çoğu insan için gerekli olmamalıdır. '' (Ac_cv_fread_reads_directories' ve ac_cv_snprintf_returns_bogus') tanımladığınız gibi configure.ac'de bazı testler yapmak zorunda kaldım ve daha sonra yapılandırın. – evadeflow