Instalación de Pgsql 8.4.4 en solaris 9

From: Felipe de Jesús Molina Bravo <fjmolinabravo(at)gmail(dot)com>
To: pgsql <pgsql-es-ayuda(at)postgresql(dot)org>
Subject: Instalación de Pgsql 8.4.4 en solaris 9
Date: 2010-07-10 03:40:54
Message-ID: AANLkTinB4zgpkfU5n13AObEVoJ4qQtfeCuICxQSMfemP@mail.gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-es-ayuda

Que tal

Solo quiero compartir los pasos que segui para instalar pgsql
8.4.4(plperl+libxml2) en solaris 9 (sparc)

Saludos y espero que sea de utilidad .... les aclaro que mi experiencia en
solaris antes de esto era nula....

Instalación de pgsql (plperl+libxml2) en Solaris 9 SPARC

Antecedentes

Datos del sistema:

bash-2.05# uname -a
SunOS agsm002 5.9 Generic_122300-51 sun4u sparc SUNW,Sun-Fire-880

bash-2.05# isainfo -v
64-bit sparcv9 applications
32-bit sparc applications

Con la finalidad de probar la aplicación desarrollada se decidio usar la
arquitectura de 64 bits. Para mayor velocidad se recomienda la de 32 bits,
ver:

http://www.postgresql.org/docs/8.4/static/installation-platform-notes.html#INSTALLATION-NOTES-SOLARIS

Versión original del perl

agsm002# perl -v

This is perl, v5.6.1 built for sun4-solaris-64int
(with 48 registered patches, see perl -V for more detail)

Se decidió cambiar la versión de perl a la 5.8.9. El principal motivo fue:

- La aplicación a probar está con perl 5.8.9
- La versión original de perl está compilada de forma estática, por lo que
al compilar postgres marca error.

Problemas presentados

Inicialmente se decidio compilar con el gcc. Al compilar postgres
(with-perl) marco el siguiente error:

/configure --with-CC=/usr/local/bin/gcc --with-perl --with-libxml
--with-libxslt

but when I do "make" get the next message:

/port -L/usr/local/lib -o plpgsql.so
make[4]: Leaving directory
`/export/fmolina/pgsql/postgresql-8.4.4/src/pl/plpgsql/src'
make[3]: Leaving directory
`/export/fmolina/pgsql/postgresql-8.4.4/src/pl/plpgsql'
make[3]: Entering directory
`/export/fmolina/pgsql/postgresql-8.4.4/src/pl/plperl'
/usr/local/bin/gcc -O2 -Wall -Wmissing-prototypes -Wpointer-arith
-Wdeclaration-after-statement -Wendif-labels -fno-strict-aliasing -fwrapv
-fPIC -shared plperl.o spi_internal.o SPI.o -L/usr/lib/sparcv9
-L/usr/local/lib -L../../../src/port -L/usr/local/lib -m64 -lsocket -lnsl
-ldl -lm -lc -Wl,-R'/usr/local/lib/perl5/5.8.9/sun4-solaris-64/CORE' -o
plperl.so
ld: fatal: file plperl.o: wrong ELF class: ELFCLASS32
ld: fatal: File processing errors. No output written to plperl.so
collect2: ld returned 1 exit status
make[3]: *** [plperl.so] Error 1
make[3]: Leaving directory
`/export/fmolina/pgsql/postgresql-8.4.4/src/pl/plperl'
make[2]: *** [all] Error 2
make[2]: Leaving directory
`/export/fmolina/pgsql/postgresql-8.4.4/src/pl'
make[1]: *** [all] Error 2
make[1]: Leaving directory `/export/fmolina/pgsql/postgresql-8.4.4/src'
make: *** [all] Error 2

Checando el tipo de archivo del plperl.o, marco:

bash-2.05# file src/pl/plperl/plperl.o src/pl/plperl/plperl.o: ELF
32-bit MSB relocatable SPARC Version 1

Lo cual es incorrecto. De acuerdo al post:

http://groups.google.com/group/pgsql.general/browse_thread/thread/dc29c9c0a6852287/8a28d12132c49d09?lnk=raot

se indica que se compile con el SunStudio; por lo que se uso dicho
compilador para todos los paquetes que se instalarón. La versión instalada
por el administrador fue SunStudio 11.

Se eliminó la versión original del libxml2 ya que postgres requiere:

configure: error: library 'xml2' (version >= 2.6.23) is required for XML
support

Se instalo la versión 2.7.7

Instalaciones.

Perl 5.8.9

Se configuro perl en solaris 9 con las siguientes flags:

sh Configure -Dcc=/opt/SunStudio/bin/cc -Dprefix=/export/fmolina/perl
-Duseshrpl ib -Accflags="-xarch=v9"

La ultima flag indica que es para una sparcv9 lo cual hace que genere el
perl de 64 bits. De esta forma se evita usar las flags -Duse64bitall
-Duse64bitinta
las cuales "no" recomienda la documentación (INSTALL) en máquinas nativas de
64

Son importantes las variables de ambientes; mi configuración fue:

PATH="/opt/SunStudio/bin/:/usr/css/bin:/usr/bin:/usr/sbin:/usr/local/bin:."
LD_LIBRARY_PATH="/usr/openwin/lib"

La compilación e instalación fue correcta

LIBXML2 (2.7.7)

Variables de ambiente:

CC="/opt/SunStudio/bin/cc"
LD_LIBRARY_PATH="/usr/ucblib/sparcv9:/usr/lib/sparcv9" ->(librerias de 64
bits)
PATH="/export/fmolina/perl/bin:/opt/SunStudio/bin:/usr/bin:/usr/sbin:/usr/local/bin:/usr/ucb:."
CFLAGS="-xarch=v9"

Configuración, compilación e instalación

./configure
make
make install

Postgres 8.4.4

Variables de ambiente:

LD_LIBRARY_PATH="/opt/SunStudio/lib:/usr/openwin/lib:/usr/lib:/local/irc"

PATH="/export/fmolina/perl/bin:/opt/SunStudio/bin:/usr/bin:/usr/sbin:/usr/local/bin:/usr/ucb:."
CFLAGS="-xarch=v9 -xO5"

Configuración, compilación e instalación

./configure --with-CC=/opt/SunStudio/bin/cc --with-perl --without-readline
--with-libxml
make
make install

Browse pgsql-es-ayuda by date

  From Date Subject
Next Message Alvaro Herrera 2010-07-10 03:53:58 Re: RV: como obtener ultimo registro insertado
Previous Message Marcos Luis Ortiz Valmaseda 2010-07-10 01:26:51 Re: velocidad en postgres