mercoledì 21 dicembre 2011

Valgrind e Sabayon

Per lavoro sono costretto a programmare in C++ e Valgrind si è rivelato essere un ottimo alleato soprattutto nel momento in cui ci si trova costretti a combattere con problemi riguardanti l'allocazione della memoria.

Nelle ultime versioni di Sabayon ho però riscontrato un problema che impedisce a Valgrind di funzionare correttamente. Se quando avviate Valgrind avete un output simile al seguente:

$ valgrind ls

==30502== Memcheck, a memory error detector
==30502== Copyright (C) 2002-2009, and GNU GPL'd, by Julian Seward et al.
==30502== Using Valgrind-3.5.0 and LibVEX; rerun with -h for copyright info
==30502== Command: ls
==30502== 

valgrind:  Fatal error at startup: a function redirection
valgrind:  which is mandatory for this platform-tool combination
valgrind:  cannot be set up.  Details of the redirection are:
valgrind:  
valgrind:  A must-be-redirected function
valgrind:  whose name matches the pattern:      strlen
valgrind:  in an object with soname matching:   ld-linux-x86-64.so.2
valgrind:  was not found whilst processing
valgrind:  symbols from the object with soname: ld-linux-x86-64.so.2
valgrind:  
valgrind:  Possible fixes: (1, short term): install glibc's debuginfo
valgrind:  package on this machine.  (2, longer term): ask the packagers
valgrind:  for your Linux distribution to please in future ship a non-
valgrind:  stripped ld.so (or whatever the dynamic linker .so is called)
valgrind:  that exports the above-named function using the standard
valgrind:  calling conventions for this platform.
valgrind:  
valgrind:  Cannot continue -- exiting now.  Sorry.


allora vi conviene seguire i consigli che potete trovare qui. Fondamentalmente, quello che è necessario fare è:
  • Aprire il file /etc/entropy/client.conf;
  • Inserire la riga "splitdebug = enable" alla fine del file;
  • Reinstallare glibc (sudo equo install glibc);
  • Eliminare la riga appena aggiunta dal file /etc/entropy/client.conf.
In questo modo le librerie glibc verranno reinstallate con i simboli per il debug che è proprio quello che serve a Valgrind per funzionare correttamente.

sabato 10 dicembre 2011

Problemi audio con Sabayon

Sembra che uno dei passatempi preferiti di Sabayon sia distruggere la configurazione audio di KDE e Pulseaudio ogniqualvolta si effettui un aggiornamento.

Se improvvisamente l'audio del vostro sistema risultasse inspiegabilmente muto anche se i volumi di KMix sembrano tutti correttamente impostati quello che vi consiglio di fare è:

  • Andate nel menu di KDE e cliccate su "System Settings";
  • Cliccate su "Multimedia" nella sezione "Hardware";
  • Sotto "Phonon" cliccate su "Audio Playback" e portate la voce "Internal Audio Analog Stereo" alla prima posizione della lista. Ripetete la procedura per ogni sottovoce di "Audio Playback": "Notifications", "Music", e così via.
  • Prestate attenzione ad effettuare questa procedura anche e soprattutto per la voce principale "Audio Playback". Se non lo fate, potrebbe succedervi di ritrovarvi con i video di Youtube inspiegabilmente silenziosi e soprattutto insopportabilmente lenti senza capirne il motivo e spendere un intero pomeriggio per cercare di trovare la soluzione al problema immaginando che la cosa riguardi il plugin Flash di Adobe quando invece questo non c'entra assolutamente nulla (poverino).