Eu tenho tentado, sem sucesso, instalar um driver ODBC do IBM DB2 para que meu servidor PHP possa se conectar a um banco de dados. Eu tentei instalar o db2_connect e obter todos os tipos de problemas, tentei instalar o I Access para Linux e o RPM não instalou corretamente nem utilizou nenhum resultado útil. Eu também tentei o DB2 Runtime v8.1, sem sucesso.
Se eu tentar executar o rpm, eu preciso de dependências que não posso encontrar no apt-get. O Yum também não é muito útil, pois parece que não tenho repositórios instalados ou listas ...
A execução do RPM simples me fornece esse resultado no terminal:
# rpm -ivh iSeriesAccess-7.1.0-1.0.x86_64.rpm
rpm: RPM should not be used directly install RPM packages, use Alien instead!
rpm: However assuming you know what you are doing...
error: Failed dependencies:
/bin/ln is needed by iSeriesAccess-7.1.0-1.0.x86_64
/sbin/ldconfig is needed by iSeriesAccess-7.1.0-1.0.x86_64
/bin/rm is needed by iSeriesAccess-7.1.0-1.0.x86_64
/bin/sh is needed by iSeriesAccess-7.1.0-1.0.x86_64
libc.so.6()(64bit) is needed by iSeriesAccess-7.1.0-1.0.x86_64
libc.so.6(GLIBC_2.2.5)(64bit) is needed by iSeriesAccess-7.1.0-1.0.x86_64
libc.so.6(GLIBC_2.3)(64bit) is needed by iSeriesAccess-7.1.0-1.0.x86_64
libdl.so.2()(64bit) is needed by iSeriesAccess-7.1.0-1.0.x86_64
libdl.so.2(GLIBC_2.2.5)(64bit) is needed by iSeriesAccess-7.1.0-1.0.x86_64
libgcc_s.so.1()(64bit) is needed by iSeriesAccess-7.1.0-1.0.x86_64
libm.so.6()(64bit) is needed by iSeriesAccess-7.1.0-1.0.x86_64
libm.so.6(GLIBC_2.2.5)(64bit) is needed by iSeriesAccess-7.1.0-1.0.x86_64
libodbcinst.so.1()(64bit) is needed by iSeriesAccess-7.1.0-1.0.x86_64
libodbc.so.1()(64bit) is needed by iSeriesAccess-7.1.0-1.0.x86_64
libpthread.so.0()(64bit) is needed by iSeriesAccess-7.1.0-1.0.x86_64
libpthread.so.0(GLIBC_2.2.5)(64bit) is needed by iSeriesAccess-7.1.0-1.0.x86_64
libpthread.so.0(GLIBC_2.3.2)(64bit) is needed by iSeriesAccess-7.1.0-1.0.x86_64
librt.so.1()(64bit) is needed by iSeriesAccess-7.1.0-1.0.x86_64
librt.so.1(GLIBC_2.2.5)(64bit) is needed by iSeriesAccess-7.1.0-1.0.x86_64
libstdc++.so.6()(64bit) is needed by iSeriesAccess-7.1.0-1.0.x86_64
libstdc++.so.6(CXXABI_1.3)(64bit) is needed by iSeriesAccess-7.1.0-1.0.x86_64
libstdc++.so.6(GLIBCXX_3.4)(64bit) is needed by iSeriesAccess-7.1.0-1.0.x86_64
Usando o alien e rodando o dkpg me dá o headaque:
$ alien iSeriesAccess-7.1.0-1.0.x86_64.rpm --scripts
# dpkg -i iseriesaccess_7.1.0-2_amd64.deb
(Reading database ... 127664 files and directories currently installed.)
Preparing to replace iseriesaccess 7.1.0-2 (using iseriesaccess_7.1.0-2_amd64.deb) ...
Unpacking replacement iseriesaccess ...
post uninstall processing for iSeriesAccess 1.0...upgrade
/var/lib/dpkg/info/iseriesaccess.postrm: line 8: [: upgrade: integer expression expected
Setting up iseriesaccess (7.1.0-2) ...
post install processing for iSeriesAccess 1.0...configure
iSeries Access ODBC Driver has been deleted (if it existed at all) because its usage count became zero
odbcinst: Driver installed. Usage count increased to 1.
Target directory is /etc
odbcinst: Driver installed. Usage count increased to 3.
Target directory is /etc
Processing triggers for libc-bin ...
ldconfig deferred processing now taking place
Portanto, parece que os arquivos foram instalados corretamente, bem, meu driver odbc aparece, mas o db2cli.ini não é encontrado.
Então, várias perguntas. Existe uma alternativa melhor para conectar o php ao db2, digamos um pacote do ubuntu que eu possa instalar?
Alguém pode me direcionar para as etapas que faz com que o meu servidor Ubuntu funcione bem com o RPM para que eu possa construir minha instância db2?
Lembre-se também de que estou conectado remotamente a um I Series. Eu não estou usando o DB2 Express C, mesmo que eu tente fazer com que as funções db2 php funcionem. E eu não tenho zend mas acho que tenho todos os outros pacotes nos repositórios do Ubuntu. Ajuda, obrigado!