Primero, queria saludarlos de nuevo despues de tanto tiempo de inactividad en mi blog (¡Si, casi un año!), y queria abrir mi primera sección de "Testing", donde iré contando el resultado (junto a una explicación entera del proceso para conseguirlo) de cada programita interesante nuevo que va saliendo en la actualidad.
Ficha del testing #1:
Objetivo: Amarok
Versión: 2.0 "In the begginning"
Sistema: ArchLinux 2008.1/x86_64
Escritorio: Openbox / KDE 3.5.10
Fecha: jue dic 11 16:51:50 ARST 2008
Empecé buscando si no habia un paquete en los repositorios, con lo cual me encontré que aún no habia uno disponible (estaban los de los svn y betas aún), pero si habia un PKGBUILD en AUR para construir automaticamente un paquete para instalar.
Intenté via yaourt automatizar un poco el proceso de descargar el script y rellenar las dependencias (phonon, kdebase-runtime, y kdelibs, bastaantes MB de descargas), lo cual pareció ir bien hasta un poco empezada la compilación, donde dió un error.
Yaourt no suele dar demasiada información del error, y viendo que el primer error salió tan enseguida, supuse que iba a ser un camino laaargo y duro, por lo que antes de seguir perdiendo el tiempo con Yaourt, busqué las sources de nuestra victima en los temporarios, y las descomprimí:
$ tar -jxvf amarok-2.0.tar.bz2
Luego entré a investigar, y vi enseguida un CMakeList.txt, lo cual me indicó que necesitaba cmake para continuar. Lo instalé, y lo ejecuté:
$ cmake CMAKE_INSTALL_PREFIX=/usr .
Pareció ir bien todo, asi que continué el proceso:
$ make
Al rato, el primer error:
Linking CXX shared library ../../lib/libamarokplasma.so
/usr/bin/ld: skipping incompatible /usr/lib/gcc/x86_64-unknown-linux-gnu/4.3.2/../../../../lib/libGL.so when searching for -lGL
/usr/bin/ld: skipping incompatible /usr/lib/../lib/libGL.so when searching for -lGL
/usr/bin/ld: skipping incompatible /usr/lib/gcc/x86_64-unknown-linux-gnu/4.3.2/../../../libGL.so when searching for -lGL
/usr/bin/ld: skipping incompatible /usr/bin/../lib/libGL.so when searching for -lGL
collect2: ld devolvió el estado de salida 1
make[2]: *** [lib/libamarokplasma.so.2.0.0] Error 1
make[1]: *** [src/context/CMakeFiles/amarokplasma.dir/all] Error 2
make: *** [all] Error 2
Nada que no se pueda solucionar, google un poco sin exito, y pensando (hmm, libGL.so.177.. Suena a culpa de Nvidia) procedí con hacer la solución a'la Elidix: borrar el fichero que causa problemas:
$ sudo rm -rf /usr/lib/libGL.so.*
Luego, al volver a ejecutar make, volvió a salir error, esta vez, informandonos que no teniamos libGL en nuestro correspondiente directorio, asi que lo reinstale:
$ sudo pacman -Sy libgl mesa
Y nuevamente, volví a intentarlo:
$ make
Woila! Funcionó, Amarok parecía seguir compilando sin mayores complicaciones, hasta que salió otro error (este parecía mas grave):
[ 83%] Building CXX object src/collection/sqlcollection/CMakeFiles/amarok_collection-sqlcollection.dir/SqlCollectionAdaptor.o
Linking CXX shared module ../../../lib/libamarok_collection-sqlcollection.so
/usr/bin/ld: /usr/lib/mysql/libmysqld.a(client.o): relocation R_X86_64_32 against `mysql_server_last_error' can not be used when making a shared object; recompile with -fPIC
/usr/lib/mysql/libmysqld.a: could not read symbols: Bad value
collect2: ld returned 1 exit status
make[2]: *** [lib/libamarok_collection-sqlcollection.so] Error 1
make[1]: *** [src/collection/sqlcollection/CMakeFiles/amarok_collection-sqlcollection.dir/all] Error 2
make: *** [all] Error 2
Buscando un poco en google, descubrí que era un pequeño bug con el servidor de MySQL por lo que habia que recompilarlo agregando antes export CFLAGS='-fPIC', (para mas información, vea http://bugs.mysql.com/bug.php?id=39288, este bug esta en los paquetes de MySQL de la mayoria de las distros, incluyendo Debian y Ubuntu)
Sabiendo esto, descargué las sources de MySQL, las recompilé con ese workaround, y las instalé, luego, procedí a seguir con Amarok, antes, agregando el workaround:
$ cmake CMAKE_INSTALL_PREFIX=/usr -DMYSQL_EMBEDDED_LIBRARIES=/usr/lib/mysql/libmysqlclient.so .
Y luego siguiendo con la compilación:
$ make
No tardó mucho en salir oooootra vez un error mas, esta vez, indicando que no se encontraban funciones definidas por la libMTP, por lo que descubrí que se puede desactivar desde el configure:
$ ccmake .
Una vez abierto el asistente, busqué la linea WITH_Mtp, y presioné la tecla Enter sobre esa opción, para ponerla en OFF. Luego apreté la tecla E para salir del mensaje de información, y finalmente la tecla G para guardar, generar el fichero de configuración y salir.
Luego, volví a ejecutar el famoso comando:
$ make
Y woila! Terminó construir sin problemas, avisandome antes que podiia llegar a causar problemas de compatibilidad si se lo mezclaba con la vieja versión de Amarok, por lo que la eliminé:
$ sudo pacman -Rs amarok-base
Y terminé de instalar la versión nueva de Amarok:
$ sudo make install
¡Felicitaciones Elidix, ya tienes el flameante Amarok2 en tu sistema! Lo ejecuté, cargué mi lista de reproducción y oops, no sonaba nada.
En ese momento ya estaba empezando a pensar, ¡Maldito Amarok!, pero me tranquilicé y seguí como siempre, Googleando (Si chicos, ¡Google es nuestro amigo!)
Asi llegué a la conclusión de que habia que configurar unas pequeñas cositas en la configuración de Phonon/KDE4/GStreamer/Yoquese, de la siguiente manera:
$ kcmshell4 kcm_phonon
Una vez allí, ir a la ficha Backend, clickear sobre GStreamer, y luego sobre Prefer, guardamos los cambios, y cerramos esa ventanita de configuración.
Luego, me faltaban algunos plugins necesarios de GStreamer, asi que los instalé:
$ sudo pacman -S gstreamer0.10-base-plugins
Reinicié mi hasta entonces odiado Amarok, clickee en Play, y guau, funcionaba!

Conclusión:
Para empezar, no se si es culpa de mi sistema, no solo por los problemas que surgieron (como el bug de MySQL y del de libGL que supongo que es de Nvidia), pero si me resultó un poco molesto el proceso de configuración para que funcionara el sonido en el nuevo Amarok.
¿Por que tuve que configurar todo una nueva capa de audio como Phonon para utilizar un reproductor de audio de los buenos? Y ni hablar de que ahora tengo medio KDE4 instalado en mi sistema (aunque eso ya venia ocurriendo con la versión anterior de Amarok), ni es tan molesto (por una app u otra las iba a tener que instalar igual a las KDELibs). Pero igual deja una mala sensación de pesadez y sobrecarga, al tener que añadir tantos procesos para un solo programa.
Mas allá de esto, el reproductor esta bueno, es relativamente liviano (hasta mas liviano que la versión anterior), y contrario a lo que me esperaba, me permitió quitarle cosas que no me sirven hasta dejarlo sencillo como me suele gustar. Tambien tiene algunas opciones para radios como Last.FM y otras que por ahora no uso, pero quizá use (soy algo fanatica de las radios).
Por estas razones, para el que ya tiene KDE4 instalado en su sistema (y bien configurado), lo recomiendo. Para el que esta usando otro escritorio, quizás le termine dando mas problemas y complicaciones que usando cualquier otro reproductor disponible, al menos hasta que hagan paquetes oficiales y buenos de este programa.
Saludos, Elidix.