Hoje baixei os fontes do PostgreSQL para compilar e instalar no meu Ubuntu.
Eu prefiro compilar os fontes para poder agregar o suporte a Perl e a Python aos banco de dados. Se você baixar a versão do Synaptic ou apt-get fica sem estes recursos por padrão.
Bem, quando eu estava compilando com o comando:
sudo ./configure --with-perl --with-python --prefix=/usr/local/pgsql
Apareceu o erro:
checking build system type... i686-pc-linux-gnulibc1
checking host system type... i686-pc-linux-gnulibc1
checking which template to use... linux
checking whether to build with 64-bit integer date/time support... no
checking whether NLS is wanted... no
checking for default port number... 5432
checking for gcc... gcc
checking for C compiler default output file name... configure: error: C compiler cannot create executables
See `config.log' for more details.
Procurei na WEB a solução e encontrei facilmente. Então eu fui perceber que estava faltando o g++ na minha instalação.
Depois que instalei o pacote do g++ e suas dependências, outro erro veio à tona:
(...)
configure: error: readline library not found
If you have readline already installed, see config.log for details on the
failure. It is possible the compiler isn't looking in the proper directory.
Use --without-readline to disable readline support.
Aí descobri que faltam o pacote libreadline e seus associados. Isto também é facilmente corrigível pelo apt-get (o foda é saber o nome do pacote correto, que você acha através de uma pesquisa no Synaptic ou através do querido amigo google.com).
Instalei o libreadline5-dev, e então... outros problemas apareceram.
No fim das contas, se você deseja instalar o postgresql a partir dos fontes no Ubuntu, sugiro instalar todos os pacotes abaixo para conseguir obter o máximo de funcionalidades do SGBD, e também, para não ter nenhum problema durante a compilação.
Execute o comando anteriormente à compilação do PostgreSQL:
sudo apt-get install g++ libreadline5-dev flex bison libzzip-dev libio-zlib-perl zlib1g-dev zlib-bin zlibc zziplib-bin libperl-dev python-dev build-essential
Ok, mas tem outro detalhe. Depois de instalar estes pacotes, outros problemas podem aparecer durante o comando $make...
... principalmente com o Perl, como por exemplo o erro abaixo:
(...)
/usr/bin/ld: cannot find -lperl
collect2: ld returned 1 exit status
make[3]: ** [libplperl.so.0.0] Erro 1
make[3]: Saindo do diretório `/usr/src/postgresql-8.2.5/src/pl/plperl'
make[2]: ** [all] Erro 1
make[2]: Saindo do diretório `/usr/src/postgresql-8.2.5/src/pl'
make[1]: ** [all] Erro 2
make[1]: Saindo do diretório `/usr/src/postgresql-8.2.5/src'
make: ** [all] Erro 2
Isto acontece porque o compilador procura o arquivo /usr/lib/libperl.so. Como eu tenho a versão 5.8, preciso criar um link simbólico a esta biblioteca com o nome padrão procurado. Se você possui outra versão, substitua o 5.8 pela versão e nome de arquivo correspondente. Para criar o link, execute:
sudo ln -s /usr/lib/libperl.so.5.8 libperl.so
Depois disso, creio que o PostgreSQL possa ser instalado sem problemas. Baseado em um artigo muito bom feito por Alexandro Correa [1], elenco abaixo as etapas para instalação do postgresql através dos fontes com suporte a Perl e Python, após ter realizado todas as instruções acima:
Instruções para instalação rápida do PostgreSQL:
1 - Copie o source do Postgres do endereço:
http://wwwmaster.postgresql.org/download/mirrors-ftp?file=%2Fsource%2Fv8.2.5%2Fpostgresql-8.2.5.tar.bz2
2 - Entre em modo root:
$ sudo su
3 - Descompacte o pacote:
$ tar -xjvf postgresql-8.2.5.tar.bz2
4 - Acesse o diretório:
$ cd postgresql-8.2.5
5- Configure e compile:
$ ./configure --prefix=/usr/local/postgres --bindir=/usr/bin --sysconfdir=/etc/postgres --with-perl --with-python
6 - Instalando:
$ make
$ make install
7 - Criando grupo e usuário:
$ groupadd postgres
$ adduser postgres
8 - Criando diretório para os dados:
$ mkdir /usr/local/postgres/data
$ chown postgres:postgres /usr/local/postgres/data
9 - Inicializando o banco:
$ su - postgres
$ initdb -D /usr/local/postgres/data
10 - Rodando o postgres em segundo plano, gravando logs:
$ postmaster -D /usr/local/postgres/data >> /usr/local/postgres/data/logfile &
Links:
[1] http://www.vivaolinux.com.br/artigos/verArtigo.php?codigo=2142&pagina=2
Arquivo do blog
sábado, 5 de janeiro de 2008
Assinar:
Postar comentários (Atom)
Um comentário:
Cara,
Muito obrigado!
Passei por todos os problemas,
e tive que pesquisar um-a-um,
depois de um semana de guerra,
creio que vou conseguir finalizar a instalação do POstgreSQL
Valeu mesmo!
Postar um comentário