компиляция последней версии libx264 для ffmpeg не удалась в Ubuntu 17.10 (Artful)

534
Steffen Roller

Я использую Ubuntu 17.10 на голом металле. Мой план состоит в том, чтобы скомпилировать последнюю версию ffmpeg, включая библиотеки кодирования.

Я следую за Руководством по компиляции ffmpeg ( https://trac.ffmpeg.org/wiki/CompilationGuide/Ubuntu ).

Я не могу создать x264. Фаза компиляции работает нормально. Связывание не выполняется с ошибкой перемещения.

/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 

Полные журналы здесь на Pastbin: https://pastebin.com/MLJTJmXK

На моей машине нет старых библиотек или исполняемых файлов. Я попытался скомпилировать с sudo, чтобы избежать проблем с разрешениями.

Есть идеи, что может пойти не так?

РЕДАКТИРОВАТЬ: После комментариев, что у многих других не было проблем, я установил девственную версию Ubuntu 17.10 с Digital Ocean и столкнулся с точно такой же проблемой

0
Нету. Я удалил все каталоги и начал заново. В логах была подсказка для использования -fPIC. Поэтому я запускаю configure с `--enable-shared`. Это помогло мне преодолеть насущную проблему. Мне пришлось запустить `ldd`, чтобы сделать lib в / usr / local / lib известным системе. Теперь, кажется, все работает нормально. Но мне все еще интересно, почему я не могу скомпилировать `x264` в статическом режиме. Я использую GCC 7.2.0. Интересно, может ли быть что-нибудь в моей системе, что мешает процессу сборки. Steffen Roller 6 лет назад 0
возможно проблема с компилятором? какой gcc установлен в 16.04? Steffen Roller 6 лет назад 0
для дополнительного теста я установил девственную Ubuntu 17.10 в Digital Ocean. Не удалось с той же проблемой. Steffen Roller 6 лет назад 0

1 ответ на вопрос

1
LordNeckbeard

Относится к упрочнению GCC для 16.10, которое добавлено --enable-default-pieк gcc. Вы можете проверить, просмотрев вывод gcc -v.

Попробуйте добавить --enable-picв конфигурацию x264 (нет необходимости, --enable-sharedесли вы следуете руководству ).

Это сделал трюк! Steffen Roller 6 лет назад 0

Похожие вопросы