Compiling software
İçindekiler
Yeni Başlayanlar İçin Derleme
Yazılımlar bazen-genellikle binary RPM (hali hazırda derlenmiş) olarak değil, kaynak kod olarak dağıtılırlar. Bu durumun birçok nedeni olsa da çoğu zaman asıl sebep derlemenin çokça zamana ve paketleme (derleme) bilgisine ihtiyaç duymasıdır.
Her ne kadar başlangıçta: “<abc>’yi kaynaktan derledim” cümlesi ileri düzey bilgisi gerektiriyor gibi görünse de, yazılımı (programı) derlemek ve kurulumunu yapmak kolaydır. Kullanıcıların büyük çoğunluğu için yeterli olan ön kurulum seçenekleri (default options) iyice yaygınlaşmış olsa da bu süreç her defasında “Beni Oku” (readme) dosyasında, burada da olduğu gibi açıklanır.
Derlemekten kaçının :-)
İlk adım olarak uygulamanın rpm binary (en yaygın olan ön-derlemesi yapılmış rpm türü) ) FTP ya da dış kurulum kaynakları olarak bulunup bulunmadığını araştırın.
Yazılımın bu şekilde bulunamadığı durumlarda üzerinde çalışılmakta olan RPM sürümlerine bakın. Ya da aradığınız yazılıma seçenek olabilecek ve aynı işi görebilecek yazılımları arayın. Bitmemiş haldeki RPM sürümleri için buraya, buraya ve buraya adresler ve arama motorları size yardımcı olacaktır.
Basit uygulamalar için “a SUSE rpm” hayati değildir. Büyük bir olasılıkla her rpm (normal kullanım için hazırlanmış olan her rpm) işe yarayacaktır.
Denemeleriniz sonuç vermediği takdirde, kendi yazılımınızı kendiniz derleyebilirsiniz. Derleme işlemi sonuçta kaynak kodu çalıştırılabilir bir programa dönüştürmek demektir.
Neyi derlemek gerekir?
İlk olarak geliştirme araçlarını (development tools) kurmanız gerekecektir. YaST programında , Yazılım Yönetimi (Software Management) bölümüne gidin ve Seçimler” (Selections) bölümünde, filtreleri kullanın. Filtre olarak en azından “C/C++ Derleyicisi ve Araçları” (C/C++ Compiler and Tools) seçeneğini kullanın. Bazı durumlarda KDE, Gnome ve Tcl/Tk Geliştirme (Development ) ve bazı durumlarda “Çekirdek Geliştirme (Kernel Development)” seçeneklerine de ihtiyaç duyabileceğinizi göz önünde bulundurmanız gereklidir. Bu işlemin tek olumsuz etkisi ise sadece diskinizde yer kaplaması olacaktır.
İşleme başlamadan son sürümde çalıştığınızdan emin olmak için önce Yast güncellemesi yapın.
Kolay kurulum ve kaldırmalı (easy installation and de-installation) yaratmak için “Kurulum Kontrolü” seçeneğini de (checkinstall) kurun. Şablon:Not
- Önemli Not
- Uygulamaların çoğu “başlık” (headers) içermek için derlenmiş olmaya ihtiyaç duyarlar. Başlık kısmı program kaynak kodunda yer alır ve içerikte neyin nerede olduğunu (bilgisayar dilinde) bildiren kısımdır. Başlıklar sıklıkla “devel” paketleri adı verilen kısımda bulunurlar. Eğer “XXX uygulamasına ulaşılamıyor, eğer XXX uygulamasının bilgisayarımıza kurulduğundan eminseniz, bunun sebebi büyük ihtimalle “devel” kısmını kurmamış olmanız olabilir.” Şeklinde bir mesaj alıyorsanız şuna dikkat etmelisiniz: çoğu “devel rpm’si sonu –devel ile biten bir ise sahip olur. Hatta YaST’ta bütün devel paketlerini işaretle seçeneği vardır (bu seçenek çok disk alanı ister ve sadece derleme yapmak için kullanışlı olacaktır).
Derleme Yapma
Yukarıda dikkatinize sunulanları yaptıysanız, bu işlemler bir kereye mahsus olduğunua göre, derleme yapmaya hazırsınız demektir. İşe kaynak dosyasını indirmekle başlayın. Kaynak dosyaları çoğu zaman tgz ya da bz2 uzantılı olurlar. Bu dosyaları paketlerinden çıkarmak için uygun programı çalıştırınız. En çok kullanılan “tar –zxvf dosya.tgz” ya da “tar –jxvf dosya.bz2” dir. Paketten çıkarmak için yararlı bir aracına: eXtract Everything! adresinden ulaşabilirsiniz. Kde kullanıyorsanız Konqueror penceresinde arşiv ismine tıklayın. Konqueror yeni bir pencerede klasörü gösterecektir. Kopyala / Yapıştır seçeneğini kullanarak klasörü istediğiniz alana yerleştiriniz; sonuçta artık yeterince kaynağınız mevcut :-)
Biraz önce yarattığınız klasörü directory’ye taşıyınız ve içinde yer alan BENİ_OKU ve / ve ya KUR dosyalarını okuyunuz.
Bu dosyalar genelde aşağıdaki süreci anlatırlar:
- Doğrulama
- Derleme yapmak için gerekli tüm unsurlara sahip olduğunuzdan emin olun. Bu işlem için kullanacağınız araç “configure” ‘dur. run ./configure ile işlemi başlatınız. Bu noktada “./” ön ekini eklemeyi unutmayınız. Bu aşamada, daha ilerideki seviyeye geçmeden önce mesajların / uyarıların işaret ettiği tüm hataları düzeltmeniz gerekecektir.
- Derleme
- Şimdi ihtiyacımız olan “make”. Bu, programı / yazılımı yaratacak ve kullanılabilir – çalıştırılabilir hale getirecektir. Bu işlem tamamlandığında büyük olasılıkla program çalıştırılabilir seviyede olacaktır. “make”’in yerini belirleyin ve ./program ya da src/program seçenekleri ile denemenizi yapın. Bu işlemin süresi uygulamanın boyutuna bağlı olarak kısa ya da uzun sürecektir.
- Kurulum
- Normal şartlarda “root” olmamızı gerektirecek tek kısım burasıdır. Bu aşama, aynı zamanda en çok dikkat gerektiren aşamadır, zira bu işlem sonucunda yeni derlediğimiz yazılım tamamıyla düzgün çalışan eski yazılım ile değiştirmiş olabileceğimizden mümkün ise önce denemenizi şiddetle tavsiye ederiz. Bu aşama sisteminize zarar verebilme ihtimali olan tek aşamadır. Bunun yanı sıra kaynağı belirsiz bir derleme yapıyor iseniz virüs ya da Truva atı (trojan) derlemiş olabileceğinizi önemle hatırlatmak isteriz. Özellikle sisteme “root” olarak giriş yaptığınızı düşünecek zararlı bir içerik derlemenin sonuçları daha da ciddi olacaktır. Sonuç itibarı ile kaynağı belirsiz kodlardan derleme yaparken dikkatli olunuz ( paranoyak olmak yerine, her ne kadar ciddi sorun yaratacak durumlar Linux dünyasında şimdilik ender görülse de, gelecekte risk faktörü daha yüksek olacağını göz önünde bulundurunuz ).
Kurulumu gerçekleştirmenin bir yolu, “su –c make install” komutu iledir (“su” root olduğunuz yerdir ve sadece bu işlem içindir). Bilgisayar root şifrenizi soracak ve büyük bir ihtimalle yazılımı /usr/local/bin/ alanına kuracaktır.
Bir diğer yol ise öncelikle bir kurulabilir – kaldırılabilir bir RPM yapmaktır. Burada su -c make install yerine su -c checkinstall kullanınız. Bu yol, usr/src/packages/RPMS alanında diğer RPM’ler gibi kurulabilir bir paket yaratacaktır.
İşler Yolunda Gitmediğinde:
Çoğu paket beklendiği şekilde çalışır. Bazen, ki eski ve karmaşık programlarda bu olasılık daha da fazladır, işlemden beklediğimiz sonuçları alamayız. Daha önceki aşamalarda en iyi olasılığı seçtiğinize ve RPM'nin ön-derlemesini yaptığınıza göre yanlışı - hatayı aramanız gereklidir.
Hata mesajlarını okuyun. Mesaj kayıp bir unsur olduğunu söylüyorsa, aranan bileşen büyük ihtimalle kurulmamış durumdadır. Dış kaynaklardan yardım alacaksanız hata mesajlarını da mesajınıza ekleyiniz, bu doğru cevabı alma şansınızı hayli aldıracaktır.
Program yaratıcısının web sitesini iyi bir fikir olabilir. Çoğu zaman, özellikle uzmanlaşmış kitaplıklara-kütüphanelere ihtiyaç duyulduğunda (BENİ_OKU ya da KUR dosyalarından daha ayrıntılı olmak üzere), web sitesi derleme işlemini çok çok iyi anlatır.
Örnek vermek gerekirse, “Kdenlive” henüz çok yeni (şimdilik kararsız) bir görüntü işleme programıdır. Çok sayıda kitaplığa bağlı çalışır ve bu kitaplıkların son sürümlerinde olmalarını istediğinden öncelikle bu kitaplıkları derlemeniz gerekir. İzlek (prosedür) bu adreste bulunabilir: http://kdenlive.sourceforge.net/downloads.php . Bu izleğe bağlı kalındığında Kdenlive bir saate yakın bir sürede sorunsuz bir şekilde kurulmuş olacaktır. Bununla beraber izlek boyunca gözden kaçan her unsur hataya sebep olacaktır.
Özet:
Yapılması gerekenleri kısaca ifade etmek gerekirse: ./configure make su -c checkinstall
Sorun anında: hata mesajlarını okuyun