Не компилируется Asterisk 13.11.2

Основной форум.
Для опытных

Модераторы: Admins, Модераторы

Ответить
Cruiser78
Сообщения: 147
Зарегистрирован: 13 июн 2011, 07:52
Откуда: Санкт-Петербург

Не компилируется Asterisk 13.11.2

Сообщение Cruiser78 » 07 окт 2016, 13:07

Привет вам всем, отцы моих побед!

Возникла проблема, к решению которой я не найду подхода. А именно:
- есть хост под управлением CentOS-7 (семь!!!);
- на нём развернут астериск-13. Версии 13.6. Но не в продакшене, так, для тестов и скакания на граблях
- Решил обновить версию Астериска до последней, до 13.11.2. Методом компиляции из исходников, благо не сложно.

Итак, возникла проблема - make отказывается компилировать некоторые модули астериска, ругается на них примерно таким образом:

Код: Выделить всё

   [CC] format_mp3.c -> format_mp3.o
   [LD] format_mp3.o mp3/common.o mp3/dct64_i386.o mp3/decode_ntom.o mp3/layer3.o mp3/tabinit.o mp3/interface.o -> format_mp3.so
/usr/bin/ld: mp3/common.o: перемещение R_X86_64_32 для «.rodata.str1.1» не может использоваться при создании общего объекта; перекомпилируйте с -fPIC
mp3/common.o: could not read symbols: Некорректное значение
collect2: ошибка: выполнение ld завершилось с кодом возврата 1
Есть и иные модули, но не суть, для всех ругачка одна и та же. При этом, Астериск версии 13.6 собирается вполне нормально. Отсюда я делаю необоснованный вывод, что что-то сломалось именно в Астериске, а не на моей машинке.

Отсюда вопрос первый: как именно перекомпилировать с -fPIC - как именно это дело и где именно задать. Я просто туплю немного. Ну и второй вопрос - это реально бага или так?... Сталкивались вы с подобным в практике астериска?

awsswa
Сообщения: 1723
Зарегистрирован: 28 апр 2012, 10:19
Откуда: Russia, Пермь

Сообщение awsswa » 07 окт 2016, 13:24

Там в окошке написана строка которую надо запустить и продолжить сборку снова запустив make
платный суппорт по мере возможностей

Cruiser78
Сообщения: 147
Зарегистрирован: 13 июн 2011, 07:52
Откуда: Санкт-Петербург

Сообщение Cruiser78 » 07 окт 2016, 13:32

Я туплю и эту строку не вижу ни разу. Ну и "make -fPIC" к результату не приводит. Я просто не могу врубиться, как именно скомпилировать с ключом -fPIC. Как и куда это вписать?...

awsswa
Сообщения: 1723
Зарегистрирован: 28 апр 2012, 10:19
Откуда: Russia, Пермь

Сообщение awsswa » 07 окт 2016, 14:29

специально для вас воспользовалься гуглом

./contrib/scripts/get_mp3_source.sh
платный суппорт по мере возможностей

Cruiser78
Сообщения: 147
Зарегистрирован: 13 июн 2011, 07:52
Откуда: Санкт-Петербург

Сообщение Cruiser78 » 07 окт 2016, 14:48

В общем, разобрался.
Похоже, что командная строка должна быть такая:

Код: Выделить всё

ASTCFLAGS="-fPIC"; make
С этой строкой пошло компилироваться, но, почему-то в первой строке вывода команды make параметр CFLAGS - пустой. Но это, полагаю уже не так важно. Главное, что проблемные модули зацепились.

А Ваш совет - это только докачать дополнительно MP3-модули. Думаете это сделано не было? Полагаете, не по гугловской инструкции это делалось? Но читать надо было не гугль, а makefile вдумчиво.

Ответить