Re: Compilar postgres-6.3.2 con bibliotecas compartidas

From: Atanacio Reyes <areyesv(at)yahoo(dot)com>
To: pgsql-ayuda(at)tlali(dot)iztacala(dot)unam(dot)mx
Subject: Re: Compilar postgres-6.3.2 con bibliotecas compartidas
Date: 1998-10-10 04:26:36
Message-ID: 19981010042636.12869.rocketmail@send1e.yahoomail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-es-ayuda

---Juan Paulo Cabezas Sainz <scharles(at)labsd(dot)inf(dot)utfsm(dot)cl> wrote:
>
>
> Hola, estoy instalando postgres en una Sun Ultra, con solaris
> 2.6 y no he podido compilarlo para que genere las bibliotecas
> compartidas libpq.so.
>
> Mi script de configuracion es:
>
> #./configure --with-shared --with-template=sparc_solaris-gcc
> --prefix=/opt/postgres --enable-hba --enable-locale --with-tcl
--with-perl
> --with-x11
>
> Me genera luego de la compilacion el siguiente directorio lib
>
>
> libecpg.a
> libpgtcl.a
> libpq.a
> local1_template1.bki.source
> local1_template1.description
> pg_geqo.sample
> pg_hba.conf.sample
>
>
> Alguien me podria ayudar ?
>
> PD:Hay algun parche que se necesite para postgres-6.3.2 ?
>

Es evidente que te faltan algunas bibliotecas. Adems de las
compartidas, te faltan las que son necesarias para programar en C++ (
libpq++.so, libpq++.a ).
Pero no te preocupes, a mi me pas lo mismo, aunque tu problema es un
poco diferente al mio ya que yo instal postgreSQL en una computadora
con linux. Sin embargo lo que yo hice para solucionar mi problema
puede serte til a ti.
En primer lugar debo explicarte que en linux los binarios en modo
compartido se llaman ELF y los binarios estticos son .a, por lo que
el kernel debe tambin entender binarios de tipo linux_elf, antes de
intentar crear bibliotecas compartidas.
En segundo lugar y tal vez tu ya sepas que el script de configuracin
(configure) crea los archivos Makefile en los directorios apropiados
para que el programa make o gmake compile e instale PostgreSQL de la
forma que se especifica en el script de configuracin. Sin embargo
algunos archivos Makefile no se generan correctamente, y es por eso
que tanto tu como yo generamos instalaciones incompletas de PostgreSQL.
En primer lugar, (despus de correr el script de configuracin) el
punto de partida es el subdirectorio ../src (donde se encuentran los
fuentes de PostgreSQL). En este subdirectorio se encuentra el archivo
Makefile.global. Este archivo lo incluyen todos los dems Makefiles.
Para que se compilen las bibliotecas libpq++.* debe modificarse en
este archivo la lnea:

HAVE_Cplusplus=false por
HAVE_Cplusplus=true.

En el directorio ../src/interfaces/libpq, el Makefile que ah se
encuentra contiene lo siguiente (en el caso de linux al menos):

#Shared library stuff
shlib:=
install-shlib-dep:=
ifeq($(PORTNAME), linux)
ifdef LINUX_ELF
install-shlib-dep:=install-shlib
shlib:=libpq.so.1
.
.
.
Esta parte de este Makefile se repite en los Makefiles de los
directorios ../src/interfaces/libpq++, ../src/interfaces/libpgtcl y
../src/interfaces/libecpg

En mi caso en ningn Makefile ya sea en los directorios
../src/interfaces/libpq, ni en ../src/interfaces, ni en ../src se
encuentra definida la directiva LINUX_ELF, por lo que al no cumplirse
la condicin

ifdef LINUX_ELF

las bibliotecas lib*.so.1 no se compilan ni se instalan.
Para solucionar el problema solo tuve que agregar en algun lugar del
archivo ../src/Makefile.global la lnea:

LINUX_ELF=1.

Tu caso debe ser parecido, por lo que te recomiendo que busques en los
Makefiles de los directorios ../src/interfaces/libpq,
../src/interfaces/libpq++, ../src/interfaces/libpgtcl y
../src/interfaces/libecpg, la linea shlib:=lib*.so.1 (* se sustituye
por pq o pq++ o ecpg o pgtcl) y verifiques qu condicin es necesario
que se cumpla para que estas bibliotecas sean compiladas.

P.D. La versin que yo instal tambin es la 6.3.2.

Suerte!!

Atanacio Reyes Valenzuela.

Ensenada B.C. Mxico.
_________________________________________________________
DO YOU YAHOO!?
Get your free @yahoo.com address at http://mail.yahoo.com

--------- Pie de mensaje -------------------------------------------
Archivo historico: http://tlali.iztacala.unam.mx/maillist/pgsql-ayuda
Cancelar inscripcion:
mail to: majordomo(at)tlali(dot)iztacala(dot)unam(dot)mx
text : cancelacion pgsql-ayuda

Browse pgsql-es-ayuda by date

  From Date Subject
Next Message Montse 1998-10-11 22:18:19 acentos?
Previous Message Rivera Gonzalez Ivan-IND 1998-10-10 00:07:31 Instalacion y uso en linux