1 (edited by Fathi 2014-04-21 11:25:10)

Topic: Recompiler php 5.4 avec Orcale Instant Client 10.2

Bonjour,

J'ai mis-à-jour un de nos serveurs avec la dernière version de php depuis le dépôt de rémi (php-5.4.27/CentOS 5.10/i386); il a fallu que je mette également à jour Orcale Instant Client vers la version 12.1; du coup plus rien ne marche. En effet, les scripts php me renvoient comme messages que les connexions vers la version de ma base de données ne sont plus supportées. S’agissant d'une vielle base oracle avec support étendu, que l'on ne peut mettre à jour ni dans les semaines ni dans les mois à venir (et peut-être plus)je suis obligé de régresser mon Oracle Instant Client vers une version antérieure (11.2) et essayer de recompiler le tout depuis les srpms de rémi afin de garder la compatibilité avec notre serveur de base de données et notre application métier, source de toutes les données.

J'ai donc recompilé tout depuis les srpms de rémi (ce n'est pas la première fois que je le fais, mais la dernière date de quelques temps déjà) mais je ne retrouve pas de packages php-oci8, il n'est simplement pas généré.

Re: Recompiler php 5.4 avec Orcale Instant Client 10.2

Pour que le paquet php-oci8 soit généré, il faut construire avec l'option "--with oci8"

Laptop:  Fedora 38 + rpmfusion + remi (SCL only)
x86_64 builder: Fedora 39 + rpmfusion + remi-test
aarch64 builder: RHEL 9 with EPEL
Hosting Server: CentOS 8 Stream with EPEL, rpmfusion, remi

3 (edited by Fathi 2014-04-21 11:37:47)

Re: Recompiler php 5.4 avec Orcale Instant Client 10.2

Merci Rémi.

Voici ce que j'obtient maintenant avec l'option --with oci8
#rpmbuild -ba  --with oci8 --target=i686 RPMBUILD/SPECS/php54.spec

Building target platforms: i686
Building for target i686
error: Failed build dependencies:
        oracle-instantclient-devel >= 11.2 is needed by php-5.4.27-2.i686

Alors que j'ai ceci dans mon système
#cat /etc/ld.so.conf.d/oracle-instantclient.conf
/usr/lib/oracle/11.2/client/lib

et celà:
#rpm -qa | grep instantclient
oracle-instantclient11.2-tools-11.2.0.4.0-1
oracle-instantclient11.2-basic-11.2.0.4.0-1
oracle-instantclient11.2-jdbc-11.2.0.4.0-1
oracle-instantclient11.2-devel-11.2.0.4.0-1
oracle-instantclient11.2-sqlplus-11.2.0.4.0-1
oracle-instantclient11.2-odbc-11.2.0.4.0-1

Biensur, j'ai déjà modifié le fichier spec pour avoir ceci:
%ifarch ppc ppc64
%global oraclever 10.2.0.2
%else
%global oraclever 11.2
%endif

Bon, j'ai triché un peu, je viens de modifier le spec comme suit:

BuildRequires:  oracle-instantclient%{oraclever}-devel >= %{oraclever}

au lieu de
BuildRequires:  oracle-instantclient-devel >= %{oraclever}
puisqu'un rpm -q oracle-instantclient-devel, me renvoit un résultat négatif alors que le package exsite sous le nom de oracle-instantclient11.2-devel.

Compile en cours, je vous tient au courant des résultats.
Merci.

Re: Recompiler php 5.4 avec Orcale Instant Client 10.2

4h de compilation plutard, ça a marché :-) :-) :-)

Merci Rémi.

Re: Recompiler php 5.4 avec Orcale Instant Client 10.2

smile

Laptop:  Fedora 38 + rpmfusion + remi (SCL only)
x86_64 builder: Fedora 39 + rpmfusion + remi-test
aarch64 builder: RHEL 9 with EPEL
Hosting Server: CentOS 8 Stream with EPEL, rpmfusion, remi