Neden rpm'yi kaynaktan derleyelim?


1

Bildiğim: src.rpm genellikle uygulama / kütüphane / paket için bir tür katran veya sıkıştırılmış kaynak kodu içeriyor

Ne bilmiyorum: Neden kaynaktan derleyelim? Kaynaktan derlemek için neye ihtiyacım var? gcc? xlc?

Bilmek istediklerim: Varsayımsal olarak, eğer bir src rpm'niz varsa, o rpm'yi Fedora'da çalıştırmak için derleyip aynı src rpm'yi AIX'e almak ve AIX'de çalıştırmak için derlemek misiniz?


Evet ve hayır. Bu kadar basit değil, çünkü aix tüm kütüphane ve paket bağımlılıklarına sahip olmayabilir. Ayrıca, derlemenin ./configure aşamasını veya dosyaların yükleneceği yeri değiştirebileceğiniz anlamına gelir.
Sirex

Yanıtlar:


4

Eh, .src.rpm, kaynak kodunu ve çeşitli dosyaların ve çalıştırılabilir dosyaların nereye kopyalanacağı (yüklü) hakkında bilgi içerir.

Bu yüzden, evet, kaynağı hem Fedora hem de AIX'de derleyebilmelisiniz. Ancak bu, "rpm'yi de kurabileceğiniz" anlamına gelmez. Yükleme çeşitli sistem gibi klasörlere dosya kopyalama oluşur /usr, /etcböylece ve. Farklı işletim sistemleri belirli dosyaların farklı konumlarda olmasını bekler, bu nedenle Fedora için bir .rpm'nin AIX'e yüklenebileceği garantisi yoktur. Aslında, son derece düşük bir ihtimal.

Derlemeye gelince, kaynaktan belirli bir donanımınız için optimize edilmiş bir ikiliye sahip olmak için derlemek ya da belirli kütüphanelerin yeri gibi belirli derleme bayraklarını etkinleştirmek isteyebilirsiniz. Genel olarak, neden kaynaktan derlenmeniz gerektiğini bilmiyorsanız, muhtemelen yapmamalısınız.

Derlemeyi seçerseniz uygun derleyiciye ihtiyacınız olacaktır. Bu (diğerleri arasında olabilir) gccveya xlcC veya C ++ ile yazılmış yazılımlar, javacJava vb. İçin olabilir. Hangisini kullanmanız gerekir, yüklediğiniz yazılıma ve kişisel tercihinize bağlıdır. Bazen, yazılım belirli derleyiciler düşünülerek yazılmıştır (derleme zamanında belirli seçenekleri kullanarak) ve bir başkasıyla derlemeye çalıştığınızda şikayetçi olurlar.

Son olarak, çoğu * nix kaynak tarball'ı bir Makefile ve configure betiği içerir. Bunları kullanmak için gerekli araçlara sahip olmanız gerekecektir. Configure betiği genellikle basit bir BLASH betiğidir, bu yüzden BASH kurduğunuz sürece iyi olmalısınız. Makefile kullanarak makekomut gerekiyor . Ayrıca ihtiyacınız olacak başka bazı temel araçlar (autoconf ve automake ve diğerleri gibi) vardır. Yıllardır RH tabanlı bir dağıtım üzerinde çalışmıyorum hayır ama bellek çalışıyorsa, bu komut ihtiyacınız olan her şeyi yüklemelidir:

yum groupinstall "Development Tools" 

Ayrıntılı açıklama için teşekkür ederiz. Bu benim için bu süreçle ilgili birçok belirsizliği ortadan kaldırdı. Süreci sadece işletim sistemi / yönetici tarafında görmüştüm, geliştirme sürecini değil, bu da perspektifi ortaya koyuyormuş gibi hissediyorum.
Hayek Patlayıcıları

@HayekSplosives sorunuzu yanıtlarsa, lütfen soruyu cevaplandı olarak işaretleyebilmek için kabul edildi olarak işaretleyin.
terdon
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.