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:
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:
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
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 |