Muhammet Kara a single bit in the universe

JHBuild ile Vala Derlemesinde Türkçe Karakter Hatası ve Çözümü

Öncelikle JHBuild’den bahsetmek istiyorum. Kendisi, test etmek istediğiniz yazılımların son sürümünü otomatik olarak git deposundan indirip derleyen ve stabil sisteminizi tehlikeye atmadan bu yazılımları çalıştırmanıza olanak tanıyan çok güzel bir araç. İlk başta GNOME paketlerinin kolayca derlenmesi için hazırlanan bu araç, sonradan genişletilerek farklı yazılımlara göre de ayarlanabilir hale getirilmiş. İlginizi çektiyse buradan buyrun: http://ur1.ca/hk2km

Vala ise kısaca, genelde GNOME geliştirme ortamında kullanılan C diline nesne yönelimli programlama özellikleri kazandıran bir wrapper. Vala ile nesne yönelimli olarak yazdığınız kodlar, valac tarafından C koduna çevrildikten sonra gcc ile derleniyor.

Ben de Türkçe çevirisini tamamladığım, GNOME’un yeni IRC istemcisi polari‘yi denemek için JHBuild’i kurup şu komutla derlemeye çalıştım:

$ jhbuild build polari

JHBuild, sırasıyla önce polari için gereken paketleri ve en son olarak da polari’yi indirip derlemek üzere işe başladı. Her şey çok güzel gidiyor derken, vala paketinin derlemesi sırasında şuna benzer bir hata verdi:

Error running make -j 3

JHBuild kılavuzunda önerilen tüm yolları denesem de sorun çözülmedi. Ben de internette sonuçsuz kalan bir dizi aramadan sonra GIMPNet IRC sunucusundaki #gnome-hackers kanalında çare aramaya koyuldum. Neyse ki burada Vala geliştiricisi Evan Nemerson ile karşılaştım ve kendisiyle bir süre konuştuktan sonra hatanın Vala’nın ürettiği C kodlarından kaynaklandığını farkettik. valac, Vala kodlarındaki küçük “i” harfini “İ” olarak değiştiren g-utf8-strup() işlevini kullandığı için sonuçta çıkan C kodlarında ITERATOR yerine İTERATOR gibi, C derleyicisini şaşırtacak ifadeler yer alıyordu. :) Evan’ın g-utf8-strup() işlevini ascii karşılığyla değiştirmesiyle sorun çözüldü. http://ur1.ca/hk2qd

Ne yazık ki, git sürüm deposuna giren bu çözümün, normal yollardan (kullandığınız dağıtımın paket deposu aracılığıyla) size ulaşması biraz uzun sürebilir, çünkü dağıtımların paket sürümleri genelde en iyi ihtimalle aylarca geriden geliyor. Geçici çözüm ise, Vala ile kodlanmış programları ya da Vala’nın kendisini derlerken yerel dil ayarlarınızı İngilizce olarak değiştirmek. Bunun için derlemeden önce şu komutu vermek yeterli:

$ export LANG=en_GB.UTF-8

Daha sonra Türkçe ayarlara geri dönmek için ise

$ export LANG=tr_TR.UTF-8

komutunu verebilir ve geçerli yerel dil ayarlarınızı görmek için de şu komutu kullanabilirsiniz:

$ locale

Sorunumuzu çözdüğümüze göre, artık git deposundan son sürümünü edindiğimiz polari’yi

$ jhbuild run polari

komutuyla çalıştırabiliriz. Ve huzurlarınızda, GNOME’un yeni, sade ve kullanışlı IRC istemcisi polari:

GNOME-polari-Hakkında GNOME-polari-Hazırlayanlar polari-Sohbet-Odasına-Katılpolari-menü polari-Sohbet-Odası

Fedora’da yum-utils ile Tekrarlı Paketlerden (Duplicate Packages) Kurtulmak

yum package managerEşimin uzuuun süredir güncelleme yapılmamış dizüstü bilgisayarındaki Fedora’yı güncelledim. Haliyle 700′den fazla güncelleme gerçekleşti. Sonrasında wine kurmak istediğimde ise şöyle bir hata ile karşılaştım:

Hata:  Multilib version problems found. This often means that the root
      cause is something else and multilib version checking is just
      pointing out that there is a problem. Eg.:

        1. You have an upgrade for mesa-filesystem which is missing some
           dependency that another package requires. Yum is trying to
           solve this by installing an older version of mesa-filesystem of the
           different architecture. If you exclude the bad architecture
           yum will tell you what the root cause is (which package
           requires what). You can try redoing the upgrade with
           --exclude mesa-filesystem.otherarch ... this should give you an error
           message showing the root cause of the problem.

        2. You have multiple architectures of mesa-filesystem installed, but
           yum can only see an upgrade for one of those architectures.
           If you don't want/need both architectures anymore then you
           can remove the one with the missing update and everything
           will work.

        3. You have duplicate versions of mesa-filesystem installed already.
           You can use "yum check" to get yum show these errors.

      ...you can also use --setopt=protected_multilib=false to remove
      this checking, however this is almost never the correct thing to
      do as something else is very likely to go wrong (often causing
      much more problems).

En kolayı gibi göründüğü için şansımı ilk önce “yum check” ile denedim. Şu şekilde başlayan ve uzayıp giden bir liste geldi karşıma:

# yum check
Yüklü eklentiler: langpacks, refresh-packagekit
acl-2.2.51-10.fc19.x86_64 is a duplicate with acl-2.2.51-9.fc19.x86_64
cpio-2.11-21.fc19.x86_64 is a duplicate with cpio-2.11-20.fc19.x86_64
cyrus-sasl-2.1.26-10.fc19.x86_64 is a duplicate with cyrus-sasl-2.1.26-9.fc19.x86_64
...

Böylece hatanın asıl kaynağının, bazı paketlerin sisteme iki kopya halinde kurulması olduğunu anlamış oldum. Emektar yum böyle şeyler yapmazdı ama, anlaşılan bir noktada devam eden işlem (transaction) kesintiye uğramış (muhtemelen dizüstü pilinin bitmesi gibi bir nedenle) ve aynı paketleri sonraki sefer yeniden kurmuş. En azından benim tahminim bu. :)

Çözüm:

Öncelikle sistemde yum-utils paketinin kurulu olması gerekiyor. Bende kuruluydu. Daha önce kurmadıysanız şu komutla paketi kurabilirsiniz:

# yum install yum-utils

Sonrasında, çift kurulmuş paketlerin listesini görmek için:

# package-cleanup --dupes

Eğer karşınıza çıkan liste kısaysa, paketleri teker teker kaldırabilirsiniz. Ama liste uzunsa (benim tercihim) şu komutu kullanarak çift paketlerin hepsini birden kaldırabilirsiniz:

# package-cleanup --cleandupes

Ben bu adımları izleyerek sorunu çözdüm. Umarım sizin de işinize yarar.

Fedora 20 Çıktı!

f20_fpo_screenshotFedora 20 (kod adı Heisenbug) duyuruldu. Sürüm notlarına buradan ulaşabilir ve yeni sürümü şuradan indirebilirsiniz.

Fedora 20 sürümü, geçtiğimiz günlerde bir trafik kazasında hayatını kaybeden Seth Vidal’e ithaf edildi. Kendisi, Yum ve Fedora güncelleme depolarının lider geliştiricisiydi.

Her zamanki gibi bu Fedora sürümünün de öntanımlı masaüstü ortamı GNOME. Ayrıca KDE, XFCE, LXDE ya da MATE masaüstü ortamlarından birini de seçme şansınız var.

SSH ile Git Bağlantısında “Agent admitted failure to sign” Hatası

Fedora 18 üzerinde daha önce sorunsuz olarak gnome git hesabıma bağlanıp işlem yapabiliyorken, durduk yere şöyle bir hata almaya başladım (Durduk yere dedimse, hiç bir ayarı değiştirmediğimi kastediyorum; güncellemeler sırasında birşeyler değişmiş belli ki.):

$ git clone ssh://******@git.gnome.org/git/gnome-screenshot
Cloning into 'gnome-screenshot'...
Agent admitted failure to sign using the key.
Permission denied (publickey).
fatal: Could not read from remote repository.

Please make sure you have the correct access rights
and the repository exists.

Şurada söylenene bakılırsa bu hata ile sadece linux sistemlerde karşılaşılıyormuş ve çoğu zaman şu komutu çalıştırarak çözülebiliyormuş:

$ ssh-add

Bu arada, eğer ssh için kullanmak istediğiniz anahtar dosyası öntanımlı adla ve normal konumuna kaydedilmemişse aşağıdaki komutu kullanmanız gerekiyor:

$ ssh-add ~/anahtar-yolum/anahtar-dosyam

Fedora 18 Sonunda Çıktı!

Fedora 18, iki aylık bir gecikmenin ardından, sonunda çıktı.

Yeniden yazılmış kurulum arayüzü ve Sistem Depolama Yöneticisi’nin (SSM) yanında beş farklı masaüstü ortamı seçeneği (Gnome 3.6, Cinnamon, Mate Desktop, KDE Plasma Workspaces 4.9, Xfce 4.10) ile gelen bu yeni sürüm, UEFI Güvenli Açılışı da destekliyor. (Böylece, Windows 8 ile birlikte kolayca paralel kurulum (dual boot) yapılabilecek.)

Fedora Linux’un son sürümünde bulut için de yeni araçlar bulunuyor.

Yeni sürümdeki değişikliklerin tam listesi için Fedora 18 sürüm notlarını okuyabilir ve ilgili iso dosyasını Fedora projesi ana sayfasından indirebilirsiniz.