Domanda

Sto cercando di compilare un binario di un progetto open source in modo che i nostri utenti non debbano compilarlo da soli.

Ho notato che alcuni binari creati su una macchina Ubuntu a 32 bit "A" non funzionano sulla macchina a 32 bit "B", con errori riguardanti i file .So che vengono segnalati.

Tuttavia, se compilo da zero sulla macchina "B", allora tutti gli errori sono spariti.

Potrebbe esserci qualche motivo per cui la compilazione del codice sulla macchina target fa sparire questi errori? Ho eseguito solo "./configure" e "make" - non "make -install", quindi non è come se avessi reso questi file disponibili a livello globale.

Potrebbe essere che il compilatore rileva che ci siano file .So mancanti dalla libreria di sistema e in questo caso collega una libreria statica nell'eseguibile?

In che modo Ubuntu compila i suoi pacchetti in modo che un pacchetto i386 funzioni su tutte le macchine X86?

Nessuna soluzione corretta

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top