2010-02-18 15 views
5

Secondo lo scanner LSB, il mio binario è apparentemente incompatibile con una versione specifica di Linux perché utilizza i simboli GBLICXX_3.4.9. Ma quando ho provato a eseguire il binario da solo su quella versione, tutto sembra funzionare correttamente ...L'appChecker Linux Standard Base (LSB) è affidabile?

Un binario può anche iniziare su una distro Linux se a quella distribuzione mancano le librerie di runtime contenenti i simboli richiesti?

+0

Come hai verificato se quel simbolo fosse effettivamente disponibile sulla macchina su cui hai eseguito il test? – nos

risposta

2

Non so se ho capito bene la domanda ma per quanto ne so anche se hai compilato il tuo programma con un moderno glibc non significa necessariamente che non sarai in grado di eseguire in un vecchio versione. Il prossimo comando di Linux:

objdump -T "your exe or lib file" | grep GLIB

vi mostrerà quale versione del glibc i simboli del vostro programma di appartenenza.

Per ulteriori informazioni c'è un articolo intitolato How to write shared libraries da Ulrich Drepper che spiega un sacco di cose di come simboli lavorano in Linux non solo per le librerie condivise, ma anche per gli eseguibili

2

ho il sospetto che si stanno avvertendo che si Stai usando simboli che, anche se sono disponibili sul tuo sistema di test, potrebbero non essere disponibili su tutti i sistemi conformi a LSB.

+0

Questo è esattamente _ ciò che significa l'avviso. +1 –

Problemi correlati