Kompilieren der neuesten Version von libx264 für ffmpeg schlägt auf Ubuntu 17.10 (Artful) fehl

703
Steffen Roller

Ich lasse Ubuntu 17.10 auf Bare Metal laufen. Mein Plan ist es, die neueste Version von ffmpeg einschließlich der Codierungsbibliotheken zu kompilieren.

Ich folge dem CompilationGuide von ffmpeg ( https://trac.ffmpeg.org/wiki/CompilationGuide/Ubuntu ).

Ich kann x264 nicht erstellen. Die Kompilierungsphase funktioniert gut. Die Verknüpfung schlägt mit einem Umzugsfehler fehl.

/usr/bin/ld: libx264.a(cabac-a-8.o): relocation R_X86_64_32 against hidden symbol `x264_8_coeff_last16_sse2' can not be used when making a shared object 

Die vollständigen Protokolle finden Sie hier auf Pastbin: https://pastebin.com/MLJTJmXK

Es gibt keine alten Bibliotheken oder ausführbaren Dateien auf meinem Rechner. Ich habe versucht, mit Sudo zu kompilieren, um Probleme mit der Berechtigung zu vermeiden.

Irgendeine Idee, was schief gehen könnte?

BEARBEITEN: Nach den Kommentaren, dass viele andere keine Probleme hatten, habe ich eine neue Version von Ubuntu 17.10 mit Digital Ocean eingerichtet und bin genau das gleiche Problem aufgetreten

0
Nee. Ich habe alle Verzeichnisse gelöscht und von vorne angefangen. In den Protokollen gab es einen Hinweis zur Verwendung von -fPIC. Deshalb führe ich configure mit "--enable-shared" aus. Das hat mir geholfen, das unmittelbare Problem zu überwinden. Ich musste `ldd` ausführen, um die lib in / usr / local / lib dem System bekannt zu machen. Jetzt scheint alles gut zu laufen. Ich frage mich aber immer noch, warum ich `x264` nicht im statischen Modus kompilieren kann. Ich verwende gcc 7.2.0. Ich frage mich, ob sich auf meinem System etwas befinden könnte, das den Build-Prozess stört. Steffen Roller vor 6 Jahren 0
vielleicht ein Compilerproblem? welches gcc ist in 16.04 installiert? Steffen Roller vor 6 Jahren 0
Für einen zusätzlichen Test habe ich bei Digital Ocean ein jungfräuliches Ubuntu 17.10 eingerichtet. Mit dem gleichen Problem ist es nicht gelungen. Steffen Roller vor 6 Jahren 0

1 Antwort auf die Frage

1
LordNeckbeard

Bezogen auf GCC für 16.10 Härten, die hinzugefügt --enable-default-piezu gcc. Sie können dies überprüfen, indem Sie die Ausgabe von anzeigen gcc -v.

Versuchen Sie --enable-pic, die x264-Konfiguration hinzuzufügen (keine Notwendigkeit, --enable-sharedwenn Sie der Anleitung folgen ).

Das hat den Trick gemacht! Steffen Roller vor 6 Jahren 0