Paketleme hataları ve çözümleri
Dilim döndüğünce kendi paketlediğim paketlerde karşılaştığım hataları buradan sizlerle paylaşacağım. İnşallah faydası olur.
Hata.1: unpack: kaynak arşivin bütünlüğünde sorun var.
Çözümü; Sha1sum değeri yanlış olduğundan bu hatayı alırsınız. sha1sum değerini çözmek için dosyanın olduğu dizin de F4 tuşuna basın sha1sum dosyaadi.tar.gz yazın ve enter tuşuna basın.
Hata.2:PISI.source.description: En azından bir tane ‘Description’ etiketi yerel metne sahip olmalı.
pspec.xml içerisinde yer alan description etiketinin bulunmamasından kaynaklanan bir hatadır.
Çözümü; pspec.xml içerisine description etiketini ekleyin.
örnek görüntü
<Summary>An Exiv2 wrapper library</Summary>
<Description>libkexiv2 is a wrapper around Exiv2 library to manipulate pictures metadata as EXIF/IPTC and XMP. </Description>
<Archive sha1sum=”273d76f2414c2dc442ab8f9dc72578977aba0f0c” type=”tarxz”>mirrors://kde/stable/4.8.1/src/libkexiv2-4.8.1.tar.xz </Archive>
Hata.3: XML sözdizimi geçersiz. Bu hata pspec.xml içerisinde etiketlerden birinin yanlış veya hatalı yazılmasından kaynaklanır.
Mesela,
<RuntimeDependencies>
<Dependency>libgpg-error<Dependency>
<Dependency>libgpg-error</Dependency>
</RuntimeDependencies>
ikiside aynı satır fakat ilk dependency satırında <dan sonra /yok ve bundan dolayı hata verir. bu bir örnekti. bu hatayı alanlar lütfen pspec.xml içerisine dikkatli baksınlar ve hatayı göreceklerdir.
Hata.4: install dizini altında terkedilmiş dosyalar var.
Kurulum dizini (/var/pisi/libmicrohttpd-0.9.2-6/install) altında terkedilmiş dosyalar var:
- /usr/lib/libmicrohttpd.a
- /usr/lib/libmicrohttpd.so.10.0.0
- /usr/lib/libmicrohttpd.so.10
- /usr/lib/libmicrohttpd.so
- /usr/lib/pkgconfig/libmicrohttpd.pc * 1 hata, 0 uyarı Program sonlandırıldı.
çözümü;
koyu yazılmış alanı ekler iseniz sorun çözülür. Files alanına ekleyebileceğiniz diğer path çeşitleri
Hata.5: kaynak paketi /usr/include yolu için birden fazla ‘Path’ etiketi içeriyor Çözümü; pspec.xml içerisinde birden fazla
Hata.6: checking for GLIB – version >= 2.30.2… no Bu hatanın sebebi sisteminiz de bulunan glib versiyonu 2.30.2′den daha düşük bir versiyondur. Yapmanız gereken istenilen sürüm veya üzerini paketlemektir.
örnek başka bir hata checking for GTK+ – version >= 2.24.10… no çözümü yine aynıdır.
Hata.7:Sistem hatası. Program sonlandırıldı.
Doğru olan;
<Archive sha1sum=”baf5c73e186352cad767392a6b55840be0326ddc” type=”tarxz”>http://ftp.gnome.org/pub/GNOME/sources/gtk+/2.24/gtk+-2.24.10.tar.xz</Archive>
hatalı olan;
<Archive sha1sum=”baf5c73e186352cad767392a6b55840be0326ddc” type=”tarbz2″>http://ftp.gnome.org/pub/GNOME/sources/gtk+/2.24/gtk+-2.24.10.tar.xz</Archive>
Hata.8: Arşiv için bilinmeyen bir tip (tarbxz) verilmiş: automake-1.11.4.tar.xz dosya uzantısı type=”tarbxz” yazıldığı için bu hatayı alırsınız. doğrusu type=”tarxz”
Hata.9: configure.py: error: ‘/usr/bin/qmake’ is not a file (bu hata kurumsal 2′de görülmüştür.)Usage: python configure.py [opts] [macro=value] [macro+=value]configure.py: error: ‘/usr/bin/qmake’ is not a file
DEBUG: “python configure.py -q /usr/bin/qmake” dönüş değeri 2
Traceback (most recent call last):
File “/media/Depo-2/pisiyap/python-qt/actions.py”, line 19, in setup
pythonmodules.run(“configure.py -q /usr/bin/qmake”)
File “/usr/lib/pardus/pisi/actionsapi/pythonmodules.py”, line 80, in run
if system(‘python %s’ % (parameters)):
File “/usr/lib/pardus/pisi/actionsapi/shelltools.py”, line 255, in system
error(_(“Command \”%s\” failed, return value was %d.”) % (command, retValue))
File “/usr/lib/pardus/pisi/actionsapi/__init__.py”, line 27, in error
raise Error(msg)
pisi.actionsapi.Error: “python configure.py -q /usr/bin/qmake” komutu başarısız oldu, dönüş değeri: 2 .
bu hatanın nedeni actions.py içerisinde yer alan
def setup():
pisitools.dosed(“configure.py”, ” check_license()”, “# check_license()”)
pythonmodules.run(“configure.py -q /usr/bin/qmake”)
Satırların ikincisinde belirtilen adreste istenen dosyanın olmamasıdır.
Hatayı çözmek için şu şekilde değiştiriniz.
def setup():
pisitools.dosed(“configure.py”, ” check_license()”, “# check_license()”)
pythonmodules.run(“configure.py -q /usr/bin/qmake-qt4“)
hata 10: Yama dosyası eksik:
parduskurumsal gdb # pisi bi --ignore-sandbox pspec.xml -d Kaynak paket inşa ediliyor: gdb Program sonlandırıldı. Yama dosyası eksik: suse/gdb-bz541866-rwatch-before-run.patch
hatanın nedeni indirdiğiniz inşa dosyalarında eksik dosya olduğunu ifade eder. Çözümü, files/suse/ içerisine adı geçen dosyayı eklemektir.
hata 11: [Errno 2] Böyle bir dosya ya da dizin yok Genelde paketin kaynak dizini standart olmadığı zaman oluşur. Tam metni şuna benzer:
$ sudo pisi bi devel/applications/network/kmess/pspec.xml
Paketler çalışma dizinine yazılıyor.
PİSİ kaynak paketi Kmess inşa ediliyor
Emniyet mandalı: taban geliştirme sistemi system.devel halihazırda kurulu
Kaynak http://mesh.dl.sourceforge.net/sourceforge/kmess/kmess-1.4.3.tar.gz adresinden indiriliyor
kmess-1.4.3.tar.gz [önbellekte]
Kaynak arşivi saklandı: /var/cache/pisi/archives/kmess-1.4.3.tar.gz
Arşiv açılıyor... açıldı (/var/tmp/pisi/Kmess-1.4.3-1/work)
Kaynak yapılandırılıyor
Sistem Hatası: Program Sonlandırıldı.
[Errno 2] Böyle bir dosya ya da dizin yok: '/var/tmp/pisi/Kmess-1.4.3-1/work/Kmess-1.4.3'
Genel yardım için lütfen 'pisi help' komutunu kullanınız.
Bir geri-iz (traceback) görmek için lütfen --debug seçeneğini kullanın.
Standart paketlerin kaynaklarında kaynakadı-sürüm (kmess-1.4.3) adında bir dizin vardır. Pisi bu dizini pspec.xml'in source bölümündeki name ve history bölümündeki sürüm numarasına bakarak bulabilir. Fakat bazı paketlerde sıkıştırılmış dosyanın içindeki dizinin adı farklıdır. Bu durumda yapılacak şey actions.py'de def setup(): satırından önce WorkDir = "phex_2.8.10.98" gibi standart olmayan dizinin adını belirtmektir. Böylece pisi işlemine devam edebilecektir.
hata 12: XML sözdizimi geçersiz Hazırladığımız pspec.xml dosyası bozuksa bu hatayla karşılaşırız. Tam hata mesajı şunun gibidir:
$ sudo pisi bi devel/applications/network/kmess/pspec.xml Paketler çalışma dizinine yazılıyor. Program sonlandırıldı. '/home/jnmbk/pisidepo/devel/applications/network/kmess/pspec.xml' dosyasının XML sözdizimi geçersiz Genel yardım için lütfen 'pisi help' komutunu kullanınız. Bir geri-iz (traceback) görmek için lütfen --debug seçeneğini kullanın. Çözümü için
xmllint -valid pspec.xml
komutunu vererek pspec.xml'in hatalı yerini görebilir ve bunu düzeltebilirsiniz. Gerekli im InstalledSize bulunamadı Genelde bu hata mesajı pspec.xml'deki files bölümünü yanlış yazmamızdan kaynaklanır. Hatanın tam metni şunun gibidir:
$ sudo pisi bi devel/applications/network/kmess/pspec.xml
Paketler çalışma dizinine yazılıyor.
PİSİ kaynak paketi kmess inşa ediliyor
Emniyet mandalı: taban geliştirme sistemi system.devel halihazırda kurulu
Kaynak http://mesh.dl.sourceforge.net/sourceforge/kmess/kmess-1.4.3.tar.gz adresinden indiriliyor
kmess-1.4.3.tar.gz [önbellekte]
Kaynak arşivi saklandı: /var/cache/pisi/archives/kmess-1.4.3.tar.gz
Arşiv açılıyor... açıldı (/var/tmp/pisi/kmess-1.4.3-1/work)
Kaynak yapılandırılıyor
Kaynak inşa ediliyor...
Kuruluyor...
Semboller çıkarılıyor..
** Paket kmess inşa ediliyor
files.xml yaratılıyor,
metadata.xml yaratılıyor,
İnşa (build) sayısı koyulmayacak. Depo inşaları için buildno seçeneğini pisi.conf dosyasında etkinleştirmelisiniz.
Program sonlandırıldı.
Gerekli im InstalledSize bulunamadı
autoxml.write: Dosya biçimlendirmesi '/var/tmp/pisi/kmess-1.4.3-1/metadata.xml' hatalara sahip
Genel yardım için lütfen 'pisi help' komutunu kullanınız.
Bir geri-iz (traceback) görmek için lütfen --debug seçeneğini kullanın.
Bu durum eğer pspec.xml'den kaynaklanıyorsa Files bölümünü şu şekilde doldurarak atlatabilirsiniz:
hata 13: component.xml üst dizinde bulunamıyor Bu hata mesajı pspec.xml'deki PartOf bölümü doldurulmadığı zaman oluşur. Tam metni şöyledir:
$ sudo pisi bi devel/applications/network/kmess/pspec.xml
Paketler çalışma dizinine yazılıyor.
PİSİ kaynak paketi kmess inşa ediliyor
Emniyet mandalı: taban geliştirme sistemi system.devel halihazırda kurulu
PartOf imi tanımlanmamış, bileşen araştırılyor
Sistem Hatası: Program Sonlandırıldı.
component.xml üst dizinde bulunamıyor
Genel yardım için lütfen 'pisi help' komutunu kullanınız.
Bir geri-iz (traceback) görmek için lütfen --debug seçeneğini kullanın.
Bu hatadan kurtulmak için iki tane çözüm vardır. Birincisi pspec.xml dosyasının bulunduğu dizinin bir altındaki dizine component.xml adlı bir dosya yerleştirmek, ikincisi ise pspec.xml'deki PartOf bölümüne anlamlı bir şeyler yazmaktır. component.xml dosyası örneği için buraya bakabilirsiniz: http://svn.pardus.org.tr/pardus/devel/applications/network/component.xml