2012-01-23 13 views
12

derlenmiş bir yürütülebilir dağıtılması. Plan, sistem() çağrılarını kullanarak R'ye arabirim kurmaktır. Bu yürütülebilir dosyayı dağıtmak için iznim var, ancak kaynak kodunu değil. Ne yazık ki sadece Windows 32 bit altında derlenmiş ve farklı mimariler altında kolayca yeniden derlemek mümkün değildir.Üçüncü parti derlenmiş yürütülebilir içerecek bir R, bir paket hazırlama am R paketin

bu paket biraz sınırlı bir kitleye sahip olacağını anlamak, nasıl yürütülebilir dağıtılması gerekmektedir? Bunun için CRAN’a izin verilmeyeceğini de biliyorum.

Örneğin, çalıştırılabilir yüklü kendisini olduğunda paket nasılsa yürütülebilir indirmelisiniz dönüşümlü paket yükleme/bin/alt klasöründe yer alan veya edilmelidir. herhangi yaparsanız ek olarak

ne lisans konuları, bu senaryo altında yüz?

+0

İlginç ve güzel bir soru, ama gerçekten değil _programming_. –

+2

Bence bu soru sitenin kapsamı ile kaplıdır, hat boyunca bir şey (SSS'den): Programcılar tarafından yaygın olarak kullanılan yazılım araçları –

+3

Teşekkürler Joshua. Bu doğrudur, kesinlikle bir programlama sorusu değildir. Ancak, R programcılarına ve paket geliştiricilerine kesinlikle ilgi gösteren bir soru. – digitalmaps

cevap

9

ben böyle bir şey yapmak iki paket üzerinde çalışmış, hem çünkü (bu arada, bana mükemmel mantıklı görünüyor) CRAN ikili kısıtlama R-demirhaneye barındırılan. (Ben senin soru belirgin bir şey eksik sanmıyorum -. Sadece yapmam seçti burada ne diyerek)

  • cpcbp paketi (ortak temel bileşenler/arka projeksiyon) derlenen bir ikili kullanır Patrick Phillips tarafından yazılmış kod; kaynak kodu, Sayısal Yemek Tarifleri rutinlerini kullandığı için yeniden dağıtılamaz. Bu çekirdeği R'ye yeniden yazmayı düşünüyordum (bu sadece basit sayısal lineer cebir, o kadar da zor olmaz). Ben muhtemelen bu birindeki lisans değiştirmek gitmek zorunda diye düşündüğüm oluyor - Ve muhtemelen söyledi "GPL" ama ben unredistributable bileşeni verilen ...
  • glmmADMB paket serbestçe kullanır mı gerçekten yapabilen sanmıyorum yeniden dağıtılabilir kaynak kodu (BSD lisansı), ancak araç zinciri kullanıcıların ben inst/bin yılında ikilileri koymak ve muhtemelen mimarisine özgü altında tüm destekleyici -ambalaja Her iki durumda da

indirmek zorunda kalmak istemiyoruz yeterince karmaşıktır alt dizinleri (/bin'a yüklenir) ve mimariyi algılamak ve doğru ikili dosyayı çalıştırmak için uygun mantığı kullanın. Sana (önerdiğiniz gibi) bir indirme içine olmayan yeniden dağıtılabilir kısmını yaparak GPL yoluyla lisans yetersizlik etrafında alabilir, ama bu özünü ihlal gibi görünüyor prensipte tahmin

...

+0

Teşekkürler @Ben. Bunlar, paketi modellemek için mükemmel başlangıç ​​noktalarıdır. – digitalmaps

+0

İyi cevap. Lisanslama ve GPL ile ilgili olarak: GPL, özgür olmayan ikili kütüphaneler, sistem kütüphaneleri, vb. Ile ilgili ilginç konulara değinir ve bu da toto * paketinin FOSS kurallarına uyup uymadığına dair ilgi konusu olabilir. Daha fazla açıklama için [bu yazı] 'dan (http://stackoverflow.com/questions/1854843/does-gpl-code-linking-with-proprietary-library-depend-which-is-created-first) bağlantılara bakın. – Iterator

3

Ben Bolker tarafından önerilen yaklaşım aynı zamanda CRAN paketi "dismo" tarafından da kullanılır - maxent() fonksiyonunu çalıştırmak için, maxent java binary dosyasını indirmeniz ve ana paket klasöründe uygun alt dizine yerleştirmeniz gerekir.

İlgili konular