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

Reply via email to