Procedural
www.procedural.com.br

Apresenta:

Compilando o Inkscape no Slack 10.1
Por Cícero Moraes (cogitas3d-bl, cogitas3d)

Site: http://cogitas3d.site.vu
Email: cogitas3d@msn.com



Buenas dileto camarada!


Vou explicar de forma bem detalhada, como proceder para compilar o Inkscape no Slackware 10.1 e de quebra criar os packages .tgz desta instalação, dispensando compilações futuras.

O Inkscape é um programa de desenho vetorial, semelhante ao Corel® Draw, que salva os trabalhos no formato SVG (Scalable Vector Graphics).

Antes de lançar mão do Inkscape, eu utilizava o Sodipodi, que é bastante semelhante ao primeiro, mas tem poucos recursos em relação a ele e
o seu desenvolvimento está estagnado.

Abaixo alguns trabalhos que eu confeccionei com este programa:










 
:: Vamos ao que interessa! ::

Eu assumo que tu tenhas feito a instalação tipo full,
com todos os pacotes do Slack.  Se aparecerem outras mensagens de erro no tocante a dependências, com certeza estes podem ser encontrados nos cds do Slack que tu possues.

Apesar do Slack ser uma distribuição altamente aconselhável para quem precisa, ou mesmo, gosta de compilar seus programas, as vezes é preciso fazer alguns ajustes no procedimento de compilação para que tudo corra bem.

A primeira coisa que terás de fazer é baixar o programa "checkinstall", responsável pela conversão da instalação num pacote .tgz. Este programa encontra-se num dos cds extra do Slack, como eu tenho apenas 2 tive de baixar o programa na web.

Um link:
http://www.slackware.com/pb/download.php?q=10.1/checkinstall-1.5.3-i486-2

Após baixá-lo, entres onde o fizeste e dês o seguinte comando para instalá-lo:

$ su
$ Password: <informes a senha do root>
# installpkg
checkinstall-1.5.3-i486-2.tgz

Pronto! A primeira parte está feita. 

Vamos a segunda que é baixar o Inkscape. O link:

http://www.inkscape.org

Eu baixei o arquivo na pasta /tmp que apesar de estar fora do /home/user, pode ser acessada por este, pois trata-se de uma pasta com permissões especiais.

Depois de baixado o programa, eu abro o terminal, aquela janelinha preta que parece o prompt do MS-DOS, e dou os seguintes comandos (o que está abaixo depois do // trata-se apenas de comentários):

$ cd /tmp
// Para entrares na pasta /tmp

$ tar -xvjf  inkscape-0.41.tar.bz2
// Para descompactares o arquivo.

$ cd inkscape-0.41
// Para entrares na pasta descompactada.

$ ./configure
// Para veres se está tudo certo com as dependências do programa.

Mas veja só. Correu tudo bem até chegar nesta mensagem de erro:

checking for gc/gc.h... no
configure: error: libgc (the Boehm Conservative Collector) 6.4+, is needed to compile inkscape -- http://www.hpl.hp.com/personal/Hans_Boehm/gc

O que significa? O próprio erro já diz:

Ei cabeção! Está faltando o pacote "libgc" 6.4 ou maior, ele é necessário para instalar o Inkscape! Vás neste site:
http://www.hpl.hp.com/personal/Hans_Boehm/gc e baixes ele, senão não tem conversa!

Bem, entres no site e baixes o pacote que é pedido. Para facilitar tua vida, vou mandar o link da área de download:

http://www.hpl.hp.com/personal/Hans_Boehm/gc/gc_source/

Não te esqueças de baixar uma versão igual ou maior que a 6.4. Eu escolhi a 6.5.

Faças o mesmo procedimento e baixes o pacote em /tmp, voltes ao console, e faças o seguinte:

$ cd ..
/ Para saires da pasta atual.

$ tar -zxvf gc6.5.tar.gz
// Para descompactares o arquivo. Percebas que a terminação do
// arquivo é diferente do anterior. Este é .tar.gz e o outro é .tar.bz2
// assim depois do comando tar as opções também mudam.
// antes era "tar -xvjf" e agora é "tar -zxvf."

$ cd gc6.5
// Para entrares na pasta descompactada.

$ ./configure --prefix=/usr
// Para criares as pasta dentro de /usr, quando se trata da instação
//
de dependência deste tipo, deve-se colocar este complemente no
// ./configure, senão, mesmo que aparentemente corra tudo bem,
// o sistema acaba por não visualizar as bibliotecas.

$ make
// Para compilar.

$ su
// Para logar-te como superusuário.

# checkinstall
// Esta opção instala e cria um pacote da instalação corrente. 
//
Ele é executado no lugar do célebre "make install."


A seguir aparecerão perguntas, tu fazes o seguinte:

Primeira pergunta: <enter>
Segunda pergunta (s maiúscula): S <enter>
Terceira pergunta: <enter>
Quarta pergunta: <enter>

# exit
// Para saires do modo-superusuário.

$ mkdir /home/seu_nome/pkg
// Para criares um diretório com seus pacotes.

$ mkdir /home/seu_nome/pkg/inkscape
// Para criar um diretório onde ficarão armazenados
// os pacotes de dependências do inkscape.

$ cp gc6.5-gc6.5-i386-1.tgz
/home/seu_nome/pkg/inkscape
// Para copiares o pacote criado para o diretório concebido
// anteriormente.

$ cd ..
// Para saires da pasta atual.

$ cd inkscape-0.41
// Para entrares no diretório do Inkscape para tentar
// instalá-lo novamente.

$ ./configure
// Para configurares a compilação.


E novamente apareceu um erro, diferente do outro. O que significa, que resolvemos o problema de uma dependência. Vamos analizar o que a mensagem nos diz:

configure: error: Library requirements (gtk+-2.0 >= 2.4.0  libxml-2.0 >= 2.6.0  libxslt >= 1.0.15  sigc++-2.0 >= 2.0.3  gtkmm-2.4  ) not met; consider adjusting the PKG_CONFIG_PATH environment variable if your libraries are in a nonstandard prefix so pkg-config can find them.

Ela está falando que encontrou algumas bibliotecas, mas está faltando uma a gtkmm-2.4. Temos de baixá-la:


http://ftp.gnome.org/pub/GNOME/sources/gtkmm/2.4/gtkmm-2.4.0.tar.bz2

Optei pelo tipo de arquivo .tar.bz2 pois trata-se de um formato menor que o .tar.gz.

Após baixar o arquivo, voltes ao terminal e faças o seguinte:

$ cd ..
//Para sair da pasta atual

$ tar -xvjf gtkmm-2.4.0.tar.bz2
// Para descompactares o arquivo baixado.

$ cd gtkmm-2.4.0
// Para entrares no diretório descompactado.

$ ./configure --prefix=/usr
// Para configurares a compilação.

Epa, epa! Mais um erro! Mas... palma palma, não criemos cânico! Vamos analizar a mensagem:

No package 'glibmm-2.4' found

configure: error: Library requirements (glibmm-2.4 >= 2.4.0 atk >= 1.6.0) not met; consider adjusting the PKG_CONFIG_PATH environment variable if your libraries are in a nonstandard prefix so pkg-config can find them.

Está "dizendo" que está faltando o pacote "
atk >= 1.6.0". Ou seja, o pacote atk maior ou igual a versão 1.6.0. Vamos baixá-lo então. Mas antes desenhes um esquema num papel como este:

               ----> gc6.5
               |
inkscape ----> gtkmm-2.4 ---> gilbmm-2.4

Para que serve isso? Simples. Desta forma tu sabes que para instalar o Inkscape, precisas do gtkmm-2.4, que por sua vez precisa da glibmm-2.4.  Assim tu não perdes a noção do que estás fazendo.

Obs.: O azul mais escuro é o que já foi instalado.

Voltemos aos nossos afazeres e baixemos o Atk:

http://ftp.gnome.org/pub/GNOME/sources/glibmm/2.4/glibmm-2.4.0.tar.bz2


Decidi baixar uma versão um pouco mais atual.

Após fazer o download, voltes ao terminal e faças o seguinte:

$ cd ..
// Vou assumir que tu já tenhas captado o esquema
// de trabalho no terminal.

$ tar -xvjf glibmm-2.4.0.tar.bz2

$ cd 
glibmm-2.4.0

$ ./configure --prefix=/usr

Ih! Tsc... tsc... mais um erro nesta baiuca! Vamos lá, vamos ver o que o terminal nos "diz":

No package 'sigc++-2.0' found

configure: error: Library requirements (sigc++-2.0 >= 1.9.14 glib-2.0 >= 2.2.0 gobject-2.0 >= 2.2.0 gmodule-2.0 >= 2.2.0) not met; consider adjusting the PKG_CONFIG_PATH environment variable if your libraries are in a nonstandard prefix so pkg-config can find them.

Poxa. Está faltando outro pacote! O 
sigc++-2.0... ok, mas antes de baixá-lo, voltemos ao nosso esqueminha para não nos perdemos:

                ----> gc6.5
               |
inkscape ----> gtkmm-2.4 ---> gilbmm-2.4 --->
sigc++-2.0

Certo, como pede na mensagem de erro, temos de baixar uma versão do sigc++-2.0 maior ou igual a 1.9.14:

http://ftp.gnome.org/pub/GNOME/sources/libsigc++/2.0/libsigc++-2.0.9.tar.bz2

Calminha nobre companheiro... não fiques
"nelvoso", já já acaba o termento... voltemos ao terminal:

$ cd ..

$ tar -xvjf libsigc++-2.0.9.tar.bz2

$ cd libsigc++-2.0.9

$ ./configure --prefix=/usr

$ make

$ su

# checkinstall

<enter>
S <enter>
<enter>
<enter>

# exit

Prontinho, pacote criado e instalado. Copies ele para o teu diretório de pacotes:

$ cp libsigc-2.0.9-i386-1.tgz /home/seu_nome/pkg/inkscape

Pacote instalado, vamos voltar ao anterior:

                ----> gc6.5
               |
inkscape ----> gtkmm-2.4 ---> gilbmm-2.4 --->
sigc++-2.0

Trata-se do glibmm-2.4:

$ cd ..

$ cd glibmm-2.4.0
// Oba! Não apareceu nenhum erro!!!

$ make

$ su

# checkinstall

<enter>
S <enter>
<enter>
<enter>

# exit

$ cp glibmm-2.4.0-i386-1.tgz /home/seu_nome/pkg/inkscape

Vamos a gtkmm-2.4:

$ cd ..

$ cd gtkmm-2.4.0

$ ./configure --prefix=/usr

$ make

$ su

# checkinstall

<enter>
S <enter>
<enter>
<enter>

# exit

$ cp gtkmm-2.4.0-i386-1.tgz /home/seu_nome/pkg/inkscape

Terminada a instalação desta, tu podes enfim, compilar o Inkscape:

$ cd ..

$ cd inkscape-0.41

$ ./configure
// Desta vez só utilizes o ./configure mesmo.

$ make

$ su

# checkinstall

<enter>
S <enter>
<enter>
<enter>

# exit

$ cp inkscape-0.41-i386-1.tgz /home/seu_nome/pkg/inkscape

Pronto! Agora da próxima vez que desejares instalar o Inkscape em teu micro.
Basta dar um:

# installpkg *

Dentro do diretório /pkg/inkscape e ele será instalado prontamente.

Para rodar o programa basta dar o comando:

$ inkscape

E vislumbrá-lo:



Espero que este tutorial tenha sido útil a tua pessoa. Só o fato de lê-lo trará a ti muito mais compreensão do que imaginas. O cérebro opera maravilhas nos bastidores! :)

Se tiveres idéias melhores, ou mesmo uma forma de compilar com mais otimização, por gentileza, escrevas-me:

cogitas3d@msn.com

Se desejares ver alguns trabalhos meus na área de computação gráfica 2d/3d o meu site é este:

http://cogitas3d.site.vu

Um grande abraço e ótimos estudos!