[Gelistirici] pkgconfig dosyaları ve update-environment
Gökçen Eraslan
gokcen at pardus.org.tr
9 Kas 2008 Paz 15:36:04 EET
Selamlar,
Kitaplıklardan çıkan, .pc dosyaları, o kitaplığı kullanmak isteyen
uygulama/kitaplıklara, kitaplığı kullanmak için gereken inşa bilgilerini
sağlıyor. Örneğin,
gokcen at melmac ~ $ pkg-config sdl --cflags --libs
-D_GNU_SOURCE=1 -D_REENTRANT -I/usr/include/SDL -lSDL
komutunu verdiğiniz zaman gelen çıktıyı doğrudan gcc'ye vererek, o kitaplığı
kullanmak için bilmeniz gereken detayların bir kısmından yalıtılmış
oluyorsunuz.
pkg-config öntanımlı olarak /usr/lib/pkgconfig dizine bakıyor fakat bizim
prefix verdiğimiz kde4/qt4/qt3 programları, prefix dolayısıyla .pc dosyalarını
prefix/lib/pkgconfig dizinine koyuyor. Mesela
gokcen at melmac ~ $ ls /usr/kde/4/lib/pkgconfig/
akonadi.pc Decibel.pc libkdcraw.pc libkexiv2.pc libkipi.pc libksane.pc
Dolayısıyla, bunları kullanmak isteyen uygulamalar pkg-config ile
istediklerini alamıyorlar:
gokcen at melmac ~ $ pkg-config akonadi --libs
Package akonaki was not found in the pkg-config search path.
Perhaps you should add the directory containing `akonadi.pc'
to the PKG_CONFIG_PATH environment variable
No package 'akonadi' found
Diyorum ki, qt3/qt4/kde3/kde4'ün içinden /etc/env.d'ye giden dosyaların içine
PKG_CONFIG_PATH değişkenini değiştiren satırlar ekleyelim böylece onlar da
kendi dizinlerini eklesinler buraya. Böylece yukarıda çalışmayan komut da
çalışmış olur.
Bu paketlerdeki değişikliklere ek olarak, müdür'e şöyle ufak bir yama da
gerekiyor:
Index: update-environment.py
===================================================================
--- update-environment.py (revision 20617)
+++ update-environment.py (working copy)
@@ -44,6 +44,7 @@
"PYTHONPATH",
"ADA_INCLUDE_PATH",
"ADA_OBJECTS_PATH",
+ "PKG_CONFIG_PATH"
)
def read_env_d(envdir):
Ne dersiniz? Eğer itirazı olan yoksa mudur/kde3/qt3/kde4/qt4 paketlerinde
gerekli değişiklikleri yapacağım.
--
Gökçen Eraslan
Gelistirici mesaj listesiyle ilgili
daha fazla bilgi