ejabberd y libiconv

Hola a todos

Llevo un tiempo intentando poner en marcha un servidor ejabberd, hasta ahora sin demasiado éxito. Lo estoy instalando sobre Solaris.

El último error que me aparece al intentar compilar ejabberd es que no encuentra iconv_erl.so. Es normal que esto ocurra ya que no he instalado todavía libiconv.

Este paquete no aparece como requisito para Unix en el manual de instalación y operación. Mi pregunta es: ¿es interesante instalar estas librerías? Por lo que veo sirven para conversión de juegos de caracteres. Lo que me llama la atención es que aparezca como un paquete activo por defecto, salvo que indique otra cosa en la instalación.

Saludos.

no encuentra iconv_erl.so

iconv_erl.so es una librería para conversión de juegos de caracteres que por lo visto solo la usa mod_irc. Viene incluida con ejabberd, como puedes comprobar en Debian.

Por tanto, no tiene nada que ver con otras librerías que puedas o no tener en el sistema, incluyendo a esa tal libiconv. Deberías revisar los errores que aparecen antes que ese, probablemente sobre algun problema para compilar iconv_erl.so.

Otra posibilidad es que si no te interesa para nada el transporte de IRC no lo compiles, y así no necesitas para nada iconv_erl.so. Para ello, simplemente edita ejabberd/src/Makefile y reemplaza la línea:

SUBDIRS = mod_irc mod_pubsub mod_muc eldap web stringprep tls
por esta otra:
SUBDIRS = mod_pubsub mod_muc eldap web stringprep tls

ahora el problema es con stringprep

Gracias, badlop, por tu intento de ayuda, pero está visto que no hay manera.

Supongo que la instalación de ejabberd es posible porque veo a muchos hablar de que lo tienen en marcha, pero no me explico lo que me está pasando.

Resulta que después de hacer lo que dices, e intentar eliminar la compilación de mod_irc, ahora el problema aparece con otro subdirectorio: stringprep. Intenta buscar en ejabberd/src el archivo stringprep_drv.so y efectivamente no existe. De hecho el único archivo "*.so" del directorio src es el expat_erl.so.

Eso en cuanto a errores, porque warnings del tipo " ignoring #pragma ident" aparecen a montones.

Me da la impresión de que falta algo por hacer, porque si no no sé cómo estoy encontrando tantos problemas. La verdad es que se me está haciendo una eternidad esta instalación. Con jabberd 1.4 no tuve tantos problemas, sobre todo porque existe una versión compilada para Solaris 8 ;-)

Agradezco cualquier pista que se os ocurra.

Creo que "configure" no anda muy fino

La cuestión es que a pesar de haber indicado en el configure las opciones (y sus directorios de instalación correspondientes)
with-erlang
with-libiconv (al final probé a instalar la última versión)
with-expat
with-openssl
Al compilar algunos de los subdirectorios tiene problemas para encontrar ciertos archivos de cabeceras, como erl_driver.h o ssl.h.
La opción --includedir parece ser ignorada por el programa configure ya que no incluye en ningún Makefile el camino que se le indique.
Al final, con toda la paciencia del mundo, he ido uno por uno modificando los Makefile de los subdirectorios que daban fallo en la compilación, añadiendo en la variable CFLAGS la opción -I con el camino a la cabecera que no encontraba en cada caso. Ya compila, con un montón de warnings, pero compila.
El problema es que ahora no consigo que funcione el "make install". Me da el error
install: ELDAPv3.beam was not found anywhere!
make: *** [install] Error 2

Y ese archivo, el ELDAPv3.beam, está en ejabberd/src. De verdad que esto va a terminar por volverme loca.

Por favor, si alguno habeis conseguido instalar ejabberd en Solaris 8, contadme cómo lo habeis hecho, porque esto parece una carrera de obstáculos.

Saludos.

ejabberd en Solaris 8: hay alguien que pudo

Como dices que te ha bastado añadir cierta opción en cada uno de ellos, pues podría ser que el programa './configure' no genere unos 'Makefile' correctos en Solaris.

Ten en cuenta que solo tengo información de una persona [1] que lo haya probado en Solaris 8 (¿usas esa misma versión?), al menos que sepamos, y en principio no comentó que tubiera problemas. Así que podría haber errores en el configure o en los Makefiles que solo afectan a Solaris.

El problema es que ahora no consigo que funcione el "make install".

Eso tampoco es grave. Yo ejabberd no lo instalo, simplemente lo ejecuto desde el mismo ejabberd/src.

Otras cosas a probar: si tienes instalado autoconf y automake, prueba a usarlos para generar un 'configure' y unos 'Makefile' nuevos, a ver si éstos están mejor adaptados a tu entorno.

Como último recurso puedo contactar con el admin del servidor ese.

[1] jabber.cd.chalmers.se con Solaris 8.

Syndicate content