Je reçois cette erreur lorsque vous essayez de compiler FFMPEG sur une machine de 64 bits Centos.
Voici mes options de fichier: p>
i Obtenir l'erreur suivante lors de la compilation de la source: p> ./ Configurez -enable-partagé -gpl --enable-nonfree -enable -enable-PostProc --enable-Snscale --enable-pthreads --enable-libx264 --enable-libfforbis --enable-libfaac --enable-libfaac --enable-libfaac -libvpx code> p>
marque code> p>
/usr/bin/ld: /usr/local/lib/libvpx.a(vpx_codec.c.o): relocation R_X86_64_32 against .rodata.str1.1' can not be used when making a shared object; recompile with -fPIC
/usr/local/lib/libvpx.a: could not read symbols: Bad value
collect2: ld returned 1 exit status
make: *** [libavcodec/libavcodec.so.54] Error 1
6 Réponses :
(et la question est ...?) p>
Les bibliothèques partagées doivent être composées d'un code d'objet PIC, mais FFMPEG n'a pas pu le faire. P>
Désolé, je pensais que la question était implicite. Comment puis-je contourner cette erreur et obtenir libvpx haut et courir avec le dernier FFMPEG sur ma machine 64 bits?
essayez pour ajouter le drapeau que la mention d'erreur est manquante. p> p>
Cela a fonctionné pour moi. La clé était d'utiliser ce drapeau lors de la construction / de l'installation de X264 / LibX264.
Avez-vous compilé votre libvpx avec Si non, vous pouvez essayer de commenter # 6 et n ° 7 dans problème. p> - partagé code> et
-fic code> de sorte qu'il génère
libvpx.so * code>? P>
Aidez-moi, s'il vous plaît !!!! ... Stackoverflow.com/questions/27226157/...
Depuis que vous avez configuré FFMPEG avec "--enable-partagé", vous devez également configurer certaines d'autres bibliothèques avec "--enable-partagé" également, et ils doivent tous utiliser le même paramètre. P>
Ce message d'erreur vous dit essentiellement de compiler à nouveau LibVPX avec "--enable-partagé" ajouté à la commande Configurer, puis essayez à nouveau de compiler FFMPEG (également configuré avec "--enable-partagé"). Les chances sont que vous obtiendrez alors la même erreur, mais cela dira "libx264" ou "libmp3lame" au lieu de "libvpx", vous devrez donc également recompiler ces libs avec "--enable-partagé" dans la commande Configurer. < / p>
J'ai eu une erreur similaire lors de la compilation ffmpeg em> sur une machine X86_64 exécutant Oracle Linux 6.3. Oracle Linux est basé sur le chapeau rouge et est donc similaire à centos dans la question initiale.
En effet, cette réponse vous dit Que faire i> au lieu de vous donner un diagnostic
J'ai eu ce problème dans ma construction mythtv avec libx264.a p>
J'ai téléchargé et construit comme Saheed suggéré. P>
La seule chose est que /usr/local/lib/libx264.a n'a pas été changé quand je l'ai fait "faire installer". Je devais faire "faire installer-lib-statique" p>
Parfois, ce qui se passe est lorsque vous courez -fic -fic, il remettra à nouveau cette erreur pour un fichier de sous-objet. Il suffit de prendre la sauvegarde de ce fichier d'objet et de courir à nouveau. Exemple. Vous courez pour totasalum.cpp et il a une référence à un autre fichier calculateum.o. Maintenant, l'erreur vient sur calculateum.o. Alors, prends de sauvegarde de calculateum.o aussi et courez -fic. L'erreur disparaîtra.