Gentoo Forums
Gentoo Forums
Gentoo Forums
Quick Search: in
[HOWTO] Amd64 : Compiler sa propre libasound.so.2.0.0
View unanswered posts
View posts from last 24 hours

 
Reply to topic    Gentoo Forums Forum Index French
View previous topic :: View next topic  
Author Message
YetiBarBar
Guru
Guru


Joined: 23 Dec 2005
Posts: 487

PostPosted: Wed Apr 09, 2008 8:41 pm    Post subject: [HOWTO] Amd64 : Compiler sa propre libasound.so.2.0.0 Reply with quote

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
Code:
emerge -f alsa-lib


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
View user's profile Send private message
YetiBarBar
Guru
Guru


Joined: 23 Dec 2005
Posts: 487

PostPosted: Fri Apr 11, 2008 6:09 pm    Post subject: Re: [HOWTO] Amd64 : Compiler sa propre libasound.so.2.0.0 Reply with quote

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
View user's profile Send private message
geekounet
Bodhisattva
Bodhisattva


Joined: 11 Oct 2004
Posts: 3757
Location: Lyon, France

PostPosted: Sun Apr 13, 2008 10:13 pm    Post subject: Reply with quote

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. :)
_________________
Google+ | Twitter
Back to top
View user's profile Send private message
YetiBarBar
Guru
Guru


Joined: 23 Dec 2005
Posts: 487

PostPosted: Tue Apr 15, 2008 5:07 pm    Post subject: Reply with quote

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
View user's profile Send private message
geekounet
Bodhisattva
Bodhisattva


Joined: 11 Oct 2004
Posts: 3757
Location: Lyon, France

PostPosted: Tue Apr 15, 2008 6:18 pm    Post subject: Reply with quote

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).
_________________
Google+ | Twitter
Back to top
View user's profile Send private message
geekounet
Bodhisattva
Bodhisattva


Joined: 11 Oct 2004
Posts: 3757
Location: Lyon, France

PostPosted: Tue Apr 15, 2008 8:04 pm    Post subject: Reply with quote

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 :P
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 :P (et le lien tout en bas de la page pour le télécharger en texte pur ;)).
_________________
Google+ | Twitter


Last edited by geekounet on Wed Apr 16, 2008 6:11 pm; edited 1 time in total
Back to top
View user's profile Send private message
YetiBarBar
Guru
Guru


Joined: 23 Dec 2005
Posts: 487

PostPosted: Wed Apr 16, 2008 4:49 pm    Post subject: Reply with quote

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
View user's profile Send private message
GroMeZ
n00b
n00b


Joined: 21 Apr 2007
Posts: 10

PostPosted: Wed Apr 16, 2008 6:28 pm    Post subject: Reply with quote

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
View user's profile Send private message
geekounet
Bodhisattva
Bodhisattva


Joined: 11 Oct 2004
Posts: 3757
Location: Lyon, France

PostPosted: Sat Apr 19, 2008 10:08 am    Post subject: Reply with quote

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 :)
_________________
Google+ | Twitter
Back to top
View user's profile Send private message
Display posts from previous:   
Reply to topic    Gentoo Forums Forum Index French All times are GMT
Page 1 of 1

 
Jump to:  
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum