Compilation de VLC pour une utilisation avec Freeplayer
Par Yannig le samedi 9 juillet 2005, 19:31 - Linux - Lien permanent
Petit mot à propos de la distrib'
Bon, je veux pas polémiquer mais ici, on va parler de Mandriva pour la distribution. Je suis déjà au courant qu'il existe d'autres distributions. Donc pour la suite, veuillez remplacer le mot urpmi par : - apt-get install pour une Debian/Ubuntu/Kubuntu, - yum install pour une RedHat, - emerge pour une Gentoo, - et Yast pour une SuSE.
Pour toutes personnes possédant des choses encore plus exotiques, prière de ne pas venir me crier dessus, faîtes un commentaire et je me ferais un plaisir de rajouter le dit installateur de paquetage/package.
Pour toutes personnes ne possédant pas une distrib' récente (genre RedHat 7.2), prière de mettre à jour sa distrib' avec quelque chose de plus moderne.
Préparation de la compilation
Comme je suppose que vous n'avez jamais fait de compilation de VLC sur votre poste, nous allons tout d'abord faire une installation de paquetage de développement. En voici une liste à passer en ligne de commande.
Donc tout d'abord, ouvrir une console puis s'authentifier en tant que root avec la commande "su -" :
Le lancement de l'installation des paquetages nécessaires à la compilation va se faire avec la commande suivante :
urpmi avcodec-devel libffmpeg0-devel libpostproc0-devel libmpeg2dec0-devel \ libwxgtk2.6-devel libdvdread3-devel libdvdread3 libdvbpsi3-devel libdvdnav4 libdvdnav-devel libmad0-devel
Ca c'est bien passé ? Très bien, vous pouvez aller télécharger le paquetage suivant : http://download.videolan.org/pub/vlc/snapshots/vlc-snapshot-20050704.tar.gz
Déposez-le dans le répertoire /home/<chezvous>/tmp. Placez-vous dans ce répertoire depuis une console avec la commande cd /home/<chezoam>/tmp. Enfin, décompressez le tout avec la commande suivante :
tar xfvz vlc-snapshot-20050704.tar.gz
Placez-vous ensuite dans le répertoire fraîchement créé (cd vlc-snapshot-20050704) et là, lancez la commande suivante (il s'agit d'une opération préalable à la compilation qui va aller vérifier si toutes les bibliothèques de développement sont bien présentes) :
./configure --enable-dvbpsi --enable-dvdread --enable-release --prefix=/usr
A la fin, vous devriez voir apparaître le texte suivant :
vlc configurationvlc version : snapshot-20050706 system : linux architecture : i686 mmx build flavour : optim release vlc aliases : svlc
Une fois terminé cette étape, on lance la compilation :
make
Et enfin, nous allons installer le tout sur notre PC : su -c "make install"
Commentaires
Bonsoir Yannig, J'ai trouvé un rpm de freeplayer pour la mandriva 10.2 LE2005 donc il n'est pas utile de faire tout ce que tu nous conseille à partir du moment où l'on a installé le rpm n'est-ce pas? Par contre freeplayer fonctionne avec quelques petits désagréments : du genre le son disparait toute les 5 mns environs ey régulièrement il se passe des claquements dans les enceintes de la TV que je n'arrive pas à faire disparaitre. Si t'as une idée sur ces prob je suis preneur mais d'avance je te remercie du temps que tu as consacré à aider les utilisateur de freeplayer Gilles
Bonsoir Gilles,
Effectivement, tu as tout à fait raison, il n'est pas nécessaire de compiler VLC (tu peux utiliser la version plf, elle fonctionne très bien. Oups, y'a des gens qui ne doivent pas savoir de quoi je parle. Va falloir que j'en parle dans un article). Concernant le fonctionnement complet en lui même, j'ai pour ça écrit un autre article (que tu peux consulter là : http://jb.berland.free.fr/dotclear/index.php?2005/07/12/94-faire-fonctionne-freeplayer-sous-linux).
Concernant ton problème, je ne peux pas trop t'aider dans la mesure, ou je ne rencontre pas ce type de problème. En revanche, il faudrait bien t'assurer des points suivants : - une bécane suffisamment puissante (perso, j'ai un Athlon XP 2500+ mais un Athlon 1Ghz devrait être suffisant) - une connexion réseau qui fonctionne en 100 Mbs - des vidéos qui ne déconne pas avec VLC (ça arrive aussi qu'il les lisent mal)
j'ai essayé de compiler vlc sur FC4 x86_64 en suivant ces consignes, résultat suivant après quelque correction dans les makefile (lib64 u lieu de lib) et dans un fichier .cpp (pb de cast void* en int), il semble que cette version n'est pas adaptée à mon architecture. Une idée pour me dépanner ?
Voilà l'erreur retournée par make :
make6: Entering directory `/root/Desktop/Téléchargements/vlc-snapshot/vlc-snapshot-20050704/modules/gui/skins2' g++ -Wsign-compare -Wsign-compare -Wall -pipe -L/lib64 -L/usr/lib64 -L/usr/X11R6/lib64 -fPIC -o libskins2_plugin.so libskins2_plugin_a-async_queue.o libskins2_plugin_a-cmd_add_item.o libskins2_plugin_a-cmd_change_skin.o libskins2_plugin_a-cmd_fullscreen.o libskins2_plugin_a-cmd_input.o libskins2_plugin_a-cmd_layout.o libskins2_plugin_a-cmd_muxer.o libskins2_plugin_a-cmd_on_top.o libskins2_plugin_a-cmd_playlist.o libskins2_plugin_a-cmd_minimize.o libskins2_plugin_a-cmd_quit.o libskins2_plugin_a-cmd_resize.o libskins2_plugin_a-cmd_vars.o libskins2_plugin_a-ctrl_button.o libskins2_plugin_a-ctrl_checkbox.o libskins2_plugin_a-ctrl_generic.o libskins2_plugin_a-ctrl_image.o libskins2_plugin_a-ctrl_list.o libskins2_plugin_a-ctrl_move.o libskins2_plugin_a-ctrl_resize.o libskins2_plugin_a-ctrl_slider.o libskins2_plugin_a-ctrl_radialslider.o libskins2_plugin_a-ctrl_text.o libskins2_plugin_a-ctrl_video.o libskins2_plugin_a-evt_input.o libskins2_plugin_a-evt_key.o libskins2_plugin_a-evt_mouse.o libskins2_plugin_a-evt_special.o libskins2_plugin_a-evt_scroll.o libskins2_plugin_a-builder.o libskins2_plugin_a-expr_evaluator.o libskins2_plugin_a-interpreter.o libskins2_plugin_a-skin_parser.o libskins2_plugin_a-xmlparser.o libskins2_plugin_a-anchor.o libskins2_plugin_a-bitmap_font.o libskins2_plugin_a-dialogs.o libskins2_plugin_a-ft2_bitmap.o libskins2_plugin_a-ft2_font.o libskins2_plugin_a-generic_bitmap.o libskins2_plugin_a-generic_layout.o libskins2_plugin_a-generic_window.o libskins2_plugin_a-logger.o libskins2_plugin_a-os_factory.o libskins2_plugin_a-png_bitmap.o libskins2_plugin_a-scaled_bitmap.o libskins2_plugin_a-skin_main.o libskins2_plugin_a-theme.o libskins2_plugin_a-theme_loader.o libskins2_plugin_a-theme_repository.o libskins2_plugin_a-tooltip.o libskins2_plugin_a-top_window.o libskins2_plugin_a-var_manager.o libskins2_plugin_a-vlcproc.o libskins2_plugin_a-vout_window.o libskins2_plugin_a-window_manager.o libskins2_plugin_a-bezier.o libskins2_plugin_a-fsm.o libskins2_plugin_a-position.o libskins2_plugin_a-ustring.o libskins2_plugin_a-var_bool.o libskins2_plugin_a-var_list.o libskins2_plugin_a-var_percent.o libskins2_plugin_a-var_text.o libskins2_plugin_a-playlist.o libskins2_plugin_a-time.o libskins2_plugin_a-volume.o libskins2_plugin_a-win32_dragdrop.o libskins2_plugin_a-win32_factory.o libskins2_plugin_a-win32_graphics.o libskins2_plugin_a-win32_loop.o libskins2_plugin_a-win32_timer.o libskins2_plugin_a-win32_tooltip.o libskins2_plugin_a-win32_window.o libskins2_plugin_a-x11_display.o libskins2_plugin_a-x11_dragdrop.o libskins2_plugin_a-x11_factory.o libskins2_plugin_a-x11_graphics.o libskins2_plugin_a-x11_loop.o libskins2_plugin_a-x11_timer.o libskins2_plugin_a-x11_window.o libskins2_plugin_a-x11_tooltip.o libskins2_plugin_a-macosx_dragdrop.o libskins2_plugin_a-macosx_factory.o libskins2_plugin_a-macosx_graphics.o libskins2_plugin_a-macosx_loop.o libskins2_plugin_a-macosx_timer.o libskins2_plugin_a-macosx_window.o libskins2_plugin_a-macosx_tooltip.o `top_builddir=../../.. ../../../vlc-config --libs plugin skins2` /usr/bin/ld: /usr/lib64/libtar.a(handle.o): relocation R_X86_64_32 against `a local symbol' can not be used when making a shared object; recompile with -fPIC /usr/lib64/libtar.a: ne peut lire les symboles: Mauvaise valeur collect2: ld a retourné 1 code d'état d'exécution make6: *** libskins2_plugin.so Erreur 1 make6: Leaving directory `/root/Desktop/Téléchargements/vlc-snapshot/vlc-snapshot-20050704/modules/gui/skins2' make5: *** all-modules Erreur 1 make5: Leaving directory `/root/Desktop/Téléchargements/vlc-snapshot/vlc-snapshot-20050704/modules/gui/skins2' make4: *** all-recursive Erreur 1 make4: Leaving directory `/root/Desktop/Téléchargements/vlc-snapshot/vlc-snapshot-20050704/modules/gui' make3: *** all Erreur 2 make3: Leaving directory `/root/Desktop/Téléchargements/vlc-snapshot/vlc-snapshot-20050704/modules/gui' make2: *** all-recursive Erreur 1 make2: Leaving directory `/root/Desktop/Téléchargements/vlc-snapshot/vlc-snapshot-20050704/modules' make1: *** all-recursive Erreur 1 make1: Leaving directory `/root/Desktop/Téléchargements/vlc-snapshot/vlc-snapshot-20050704' make: *** all Erreur 2
Je ne suis pas trop sûr de comprendre ce que tu as voulu faire en modifiant les makefile. Ils sont générés automatiquement par le processus de autoconf ? Donc à prioris, surtout ne modifie rien là dedans ...
Sinon, as-tu essayé de passer par la version disponible avec la FDC4 ? En tant que root, le paquetage s'installe avec "yum install videolan-client".
Sinon concernant la compilation de VLC sur une architecture X86_64, je pense qu'il vaut mieux que tu évites de vouloir compiler la version avec le support de skins2 (cf http://www.via.ecp.fr/via/ml/vlc/2005-07/msg00101.html, il appelle ça vls).
Essayes de regarder les options disponibles pour désactiver ce support et je pense que tu devrais t'en tirer. Ca sera moins jolie mais ça fonctionnera mieux ...
Bonne chance !
salut. J'essaye de compiler vlc sur une mandriva10.2 mais ça foire au link: gcc -Wsign-compare -Wall -pipe -o libopengl_plugin.so libopengl_plugin_a-opengl.o `top_builddir=../.. ../../vlc-config --libs plugin opengl` /usr/bin/ld: cannot find -lGLU Any help ? Merci beaucoup.
Salut Yannig,
merci pour ton howto, je le conseillerais à d'autre, ça a marché nickel sous ubuntu (il faut le paquet libavformat).
J'ai toutefois un problème maintenant : impossible d'acceder à l'unovers freeplayer depuis ma freebox :/ J'ai bien ouvert les ports necessaires portant... Si qq'un passe avec une idée, je suis prenneur.
Merci Yannig
+++ SAMsan.
OKIIIIIIIIIII :D
Mon Firestarter était configurer pour tourner en local avec les ports du freeplayer, en les passant en global c'est ok
Ça laisse un trou de sécurité mais je trouverais surement l'ip à autoriser.
+++ SAMsan.
Oui, c'est ce que j'allais te conseiller.
Sinon, essayes d'ouvrir la route pour le résultat de la commande 'nslookup mafreebox.free.fr'.
A+
Yannig
Fil des commentaires de ce billet