VIDEOCHAT  ::   FAQ  ::   Поиск  ::   Регистрация  ::   Вход

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

Проблемы Asterisk без вэб-оболочек и их решения

Модераторы: april22, Zavr2008

Ответить
central
Сообщения: 10
Зарегистрирован: 19 июн 2022, 16:40

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

Сообщение central »

Настраиваю на тестовом компе 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. не переустанавливать же...
Vlad1983
Сообщения: 4251
Зарегистрирован: 09 авг 2011, 11:51

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

Сообщение Vlad1983 »

два путя:
пересобрать астериск или переустановить пакет
попробовать сделать символьную ссылку libcodec2.so.0.9 -> libcodec2.so.1.0
ЛС: @rostel
Аватара пользователя
Zavr2008
Сообщения: 2211
Зарегистрирован: 27 янв 2011, 00:35
Контактная информация:

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

Сообщение Zavr2008 »

сделать симлинк и ldconfig вызвать.
Российские E1 шлюзы Alvis. Модернизация УПАТС с E1,Подключение к ИС "Антифрод" E1 PRI/SS#7 УВР Телестор, Грифин и др..
central
Сообщения: 10
Зарегистрирован: 19 июн 2022, 16:40

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

Сообщение central »

Хорошо, и Вам спасибо и предыдущему человеку, но есть вопрос, а как же сделать сим. линк, если 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, а его физически нет.
Обновить кэш это последнее что необходимо...
Vlad1983
Сообщения: 4251
Зарегистрирован: 09 авг 2011, 11:51

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

Сообщение Vlad1983 »

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

# ln -s /lib/x86_64-linux-gnu/libcodec2.so.1.0 /lib/x86_64-linux-gnu/libcodec2.so.0.9
# ldconfig
ЛС: @rostel
amateur
Сообщения: 453
Зарегистрирован: 30 сен 2011, 09:58

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

Сообщение amateur »

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 все-таки изменился, вы получите ошибку на этапе сборки. Но так хотя бы будет видно где расхождение и появится потенциальная возможность ее исправить.
central
Сообщения: 10
Зарегистрирован: 19 июн 2022, 16:40

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

Сообщение central »

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)
Ответить
© 2008 — 2024 Asterisk.ru
Digium, Asterisk and AsteriskNOW are registered trademarks of Digium, Inc.
Design and development by PostMet-Netzwerk GmbH