Copie o arquivo criado para /usr/bin
cp proar /usr/bin e depois mude a permissão para 755 para que todos possam usar:
$ chmod 755 /usr/bin/proar
Agora se você precisar encontrar algum arquivo que esteja dentro de algum pacote rpm, basta que você monte o cd-rom,
mount /mnt/cdrom e entre dentro do diretório aonde se encontra os pacotes rpm. No Conectiva é
/mnt/cdrom/conectiva/RPMS, no RedHat é
/mnt/cdrom/RedHat/RPMS.
Vamos supor que você esteja procurando o arquivo
libtermcap.a que não está instalado no seu sistema, então você faz o seguinte comando no seu console:
$ proar libtermcap.a
Depois de algum tempo, o programa vai retornar:
libtermcap-devel-2.0.8-18cl.rpm
Agora basta que você instale o
libtermcap-devel-2.0.8-18cl.rpm e supra a dependência do arquivo que você estava precisando. O script não serve somente para procurar libs, mas programas também. Se ele não localizar nada, quer dizer que você não tem o pacote com tal arquivo.
Um exemplo
Instalamos o Conectiva 8.0 (instalação padrão) e resolvemos instalar o tocador de mp3, Xmms (
http://www.xmms.org/) versão 1.2.7, manualmente no nosso sistema e alguns erros estranhos relacionados ao GTK começaram a aparecer.
Depois de ter verificado que tal componente estava instalado, incluindo o pacote devel, o
./configure terminava com um erro de que tal componente não estaria instalado, como mostra o exemplo:
[...]
checking for gtk-config... /usr/bin/gtk-config
checking for GTK - version >= 1.2.2... no
*** Could not run GTK test program, checking why...
*** The test program failed to compile or link. See the file config.log for the
*** exact error that occured. This usually means GTK was incorrectly installed
*** or that you have moved GTK since it was installed. In the latter case, you
*** may want to edit the gtk-config script: /usr/bin/gtk-config
configure: error: *** GTK+ >= 1.2.2 not installed - please install first ***
[...]
Creio que muitos se deparam com tal erro, neste caso se todas as possibilidades foram analisadas, que é verificar se tal pacote foi ou não instalado (incluindo o devel), resta agora analisar o arquivo
config.log, que se encontra no mesmo diretório do programa que foi feito o
./configure.
O que eu faço é procurar pela função ou programa que gerou o erro, neste caso foi o GTK que o
./configure diz não estar instalado:
vi config.log
/gtk
[...]
configure:6118: checking for gtk-config
configure:6153: checking for GTK - version >= 1.2.2
configure:6254: gcc -o conftest -g -O2 -I/usr/include/gtk-1.2
-I/usr/include/glib-1.2 -I/usr/lib/glib/include -D_REENTRANT
-I/usr/X11R6/include conftest.c -L/usr/lib -L/usr/X11R6/lib -lgtk
-lgdk -rdynamic -lgmodule -lgthread -lglib -lpthread -ldl -lXext -lX11
-lm 1>&5
/usr/bin/ld: cannot find -lXext
collect2: ld returned 1 exit status
configure: failed program was:
#line 6176 "configure"
#include "confdefs.h"
[...]
Como mostrou o log não foi encontrado um tal de
-lXext, que geralmente se refere ao arquivo (isso nem sempre é verdadeiro)
libXext.so. Agora com o proar vamos encontrar este arquivo que falta, procurando no cd1 do Conectiva 8.0 e fazendo o seguinte comando:
# proar Xext
XFree86-devel-4.2.0-20cl.i386.rpm
XFree86-libs-common-4.2.0-20cl.i386.rpm
mozilla-0.9.8-4cl.i386.rpm
Foram encontrados três possibilidades, como nós já sabemos que procuramos
por um arquivo semelhante com o nome
libXext.so ou
libXext, basta agora analisar cada arquivo listado com o comando:
# rpm -qpl XFree86-devel-4.2.0-20cl.i386.rpm |grep Xext
/usr/X11R6/include/X11/extensions/Xext.h
/usr/X11R6/include/X11/extensions/panoramiXext.h
/usr/X11R6/lib/libXext.so <--- BINGO!!!!
Achamos na primeira, agora basta instalar e verificar que o Xmms não acuse mais o erro de que o GTK não está instalado.