View previous topic :: View next topic |
Author |
Message |
novazur Guru
Joined: 19 Mar 2005 Posts: 461 Location: Martinique
|
Posted: Sat Aug 09, 2008 11:08 am Post subject: [ebuild] avec python2.4 |
|
|
Bonjour,
J'ai un ebuild (perso) qui ne compile plus depuis la mise à jour en python2.5.
Comment puis-je lui indiquer d'utiliser python2.4 qui lui est toujours installé svp ?
Code: | IUSE=""
DESCRIPTION="icecast OGG streaming client. supports on the fly re-encoding"
SRC_URI="http://downloads.xiph.org/releases/ices/${P}.tar.gz"
HOMEPAGE="http://www.icecast.org/ices.php"
SLOT="0"
LICENSE="GPL-2"
KEYWORDS="x86 sparc amd64 ppc64"
DEPEND="dev-libs/libxml2
dev-util/pkgconfig
>=media-libs/libshout-2.0"
src_compile ()
{
econf --prefix=/usr/local || die "configure failed"
emake || die "make failed"
}
src_install ()
{
into /usr/local
make DESTDIR=${D} install || die "make install failed"
} |
(Il s'agit en fait d'un ancien ices qui permettait encore de streamer du mp3 vers icecast.)
Merci grandement d'avance. |
|
Back to top |
|
|
geekounet Bodhisattva
Joined: 11 Oct 2004 Posts: 3772
|
Posted: Sat Aug 09, 2008 12:23 pm Post subject: |
|
|
T'as pensé au python-updater ? (qui devrait te recompiler la libxml2 pour réinstaller les modules pour Python 2.5)
Et à propos de ton ebuild, il te manque le copyright obligatoire à la première ligne (sans ça tu violes le copyright et la licence, ce qui rend l'ebuild illégal) et comme il s'agit d'un ebuild et pas d'une install à la main, t'as pas besoin de forcer l'installation dans /usr/local. L'ebuild correct donnerai donc :
Code: | # Copyright 1999-2008 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# $Header: $
IUSE=""
DESCRIPTION="icecast OGG streaming client. supports on the fly re-encoding"
SRC_URI="http://downloads.xiph.org/releases/ices/${P}.tar.gz"
HOMEPAGE="http://www.icecast.org/ices.php"
SLOT="0"
LICENSE="GPL-2"
KEYWORDS="x86 sparc amd64 ppc64"
DEPEND="dev-libs/libxml2
dev-util/pkgconfig
>=media-libs/libshout-2.0"
src_compile ()
{
econf || die "configure failed"
emake || die "make failed"
}
src_install ()
{
einstall || die "einstall failed"
} |
|
|
Back to top |
|
|
Kazuya Apprentice
Joined: 09 Jul 2006 Posts: 256
|
Posted: Sat Aug 09, 2008 2:12 pm Post subject: |
|
|
Hello,
Juste pas curiosité et pour ne pas mourir idiot:
Icecast ne serait pas déjà dans portage:
Quote: |
* net-misc/ices
Available versions: 2.0.1-r1
Homepage: http://www.icecast.org/ices.php
Description: Icecast OGG streaming client, supports on the fly re-encoding.
|
Plutôt que d'utiliser un ebuild perso ? _________________ Hacker vaillant, rien d'impossible !!!
"Quand une vache boit de l'eau, cette eau devient du lait. Quand un serpent boit de l'eau, cette eau devient du poison." |
|
Back to top |
|
|
CryoGen Veteran
Joined: 11 Feb 2004 Posts: 1426 Location: Bamako - Mali - Afrique
|
Posted: Sat Aug 09, 2008 7:52 pm Post subject: |
|
|
Kazuya wrote: | Hello,
Juste pas curiosité et pour ne pas mourir idiot:
Icecast ne serait pas déjà dans portage:
Quote: |
* net-misc/ices
Available versions: 2.0.1-r1
Homepage: http://www.icecast.org/ices.php
Description: Icecast OGG streaming client, supports on the fly re-encoding.
|
Plutôt que d'utiliser un ebuild perso ? |
Il indique qu'il lui faut une ancienne version pour supporter le format mp3 _________________ - CryoGen` on #gentoofr@irc.freenode.net
- ~amd64 / KDE4
- I'm the bone of my sword... |
|
Back to top |
|
|
novazur Guru
Joined: 19 Mar 2005 Posts: 461 Location: Martinique
|
Posted: Mon Aug 11, 2008 3:19 pm Post subject: |
|
|
geekounet wrote: | T'as pensé au python-updater ? (qui devrait te recompiler la libxml2 pour réinstaller les modules pour Python 2.5) |
Oui, bien sur, et c'est suite à ça que mon ices0 devrait se recompiler et qu'il n'est pas passé.
Quote: | Et à propos de ton ebuild, il te manque le copyright obligatoire à la première ligne (sans ça tu violes le copyright et la licence, ce qui rend l'ebuild illégal) |
Je n'ai pas voulu charger mon post et n'ai donc mis que les info techniques.
Quote: | et comme il s'agit d'un ebuild et pas d'une install à la main, t'as pas besoin de forcer l'installation dans /usr/local. |
Non parce que j'ai aussi le ices officiel de portage installé. |
|
Back to top |
|
|
novazur Guru
Joined: 19 Mar 2005 Posts: 461 Location: Martinique
|
Posted: Mon Aug 11, 2008 3:23 pm Post subject: |
|
|
Kazuya wrote: | Hello,
Juste pas curiosité et pour ne pas mourir idiot:
Icecast ne serait pas déjà dans portage: |
Attention icescat n'est pas ices.
Quote: | Plutôt que d'utiliser un ebuild perso ? |
Oui, certes, mais comme cela t'a été indiqué par la suite (et dans mon post initial), j'ai besoin de cette version qui était la dernière à prendre en charge les MP3. Mais j'ai aussi besoin de cette version de portage qui me permet de streamer le OGG.
En clair, j'ai besoin des 2 versions, mais je ne parviens plus à compiler l'ancienne maintenant que je suis passé à python 2.5. Je cherche donc le moyen de compiler avec python 2.4 (si toutefois c'est cela doit résoudre mon problème). |
|
Back to top |
|
|
YetiBarBar Guru
Joined: 23 Dec 2005 Posts: 532
|
Posted: Mon Aug 11, 2008 4:35 pm Post subject: |
|
|
Bonjour,
peut être peux tu poster l'erreur de compiler qui nous permettrait de mieux 'localiser' le problème? |
|
Back to top |
|
|
novazur Guru
Joined: 19 Mar 2005 Posts: 461 Location: Martinique
|
Posted: Mon Aug 11, 2008 6:30 pm Post subject: |
|
|
Oui, sans doute. Je ne l'avais pas mis parce que je n'avais pas l'intention de vous faire débugguer. Je voulais juste savoir comment utiliser python2.4(qui reste installé après installation du 2.5) dans un ebuild.
Cependant, voici l'erreur :
Code: | i686-pc-linux-gnu-gcc -O2 -march=pentium4 -pipe -fomit-frame-pointer -Wall -I/usr/include -Wl,-O1 -o ices ices.o log.o setup.o stream.o util.o mp3.o cue.o metadata.o id3.o signals.o crossfade.o ices_config.o reencode.o in_vorbis.o in_mp4.o in_flac.o -rdynamic -pthread -L/usr/lib/python2.5/config playlist/libplaylist.a /usr/lib/libshout.so /usr/lib/libxml2.so -lz -lpython2.5 -L/usr/local/lib /usr/lib/perl5/5.8.8/i686-linux/auto/DynaLoader/DynaLoader.a -L/usr/lib/perl5/5.8.8/i686-linux/CORE -lperl -lpthread -lnsl -ldl -lcrypt -lutil -lc /usr/lib/libmp3lame.so /usr/lib/libvorbisfile.so /usr/lib/libvorbis.so /usr/lib/libogg.so /usr/lib/libmp4v2.so /usr/lib/libfaad.so /usr/lib/libFLAC.so -lm
/usr/lib/python2.5/config/libpython2.5.a(posixmodule.o): In function `posix_tmpnam':
(.text+0x8a0): warning: the use of `tmpnam_r' is dangerous, better use `mkstemp'
/usr/lib/python2.5/config/libpython2.5.a(posixmodule.o): In function `posix_tempnam':
(.text+0x99c): warning: the use of `tempnam' is dangerous, better use `mkstemp'
in_flac.o: In function `ices_flac_open':
in_flac.c:(.text+0x69): undefined reference to `FLAC__stream_decoder_set_read_callback'
in_flac.c:(.text+0x79): undefined reference to `FLAC__stream_decoder_set_write_callback'
in_flac.c:(.text+0x89): undefined reference to `FLAC__stream_decoder_set_metadata_callback'
in_flac.c:(.text+0x99): undefined reference to `FLAC__stream_decoder_set_error_callback'
in_flac.c:(.text+0xcb): undefined reference to `FLAC__stream_decoder_set_client_data'
in_flac.c:(.text+0xea): undefined reference to `FLAC__stream_decoder_init'
collect2: ld returned 1 exit status
make[3]: *** [ices] Error 1
make[3]: Leaving directory `/var/tmp/portage/net-misc/ices0-0.4/work/ices0-0.4/src'
make[2]: *** [all-recursive] Error 1
make[2]: Leaving directory `/var/tmp/portage/net-misc/ices0-0.4/work/ices0-0.4/src'
make[1]: *** [all-recursive] Error 1
make[1]: Leaving directory `/var/tmp/portage/net-misc/ices0-0.4/work/ices0-0.4'
make: *** [all] Error 2 |
|
|
Back to top |
|
|
YetiBarBar Guru
Joined: 23 Dec 2005 Posts: 532
|
Posted: Mon Aug 11, 2008 6:50 pm Post subject: |
|
|
A mon avis, c'est plutôt un changement d'ABI dans la libFLAC qu'un problème lié à python ... |
|
Back to top |
|
|
gglaboussole l33t
Joined: 17 May 2005 Posts: 641 Location: Monbalen (47),France
|
Posted: Thu Aug 14, 2008 5:39 pm Post subject: |
|
|
Salut
Python est "sloté", tu peux donc faire cohabiter plusieurs versions différentes du même package, donc pour que ton 2.4 ne soit pas viré par un emerge --depclean et qu'il compile avec le 2.4 tu peux modifier ton ebuild en ce sens :
DEPEND="<dev-lang/python-2.5*........(à rajouter dans DEPEND, ainsi portage ne virera pas le 2.4 tant que tu conservera cet ebuild).................
je n'en suis pas certain mais ça devrai marcher
Quant à la lib Flac effectivement ça m'avait cassé pas mal de truc chez moi aussi, un revdep-rebuild est indispensable !
EDIT: si le problème vient de flac et que ton ices ne compile pas avec la nouvelle version, la solution serait d'éditer ton package.use et d'ajouter -flac (si cela est possible bien sûr) à ton package... _________________ On m'a dit que la terre tourne, alors j'attends que ma maison passe par ici... |
|
Back to top |
|
|
novazur Guru
Joined: 19 Mar 2005 Posts: 461 Location: Martinique
|
Posted: Thu Aug 14, 2008 6:25 pm Post subject: |
|
|
gglaboussole wrote: | Salut
Python est "sloté", tu peux donc faire cohabiter plusieurs versions différentes du même package, donc pour que ton 2.4 ne soit pas viré par un emerge --depclean |
pour l'instant le depclean ne le vire pas
[edit] ah si, erreur de ma part, il est maintenant viré [/edit]
Quote: | et qu'il compile avec le 2.4 tu peux modifier ton ebuild en ce sens :
DEPEND="<dev-lang/python-2.5*........(à rajouter dans DEPEND, ainsi portage ne virera pas le 2.4 tant que tu conservera cet ebuild).................
je n'en suis pas certain mais ça devrai marcher
|
Je vais tester ça, merci.
[edit] ne fonctionne pas. C'est toujours python2.5 qui est utilisé [/edit]
Quote: |
Quant à la lib Flac effectivement ça m'avait cassé pas mal de truc chez moi aussi, un revdep-rebuild est indispensable !
|
Mon problème est bien justement que c'est le revdep-rebuild qui me fait recompiler ices0, qui d'ailleurs ne fonctionne plus. Je dois donc le recompiler.
Quote: |
EDIT: si le problème vient de flac et que ton ices ne compile pas avec la nouvelle version, la solution serait d'éditer ton package.use et d'ajouter -flac (si cela est possible bien sûr) à ton package... |
Je vais tester ça aussi.
[edit] impossible, aucun flag sur l'ebuild concerné [/edit]
PS : j'ai aussi des pb de son sur mon desktop suite à une grosse mise à jour. Peut-être dus aussi à ce flac. J'avais posté mais sans obtenir d'aide. Je reviendrai dessus probablement. |
|
Back to top |
|
|
Poch Tux's lil' helper
Joined: 09 Jun 2006 Posts: 105 Location: Namur, Belgique
|
Posted: Thu Aug 14, 2008 8:40 pm Post subject: |
|
|
novazur wrote: |
...
[edit] ne fonctionne pas. C'est toujours python2.5 qui est utilisé [/edit]
...
|
Ben... personnellement ça me paraît logique que ce soit python2.5 qui soit utilisé, vu que c'est la dernière version. Si tu veux absolument pas de python2.5, pourquoi ne pas "bêtement" la masquer, la virer et reconstruire les appli python avec le 2.4? (Bon, j'suis évidemment pas du tout sûr que ça fonctionne ni que ça ne foute pas un beau bordel mais bon... a priori je tenterais le coup)
Et si tu veux juste utiliser python2.4 pour compiler ton ebuild, pq ne pas mettre le chemin complet vers le binaire kivabien (chez moi /usr/bin/python2.4, ou simplement python2.4 dans la ligne de commande)?
Ma "solution" (si on peut appeller ça comme ça ) me paraît trop simple donc j'suis peut-être passé à côté de quelque chose, mais bon on sait jamais... _________________ Microsoft is not the answer. Microsoft is the question. NO, is the answer. |
|
Back to top |
|
|
novazur Guru
Joined: 19 Mar 2005 Posts: 461 Location: Martinique
|
Posted: Thu Aug 14, 2008 10:50 pm Post subject: |
|
|
Poch wrote: | Si tu veux absolument pas de python2.5, pourquoi ne pas "bêtement" la masquer, la virer et reconstruire les appli python avec le 2.4? |
Parce que c'est juste pour un ebuild que je veux utiliser le 2.4, et pas pour tout mon système.
Quote: | Et si tu veux juste utiliser python2.4 pour compiler ton ebuild, pq ne pas mettre le chemin complet vers le binaire kivabien (chez moi /usr/bin/python2.4, ou simplement python2.4 dans la ligne de commande)? |
Un chemin vers un binaire dans un ebuild ?
On parle bien de la même chose ? Tu as lu mon premier post ?
Je résume ma demande initiale (même si rien ne prouve que cela solutionne mon problème réel) :
Puisque python est slotté, comment définir la version à utiliser dans un ebuild ? |
|
Back to top |
|
|
Poch Tux's lil' helper
Joined: 09 Jun 2006 Posts: 105 Location: Namur, Belgique
|
Posted: Thu Aug 14, 2008 11:00 pm Post subject: |
|
|
C'est pour ça que je précisais que j'avais du oublier un truc . Effectivement ce que je raconte n'a alors aucun intérêt. _________________ Microsoft is not the answer. Microsoft is the question. NO, is the answer. |
|
Back to top |
|
|
novazur Guru
Joined: 19 Mar 2005 Posts: 461 Location: Martinique
|
Posted: Wed Oct 08, 2008 11:24 pm Post subject: |
|
|
J'ai enfin réussi (après plusieurs semaines de désespoir).
Il me suffisait d'ajouter des options à econf, telles que Code: | --without-flac --without-vorbis --with-python |
C'était si simple (je suppose d'ailleurs que seul le without-flac suffirait) !
A force de recherches, je suis tombé sur https://trac.modulix.net/gentoo.modulix.net/wiki/appli/ices qui donnait la solution. suffisait d'adapter mon ebuild.
Si cette solution peut en aider un autre...
Merci à ceux qui m'ont lu. |
|
Back to top |
|
|
|