Apakah mungkin untuk kompilasi jarak jauh dengan gcc?

0

Saya memiliki beberapa server tertanam yang menjalankan RHEL dengan jumlah memori terbatas. Karena itu saya tidak mau menginstal gcc karena ukurannya yang sangat besar.

Apakah ada cara untuk kompilasi jarak jauh dengan gcc?

Satu-satunya cara saya bisa memikirkan melakukan ini adalah melalui NFS atau SSHFS dan berbagi direktori, tetapi saya merasa harus ada cara yang lebih mudah. Saya telah menggunakan penjelajah sistem jarak jauh melalui gerhana, tetapi saya tidak selalu ingin membuat proyek gerhana.

Saya memiliki sedikit pengetahuan tentang kompilasi silang, tapi saya rasa saya tidak perlu itu karena semua sistem x86_64. Apakah "kompilasi silang" memungkinkan kompilasi jarak jauh dengan arsitektur asli yang sama?

user_ABCD
sumber
kompilasi silang tidak ada hubungannya dengan kode remote vs lokal; kompiler yang mampu melakukan kompilasi silang mampu membangun file yang dapat dieksekusi yang mampu berjalan pada sesuatu selain arsitektur asli. Dengan kata lain, saya dapat menulis kode pada mesin Windows / Linux saya yang memiliki CPU berbasis Intel Xeon IA64 64-bit dan mengkompilasi kode tersebut untuk Tablet Android saya yang memiliki CPU berbasis ARM 32-bit.
txtechhelp
Terima kasih telah mengkonfirmasi, itu adalah bagaimana saya memahaminya sendiri.
user_ABCD

Jawaban:

0

Jika Anda ingin mengkompilasi, Anda memerlukan satu server RHEL untuk pengembangan. Anda dapat menyalin program yang dikompilasi dan menjalankannya di server dengan versi RHEL yang sama (dan perpustakaan).

Berbagi file menggunakan NFS atau SSHFS tidak akan membantu mengurangi memori , meskipun itu akan membantu jika ruang disk adalah faktor pembatas. Namun, kompilasi dengan gcc pada disk bersama tidak akan berfungsi dengan baik.

Thomas Dickey
sumber
Saya menjalankan RHEL yang berbeda, 6,7 pada beberapa, 6,6 pada yang lain, dan 6,4 pada yang lain. Mereka juga memiliki mikro-arsitektur yang berbeda, semuanya x86_64, tetapi chip intel berbeda. Jadi saya sangat ingin mengkompilasi masing-masing.
user_ABCD
@ pengguna_ABCD, apakah Anda menggunakan asmarahan apa pun di sumber Anda yang khusus untuk set instruksi aktual yang digunakan dalam CPU Intel berbeda yang ingin Anda kompilasi? Jika tidak, mengapa Anda begitu khawatir jika mereka semua x86_64kompatibel?
txtechhelp
@ txtechhelp, saya tidak khawatir. Lebih naif dan hanya menganggap itu penting.
user_ABCD
mengkompilasi pada 6.4, Anda tidak akan mengalami masalah dengan menyalin executable ke 6,7
Thomas Dickey
0

Kompilasi terdistribusi dapat dilakukan dengan distcc.

Anda bahkan dapat mencoba melakukan crosscompiling dengan berbagai arsitektur.

Pengguna gentoo linux mengkompilasi seluruh sistem mereka dari sumber dan Anda dapat menemukan banyak petunjuk tentang kompilasi silang , kflag dan distcc di wiki gentoo, tetapi Anda dapat mengadopsi pengetahuan ini ke distribusi lain tentu saja.

Ini dapat membantu Anda mengurangi jumlah utas untuk beberapa paket sumber, jika Anda kehabisan RAM. Ini akan

Jonas Stein
sumber