Corrigindo problema do Acrobat Reader 7.0 no Slackware 12
Dica publicada em Linux / Software
Corrigindo problema do Acrobat Reader 7.0 no Slackware 12
Ao fazer o upgrade do Slackware 11 para o 12, percebi que o Acrobat 7.0 parou de funcionar. Se tentarmos iniciá-lo pelo console (comando acroread), vê-se que o seguinte erro fica se repetindo eternamente:
expr: syntax error
Bom, como o objetivo era apenas ter o Acrobat rodando, desconsiderei a princípio que detalhe no upgrade do bash poderia causar isso, e fui analisar o acroread, que nada mais é que um shell script.
Pode-se verificar que o erro acontece no seguinte trecho do script, onde se faz a chamada à função check_gtk_ver_and_set_lib_path:
Vê-se que, se a condição da lib GTK for atendida (o que é verdade para o Slackware 12), pode-se simplesmente comentar este if que o programa rodará normalmente (para quem não é familiarizado com shell scripts, para comentar uma linha basta adicionar um # no início dela).
Pronto... salve o script e tudo funcionará normalmente!
Se for desejado descobrir a causa exata do erro, deve-se ressaltar que, dentro da função check_gtk_ver_and_set_lib_path, a função get_gtk_file_ver está retornando sempre vazio:
Assim, o trecho seguinte dá problema:
pois expr length de vazio retorna exatamente um erro de sintaxe.
expr: syntax error
Bom, como o objetivo era apenas ter o Acrobat rodando, desconsiderei a princípio que detalhe no upgrade do bash poderia causar isso, e fui analisar o acroread, que nada mais é que um shell script.
Pode-se verificar que o erro acontece no seguinte trecho do script, onde se faz a chamada à função check_gtk_ver_and_set_lib_path:
# Check the version of gtk and update the LD_LIBRARY_PATH if required.
if [ "`uname -s`" = "Linux" ]; then
MIN_GTK_VERSION="240"
check_gtk_ver_and_set_lib_path "$MIN_GTK_VERSION" ### returns 0 if found gtk >= 2.4
fi
if [ "`uname -s`" = "Linux" ]; then
MIN_GTK_VERSION="240"
check_gtk_ver_and_set_lib_path "$MIN_GTK_VERSION" ### returns 0 if found gtk >= 2.4
fi
Vê-se que, se a condição da lib GTK for atendida (o que é verdade para o Slackware 12), pode-se simplesmente comentar este if que o programa rodará normalmente (para quem não é familiarizado com shell scripts, para comentar uma linha basta adicionar um # no início dela).
Pronto... salve o script e tudo funcionará normalmente!
Se for desejado descobrir a causa exata do erro, deve-se ressaltar que, dentro da função check_gtk_ver_and_set_lib_path, a função get_gtk_file_ver está retornando sempre vazio:
version=`get_gtk_file_ver "$ifile"`
Assim, o trecho seguinte dá problema:
len_version=`expr length $version`
pois expr length de vazio retorna exatamente um erro de sintaxe.