'arthur fontolan' via Slackware Users Group - Brazil wrote:
Seguinte,
Se uma biblioteca da qual um programa depende for atualizada, eu preciso
recompilar todo o programa?
Por exemplo, o Inkscape usa a lxml. Se eu fizer um upgrade dela preciso
recompilar o Inkscape?
Depende do Sol, do Vento, fase da Lua, ...
*Geralmente* subir da biblioteca X.x para a X.y com x != y não faz
diferença nenhuma. Inclusive muitas atualizações de segurança são feitas
instalando a versão nova das bibliotecas. Ou mesmo para subir a versão
do Slackware usando o slackpkg, ele vai atualizando os pacotes "aos
pouquinhos".
Já quando sobe da versão X.x para a Y.y com X != Y, o "normal" é quebrar
a compatibilidade com a versão anterior. Nesse caso, muitas vezes, nem
recompilando resolve, como costuma mudar a API precisa mexer no código
do produto.
Mas pode ver que coloquei "geralmente" e "normal" nos dois casos. Já que
o comportamento não é 100% garantido, depende muito do que foi alterado
na versão antiga e nova da biblioteca. Pô, trocando de compilador às
vezes dá para fazer a mesma versão da biblioteca ficar incompatível com
os outros programas.
A título de exemplo, vamos supor que na biblioteca punkmath 1.0 exista
uma função chamada raiz_quadrada_nao_imaginaria(), cuja entrada deveriam
ser apenas números positivos; mas por algum motivo desconhecido do
programador, ela aceite números negativos como argumento. Então:
raiz_quadrada_nao_imaginaria(4) = 2
raiz_quadrada_nao_imaginaria(-4) = 2
Um matemático reclama com o desenvolvedor e, na punkmath 1.1, a função é
corrigida e passa a aceitar apenas números positivos como argumento.
raiz_quadrada_nao_imaginaria(4) = 2
raiz_quadrada_nao_imaginaria(-4) = ERR
Mesmo sendo uma mudança pequena e mantendo o major number da biblioteca
(o X de X.x), qualquer programa linkado nessa biblioteca e que use a
função raiz_quadrada_nao_imaginaria com números negativos esperando não
receber um erro, vai parar de funcionar (ou crashar do nada de vez em
quando).
Então voltamos no "Depende do Sol, do Vento, fase da Lua"...
Piter Punk
--
GUS-BR - Grupo de Usuários de Slackware Brasil
http://www.slackwarebrasil.org/
http://groups.google.com/group/slack-users-br
Antes de perguntar:
http://www.vivaolinux.com.br/artigo/Como-elaborar-perguntas-para-listas-de-discussao
Para sair da lista envie um e-mail para:
[email protected]
---
Você está recebendo esta mensagem porque se inscreveu no grupo "Slackware Users Group - Brazil" dos Grupos do Google.
Para cancelar inscrição nesse grupo e parar de receber e-mails dele, envie um
e-mail para [email protected].
Para obter mais opções, acesse https://groups.google.com/d/optout.