informix en distribuciones linux recientes con glibc 2.7+

Hola,
conocen alguna forma de hacer andar el informix (v9.21) bajo linux
con alguna version de glibc relativamente reciente? Las ultimas
distribuciones de linux ya usan la version 2.7 en adelante. La ultima
version con la que nos funciono es la la 2.3.6, usando el truco del
LD_ASSUME_KERNEL.

El error que dan los binarios de informix, que parece fueron compilados con
glibc 2.0 o 2.1, es algo como:

symbol errno, version GLIBC_2.0 not defined in file libc.so.6 with link
time reference

con la variable LD_ASSUME_KERNEL=2.4.21 (que con glibc-2.3.6 funciona)
el error ahora es:

error while loading shared libraries: libm.so.6: cannot open shared
object file: No such file or directory

El hardware nuevo requiere distribuciones recientes que traen los drivers
actualizados, la alternativa es virtualizar con una distribucion vieja de
linux. Alguien ha probado esta alternativa?

Hola, estoy intentando hacer la instalacion en un Debian 5.0 con el metodo sugerido por Pablo.
Lo segui paso por paso y no me dio ningun error, pude inicializar la instancia y veo el motor corriendo, el problema surge cuando lo bajo (onmode -k) y lo intento levantar nuevamente (oninit), me tira el siguiente error:

oninit: Fatal error in shared memory creation

el online.log:
19:45:40 Informix Dynamic Server 2000 Started.
19:45:40 shmget: [EEXIST][17]: key 52564801: shared memory already exists
19:45:40 mt_shm_init: can’t create resident segment

si reinicio el servidor, puedo iniciar nuevamente la instancia sin problemas.

Pablo:
Efectivamente, bajando la instancia con root no tengo problemas, lo hacia con el usuario informix porque tenia entendido que debia correr bajo ese usuario, pero iniciando con informix y bajando con root anda bien.

Ahora tengo un problema con la mayoria de los comandos: ontape, onparams, onspaces, etc. Al invocarlos en la linea de comando se quedan sin hacer nada (no consumen cpu ni dan error) hasta que los interrumpo con ctrl-c. Los que funcionan bien son el dbaccess y onstat. Tenes idea que puede ser?

Ustedes tienen implementado en produccion el motor con este metodo?

Saludos y gracias

Marcelo

Hola Pablo, Me encantaría probar el Informix 9.21 en mi servidor Linux… Nosotros estamos solo con el G3W, pero teníamos pensado poner el servidor informix sobre plataforma Linux. Tienes alguna idea de donde puedo obtener los instaladores para Linux?

Saludos!!

Ricardo Pellicer.

Yo intenté con CentOs 5.3 y tengo el mismo problema de compatibilidad con GLIBC_2.0
Aparentemente el comando oninit no está usando una de las librerias que usan los demas comandos, por eso parece ser que es lo único que funciona, pero al no funcionar ontape el futuro no es muy promisorio.
Las pocas recomendaciones que encontré por la web son volver al kernel 2.4(glibc 2.3), y entonces olvidarse de php 5.2, que ironía, será cuestion de tener dos servidores, cosa que no todos podemos.
¿Alguien sabe si hay algún parche liberado por IBM?
Saludos

Hola Marcelo, me pasas el método que mencionas “de Pablo”? estoy intentando en un Debian 5.05. Logro arrancar la instancia pero no puedo crear los dbspaces y tampoco hacer un onstat.

Saludos y gracias

Juan

Juan, ahi te mande un mail, confirmame si te llegó.

Nosotros tenemos una de la instalaciones corriendo en un sevidor sun netra 4200 con un OpenSUSE 11.3 como sistema base con dos maquinas virtuales XEN.
Una con OpenSUSE 11.3 con interfaz publica corriendo Guarani 3w.
La otra con Debían 4.0r8 corriendo nada mas que el motor.

Yo logré instalar el motor 9.21 UC3 sobre CentOs 5.2 haciendo un jaula. Es incómodo hacer el doble login y a pesar de los mensajes de error “Incorrectly built binary which accesses errno or h_errno directly. Needs to bixed.” que tira libc-2.3.4 el sistema funciona perfectamente.

que es una “JAULA”?

un directorio con toda la estructura del root al cual se accede mediante un “chroot” y se usa principalmente para aislar procesos de servicios del resto del SO. Una vez hecho el chroot no es posible hacer un cd … para volver al nivel anterior.