Attualmente sto cercando una buona installazione per un server di integrazione continua che costruisca varie applicazioni C++ per diverse distribuzioni Linux.Server di integrazione continua per C++: che ne è delle dipendenze della libreria?
La mia domanda principale è come gli altri utenti hanno gestito le differenze nelle librerie di sistema tra le distribuzioni Linux?
Mentre potrebbe essere relativamente facile creare dipendenze dirette come le librerie UI insieme a un'applicazione, le dipendenze "indirette" come glibc sembrano un grosso problema se dovessero essere costruite insieme all'applicazione ogni volta. Pertanto, sto pensando di spostare l'effettiva esecuzione della compilazione in una macchina virtuale separata per ogni distribuzione, ad es. usando rlogin per eseguire i comandi. Il mio obiettivo è prevenire le incompatibilità binarie tra le versioni della libreria build-machine e quelle distribuite nelle distribuzioni di destinazione.
Qualcuno qui ha qualche esperienza con tale processo e potrebbe dire se quanto sopra sembra un approccio fattibile?
Mi piacerebbe vedere una buona risposta a questa domanda. Oltre alla domanda originale, mi piacerebbe sapere come posso eseguire la compilazione di mingw anche su Linux (io uso mingw in Windows). Inoltre, utilizzo il framework Qt e QTestLib per il test delle unità. Grazie! –
Mi piacerebbe anche vedere una buona risposta a questa domanda.IMHO, questo va a problemi di "gestione della configurazione" dato che ogni modulo "si accoppia" ad altri moduli e collegando una lib, il che significa che devi collegare implicitamente le librerie up-stream. Dal momento che ciò richiede limitazioni di lib-versioning, questo problema si complica rapidamente (ad es. DLL-hell o RPM-hell). La propagazione indiretta delle dipendenze è essenziale, nel contesto delle versioni compatibili limitate. – charley