# [VLC] Impossible de le compiler

## BoOmSlAnGz

Bonjour à tous,

Après moulte essais je me résoud à demander de l'aide ici, je tente d'installer VLC via portage, mais j'ai tout le temps un erreur de compilation (voir ci-dessous). J'ai lui plusieurs doc sur les wiki gentoo, (modifier USE etc .. mais rien n'y fait..) Quelqu'un a une idée ???

 *Quote:*   

> nt dans le répertoire «
> 
> /var/tmp/portage/media-video/vlc-0.8.6-r1/work/vlc-0.8.6/modules/gui/skins2 »
> 
> /bin/sh ../../../libtool --tag=CXX   --mode=compile i686-pc-linux-gnu-g++
> ...

 

Merci d'avance !!

 :Smile: 

----------

## netfab

Salut,

On peut voir ton emerge --info ansi que emerge vlc -pv ?

Juste au hasard, tu as essayé de le compiler avec -O2 au lieu de -O3 ?

Est ce qu'une version précédente est déjà installée ?

----------

## nykos

```
emerge -C vlc && emerge -av vlc
```

il compile pas si la version d'avant est installée

----------

## BoOmSlAnGz

Merci pour vos réponses, pour l'instant je ne suis pas chez moi donc je ne peux pas tester mais je le fait dès que je rentres !

Netfab, au risque de passer pour un con, c'est quoi -O2 et -O3 ?  :Razz: 

----------

## netfab

Le niveau d'optimisation des binaires générés. Jette un oeil au man de gcc.

Mais en fait, dans ton make.conf çà doit déjà être sur -O2, j'avais vu çà :

 *Quote:*   

> 
> 
> -DPLUGIN_PATH=\"/usr/lib/vlc\" -O3 -ffast-math -funroll-loops -mtune=pentium2
> 
> -fomit-frame-pointer -D__VLC__ -D__PLUGIN__ -I/usr/include/freetype2
> ...

 

Le -O3 doit sûrement provenir du Makefile, mais doit être surchargé par le -O2 de ton make.conf.

----------

## BoOmSlAnGz

Bon pour le "il compile pas si la version d'avant est installée" c'est rappé  :Razz: 

pour le emerge --info :

 *Quote:*   

> Portage 2.1.2_rc3-r9 (default-linux/x86/2006.1, gcc-4.1.1, glibc-2.5-r0, 2.6.20-gentoo i686)
> 
> =================================================================
> 
> System uname: 2.6.20-gentoo i686 Intel(R) Pentium(R) 4 CPU 2.80GHz
> ...

 

et pour le emerge -pc vlc :

 *Quote:*   

> These are the packages that would be merged, in order:
> 
> Calculating dependencies  ..... ..... ..... .... done!
> 
> [ebuild  N    ] media-video/vlc-0.8.6-r1  USE="X a52 alsa arts dts dvd hal mp3 mpeg ncurses nsplugin opengl png sdl skins svga truetype win32codecs wxwindows xv -3dfx -aalib (-altivec) -avahi -bidi -cdda -cddb -corba -daap -debug -directfb -dvb -esd -fbcon -flac -ggi -gnutls -httpd -libcaca -libnotify -lirc -live -matroska -mod -ogg -optimisememory -oss -rtsp -samba -seamonkey -shout -speex -stream -svg -theora -upnp -v4l -vcd -vlm -vorbis -xinerama -xml -xosd" 0 kB 
> ...

 

----------

## razer

Je rajoute une couche :

```
-O3 -ffast-math -funroll-loops -mtune=pentium2

-fomit-frame-pointer
```

Commente tes CFLAGS dans ton make.conf et rajoute une ligne :

```
CFLAGS="march=pentium2 mtune=pentium2 -O2 -pipe"
```

VLC n'aime pas trop les CFLAGS exotiques

----------

## BoOmSlAnGz

 *razer wrote:*   

> Je rajoute une couche :
> 
> ```
> -O3 -ffast-math -funroll-loops -mtune=pentium2
> 
> ...

 

VLC n'a pas l'air d'aimer ton CFLAGS, pourtant le mien n'est pas très exotique... :

 *Quote:*   

>  CFLAGS="-O2 -march=pentium4"

 

Sinon pour l'erreur, elle survient juste au début cette fois :

 *Quote:*   

> >>> Compiling source in /var/tmp/portage/media-video/vlc-0.8.6-r1/work/vlc-0.8.6 ...
> 
>  * econf: updating vlc-0.8.6/autotools/config.guess with /usr/share/gnuconfig/config.guess
> 
>  * econf: updating vlc-0.8.6/autotools/config.sub with /usr/share/gnuconfig/config.sub
> ...

 

Pour le config.log, je n'ai rien vu de très parlant .. pour moi :/

----------

## Alexis

```

CFLAGS="march=pentium2 mtune=pentium2 -O2 -pipe"

```

ui bon forcément il manque un "-" devant, gcc va pas aimer  :Wink: 

Je viens de désactiver les optimisations autodétectées de vlc pour vlc-0.8.6_p18636, attends un peu (que ça se propage aux mirroirs rsync, et emerge --sync) et reteste stp.

Je les désactiverai dans la version stable aussi si ça règle des problèmes.

----------

## BoOmSlAnGz

 *Alexis wrote:*   

> 
> 
> ```
> 
> CFLAGS="march=pentium2 mtune=pentium2 -O2 -pipe"
> ...

 

Ah merde, j'avais pas vu  :Razz: 

Ok je retesterais. Tu es développeur VLC ?

----------

## Alexis

 *BoOmSlAnGz wrote:*   

>  Tu es développeur VLC ?

 

Non non, juste que je m'occupe un peu de vlc dans gentoo depuis récemment  :Smile: 

----------

## razer

 *Alexis wrote:*   

> 
> 
> ```
> 
> CFLAGS="march=pentium2 mtune=pentium2 -O2 -pipe"
> ...

 

Oooops...

Mon erreur est d'autant plus bizarre que je les ai mis pour O2 et pipe   :Question: 

Cà m'apprendra à ne pas me relire :/

----------

## BoOmSlAnGz

Toujours une erreur :'( 

 *Quote:*   

> /bin/sh ../../../libtool --tag=CXX   --mode=compile i686-pc-linux-gnu-g++ -DHAVE_CONFIG_H -I. -I../../..   -DSYS_LINUX -I../../../include `top_builddir="../../.." ../../../vlc-config --cxxflags plugin skins2` -Wsign-compare -Wall -O2 -march=pentium4 -pipe -MT libskins2_plugin_la-async_queue.lo -MD -MP -MF .deps/libskins2_plugin_la-async_queue.Tpo -c -o libskins2_plugin_la-async_queue.lo `test -f 'commands/async_queue.cpp' || echo './'`commands/async_queue.cpp
> 
> mkdir .libs
> 
>  i686-pc-linux-gnu-g++ -DHAVE_CONFIG_H -I. -I../../.. -DSYS_LINUX -I../../../include -D_FILE_OFFSET_BITS=64 -D__USE_UNIX98 -D_LARGEFILE64_SOURCE -D_REENTRANT -D_THREAD_SAFE -D_GNU_SOURCE -DLOCALEDIR=\"/usr/share/locale\" -DDATA_PATH=\"/usr/share/vlc\" -DPLUGIN_PATH=\"/usr/lib/vlc\" -O2 -D__VLC__ -D__PLUGIN__ -I/usr/include/freetype2 -Imodules/gui/skins2 -DX11_SKINS -DMODULE_NAME=skins2 -DMODULE_NAME_IS_skins2 -O2 -fno-rtti -fno-strict-aliasing -Wsign-compare -Wall -O2 -march=pentium4 -pipe -MT libskins2_plugin_la-async_queue.lo -MD -MP -MF .deps/libskins2_plugin_la-async_queue.Tpo -c commands/async_queue.cpp  -fPIC -DPIC -o .libs/libskins2_plugin_la-async_queue.o
> ...

 

----------

## netfab

Salut,

Voici mes useflags pour vlc :

 *Quote:*   

> 
> 
> [ebuild   R   ] media-video/vlc-0.8.6_p18636  USE="X a52 alsa bidi cdda dts dvd flac gnutls hal httpd libnotify live matroska mp3 mpeg ncurses ogg opengl oss png sdl stream svga theora truetype vcd vlm vorbis win32codecs wxwindows xml xv -3dfx -aalib (-altivec) -arts -avahi -cddb -corba -daap -debug -directfb -dvb -esd -fbcon -ggi -libcaca -lirc -mod -nsplugin -optimisememory -rtsp -samba -seamonkey -shout -skins -speex -svg -upnp -v4l -xinerama -xosd" 0 kB 
> 
> 

 

et çà compile là-dessus :

 *Quote:*   

> 
> 
> $ emerge --info
> 
> Portage 2.1.2-r9 (default-linux/x86/2006.1/desktop, gcc-4.1.1, glibc-2.5-r0, 2.6.18-gentoo-r3 i686)
> ...

 

J'ai regardé le dernier log de compilation de vlc, et nulle part je ne compile ce fichier :

 *Quote:*   

> 
> 
> .deps/libskins2_plugin_la-async_queue.Tpo -c commands/async_queue.cpp -fPIC -DPIC -o .libs/libskins2_plugin_la-async_queue.o
> 
> {standard input}: Assembler messages:
> ...

 

----------

## bouleetbil

Bonsoir,

Peut-être une piste cela pourrais être du à binutils ou la version de GCC :

http://www.mail-archive.com/debian-gcc@lists.debian.org/msg21691.html

http://archives.mandrivalinux.com/cooker/2006-06/msg00221.php

Si tu as changé de CHOST peut être un emerge de sys-devel/binutils

----------

## thibotus01

Bonjour,

Moi je fais un emerge -av vlc

et impossible de récuperer les paquets, il essaye à plusieur endroit pour ce paquet :

Fichier « vlc-patches-32.tar.bz2 » inexistant.

A chaque fois, erreur 404.

Et la sur : 

--10:02:44--  ftp://lug.mtu.edu/gentoo/source/distfiles/vlc-patches-32.tar.bz2

Il bloque sur :  ==> PASV ...

Conclusion, il peut pas continuer, et impossible d'installer VLC :/

----------

## GaMeS

 *thibotus01 wrote:*   

> Bonjour,
> 
> Moi je fais un emerge -av vlc
> 
> et impossible de récuperer les paquets, il essaye à plusieur endroit pour ce paquet :
> ...

 

Là c'est un autre problème, c'est juste que ton sync n'a pas le fichier demandé.

Tu as fais un emerge --sync ? quel est ton mirroir ? en faisant une recherche sur google j'ai trouvé un mirroir qui avait ton fichier depuis le 31/12/2006.

Au passage, je pense que pour le bonheur de tous, il faudrait que tu recrée un autre Sujet thibotus01.

Sinon bienvenue thibotus01 !

----------

## thibotus01

Je lance un emerge --sync ... On va voir !

----------

## thibotus01

J'ai créé un post   :Cool: 

----------

## BoOmSlAnGz

Je n'ai toujours pas trouvé le problème ...

----------

## netfab

 *BoOmSlAnGz wrote:*   

> Je n'ai toujours pas trouvé le problème ...

 

euh... si... le problème tu l'as trouvé, c'est la solution que tu cherches  :Smile: 

Essaie de compiler vlc avec mes useflags (donnés ci-dessus), ou au moins, essaie de désactiver les useflags que l'on n'a pas en commun, si çà marche, on essaiera de trouver le problème par rapport à cette configuration.

Je n'ai pas de fichier async_queue.cpp dans le log de compilation. Il est probable que ce fichier est compilé seulement lorsqu'un certain useflag est activé. Si déjà on peut identifier ce useflag, çà serait déjà bien.

----------

## BoOmSlAnGz

 *netfab wrote:*   

>  *BoOmSlAnGz wrote:*   Je n'ai toujours pas trouvé le problème ... 
> 
> euh... si... le problème tu l'as trouvé, c'est la solution que tu cherches 
> 
> Essaie de compiler vlc avec mes useflags (donnés ci-dessus), ou au moins, essaie de désactiver les useflags que l'on n'a pas en commun, si çà marche, on essaiera de trouver le problème par rapport à cette configuration.
> ...

 

J'ai essayé ton USE, mais alors portage veut m'installer des libs en plus et ... la première :

 *Quote:*   

> >>> Install libebml-0.7.7-r1 into /var/tmp/portage/dev-libs/libebml-0.7.7-r1/image/ category dev-libs
> 
> g++ -c -Wall -Wno-unknown-pragmas -ansi -fno-gnu-keywords -Wshadow -O2 -march=pentium4   -I/var/tmp/portage/dev-libs/libebml-0.7.7-r1/work/libebml-0.7.7/make/linux/../.. -o /var/tmp/portage/dev-libs/libebml-0.7.7-r1/work/libebml-0.7.7/make/linux/../../src/Debug.o /var/tmp/portage/dev-libs/libebml-0.7.7-r1/work/libebml-0.7.7/make/linux/../../src/Debug.cpp
> 
> g++ -c -Wall -Wno-unknown-pragmas -ansi -fno-gnu-keywords -Wshadow -O2 -march=pentium4   -I/var/tmp/portage/dev-libs/libebml-0.7.7-r1/work/libebml-0.7.7/make/linux/../.. -o /var/tmp/portage/dev-libs/libebml-0.7.7-r1/work/libebml-0.7.7/make/linux/../../src/EbmlBinary.o /var/tmp/portage/dev-libs/libebml-0.7.7-r1/work/libebml-0.7.7/make/linux/../../src/EbmlBinary.cpp
> ...

 

:/

----------

## Alexis

t'aurais pas un problème de gcc ou de mauvais -march plutot ?

----------

## BoOmSlAnGz

 *Alexis wrote:*   

> t'aurais pas un problème de gcc ou de mauvais -march plutot ?

 

J'en sais rien pour GCC, et mon march est bon ..

----------

## fb99

```
#gcc-config -l 

#cat /proc/cpuinfo
```

est-ce que tu arrives à compiler autres choses ou est-ce que le problème est général.

parfois un petit 

```
#revdep-rebuild
```

 règle les choses.

sinon lis le premier post sur comment poser des questions la recherche d'information.

Sinon efface l'archive ainsi que ton /var/tmp/portage et vide ton cache et réessaye parfois "miracle" ça marche.

.....

bonne chance

PS: downgrade (prend un version + vieille emerge "<vlc-0.8.6"

----------

## Alexis

Heu non, downgrade pas, les versions < 0.8.6a ont dégagé, un bug de sécurité avait été trouvé

----------

## _droop_

Bonjour,

apparement ça peut venir du fait que tu as plusieurs versions de "as" installé.

Ca donne quoi chez toi les commandes suivantes :

```
which as

find /bin /usr -name "as"
```

Bon courage.

----------

## BoOmSlAnGz

 *Quote:*   

> localhost sshuser # gcc-config -l
> 
>  [1] i686-pc-linux-gnu-4.1.1 *

 

 *Quote:*   

> localhost sshuser # cat /proc/cpuinfo
> 
> processor       : 0
> 
> vendor_id       : GenuineIntel
> ...

 

J'arrives à compiler autre chose ... 

 *_droop_ wrote:*   

> Bonjour,
> 
> apparement ça peut venir du fait que tu as plusieurs versions de "as" installé.
> 
> Ca donne quoi chez toi les commandes suivantes :
> ...

 

 *Quote:*   

> /usr/i386-pc-linux-gnu/bin/as
> 
> /usr/bin/as
> 
> /usr/i686-pc-linux-gnu/bin/as
> ...

 

 :Sad: 

----------

## xaviermiller

c'est quoi ce i386 qui traîne ? aurais-tu changé de CHOST ?

----------

## BoOmSlAnGz

 *XavierMiller wrote:*   

> c'est quoi ce i386 qui traîne ? aurais-tu changé de CHOST ?

 

Heu pas que je me souvienne :/ Je regarderais

----------

## BoOmSlAnGz

 :Sad: 

j'ai réussi à le compiler dans une VM, alors je fait un truc dans le genre :

 *Quote:*   

> for i in $( locate vlc | grep "/usr/" ); do echo $i >> /vlcFiles; done;
> 
> tar -cvjpf vlc-0.8.6_p18636.tar.bz2 $(cat /vlcFile)

 

Puis je l'unpack sur mon PC mais j'ai un Can't open display :'( Or il fonctionne bien sur la VM

//EDIT : 

Argh !! Malheur ! Il s'exécute correctement en root >_<"

Il doit y avoir un problème de droits quelque part :/

//EDIT 2:

Bon bah, je sais que c'est pas fort secure et plutôt bricolé mais ça marche :

 *Quote:*   

> for i in $( locate vlc | grep /usr/ ); do chmod +s $i; done;

 

J'aimerais tout de même bien savoir pourquoi il ne compile pas :/

Au fait, mon CHOST :

CHOST="i686-pc-linux-gnu"

Et je ne l'ai pas modifié

----------

## _droop_

Tu as vérifié quel paquet avait installé les as ?

```
equery b /usr/i386-pc-linux-gnu/bin/as

equery b /usr/bin/as

equery b /usr/i686-pc-linux-gnu/bin/as

equery b /usr/i686-pc-linux-gnu/binutils-bin/2.16.1/as
```

(emerge gentoolkit si tu n'as pas equery)

----------

## xaviermiller

as fait partie de binutils, normalement  :Wink: 

----------

## BoOmSlAnGz

 *Quote:*   

> localhost boomslang # equery b /usr/i386-pc-linux-gnu/bin/as
> 
> [ Searching for file(s) /usr/i386-pc-linux-gnu/bin/as in *... ]
> 
> localhost boomslang # equery b /usr/bin/as
> ...

 

----------

## _droop_

 *BoOmSlAnGz wrote:*   

>  *Quote:*   localhost boomslang # equery b /usr/i386-pc-linux-gnu/bin/as
> 
> [ Searching for file(s) /usr/i386-pc-linux-gnu/bin/as in *... ]
> 
> localhost boomslang # equery b /usr/bin/as
> ...

 

A priori ca en fait 3 de trop (à confirmer par quelqu'un qui a une gentoo sous la main), après il y a peut être des liens symboliques.

Tu peux tenter de les déplacer ou de les renommer (si ce ne sont pas des liens symboliques) voir si ça amèliore ton problème.

Bon courage.

----------

