Compilare binari statici non è banale sotto Linux, a causa dell'enorme quantità di dipendenze di librerie dovute a GNOME e le librerie associate. In aggiunta:
Molte librerie non forniscono le loro versioni statiche (lib*.a), quindi dovremo compilarle per conto nostro.
Alcune librerie non possono essere collegate staticamente, come glibc, a causa di libnss*.so.
Alcune librerie dipendono da file di dati e moduli contenuti nel pacchetto originale, specialmente nel caso d gtk/gnome. I problemi non si manifestano unicamente quando l'utente non ha installato questi file di dati; qualcosa potrebbe non funzionare dal momento che alcune distribuzioni sistemano i file di dati in differenti percorsi.
La soluzione corrente è compilare un binario parzialmente statico,
con le librerie più comuni collegate dinamicamente
(glibc
e gtk
).
gtkmm
, gtksourceview
,
gtkhtml
e le relative dipendenze (come gnome)
sono collegate staticamente. La soluzione ideale sarebbe compilare
binari su misura per ogni principale distribuzione, ma non abbiamo
tempo e risorse per questo al momento.
Per compilare questi binari:
Date un'occhiata allo script source/linux/static_make
per tutti i file che dovrebbero essere rimossi/spostati dalla posizione /usr/lib
.
Eseguite lo script.
E' necessario forzare il linker a cercare la versione statica di ogni libreria ed anche ad elencare esplicitamente le librerie che sarebbero invece linkate dinamicamente.
This is a translation of the MySQL Administrator Manual that can be found at dev.mysql.com. The original MySQL Administrator Manual is in English, and this translation is not necessarily as up to date as the English version.