Você está pronto para o Kylix? É claro que sim! Mas o seu sistema está
pronto? Neste artigo você poderá descobrir! Durante o desenvolvimento do Kylix
nós descobrimos vários problemas com algumas das principais distribuições do
Linux. Se você possui uma versão antiga do Linux, provavelmente possui alguns
do problemas que descobrimos. Descubra nesta matéria como deixar seu sistema
preparado para o Kylix!
O primeiro passo é fazer o download da nossa aplicação de teste e dos glibc
patches. O download pode ser feito no endereço http://www.borland.com/devsupport/kylix/downloads/.
Quando você descompactar o arquivo (com o comando untar) verá um diretório
chamado BORPRETEST. Neste diretório você encontrará um script shell chamado 'testsystem'.
Este script irá rodar um programa de teste chamado 'borpretest' que irá
verificar se o seu sistema possui os requisitos básicos para rodar o Kylix,
como a versão de seu libjpeg, as versões do libc, etc... O programa irá ainda
carregar e descarregar vários módulos utilizados pelo Kylix, a fim de testá-los.
As mensagens do programa serão exibidas dentro da janela de console (NE*: algo
como o DOS do Linux), indicando se o seu sistema possui as condições necessárias
para rodar o Kylix. O significado das mensagens de erro podem ser encontrados no
arquivo texto PREINSTALL. O objetivo deste artigo é acrescentar alguns detalhes
sobre o loader bug, e como você pode realizar o upgrade do sistema.
Vejamos uma pequena descrição da função do primary loader bug. Digamos que
sua aplicação carregue um módulo chamada 'A' este módulo possui uma dependência
no módulo 'A1'. Sua aplicação também carrega um módulo chamado 'B'. Se o módulo
B possuir uma dependência compartilhada (shared dependencies) no módulo 'A1',
teremos um problemas quando a aplicação tentar descarregar o módulo A ou o módulo
B. Se o módulo A ou B for descarregado, o contador de referência de uso no módulo
A1 não será atualizado corretamente, e isso poderá ocasionar um 'crash', caso
a referência seja referenciada mais tarde. Felizmente, descobrimos a solução
para o problema e o gnu.org já o aceitou e incluiu nas listas de atualizações
dentro da biblioteca libc do Linux.
Como você pode pegar o patch de correção? Depende do seu sistema. Atualmente
nós temos a solução para Red Hat 6.2, 7.0, Madrake 7.2 e SuSE 7.0.
Red Hat 7.0 possui uma release oficial da glibc 2.2 que contém a correção.
Eles não lançaram oficialmente o patch para a versão 6.2. Nós fornecemos o
patch que utilizamos internamente para a versão 6.2, mas ela não é a release
oficial da Red Hat. Você provavelmente poderá utilizar este patch em seu
sistema sem o risco de crashes, mas não é recomendável fazer a distribuição
para os seus clientes. Nós o testemos durante o desenvolvimento do Kylix, mas não
podemos garantir o uso deste patch, o uso é de seu próprio risco. Os fontes do
patch também estão sendo fornecidos.
A Mandrake lançou uma release "não-oficial" da glibc com esta correção.
Você pode fazer o download no endereço ftp://ftp.sunet.se/pub/Linux/distributions/mandrake-devel/unsupported/i586.
Você precisa estar atento ao fato de que a distribuição Mandrake não possui
os 'debug symbols', o que pode tornar o debug de aplicações no Mandrake uma
tarefa mais difícil. Nós recomendamos recompilá-la com o s debug symbols.
A SuSE lançou oficialmente os patches para a versão 7.0 e você pode fazer o
download no endereço http://www.suse.com/us/support/download/.
As versões Server e Desktop do Kylix serão vendidas com uma cópia pre-petched
do SuSE 7.0
Nós estamos fornecendo os fontes do programa de teste (BORPRETEST) e nós
utilizamos o mesmo algoritmo no programa de instalação do Kylix. Você poderá
utilizar um semelhante mecanismo nos seus programas de instalação.
Sua aplicação irá rodar dentro do loader bug?Isto irá depender de como você
usa os packages e se eles são ou não carregados dinamicamente e se terão
dependências compartilhadas. Isso é possível que aconteça. A IDE do Kylix
faz várias coisas que notamos a necessidade do loader bug corrigido.
Se a sua ditribuição não possuir um patch oficial, você contactá-los
diretamente e estimulá-los a lançar a correção. Você também pode dar uma
olhada no código fonte de nosso patch e tentar aplicá-lo a sua distribuição.
Muitas distribuições que possuem um upgrade para o glibc 2.2 já estão com a
devida correção.
Por David Intersimone, equipe Borland USA
Download dos Borland patches para Mandrake 7, Red Hat 6/7 e SuSE 7: http://www.borland.com/devsupport/kylix/downloads/
|