Senores muy buenas tardes.
estoy intentando generar un RPM de php4 que tenga el modulo oci8
activo. para esto estoy "intentando" recompilar desde los SRPMS de php
en una maquina CentOS y en otra maquina RHEL AS (ambas con los ultimos
updates hasta hoy a las 12:00) y en ambas tengo problemas, los pasos
que segui fueron:
descargue los SRPMS de php desde los sitios oficiales (con
yum/up2date) y sus respectivas "ultimas versiones"
intente recompilar-los utilizando los siguientes comandos:
rpmbuild -ba --with-oci8 php.spec
rpmbuild -ba --with-oci8=shared,/opt/oraappl/product/9.2.0/ php.spec
rpmbuild -ba --with-oci8-instant-client=shared,/opt/oraappl/product/9.2.0/
php.spec
tambien lei el documento "/usr/share/doc/rpm-4.3.3/conditionalbuilds"
que indica que se debe de utilizar la opcion "--define" y los comandos
quedaron asi:
rpmbuild -ba --define "with-oci8" php.spec
rpmbuild -ba --define "_with_oci8=shared,/opt/oraappl/product/9.2.0/" php.spec
y por ultimo, fue a modificar directamente el archivo php.spec y
agregar las opciones a este archivo:
linea original:
---------------------
%{?_with_oci8:--with-oci8-instant-client=shared} \
---------------------
cambios realizados:
---------------------
%{?_with_oci8:--with-oci8-instant-client=shared,/opt/oraappl/product/9.2.0/} \
y despues
--with-oci8=shared,/opt/oraappl/product/9.2.0/ \
---------------------
pero tampoco me funciono !!!!
dependendo del comando, me salen errores distintos
---------------------
install: cannot stat `build-apache/libs/libphp4.so': No such file or directory
error: Bad exit status from /var/tmp/rpm-tmp.60112 (%install)
RPM build errors:
Bad exit status from /var/tmp/rpm-tmp.60112 (%install)
---------------------
o
---------------------
File not found: /var/tmp/php-root/usr/lib/php4/oci8.so
---------------------
o
---------------------
error: Installed (but unpackaged) file(s) found: /usr/lib/php4/oci8.so
---------------------
las variables del entorno "teoricamente" estan bien definidas:
---------------------
# Oracle Environment
export LD_ASSUME_KERNEL=2.4.19 # for RHEL AS 4
export ORACLE_BASE=/opt/oraappl
export ORACLE_HOME=$ORACLE_BASE/product/9.2.0
export ORACLE_SID=ilque
export ORACLE_TERM=xterm
$ORACLE_HOME/network/admin
export NLS_LANG=AMERICAN;
export ORA_NLS33=$ORACLE_HOME/ocommon/nls/admin/data
LD_LIBRARY_PATH=$ORACLE_HOME/lib:/lib:/usr/lib
LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/lib
export LD_LIBRARY_PATH
export PATH=$PATH:$ORACLE_HOME/bin
---------------------
y compilando php (misma version) desde linea de comando, se compila
sin problemas.. pero no me agrada la idea y preferiria crear el RPM
correspondente.
la pregunta seria: alguien por aca, tiene oci8 funcionando en alguno
de estes ambientes (centos/rhel) compilado desde los SRPMS ??? como lo
hizo ??? algun enlace sobre el tema ???
salu2 y desde ya muchas gracias.
--
--
Victor Hugo dos Santos
Linux Counter #224399
From [EMAIL PROTECTED] Wed Feb 7 14:45:05 2007
From: [EMAIL PROTECTED] (Marcos Ramirez)
Date: Wed Feb 7 15:10:10 2007
Subject: oci8 y php4
In-Reply-To: <[EMAIL PROTECTED]>
References: <[EMAIL PROTECTED]>
Message-ID: <[EMAIL PROTECTED]>
On Wed, 2007-02-07 at 13:55 -0300, Victor Hugo dos Santos wrote:
> Senores muy buenas tardes.
> pero tampoco me funciono !!!!
> dependendo del comando, me salen errores distintos
no eres muy explicativo con los errores, seguro que hay otros mensajes
antes de los que muestras que dan mas idea de lo que esta pasando.
> [...]
> ---------------------
> # Oracle Environment
> export LD_ASSUME_KERNEL=2.4.19 # for RHEL AS 4
> [..] otras variables de ambiente oracle
> export LD_LIBRARY_PATH
> export PATH=$PATH:$ORACLE_HOME/bin
los rpms de php4 asumen que usaras instant-client como bibliotecas base
para la compilacion. Por lo que veo de tus variables, tu tienes el
oracle server instalado en tu maquina.
Tienes 2 opciones:
a) Instala los rpms de instant-client
(<URL:http://www.oracle.com/technology/software/tech/oci/instantclient/htdocs/linuxsoft.html>)
y compila con
$ rpmbuild --rebuild --with oci8 php-4.3.9-3.15.src.rpm
o, b) modifica el .spec segun el parche que incluyo al final y compila
con
$ rpm -ihv php-4.3.9-3.15.src.rpm
$ patch -p0 < oci8.patch
$ rpmbuild -bb --with oci8 /usr/src/redhat/SPECS/php.spec
en ambos casos /debes/ tener definida las variables de ambiente
ORACLE_HOME, LD_LIBRARY_PATH y PATH al menos, /antes/ de iniciar la
compilacion.
> la pregunta seria: alguien por aca, tiene oci8 funcionando en alguno
> de estes ambientes (centos/rhel) compilado desde los SRPMS ??? como lo
> hizo ??? algun enlace sobre el tema ???
En lo personal, estoy compilando el modulo oci8 desde la ultima version
de pecl, asi no recompilo todo y mantengo la consistencia de los RPM's
para las actualizaciones.
Saludos