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.
Esta é uma tradução do manual MySQL Query Browser que pode ser encontrado em dev.mysql.com. O Manual MySQL Query Browser original é em inglês e esta tradução não é obrigatoriamente tão atualizada quanto a versão original.