Возникла проблема, к решению которой я не найду подхода. А именно:
- есть хост под управлением 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 - как именно это дело и где именно задать. Я просто туплю немного. Ну и второй вопрос - это реально бага или так?... Сталкивались вы с подобным в практике астериска?
_________________
платный суппорт по мере возможностей
./contrib/scripts/get_mp3_source.sh
_________________
платный суппорт по мере возможностей
Похоже, что командная строка должна быть такая:
| Код: |
| ASTCFLAGS="-fPIC"; make |
С этой строкой пошло компилироваться, но, почему-то в первой строке вывода команды make параметр CFLAGS - пустой. Но это, полагаю уже не так важно. Главное, что проблемные модули зацепились.
А Ваш совет - это только докачать дополнительно MP3-модули. Думаете это сделано не было? Полагаете, не по гугловской инструкции это делалось? Но читать надо было не гугль, а makefile вдумчиво.
เล่นสล็อตให้ได้เงิน