2009-12-10 23 views
5

ben bana aşağıdaki hatarpm yapı hata

  • veren bir devir paketi oluşturmak için çalıştı /usr/lib/rpm/find-debuginfo.sh/usr/src/redhat/YAP/RPMS bulmak : geçersiz yüklem `' hatası: /var/tmp/rpm-tmp.86590 (% yükleme) den Kötü çıkış durumu bana bu konuda yardımcı herhangi birine .can nedeni ne olabilir ... teşekkürler

cevap

6

Spesifikasyon dosyanızda BuildRoot değişkenini tanımlamayı deneyin. Find-debuginfo betiği bu dizine birkaç kez bakar ve onsuz ölür.

Bu genellikle gibi bir şey olacaktır: İkinci soruya gelince BuildRoot: %{_tmpdir}/%{name}-%{version}-%{release}

, doğrudan spec dosyası ve kaynakları görmeden söyleyemem, hem de hiç bir RPM uzman anlamına tarafından duyuyorum. En fazla RPM'nin 13. Bölümüne (çevrimiçi ücretsiz kopyalar var) ve Tom Callaway'in How to make good RPM packages sunumundan notları tavsiye edeceğim - geçmişte çok yardımcı olmak için örneklere burada değindim. senin spec olarak

+0

Eksik BuildRoot sorunun tam köküdür - bunu tanımlamak (ile başlaması gereken gibi ..) sorunu çözer. Teşekkürler! – Shirkrin

5

en üstteki yapabilirsiniz:

%define debug_package %{nil} 

Bu, bu sorunu

1

atlayacak bir RedHat 5.3 sunucuda oluşturmaya çalışırken ben sadece bu aynı sorun çarptı. İşte bulduğum şey. Hata, boş bir RPM_BUILD_ROOT değişkeninin neden olduğu görünüyor. RPM_BUILD_ROOT tanımlı değilse

find "$RPM_BUILD_ROOT" ! -path "${debugdir}/*.debug" -type f \ 
       \(-perm -0100 -or -perm -0010 -or -perm -0001 \) \ 
       -print | 

bulmak daha sonra ilk argüman bu hataya neden boş bir dize "" dir: Aşağıda bir kusurlu çizgidir. İlginçtir ki, eğer tırnakları $RPM_BUILD_ROOT'dan çıkarırsanız, ilk argüman "!" Olacağından komut güzel çalışır. Spec dosyasında bir "BuildRoot:" tanımlamak gerekli olmadığından, bu kesinlikle bana bir hata gibi görünüyor.