Cierre
Ya he aprendido lo suficiente, y los sistemas Linux son cada vez más fáciles y sencillos, de forma que ya no necesito documentar mis avances o soluciones por ser triviales.
Histórico de mis avances en el uso, instalación, mantenimiento y demás peleas con Linux.
MPlayer: loading module rtcInvestigando un poco parece que trata de cargar el módulo rtc y después hacer modificaciones en max-user-freq. Se supone que esto mejora la respuesta en tiempo real, cosa que beneficia a mplayer a la hora de reproducir el contenido multimedia sin saltos ni cortes.
FATAL: Error inserting rtc (/lib/modules/2.6.22-2-k7/kernel/drivers/char/rtc.ko): Input/output error Failed! ....
creating /dev/rtc, Error! cannot find /proc interface for max-us er-freq.
# rmmod rtc_cmosY cargar el módulo rtc:
# modprobe rtcTras esto, trato de iniciar el servicio mplayer, está vez con éxito:
/etc/init.d/mplayer startEfectivamente, parece tener un mejor comportamiento a la hora de reproducir vídeo y audio. Vamos a intentar hacer que cargue rtc al iniciarse el sistema.
MPlayer: raising max-user-freq of RTC from 64 to 1024
# This file lists modules which will not be loaded as the result ofMala pinta, no creo que funcione... y efectivamente no funciona.
# alias expansion, with the purpose of preventing the hotplug subsystem
# to load them. It does not affect autoloading of modules by the kernel.
# This file is provided by the udev package.
rmmod rtc_cmosAsí se descarga el módulo rtc_cmos, se carga el módulo rtc y se inicia el servicio mplayer que modifica el max-user-freq de 64 a 1024 y que aparentemente mejora la respuesta en tiempo real (esperemos que no provoque otros efectos no deseados).
modprobe rtc
/etc/init.d/mplayer start
rsync -e ssh -azv ORIGEN DESTINOSuponiendo, como yo, que se quiera copiar el directorio del usuario pepe de un sistema a un directorio de copias de seguridad del servidor llamado Sancho, el comando sería:
rsync -e ssh -azv /home/pepe sancho:/var/backups/pepeDado que estamos accediendo a un sistema remoto se debe tener permiso para acceder a dicho sistema. En principio (imagino) se pedirá usuario y contraseña. Dado que se pretende automatizar la tarea lo suyo es configurar una autentificación mediante clave privada/clave pública tal y como permite SSH.
*** glibc detected *** double free or corruption (fasttop): 0x081e35a0 ***Buscando en Google encuentro un mensaje en el que comentan que se debe a que glibc ha detectado un error en el programa y por tanto éste ha sido abortado. Eso ya se podía deducir del error, pero también cuenta que se puede establecer un comportamiento determinado en caso de encontrar estos errores mediante la variable de entorno MALLOC_CHECK_:
By default, the program that generated this error will also beProbando a poner 0 ó 1 consigo que algún programa sencillo se ejecute, pero siguen fallando, como por otro lado cabría esperar.
killed; however, this (and whether or not an error message is
generated) can be controlled via the MALLOC_CHECK_ environment
variable. The following settings are supported:
0 -- Do not generate an error message, and do not kill the program
1 -- Generate an error message, but do not kill the program
2 -- Do not generate an error message, but kill the program
3 -- Generate an error message and kill the program
tk2-engines-pixbufEs posible que alguno no sea responsable, pero no he querido afinar más. He probado a desinstalarlos usando la opción de purgado de ficheros de configuración por si era un problema de una determinada configuración extraña, pero no ha funcionado. Es algo que hay en esos 6 paquetes.
industrial-cursor-theme
gtk2-engines-spherecrystal
gnome-themes
gnome-themes-extras
gnome2-user-guide
Etiquetas: error GTK problema
#ll sites-available/Por lo cuál deduzco que en sites-enabled deberá haber un enlace simbólico a sites-available para activar dicho servidor. Los nombres lo dicen; sites-available son los servidores disponibles, que pueden usarse; sites-enabled son los servidores activos.
total 4
-rw-r--r-- 1 root root 1153 2006-07-26 00:08 default
# ll sites-enabled/
total 0
lrwxrwxrwx 1 root root 36 2005-05-25 05:56 000-default -> /etc/apache2/sites-available/default
Options -IndexesQue obviamente indica como opción no (-) indexar el contenido de los directorios (Indexes).
$ ./ret5101.binNo es problema del usuario, con root sucedería lo mismo. El problema es que el programa instalador trata de usar la maquina virtual de Java que hay en /usr/bin/java, que en mi caso a punta a gij (GNU Interpreter Java), la implementación GNU de Java. Por lo que se ve aún le quedan algunos flecos :-(.
Preparing to install...
Extracting the installation resources from the installer archive...
Configuring the installer for this system's environment...
Launching installer...
Unable to locate the application's 'main' class. The class 'com.zerog.ia.installer.Main' must be public and have a 'public static void main(String[])' method. (LAX)
GUI-
lrwxrwxrwx 1 root root 22 2006-02-04 22:55 /usr/bin/java -> /etc/alternatives/javaY asu vez:
lrwxrwxrwx 1 root root 34 2006-06-04 00:29 /etc/alternatives/java -> /usr/lib/jvm/java-gcj/jre/bin/javaMi instalación de Java está en /opt/j2re1.4.2_06/bin/java. Como he tenido que surfear por la red un rato hasta encontrar el error, decido poner la JVM de SUN como máquina virtual por defecto. Basta con crear un enalce simbólico desde /usr/bin/java hasta el ejecutable de SUN:
# ln -s /opt/j2re1.4.2_06/bin/java /usr/bin/Una vez hecho eso vuelvo a ejecutar el instalador, que se abre correctamente. Pide seleccionar la máquina virtual a usar, basta con dejarle /usr/bin/java para que use la de SUN. Después pide un directorio de instalación y uno de vínculos. Los vínculos son simplemente los enlaces para arrancar el programa y para desinstalarlo, junto con un Leame.txt.
Introduction of libjingle require new dependencies to Kopete. Here the list:Ejecuto ./configure --enable-jingle (esta opción es necesaria para activar el soporte para conversaciones de voz usando libjingle) de cuya salida me fijo en lo siguiente:
-oRTP 0.7.1 http://www.linphone.org/ortp/sources/ (no more, no less, just 0.7.1)
-expat
-glib-2.0 (if you don't have it already for MSN webcam)
-speex (>=1.1.6 or 1.0.5 (the versions that have speex_encode_int ))
[...]Muy bien, consulto la página de dependecias de Kopete para usar Jingle que se resumen en lo siguiente:
checking for XML_ParserCreate in -lexpat... yes
[...]
checking for ortp... configure: WARNING: oRTP is required to build Jabber Jingle voice support. You can get it from http://www.linphone.org/ortp/
[...]
checking for glib-2.0 gmodule-2.0... yes
checking GLIB_CFLAGS... -I/usr/include/glib-2.0 -I/usr/lib/glib-2.0/include
checking GLIB_LIBS... -Wl,--export-dynamic -lgmodule-2.0 -ldl -lglib-2.0
[...]
checking for speex... checking speex.h usability... no
checking speex.h presence... no
checking for speex.h... no
checking speex/speex.h usability... no
checking speex/speex.h presence... no
checking for speex/speex.h... no
configure: WARNING: Could not find a libspeex version that have the speex_encode_int() function. Please install libspeex=1.0.5 or libspeex>=1.1.6 from http://www.speex.org/
[...]
You have disabled or you are missing required librairies required to compile Jabber Jingle voice support.
Jingle is a new Jabber standard that define a signaling protocol via XMPP for peer-to-peer applications.
Jingle audio is compatible with Google Talk voice offering.
Required Jingle dependencies are listed on this page:
http://wiki.kde.org/tiki-index.php?page=Kopete+Jabber+Jingle
Introduction of libjingle require new dependencies to Kopete. Here the list:Veamos paso a paso las dependencias:
-oRTP 0.7.1 http://www.linphone.org/ortp/sources/ (no more, no less, just 0.7.1)
-expat
-glib-2.0 (if you don't have it already for MSN webcam)
-speex (>=1.1.6 or 1.0.5 (the versions that have speex_encode_int ))
[...]Vaya vaya. Reviso la salida del script y encuentro:
You have disabled or you are missing required librairies required to compile Jabber Jingle voice support.
Jingle is a new Jabber standard that define a signaling protocol via XMPP for peer-to-peer applications.
Jingle audio is compatible with Google Talk voice offering.
Required Jingle dependencies are listed on this page:
http://wiki.kde.org/tiki-index.php?page=Kopete+Jabber+Jingle
[...]Así que falta iLBC, sin embargo no se menciona en la página de dependencias. Rebusco por linphone.org pero no hay un paquete instalable o un fuente compilable. Sin embargo hay un enlace a www.ilbcfreeware.org dónde comenta que se puede obtener el código de la siguiente manera: se descarga uno el RFC 3951 (Internet Low Bit Rate Codec) y un script awk; después se ejecuta el script awk mediante el comando:
checking iLBC_decode.h usability... no
checking iLBC_decode.h presence... no
checking for iLBC_decode.h... no
configure: WARNING: Could not find ilbc headers or libs. Please install ilbc package from http://www.linphone.org if you want iLBC codec support in Kopete Jabber plugin.
[...]
awk -f extract-cfile.awk rfc3951.txtEl resultado es un monton de archivos .c y .h, de manera que se podría generar una librería a partir de ellos, pero no hay ni makefile ni nada similar. Al fin y al cabio lo se hace es extraer directamente del RFC el código propuesto para implementar el protocolo iLBC, de manera que no se incluye código accesorio, por ejemplo, para crear una libreria. Quizá baste con que el script ./configure tenga acceso a las cabeceras y al código objeto, pero no me veo yo creandome los scripts de compilación.
iLBC is an optional dependency, so you could just not install it (it's not required for jingle support)Me alegro, lo dejaré para otro día. Vuelvo a ejecutar ./configure y finalmente me dice:
Supported Jabber Jingle voice Codecs for Kopete:Como comentaban efectivamente en el foro iLBC parece no ser obligatoria.
Speex: yes
iLBC: no
MULAW: yes
Good - your configure finished. Start make now
[...]¡Diablos! Parece que no encuentra un fichero config.h. Vuelvo a relajarme navegando a tavés de Google. Buscando encuentro el Bug 121856 en que se comenta que "apunte libjingle al config.h generado durante el proceso de configuración de Kopete".
if /bin/sh ../../../../../../../libtool --silent --tag=CXX --mode=compile g++ -DHAVE_CONFIG_H -I./../.. -DPOSIX -I./../.. -DQT_THREAD_SUPPORT -D_REENTRANT -D_FILE_OFFSET_BITS=64 -Wno-long-long -Wundef -ansi -D_XOPEN_SOURCE=500 -D_BSD_SOURCE -Wcast-align -Wconversion -Wchar-subscripts -Wall -W -Wpointer-arith -O2 -Wformat-security -Wmissing-format-attribute -Wno-non-virtual-dtor -fno-exceptions -fno-check-new -fno-common -DQT_CLEAN_NAMESPACE -DQT_NO_ASCII_CAST -DQT_NO_STL -DQT_NO_COMPAT -DQT_NO_TRANSLATION -MT network.lo -MD -MP -MF ".deps/network.Tpo" -c -o network.lo network.cc; then mv -f ".deps/network.Tpo" ".deps/network.Plo"; else rm -f ".deps/network.Tpo"; exit 1; fi
In file included from network.cc:33:
./../../talk/base/basicdefs.h:32:20: error: config.h: No such file or directory
make[8]: *** [network.lo] Error 1
make[8]: se sale del directorio `/home/temp/compilandoFuentes/kopete-0.12-alpha1/kopete/protocols/jabber/jingle/libjingle/talk/base'
make[7]: *** [all-recursive] Error 1
make[7]: se sale del directorio `/home/temp/compilandoFuentes/kopete-0.12-alpha1/kopete/protocols/jabber/jingle/libjingle/talk'
make[6]: *** [all-recursive] Error 1
make[6]: se sale del directorio `/home/temp/compilandoFuentes/kopete-0.12-alpha1/kopete/protocols/jabber/jingle/libjingle'
make[5]: *** [all-recursive] Error 1
make[5]: se sale del directorio `/home/temp/compilandoFuentes/kopete-0.12-alpha1/kopete/protocols/jabber/jingle'
make[4]: *** [all-recursive] Error 1
make[4]: se sale del directorio `/home/temp/compilandoFuentes/kopete-0.12-alpha1/kopete/protocols/jabber'
make[3]: *** [all-recursive] Error 1
make[3]: se sale del directorio `/home/temp/compilandoFuentes/kopete-0.12-alpha1/kopete/protocols'
make[2]: *** [all-recursive] Error 1
make[2]: se sale del directorio `/home/temp/compilandoFuentes/kopete-0.12-alpha1/kopete'
make[1]: *** [all-recursive] Error 1
make[1]: se sale del directorio `/home/temp/compilandoFuentes/kopete-0.12-alpha1'
make: *** [all] Error 2
#include "../../../../../../../config.h"De esta manera apunta al fichero generado por el proceso de configuración. El estatus del BUG es RESOLVED, por lo que es posible que actualmente no suceda.
$ gcc -vCreo un paquete debian mediante checkinstall, e instalo Kopete 0.12 Alpha 1. Funciona sin problemas. Ahora al tener una charla con alguién de de GTalk aparece la opción de voice call, aunque supongo que debería dar la opción con cualquier contacto que soporte esta libreria. Sin embargo, no consigo comunicar. Si llamo desde GTalk Kopete no parece entararse, y si llamo desde Kopete GTalk parece enterarse pero tras aceptar la comunicación esta nunca se produce.
Using built-in specs.
Target: i486-linux-gnu
Configured with: ../src/configure -v --enable-languages=c,c++,java,f95,objc,ada,treelang --prefix=/usr --enable-shared --with-system-zlib --libexecdir=/usr/lib --without-included-gettext --enable-threads=posix --enable-nls --program-suffix=-4.0 --enable-__cxa_atexit --enable-clocale=gnu --enable-libstdcxx-debug --enable-java-awt=gtk-default --enable-gtk-cairo --with-java-home=/usr/lib/jvm/java-1.4.2-gcj-4.0-1.4.2.0/jre --enable-mpfr --disable-werror --with-tune=i686 --enable-checking=release i486-linux-gnu
Thread model: posix
gcc version 4.0.3 20060212 (prerelease) (Debian 4.0.2-9)
deb ftp://ftp.nerim.net/debian-marillat/ etch main