Newsgroup: it.comp.os.linux.sys
Titolo: Client SDK Informix su Debian Etch

Ciao a tutti,
avrei necessità di interfacciare pagine php con Db Informix, per fare 
questo devo scaricare i sorgenti del php e compilarli con l'estensione 
per Informix però questa non riesce per la mancanza di un client SDK 
Informix installato sulla macchina (sulla Etch funzionava senza 
problemi, mentre su Etch non riesco a installarlo).
Qualcuno di voi ha già affrontato il problema?
Grazie. Saluti...

Mandi! Federico
  In chel dì si favelave...
F> Qualcuno di voi ha già affrontato il problema?
Sia su sarge che su etch (tra l'altro, 64 bit) ho installato l'SDK e
compilato il modulo DBD perl specifico, ricompilare il modulo php non
credo che sia molto diverso.
Il mio piccolo HOWTO:
------------------------------------------------------------------------------
Installazione del client informix e librerie perl associate in debian.
1) occorre spacchettare clientsdk.2.90.UC4.LINUX.tar in una cartella
temporanea, e usando il comando alien convertire i tre RPM presenti:
	alien -k --nopatch --scripts clientsdkcontent.rpm
	alien -k --nopatch --scripts message.rpm
	alien -k --nopatch --scripts gls.rpm
quind occorre creare l'utente e il gruppo informix con:
	adduser --system --group --home /opt/informix informix
2) per installarli occorre eseguire, e assolutamente in questo ordine, i
comandi (non servirebbe se si rifanno gli script di pre/postinst... ;):
	INFORMIXDIR=/opt/informix RPM_INSTALL_PREFIX=/opt/informix dpkg -i msgclient_2004.3-1_i386.deb
	INFORMIXDIR=/opt/informix RPM_INSTALL_PREFIX=/opt/informix dpkg -i glsclient_4.00.UC7-1_i386.deb
	apt-get install libaio1 libaio-dev libstdc++5
	INFORMIXDIR=/opt/informix RPM_INSTALL_PREFIX=/opt/informix ACCEPTLICENSE=yes dpkg -i csdk_2.90.UC4-1_i386.deb
Questo installa tutto in /opt/informix; occorre però anche rendere visibili
le librerie, basta aggiungere in /etc/ld.so.conf le righe:
	/opt/informix/lib
	/opt/informix/lib/esql
(o creare /etc/ld.so.conf.d/informix.conf con le stesse righe) e
dare `ldconfig'.
3) fatto questo occorre aggiungere in /etc/services sqlexec alla solita
porta 1525, e occorre aggiungere in /opt/informix/etc/sqlhosts una riga
come:
	sv1     sesoctcp        sv1             sqlexec
anche questa è una cosa nota.
4) ora occorre decomprimere il pacchetto dei file del driver DBD, entrare e
dare il comando:
	perl 
rmautoinst.pl
 Makefile.PL > Makefile.PL.new
	mv Makefile.PL Makefile.PL.old; mv Makefile.PL.new Makefile.PL
per eliminare le dipendenze dal package AutoInst (necessario in sarge,
non più in etch).
5) quindi si può compilare con:
	PATH="$PATH:/opt/informix/bin" INFORMIXDIR="/opt/informix" INFORMIXSERVER=sv1 DBI_DBNAME=fattinf DBD_INFORMIX_DATABASE=fattinf DBD_INFORMIX_USERNAME=informix DBD_INFORMIX_PASSWORD=ponte1 DBPATH=/user/informix/bin perl Makefile.PL
	PATH="$PATH:/opt/informix/bin" INFORMIXDIR="/opt/informix" INFORMIXSERVER=sv1 DBI_DBNAME=fattinf DBD_INFORMIX_DATABASE=fattinf DBD_INFORMIX_USERNAME=informix DBD_INFORMIX_PASSWORD=ponte1 DBPATH=/user/informix/bin make
	PATH="$PATH:/opt/informix/bin" INFORMIXDIR="/opt/informix" INFORMIXSERVER=sv1 DBI_DBNAME=fattinf DBD_INFORMIX_DATABASE=fattinf DBD_INFORMIX_USERNAME=informix DBD_INFORMIX_PASSWORD=ponte1 DBPATH=/user/informix/bin sudo make install
ovviamente potrebbe dare problemi di dipendenze, che vanno risolte a mano
con apt-get install libperl-... .
Oppure usare dh-make-perl con:
	PATH="$PATH:/opt/informix/bin" INFORMIXDIR="/opt/informix" INFORMIXSERVER=sv1 DBI_DBNAME=fattinf DBD_INFORMIX_DATABASE=fattinf DBD_INFORMIX_USERNAME=informix DBD_INFORMIX_PASSWORD=ponte1 DBPATH=/user/informix/bin dh-make-perl --build --depends perl,libdbi-perl,libtest-pod-perl,csdk .
-- 
  Voi non ci crederete
  la mia ragazza sogna					(R. Vecchioni)