Criar binários estáticos é uma tarefa não trivial em Linux, devido à quantidade enorme de bibliotecas dependentes que provém do GNOME e bibliotecas associadas. Adicionalmente:
Muitas bibliotecas não vem com suas versões estáticas (lib*.a) embutidas. Neste caso, nós necessitamos gerá-las nós mesmos.
Algumas bibliotecas não podem ser vinculadas estaticamente, como a glibc, por causa da libnss*.so.
Algumas bibliotecas dependem de arquivos de dados e módulos do pacote original, especialmente no caso do gtk/gnome. Os problemas não ocorrem somente quando o usuário perde estes arquivos de dados; Algumas coisas podem não funcionar devido a diferentes distribuições que colocam arquivos em caminhos diferentes.
A solução atual é criar parcialmente o binário estático,
com a biblioteca mais comum deixando-o vinculado dinamicamente
(glibc
e gtk
).
gtkmm
, gtksourceview
,
gtkhtml
e dependências (como o gnome) são
vinculados estáticamente. A solução ideal seria gerar
binários personalizados para cada distribuição principal e/ou
escolhida, mas nós não temos tempo/recursos para isso até o
presente momento.
Para gerar os binários:
Verifique no script
source/linux/static_make
todos os
arquivos que devem ser removidos ou movidos para fora da
pasta /usr/lib
.
Execute o script.
É necessário obrigar o linker a procurar a versão estática de cada biblioteca e também explicitar a lista de bibliotecas dependentes que foram vinculadas de outro modo a bibliotecas dinâmicas.
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.