Posso? - Desenvolver o C / C ++ no Fedora 14 usando o GCC 4.4 e implantar no CentOS 5.2 usando o GCC 4.4

2

Minha produção env roda as versões CentOS 5.2 e 5.5. Eu tenho que desenvolver uma nova ferramenta usando C / C ++ e implantá-lo neste ambiente de produção.

Eu estava planejando usar o Fedora 14 no meu desktop com o GCC 4.4 para fazer o desenvolvimento com o Eclipse IDE. E depois eu quero implantar os executáveis no CentOS 5.2 ou 5.5 O env de produção também terá o GCC 4.4.

Como tanto o Fedora quanto o CentOS são baseados no RHEL, achei que isso é possível.

Então, posso fazer isso?

Ou eu preciso ter o CentOS 5.2 / 5.5 no meu desktop de desenvolvimento também?

Obrigado Amit

    
por FatherFigure 22.12.2010 / 02:33

3 respostas

1

Se você construir binários estáticos, então poderá construir praticamente qualquer coisa e executar praticamente qualquer lugar. Os detalhes exatos sobre como você cria as coisas estáticas seriam mais bem respondidos no stackoverflow.

Construir em um ambiente diferente parece um pouco bobo. Por que não construir uma VM ou chroot idêntica à produção em sua máquina de desenvolvimento? Dessa forma, você terá muito menos probabilidade de experimentar incompatibilidades estranhas / inesperadas.

    
por 22.12.2010 / 02:43
1

se você vincular a dinâmica a bibliotecas que não estão presentes no centos então você precisa fornecer as bibliotecas também

se você fornecer o código fonte e compilar nos centos caixa você precisará fornecer quaisquer cabeçalhos ou arquivos de origem que você usa em seu código. se você não usar nada especial (você acabou de usar por exemplo o libc) não há necessidade para fornecer libs extras.

mais uma coisa que você precisa ter cuidado é a arquitetura da CPU - se você tiver código para 64 bits, ele não funcionará em 32.

    
por 22.12.2010 / 02:48
1

Você pode fazer isso, mas você não deveria.

É melhor criar seus pacotes finais de produção em um ambiente limpo, que sua área de trabalho de desenvolvimento certamente não será. Como o CentOS é gratuito, não há motivo para não ter um ambiente especial de compilação que seja limpo sempre do kickstart ou restaurado a partir de um instantâneo em bom estado. Talvez seja um pouco de trabalho de configuração, mas depois disso, você saberá que os pacotes resultantes funcionarão sem nenhuma dependência surpresa se infiltrando acidentalmente.

E você precisa do gcc em seu ambiente de produção? Não há nada de errado em tê-lo lá em si (os atacantes irão copiar em seus próprios binários), mas geralmente a produção deve ser o mais focada possível.

    
por 22.12.2010 / 02:53