Localizar Biblioteca e saber Versao
preciso fazer uma verificacao no sistema, para saber se algumas bibliotecas estaum instaladas...
como naum sei mexer com autoconf e automake (ainda ehhehe) alguem sabe de alguma maneira d ver isso??
tipow eu quero saber se ela estah instalada e a versao
bibliotecas
zlib
libpng
libjpeg
freetype
gd
mhash
libmcrypt
mcrypt
sei fazer isso pelo rh usando o rpm -q, mas quero algo generico, pra usado em tdos os sistemas...
pensei em algum find e talz.. mas como saber a versao??
qq ideia eh bem vinda hehhee
[]'s
Localizar Biblioteca e saber Versao
falae demiurgo....cara eu acho q se vc olha em /lib e /usr/lib (ou se vc usar netbsd, tbm em /usr/pkg/lib) vc vai achar essas libs por la....e ela sempre tem um link(ou eh o proprio arquivo) com a versao dela...tipo
Código :
-rwxr-xr-x 1 root root 196132 2004-05-02 18:50 libpng.so.3.1.2.5
Localizar Biblioteca e saber Versao
e otra coisa...eu sei q devem existir jeitos menos estranhos de se fazer isso.....mas eu tava olhando o arquivo /usr/include/zlib.h e olha a 1° linha dele:
Código :
/* zlib.h -- interface of the 'zlib' general purpose compression library version 1.2.1.1, January 9th, 2004
Localizar Biblioteca e saber Versao
valeu kra, vou dar uma fucada nesses paths hehee
[]'s
Localizar Biblioteca e saber Versao
fiz uma script q verifica se existe o arquivo e a versao..
a unica falha eh q quando ele naum encontra o arquivo q quero localizar, ela para...
e algumas libs naum tem .h... nesse caso... precico descobrir uma maneira d localiza as bixinhas.... alguem ae tem alguma ideia:
a script eh essa:
Código :
echo "Verificando libpng"
# Localiza o arquivo, separa somente o primeiro resultado, lista o conteudo do arquivo,
# separa somente as q contem "libpng version" e joga a saida no arquivo teste
cat $(find /usr -name "png.h" | head -1) | grep 'libpng version' > teste
# Separa somente a primeira linha
awk 'NR == 1' teste > teste1
# Separa somente o valor do versao
awk -F" " '{ print $4 }' teste1 > teste
# Retira o ponto no segundo caracter
sed 's/.//2' teste > teste1
# Retira o ponto no terceiro caracter
sed 's/.//3' teste1 > teste
# Variavel para verificar a Existencia e Versao do software
VAR1=`cat teste`
if [ -z "$VAR1" ]; then
install_libpng
else
#Verifica se a versao eh menor que a necessaria
if [ $VAR1 -lt 128 ]
then
install_libpng
else
find /usr -name "libpng.so" | head -1 > teste2
cat teste2 | sed "s#/libpng.so##g" > teste3
var1=`cat teste3`
addpath libpng $var1
rm -f teste2
rm -f teste3
fi
fi
rm -f teste
rm -f teste1
se a biblioteca existir ela grava o caminho da biblioteca num arquivo d teste
[]'s