View previous topic :: View next topic |
Author |
Message |
YetiBarBar Guru
Joined: 23 Dec 2005 Posts: 532
|
Posted: Wed Apr 09, 2008 8:41 pm Post subject: [HOWTO] Amd64 : Compiler sa propre libasound.so.2.0.0 |
|
|
Le paquet emul-linux-x86-soundlibs est basé sur des alsa-lib "un peu vieillotes" par rapport à nos noyaux (ou modules pour quelques-uns) actuels. Quelques binaires dont flash (le proprio, swfdec n'a pas ce problème mais marche pas terrible chez moi) et skype ne marche pas avec et on choppe une erreur du type :
Code: | ALSA lib pcm.c:2105:(snd_pcm_open_conf) Cannot open shared library |
Comme je ne suis apparemment pas le seul à m'être confronté à ce problème, je vous livre la solution que j'ai adoptée : compiler moi-même un fichier libasound-2.0.0 en 32 bits.
1/ Rapatrier les sources de alsa-lib correspondant à votre noyau (ou à vos alsa-lib 64bit auquel cas, vous les avez déjà). Pour le 2.6.24, c'est alsa-lib-1.0.16
2/ Extraire l'archive dans votre /home (enfin dans un répertoire de votre /home) et faire depuis une konsole (ou tout autre terminal) un cd dans ce répertoire
3/ Les choses marrantes :
Lancer depuis ce répertoire un :
Code: | ./configure --prefix=/home/yourname/temp LDFLAGS="-L/emul/linux/x86/usr/lib -m32" CFLAGS="-L/emul/linux/x86/usr/lib -m32"
make
make install |
En prenant soin de remplacer /home/yourname/temp par le répertoire temp de votre choix.
Le make plante lamentablement chez moi, mais l'essentiel étant que la lib utile est compilée ..., ne mettez juste pas de && entre make et make install!
4/ Code: | sudo cp /home/yourname/temp/lib/libasound.so.2.0.0 /usr/lib32/libasound.so.2.0.0 |
Relancez firefox ou skype.
Si vous emerger emul-linux-x86-soundlibs, ça repétera. Recommencez l'étape 4 si vous avez toujours le même noyau. |
|
Back to top |
|
|
YetiBarBar Guru
Joined: 23 Dec 2005 Posts: 532
|
Posted: Fri Apr 11, 2008 6:09 pm Post subject: Re: [HOWTO] Amd64 : Compiler sa propre libasound.so.2.0.0 |
|
|
postcount++;
YetiBarBar wrote: | Si vous emerger emul-linux-x86-soundlibs, ça repétera. Recommencez l'étape 4 si vous avez toujours le même noyau. |
Je confirme que ça pête (un revdep-rebuild pas assez surveillé mais vu les libs que j'ai updaté aujourd'hui, c'était incontournable), mais si on l'a gardée dans un coin, ça se copie bien ...
/me retourne à son monologue ... |
|
Back to top |
|
|
geekounet Bodhisattva
Joined: 11 Oct 2004 Posts: 3772 Location: Wellington, Aotearoa
|
Posted: Sun Apr 13, 2008 10:13 pm Post subject: |
|
|
Hm, je me suis aperçu qu'à chaque reboot je reperdais le son. Vu que j'avais posé l'install provisoire des libs dans /var/tmp, et qu'il est vidé à chaque reboot (tmpfs oblige), je me suis dit que s'en était la cause. Je pense que le coup de changer le prefix est à l'origine de ce problème. Du coup, je viens de faire ça en gardant le prefix sur /usr, en changeant le libdir sur /usr/lib32 comme il se doit, mais en faisant l'install en utilisant le DESTDIR (méthode des ebuilds), et là en supprimant le répertoire temporaire maintenant ça fonctionne. Je confirmerai quand je rebooterai ;p Ha et aussi, pour que la compilation se termine bien, il faut désactiver le python.
En résumé :
Code: | # cd /var/tmp
# tar xjf /var/distfiles/alsa-lib-1.0.16.tar.bz2
# cd alsa-lib-1.0.16
# ./configure --prefix="/usr" --libdir="/usr/lib32" LDFLAGS="-L/emul/linux/x86/usr/lib -m32" CFLAGS="-L/emul/linux/x86/usr/lib -m32" --disable-python
# make
# mkdir -p /var/tmp/alsa-temp
# make DESTDIR="/var/tmp/alsa-temp" install
# install -m 755 /var/tmp/alsa-temp/usr/lib32/libasound.so.2.0.0 /usr/lib32/
# install -m 755 /var/tmp/alsa-temp/usr/lib32/alsa-lib/smixer/*.so /usr/lib32/alsa-lib/smixer/ |
Et voilà, ça fait déjà plus propre ;p
Le mieux serait quand même de faire un petit ebuild, mais le problème c'est que ça ferai une collision, donc c'est pas possible. :/
EDIT: après reboot, je confirme que ça continue à fonctionner, donc ma piste était bonne. |
|
Back to top |
|
|
YetiBarBar Guru
Joined: 23 Dec 2005 Posts: 532
|
Posted: Tue Apr 15, 2008 5:07 pm Post subject: |
|
|
Je n'ai pas vu ça chez moi mais c'est possible (j'ai construit la lib dans mon /home et je l'ai gardé pour pouvoir la recopier).
Ta solution est plutôt élégante et j'avoue que l'idée de me faire un petit ebuild me tarode de plus en plus, mais ça ne sera très certainement ps avant ce week end ... qui s'annonce déjà très chargé ... |
|
Back to top |
|
|
geekounet Bodhisattva
Joined: 11 Oct 2004 Posts: 3772 Location: Wellington, Aotearoa
|
Posted: Tue Apr 15, 2008 6:18 pm Post subject: |
|
|
YetiBarBar wrote: | Ta solution est plutôt élégante et j'avoue que l'idée de me faire un petit ebuild me tarode de plus en plus, mais ça ne sera très certainement ps avant ce week end ... qui s'annonce déjà très chargé ... |
T'en fais pas, je prévois d'en faire un depuis hier, je le ferai ce soir, une simple mise à jour de l'archive et voilà (j'ai de quoi l'hoster sans problème). |
|
Back to top |
|
|
geekounet Bodhisattva
Joined: 11 Oct 2004 Posts: 3772 Location: Wellington, Aotearoa
|
Posted: Tue Apr 15, 2008 8:04 pm Post subject: |
|
|
Voilà, j'ai fait un ptit ebuild vite fait. C'est l'ebuild original modifié, avec une ptite archive de plus avec les libs alsa précompilées à jour, qui écrasent les anciennes
Donc pour ça :
Code: | # layman -f -o http://foo.poildetroll.net/layman-local.xml -a akoya
# emerge -au app-emulation/emul-linux-x86-soundlibs |
Et vous devriez avoir un app-emulation/emul-linux-x86-soundlibs-20080316-r1 à emerger
EDIT: pour ceux qui ne veulent pas rajouter un overlay de plus, l'ebuild est accessible directement ici (et le lien tout en bas de la page pour le télécharger en texte pur ).
Last edited by geekounet on Wed Apr 16, 2008 6:11 pm; edited 1 time in total |
|
Back to top |
|
|
YetiBarBar Guru
Joined: 23 Dec 2005 Posts: 532
|
Posted: Wed Apr 16, 2008 4:49 pm Post subject: |
|
|
Merci geekounet !
Je teste ça dès que j'ai le temps (ie pas avant ce week end, et très certainement pas avant lundi même ...) |
|
Back to top |
|
|
GroMeZ n00b
Joined: 21 Apr 2007 Posts: 10
|
Posted: Wed Apr 16, 2008 6:28 pm Post subject: |
|
|
Merci bien pour l'ebuild, ça a bien compilé
Reste à voir à la longue, mais je me fais pas de soucis pour ça. |
|
Back to top |
|
|
geekounet Bodhisattva
Joined: 11 Oct 2004 Posts: 3772 Location: Wellington, Aotearoa
|
Posted: Sat Apr 19, 2008 10:08 am Post subject: |
|
|
Problème réglé en upstream apparemment
/usr/portage/app-emulation/emul-linux-x86-soundlibs/ChangeLog: | *emul-linux-x86-soundlibs-20080418 (19 Apr 2008)
19 Apr 2008; Mike Doty <kingtaco@gentoo.org>
+emul-linux-x86-soundlibs-20080418.ebuild:
version bump for alsa-*-1.0.16 |
Je vais pouvoir retirer mon ebuild |
|
Back to top |
|
|
|