HACK THE SYSTEM: Donde está Skype 4.1 para RHEL6 ? - no funciona bajo SL - CentOS - RHEL

22 nov 2012

Donde está Skype 4.1 para RHEL6 ? - no funciona bajo SL - CentOS - RHEL

No hay solución de momento, solo es un post a manera de descargo, nada más, lo aclaro para que el no interesado siga de largo.
Ya había anunciado en un post anterior, skype 4.1 para Linux, pero que aún no estaba en los repos de Nux! ni de russian-fedora-nonfree.

Bueno, mirando los repos que se usan para Skype bajo RHEL o clones, que son nux-dextop o russian-fedora-nonfree-updates, noté que russian fedora tenia el .src.rpm pero no el rpm, así que decidí bajarlo y recompilarlo.
Al principio no compiló a causa de algunas modificaciones en el .spec file, asi que "abrí" el rpm y modifiqué el .spec file, para que compilara con las fuentes locales que ya tenia en el disco.

Compiló exitosamente, pero, a la hora de correrlo "illegal instruction".
Ok dije, seguro hice algo mal, así que probe de hacerlo con el 4.0 usando el spec file del mismo, y no dio error.. algo raro pasaba.

Bajé el .tar.bz2 de la web de Skype, y nada, el mismo error, esto ya era raro, y no era el rpm...

Baje el .deb para Ubuntu 10, lo abrí y el error era "Violación de segmento", no es lo mismo, pero tampoco corría.

Hasta que buscando encontre, que el mismo error se dío en usuarios con Pentium II y III, bajo Windows XP, lo que me llamó mucho la atención, dado que Skype es i586, asi que de P3 para adelante debería funcionar.

Supongo, asumo, no lo se, que la versión linux es compilada con gcc y no alguna cosa rara de M$ o Intel compiler, etc.

La cosa es que buscando buscando, dí con un posible error, que es un fallo en el compilador, usando instrucciones sse3, que RHEL no soporta, o al menos así comenta un usuario del foro.

Estarán pensando "que pedorrada RHEL que no soporta sse3", bueno, en principio, no estoy seguro de ello, dado que en mi caso el kernel es custom, y lo compile con todas las de la ley, a menos que el gcc esté tocado, cosa que no creo, dado que hay muchas apps que usan sse3 y estan disponibles.

Mas bien creo que ha sido un error al compilarlo o en sus instrucciones en assembly.

Por si quieren mirar el comment: http://community.skype.com/t5/Linux/Skype-for-Redhat-Enterprise-6/m-p/1211930/highlight/true#M2955

La cosa es que ya reporté el bug, vamos a ver que me dicen.
No comparto lo que un Ubuntero dice, de que no pueden tampoco hacer un paquete para cada distro... dado que acá, nadie pidio nada... el tarball no funciona y eso no es paquete de nada... es crudo, pelado, asi que, habló de más el usuario que comentó eso.

En momentos como este, es cuando uno se acuerda de Stallman, porque claramente, si el codigo fuera abierto, cada uno lo compila en su arquitectura y con el compilador y parametros que se le cante, y no debería depender de la incompetencia de los developers de M$, que dudo que sepan usar bien las cosas, ya que cometieron el mismo error en la version para XP.

Aún no entiendo, cual es el valor de Skype, digo, no cobran la licencia de uso, asi que ganan con las llamadas y el protocolo que es "único", más allá de eso, podrian liberar el código para que cosas como esta sean solucionadas en días por una enorme comunidad, y no por 1 developer asignado por M$.

Entiendo que la patente del protocolo debe ser lo costoso, y que si todos la tienen, bueno, dejaría de tener algún valor, pero existen licencias en las cuales podes reclamar si copian tu codigo y aun así hacerlo privativo, es decir, no libre para modificar, ni relicenciar.

En fín, será cuestión de esperar, y ver que dicen, asi que para los que estaban esperando el update de nux o russian Fedora, sepan que no es un atraso de ellos, sino que el binario mismo no corre bajo RHEL6.

18 comentarios:

  1. Aún no utilizo programas tipo Skype, pero si lo necesito tiraré de Ekiga (aunque claro, es Gnome...). Supongo que fallará más y tendrá mucha menos funcionalidad, pero open source, colegas.

    ResponderEliminar
    Respuestas
    1. Si, es una pena que no esté mas difundido, y como la mayoria de las personas, usan Skype... otra no queda. Lo penoso es el soporte de las empresas privadas. Cuando las cosas son Open Source, se hacen por gusto, no por dinero ni ordenes de un jefe. Esto lo noto en el bug report que hice en Skype, donde, ya pasaron 3 días y no hubo una sola respuesta, cuando por lo general acostumbro que en rhel, centos, etc, reporto y a las horas alguien responde.

      Eliminar
  2. La verdad tampoco se pierde mucho, mas teniendo en cuenta que ahora skype funciona bajo servidores Mokosoft (antes lo hacia sobre el modelo P2P)

    Aunque no suelo utilizarlo siempre nos queda la videoconferencia con google-chat o al menos conocido Ekiga.

    https://www.ekiga.net/

    ResponderEliminar
    Respuestas
    1. En realidad, depende, es como todo, somos minoria, y no puedo andar diciendo a mis amigos/conocidos que usen ekiga solo porque yo uso un OS minoritario. Yo no he notado mejora o nada desde que M$ lo compró. Si me jode que el bug report que abrí aun no haya tenido una sola rta :S

      Eliminar
  3. P.D: Por cierto el equipo de ServOS ya lo ham implementado ¿?

    http://www.serv-os.net/index.php/blog/aplicaciones/85-skype-4-1-en-servos

    ResponderEliminar
    Respuestas
    1. Eso veo, sucede que vi tu pregunta, y si, en SL o CentOS, o RHEL, la version de esos paquetes es:

      qt-4.6.2-24.el6.i686
      qtwebkit-2.1.1-1.el6.i686

      Si bien no son cosas muy importantes, son garantizadas por upstream en estabilidad y soporte, y con upstrem me refiero a Red Hat.
      Si usas apps que usen Qt, como es el caso de K3B (yo lo uso), u otras, y algo llegase a fallar, la verdad, es que prefiero prescindir de Skype 4.1 antes que cosas que uso mas a menudo.
      Me gustaria saber de donde obtienen qt 4.8 la gente de Serv-OS, de los .src.rpm de Fedora?

      Eliminar
    2. Me respondo a mi mismo, si, de hecho son de FC16: https://www.google.com.ar/#hl=es&tbo=d&sclient=psy-ab&q=qtwebkit+2.2.0-1&oq=qtwebkit+2.2.0-1&gs_l=hp.3...66.5089.0.5479.13.12.1.0.0.0.378.3124.2-9j3.12.0.ckjrth..0.0...1.1.f1AOAQ6boCQ&pbx=1&bav=on.2,or.r_gc.r_pw.r_qf.&fp=1b949806425ef013&bpcl=38897761&biw=1440&bih=678

      http://pkgs.org/fedora-16/fedora-i386/qtwebkit-2.2.0-1.fc16.i686.rpm.html

      Y como dije antes y agrego algo más.... mantener algo así que no viene de upstream, es todo un tema, mira, por ejemplo, ese paquete ya tiene updates, por el mismo rdieter, uno de los Fedora KDE SIG
      http://koji.fedoraproject.org/koji/buildinfo?buildID=320156
      qtwebkit-2.2.2-1.fc16

      Si miras el changelog, verás que hay cosas relevantes, ergo, como dije, tarde o temprano se romperá la compatibilidad con alguna otra app, y que si empezamos a meter cosas de Fedora (yo lo hago) pero que dependan de, o nutran a... debemos cambiar esas cosas tambien, o tarde o temprano se rompera la compatibilidad.

      Eliminar
  4. En ServOS si que funciona y es un clon de Centos 6.x :) pero dedicado a Desktop

    El problema es la versión del qt y del qtwebkit

    qt = 4.8.0
    qtwebkit = 2.2.0-1

    y que el qtwebkit tiene que tener instalado el x86_64 y el i686 ( si se instala en la versión de 64 bits!

    en el repo de ServOS todo esto esta y también ha recompilada la versión 4.1 de skype que funciona tanto en su versión de 32bits como en la de 64bits sin problemas!

    podéis visitas http://www.serv-os.net y disfrutar de rhel6 para desktop pero también para Servidores que también tienen repo muy avanzado! :)

    Espero que os sirva esta info!

    ResponderEliminar
    Respuestas
    1. Te agradezco la sugerencia, pero como le dije a MiguelDark... son los .src.rpm de Fedora no?.
      Podrias darme un mirror directo de serv-os para probar el rpm de skype 4.1 a ver si funciona sin cambiar esos paquetes?.

      Eliminar
    2. Mirá, me meti a buscar y encontre los repos de serv-os, baje el rpm, y nada, lo mismo. Es más, al instalar no me pide dependencias ni acusa que le falten, con lo cual, anotalo como bug, esta mal el .spec del rpm, dado que no pone como dependencia excluyente Qt 4.8 ni qtwebkit 2.2
      Al margen de eso, sigue con el mismo error, instruccion ilegal. Con lo cual me da que pensar que se debe a un problema de compilado por parte de Skype o bien la version de GLIBC.

      Eliminar
    3. Hola! te respondo a eso

      por lo que he podido leer, ellos han cogido el src de la 4.0 que existe para rhel6, supongo que de nux y simplemente han modificado la versión, han bajado el dynamic de skype y el rpm de skype y lo han re-compilado de nuevo y les ha dado la versión 4.1

      el glibc es la 2.15-56 por si te sirve de info! en ServOS si que funciona, lo acabo de probar y mediante actualización se te instala sin problemas! lo que si que tienen es el qtwebkit i686 también instalado así que algo tienen que tener de versiones que centos o sl no tienen de serie

      la verdad es que la estabilidad es muy buena y yo llevo tiempo utilizando-la, desde los inicios y me va muy bien!

      lo del bug, se lo comunicare mediante foro para ver si lo sacan pero algún otro rpm ya lo debe instalar o al compilar la iso ya lo incluirán porque instalado por defecto viene el skype!

      de los paquetes, si, utilizan algunos de fedora y no me parece tan malo ya que así permiten que se puedan utilizan versiones modernas de las cosas y van perfectas re-compiladas por ellos, supongo que las testearan primero y adaptaran alguna cosa no?

      Eliminar
    4. Primer problema, glibc en CentOS o SL: glibc-2.12-1.80.el6_3.6.i686 (supongo que de ahi viene el problema, segun estuve mirando, ese mensaje de error es propio de C++ o C, cuando se usa una version de glibc donde la instruccion no está realmente).

      Lo probé en CentOS y SL, en ninguno funciona, se me hace como digo, por sl strace y el Illegal Instruction core dumped, que es un tema de glibc.

      Seria bueno, ver que instrucciones usa Skype 4.1 que requiere una version de glibc superior (pero claro eso no se podrá fixear, hackear dado que es codigo cerrado cuak).

      Segun veo la version de glibc que usa ServOS es la de FC17. No se realmente, si conviene cambiar taaanto una distro, digo, ya de por si en caso de reportar un bug a bugzilla.redhat.com, y ver eso, me van a mandar a.... ese lugar, dado que ellos testean sobre lo que liberan, no sobre lo modificado.

      Tendré que analizar el tema.

      Eliminar
    5. ya me han repuesto a mi petición esta gente de servos, han puesto la nueva versión del rpm que pide las dependencias correspondientes para que, quien no tenga esas versiones no se pueda instalar ese paquete, así que lo que comentabas del bug ya esta resuelto.

      Por lo visto la versión del glibc tiene que ser la que requiere qt-4.8 y qtwebkit así que para que funcione skype tiene que estar;

      qt = 4.8
      qtwebkit = 2.2.0-1
      glibc=2.15-56

      que son las versiones que tiene ServOS, y pueden o no ser de fedora los src pero va de muerte la distro y para nada se ve inestable la verdad! así que creo que sin el qt-4.8 no se podra utilizar skype-4.1 y por eso los de nux y los de russian-fedora lo han sacado porque se sale de la versión que centos tiene de serie....

      Bueno espero que con esto se pueda aclarar un poco más este articulo y explicar un poco las causas de porque no hay skype-4.1 para rhel6 ( bueno, en ServOS si )

      Saludos!

      Eliminar
    6. @SergLinux2004
      Te agradezco la info y el reporte de bug para ServOS.
      Nunca dije que sea inestable, solo que a la hora de reportar un bug, no es lo mismo decir, RHEL, CentOS que son binarios 100% identicos, a decir, un remix con cambios en el sistema base, lo cual pasa de ser un remix con modificaciones como lo es Stella, a otra distro linux, como lo es ServOS.
      De todos modos ya han tomado mi reporte de bug en Skype, y me han pedido info, asi que :D solo a esperar!

      Eliminar
  5. Buen artículo hermano

    ResponderEliminar
  6. [matias@lightbastion skype-4.1.0.20]$ sudo yum install glibc.i686 alsa-lib.i686 libXv.i686 libXScrnSaver.i686 libtiff.i686 glib2.i686 libSM.i686 libXrender.i686 fontconfig-2.8.0-3.el6.i686 --skip-broken
    Loaded plugins: priorities, product-id, refresh-packagekit, rhnplugin, subscription-manager
    Updating certificate-based repositories.
    Unable to read consumer identity
    Setting up Install Process
    Package glibc-2.12-1.80.el6_3.6.i686 already installed and latest version
    Package alsa-lib-1.0.22-3.el6.i686 already installed and latest version
    Package libXv-1.0.5-1.el6.i686 already installed and latest version
    Package libXScrnSaver-1.2.0-1.el6.i686 already installed and latest version
    Package glib2-2.22.5-7.el6.i686 already installed and latest version
    Package libSM-1.1.0-7.1.el6.i686 already installed and latest version
    Package libXrender-0.9.5-1.el6.i686 already installed and latest version
    Package fontconfig-2.8.0-3.el6.i686 already installed and latest version
    Resolving Dependencies
    --> Running transaction check
    ---> Package libtiff.i686 0:3.9.4-6.el6_3 will be updated
    ---> Package libtiff.i686 0:3.9.4-9.el6_3 will be an update
    --> Finished Dependency Resolution

    Matias Colli

    ResponderEliminar
    Respuestas
    1. Matias,

      Si, esas son las dep, pero el skype en rpm no se instala...

      Eliminar
    2. Y me refiero a la ultima version que incluye la conexion a redes MSN.

      Eliminar

Dejá tu comentario