¿Es posible compilar remotamente con gcc?

0

Tengo algunos servidores integrados que ejecutan RHEL con una cantidad limitada de memoria. Debido a esto no quiero instalar gcc porque es muy grande.

¿Hay alguna manera de compilar de forma remota con gcc?

La única forma en que puedo pensar en hacer esto es a través de NFS o SSHFS y compartir directorios, pero creo que tiene que haber una manera más fácil. He utilizado el explorador de sistemas remotos a través de eclipse, pero no siempre quiero crear un proyecto de eclipse.

Tengo poco conocimiento de la compilación cruzada, pero no creo que lo necesite porque todos los sistemas son x86_64. ¿La "compilación cruzada" permite la compilación remota con las mismas arquitecturas nativas?

user_ABCD
fuente
compilación cruzada no tiene nada que ver con el código remoto vs. local; un compilador que es capaz de compilación cruzada es capaz de construir un archivo ejecutable que es capaz de ejecutarse en algo diferente a la arquitectura nativa. En otras palabras, puedo escribir código en mi máquina Windows / Linux que tiene una CPU basada en Intel Xeon IA64 de 64 bits y compilar dicho código para mi tableta Android que tiene una CPU basada en ARM de 32 bits.
txtechhelp
Gracias por confirmar, así es como lo entendí yo mismo.
user_ABCD

Respuestas:

0

Si desea compilar, necesitará un servidor RHEL para el desarrollo. Puede copiar los programas compilados y ejecutarlos en servidores con la misma versión de RHEL (y bibliotecas).

El intercambio de archivos utilizando NFS o SSHFS no ayudará a reducir memoria , aunque ayudaria si Espacio del disco fueron el factor limitante Sin embargo, compilar con gcc en un disco compartido no funcionaría bien.

Thomas Dickey
fuente
Estoy ejecutando RHEL diferente, 6.7 en algunos, 6.6 en otros y 6.4 en otros. También tienen diferentes microarquitecturas, todas son x86_64, pero diferentes chips de inteligencia. Así que realmente quiero compilar en cada uno.
user_ABCD
@user_ABCD, usas alguna asm directivas en su fuente que son específicas de los conjuntos de instrucciones reales utilizados en las diferentes CPU de Intel que desea compilar? Si no, ¿por qué estás tan preocupado si son todos? x86_64 ¿compatible?
txtechhelp
@txtechhelp, no estoy preocupado. Más de ingenuo y solo asumí que importaba.
user_ABCD
compilando en 6.4, es poco probable que tenga problemas al copiar los ejecutables a 6.7
Thomas Dickey
0

La compilación distribuida se puede hacer con distcc.

Incluso puedes probar compilación cruzada con diferentes arquitecturas.

Los usuarios de gentoo linux compilan todo su sistema desde la fuente y pueden encontrar muchos consejos sobre compilación cruzada , cflags y distcc en la wiki de gentoo, pero puede adoptar este conocimiento para cualquier otra distribución, por supuesto.

Puede ayudarlo a reducir la cantidad de subprocesos para algunos paquetes de origen, si se queda sin RAM. Esta voluntad

Jonas Stein
fuente