Ошибка компиляции x264 в Mac OS X

Я пытаюсь скомпилировать и установить кодировщик x264 H.264/AVC. У меня установлено gcc. Но я получаю сообщение об ошибке «Нет работающего компилятора C» при запуске:

./configure --enable-shared --enable-static

Что я могу сделать?

В журнале конфигурации сказано:

/bin/gcc conftest.c  -Wall -I. -I$(SRCPATH) -falign-loops=16 -mdynamic-no-pic -o conftest
clang: error: unknown argument: '-falign-loops=16' [-Wunused-command-line-argument-hard-error-in-future]
clang: note: this will be a hard error (cannot be downgraded to a warning) in the future

person imdadable    schedule 27.03.2014    source источник
comment
Вы пробовали gcc в командной строке, чтобы узнать, доступен ли ваш gcc, например, на вашем пути?   -  person Søren Debois    schedule 27.03.2014
comment
Да, это доступно. Он находится в /usr/bin/gcc.   -  person imdadable    schedule 27.03.2014
comment
В config.log сказано: проверка -mdynamic-no-pic... нет 2 Неудачная командная строка: 3 ------------ ------------------------ 4 /usr/bin/gcc conftest.c -Qunused-arguments -Wall -I. -I$(SRCPATH) -falign-lo ops=16 -mdynamic-no-pic -o conftest 5 clang: ошибка: неизвестный аргумент: '-falign-loops=16' [-Wunused-command-line-argument-hard -error-in-future] 6 clang: примечание: это будет серьезная ошибка (не может быть понижена до предупреждения) в будущем   -  person imdadable    schedule 27.03.2014
comment
Выполнить: /usr/bin/gcc --version; скорее всего, это clang замаскированное. Я получаю: Apple LLVM version 5.1 (clang-503.0.38) (based on LLVM 3.4svn). Обычно я использую GCC 4.8.2, но я сделал его для себя.   -  person Jonathan Leffler    schedule 27.03.2014
comment
Да, это именно та версия Apple LLVM версии 5.1 (clang-503.0.38) (на основе LLVM 3.4svn), которая у меня есть. Большое спасибо, Джонатан Леффлер, я перейду по вашей ссылке, чтобы собрать GNU GCC.   -  person imdadable    schedule 27.03.2014


Ответы (2)


Я столкнулся с той же ошибкой и нашел здесь простое решение: http://www.xin.at/x264/x264-guide-macosx-en.htm

Однако, прежде чем мы сможем начать сборку, нам нужно будет удалить флаг компилятора GCC из скрипта configure, с которым более новый компилятор LLVM+CLANG не сможет справиться. Для этого откройте файл configure в вашем любимом текстовом редакторе и найдите следующее место:

darwin*) SYS="MACOSX" CFLAGS="$CFLAGS -falign-loops=16"

Замените это следующим, эффективно удалив опцию -falign-loops=16:

Дарвин*) SYS="MACOSX" CFLAGS="$CFLAGS"

После выполнения вышеописанного libx264 отлично строится :)

person notnot    schedule 28.03.2014

Сценарий configure пытается установить параметр компилятора -falign-loops=16, который компилятор clang (маскирующийся под gcc) отказывается принимать.

Либо получите (скомпилируйте) свой собственный настоящий GCC и используйте его (я сделал компиляция и установка; это не очень сложно, хотя и не тривиально), или выяснить, как предотвратить сбой сценария configure просто потому, что он предполагает, что параметр -falign-loops=16 должен поддерживаться всеми версиями GCC. Это то, что должен проверять сценарий configure, чтобы вы не столкнулись с подобным сбоем. В конечном счете, это ошибка в конфигурации для этого кода.

person Jonathan Leffler    schedule 27.03.2014