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