ВидеоКонф(ВКС)  ::   Чат  ::   FAQ  ::   Поиск  ::   Регистрация  ::   Вход

Замена разделяемой библиотеки libcodec2.so.0.9 на новую

Проблемы и их решения Asterisk как такового

Модератор: april22

Замена разделяемой библиотеки libcodec2.so.0.9 на новую

Сообщение central » 19 июн 2022, 18:08

Настраиваю на тестовом компе asterisk 18 (pjsip), система ubuntu 20.04.
Настроив БД postgresql, сделав тестовые звонки и настроив CDR обновил ubuntu до версии 22.04.
В итоге при старте asterisk получил сообщение: ERROR[86789]: loader.c:2508 load_modules: Error loading module 'codec_codec2.so': libcodec2.so.0.9: cannot open shared object file: No such file or directory
Asterisk Ready.
Фактически asterisk не может найти библиотеку libcodec2.so.0.9, а её и нет, поскольку с обновлением дистрибутива она заменена на libcodec2.so.1.0
Это очевидно из выхлопа команды ldd codec_codec2.so в директории /usr/lib/asterisk/modules
linux-vdso.so.1 (0x00007ffde69bf000)
libcodec2.so.0.9 => not found
libc.so.6 => /lib/x86_64-linux-gnu/libc.so.6 (0x00007fb7c51b9000)
/lib64/ld-linux-x86-64.so.2 (0x00007fb7c540a000)

Поискавши в интернетах нашёл что и знал, что в указанную выше директорию поместить указанный файл, однако в моём случае это невозможно, поскольку требуется изменить само желание asterisk заполучить файл версии libcodec2.so.0.9.
Подскажите пожалуйста как заставить asterisk изменить своё требование с libcodec2.so.0.9 => not found на
libcodec2.so.1.0 => not found
Спасибо.
P.S. не переустанавливать же...
central
 
Сообщений: 10
Зарегистрирован: 19 июн 2022, 17:40

Re: Замена разделяемой библиотеки libcodec2.so.0.9 на новую

Сообщение Vlad1983 » 20 июн 2022, 06:55

два путя:
пересобрать астериск или переустановить пакет
попробовать сделать символьную ссылку libcodec2.so.0.9 -> libcodec2.so.1.0
ЛС: @rostel
Vlad1983
 
Сообщений: 4249
Зарегистрирован: 09 авг 2011, 11:51

Re: Замена разделяемой библиотеки libcodec2.so.0.9 на новую

Сообщение Zavr2008 » 20 июн 2022, 12:51

сделать симлинк и ldconfig вызвать.
Российские шлюзы E1 Alvis-GW. Voip-Модернизация УПАТС, FreePBX, CRM. Продолжаем работать, импортозамещаем!
Аватар пользователя
Zavr2008
 
Сообщений: 1969
Зарегистрирован: 27 янв 2011, 01:35

Re: Замена разделяемой библиотеки libcodec2.so.0.9 на новую

Сообщение central » 20 июн 2022, 19:11

Хорошо, и Вам спасибо и предыдущему человеку, но есть вопрос, а как же сделать сим. линк, если asterisk хочет ссылку на свой файл

modules$ ldd codec_codec2.so
linux-vdso.so.1 (0x00007fff251eb000)
libcodec2.so.0.9 => not found
libc.so.6 => /lib/x86_64-linux-gnu/libc.so.6 (0x00007f42db6b6000)
/lib64/ld-linux-x86-64.so.2 (0x00007f42db907000)

Вроде, для меня очевидно, что ссылка c libcodec2.so.0.9 на libcodec2.so.1.0 что-то не то, нужно чтобы было:
libcodec2.so.1.0 => /lib/x86_64-linux-gnu/libcodec2.so.1.0
Asterisk-то видит и требует ссылку на libcodec2.so.0.9, а его физически нет.
Обновить кэш это последнее что необходимо...
central
 
Сообщений: 10
Зарегистрирован: 19 июн 2022, 17:40

Re: Замена разделяемой библиотеки libcodec2.so.0.9 на новую

Сообщение Vlad1983 » 21 июн 2022, 08:00

Код: выделить все
# ln -s /lib/x86_64-linux-gnu/libcodec2.so.1.0 /lib/x86_64-linux-gnu/libcodec2.so.0.9
# ldconfig
ЛС: @rostel
Vlad1983
 
Сообщений: 4249
Зарегистрирован: 09 авг 2011, 11:51

Re: Замена разделяемой библиотеки libcodec2.so.0.9 на новую

Сообщение amateur » 21 июн 2022, 08:27

central писал(а):Вроде, для меня очевидно, что ссылка c libcodec2.so.0.9 на libcodec2.so.1.0 что-то не то, нужно чтобы было:
libcodec2.so.1.0 => /lib/x86_64-linux-gnu/libcodec2.so.1.0

Да, это действительно "что-то не то".

Ваш вариант модуля codec_codec2.so собран с расчетом использовать код из библиотеки libcodec2 версии 0.9. В вашей системе установлена более поздняя версия библиотеки libcodec2 - 1.0.

Vlad1983 писал(а):
Код: выделить все
# ln -s /lib/x86_64-linux-gnu/libcodec2.so.1.0 /lib/x86_64-linux-gnu/libcodec2.so.0.9
# ldconfig

Вот это решение, которое предлагает Vlad1983, это решение "на удачу". Оно сработает только, если программный интерфейс к библиотеке libcodec2 1.0 по отношению к версии 0.9 не изменился.

Пересборка codec_codec2.so - это тоже решение "на удачу", т.к. если программный интерфейс к libcodec2 все-таки изменился, вы получите ошибку на этапе сборки. Но так хотя бы будет видно где расхождение и появится потенциальная возможность ее исправить.
amateur
 
Сообщений: 449
Зарегистрирован: 30 сен 2011, 09:58

Re: Замена разделяемой библиотеки libcodec2.so.0.9 на новую

Сообщение central » 21 июн 2022, 10:48

Vlad1983 писал(а):
Код: выделить все
# ln -s /lib/x86_64-linux-gnu/libcodec2.so.1.0 /lib/x86_64-linux-gnu/libcodec2.so.0.9
# ldconfig


Ваше решение сработало, "выхлоп" asterisk -r чист!

Из чего можно сделать вывод, что замечание amateur верно и программный интерфейс библиотеки libcodec2.so.1.0 по отношению к предыдущей libcodec2.so.0.9 не изменился.

Всем огромная благодарность. Может кому-то пригодится. :) :) :) :) :)

P.S. по команде ldd codec_codec2.so имеется следующий выхлоп:

linux-vdso.so.1 (0x00007ffc4bb71000)
libcodec2.so.0.9 => /lib/x86_64-linux-gnu/libcodec2.so.0.9 (0x00007f18d00c6000)
libc.so.6 => /lib/x86_64-linux-gnu/libc.so.6 (0x00007f18cfe9e000)
libm.so.6 => /lib/x86_64-linux-gnu/libm.so.6 (0x00007f18cfdb7000)
/lib64/ld-linux-x86-64.so.2 (0x00007f18d0f96000)
central
 
Сообщений: 10
Зарегистрирован: 19 июн 2022, 17:40


Вернуться в Конфигурация и настройка Asterisk

Кто сейчас на форуме

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 5

© 2008 — 2022 Asterisk.ru
Digium, Asterisk and AsteriskNOW are registered trademarks of Digium, Inc.
Design and development by PostMet-Netzwerk GmbH