Компилируете ffmpeg и используете газовый препроцессор на Tiger? - PullRequest
2 голосов
/ 27 ноября 2010

Начинающий пытается скомпилировать ffmpeg на PowerMac G4, Mac OS X 10.4.11, Xcode 2.5 для использования на этом Mac (не iOS).

Я начал с учебного пособия Стивена Джанджела (ссылка )), хотя он и не охватывает Mac OS X 10.4 как таковой.Я устанавливаю LAME, FAAC / FAAD и x264 без ошибок.Все идет хорошо, пока я не использую ./configure для ffmpeg:

./configure --enable-shared --enable-libmp3lame --enable-libfaac --enable-libx264 --enable-gpl --enable-nonfree

После некоторого хруста, я получаю «Создание config.mak и config.h ...» и ошибку «ВНИМАНИЕ: ассемблер GNU не найден», установить газ-препроцессор ".Поэтому я ищу его в Интернете (https://github.com/yuvi/gas-preprocessor), переместите «gas-preprocessor.pl» в / usr / local / bin в соответствии с инструкциями. Очевидно, он ничего не делает, так как повторная настройка дает ту же ошибку. Наличие gas-preprocessor.plв директории ffmpeg, похоже, тоже не помогает.

Мне не хватает чего-то, что я должен делать с gas-preprocessor.pl?

Ответы [ 2 ]

4 голосов
/ 15 марта 2011

Ну, у меня была такая же проблема: "GNU-ассемблер не найден, установите препроцессор газа"

Позже выяснилось, что у меня не было правильного файла, потому что я скопировал и вставил код в текстовый редактор

Правильный способ сделать это:

(a) Используйте кнопку загрузки в https://github.com/yuvi/gas-preprocessor

(b) Извлечь архив

(c) Удалить вседругой файл с тем же именем, который вы загрузили и с которым вы экспериментировали.

(d) скопируйте файл gas-preprocessor.pl в / usr / local / bin

(e) Установите разрешениефайла для чтения и записи всеми (777), если a -> d не работает

Я обнаружил эту проблему, когда прочитал config.log во время компиляции ffmpeg

0 голосов
/ 01 декабря 2010

Возможно, вам нужно скомпилировать с включенным флагом архитектуры --arch, как при добавлении следующей опции в ваш оператор настройки:

"- арка = РРС"

Обратите внимание на список целевой архитектуры в файле конфигурации в репозитории Git:

http://git.ffmpeg.org/?p=ffmpeg;a=blob;f=configure;h=a882501c676c6bef9fae53140e6c053a4c7c3c99;hb=HEAD

Line
 935 ARCH_LIST='
 936     alpha
 937     arm
 938     avr32
 939     avr32_ap
 940     avr32_uc
 941     bfin
 942     ia64
 943     m68k
 944     mips
 945     mips64
 946     parisc
 947     ppc
 948     ppc64
 949     s390
 950     sh4
 951     sparc
 952     sparc64
 953     tomi
 954     x86
 955     x86_32
 956     x86_64'

Кроме того, вы, возможно, уже сделали это, но изучите параметры файла конфигурации, введя в командной строке «configure --help». Мне потребовалось куча проб и ошибок, чтобы заставить его работать.

Вместо "--enable-shared" попробуйте: "--disable-shared --enable-static" ... Я считаю, что это не будет пытаться скомпилировать другие библиотеки, которые уже скомпилированы, что может быть хорошим вещь, если нет необходимости пытаться перекомпилировать их (что может привести к ошибкам).

Также еще одна вещь - это --disable-asm, который «отключит все оптимизации ассемблера», что может относиться к «Синтаксической ошибке параметра» ... Я погуглил эту ошибку и обнаружил, что у кого-то возникла похожая проблема при сборке что-то еще для PowerPC: gcc.gnu.org/ml/gcc/2006-08/msg00591.html

И есть способ установить параметры GCC в команде configure ... используйте "--extra-cflags =", за которым следует параметр из GCC: gcc.gnu.org/onlinedocs/gcc/Code-Gen- Options.html Я не уверен, сколько из этих опций работает, но вы можете попробовать «--extra-cflags = -fno-common», который, я считаю, влияет на то, как переменные обрабатываются в процессе компиляции, храня их в отдельных блоках. за цель вместо того, чтобы объединять их в один большой блок. Не очень много знаю об этом, но мне показалось, что некоторые ошибки меня успокоили.

...