Asterisk16 с портов (FreeBSD 7.2)
У меня пишет, что
/usr/bin/ld: cannot find -lexecinfo
Хотя libexecinfo вроде установился с портов, по крайней мере, не ругался при установке.
P.S. Пересобирал 1.4 позавчера, не собирался из-за отсутвия bash )), сам портами не вытягивал почему-то. Пришлось установить отдельно, тогда закомпилился.
Что говорит?
Я бы подискутировал на тему dahdi в freebsd с удовольствием, а то две карты лежат без дела..
П.С. хотя при установке проблем не возникло, ставил по хэнд буку Лисяры (респект ему и уважуха)
Дада, уважаемый anest, стоит создать небольшую песочницу, потому как * на бсд дело востребованное
По теме топика, GAMER а порты обновлял ? Или просто скопировал новый порт в дерево портов которые штатно идут в комлпекте с бсд ?
есть тестовый тазик с asterisk16-1.6.0.9_3, могу на нем снести * и так как текущий порт 1.6.0.15, то посмотреть как соберется.
кстати, libexecinfo вообще не установлен у меня, да и в зависимостях ее нету:
| Код: |
| [root@dell-server /usr/ports]# make search name="asterisk16" | more Port: asterisk16-1.6.0.15 Path: /usr/ports/net/asterisk16 Info: An Open Source PBX and telephony toolkit Maint: sobomax@FreeBSD.org B-deps: bison-2.4.1,1 ca_root_nss-3.11.9_2 curl-7.19.6_1 expat-2.0.1 freetds-0.64_4,1 gettext-0.17_1 gmake-3.81_3 gnutls-2.8.3 gsm-1.0.13 iksemel-1.4 libgcrypt-1.4.4 libgpg-error-1.7 libiconv-1.13.1 libltdl-2.2.6a_1 libogg-1.1.4,4 libslang2-2.1.4_1 libvorbis-1.2.3,3 m4-1.4.13,1 net-snmp-5.4.2.1_6 newt-0.51.0_8 openh323-1.19.0.1_1 openldap-client-2.4.19 pcre-7.9 perl-5.8.9_3 pkg-config-0.23_1 png-1.2.40 popt-1.14 postgresql-client-8.2.13 pwlib-1.12.0_5,1 radiusclient-0.5.6_1 speex-1.2.r1_2,1 sqlite-2.8.17_1 sqlite3-3.6.14.2 unixODBC-2.2.14_1 R-deps: ca_root_nss-3.11.9_2 curl-7.19.6_1 expat-2.0.1 freetds-0.64_4,1 gettext-0.17_1 gnutls-2.8.3 gsm-1.0.13 iksemel-1.4 libgcrypt-1.4.4 libgpg-error-1.7 libiconv-1.13.1 libltdl-2.2.6a_1 libogg-1.1.4,4 libslang2-2.1.4_1 libvorbis-1.2.3,3 mpg123-1.9.0 net-snmp-5.4.2.1_6 newt-0.51.0_8 openh323-1.19.0.1_1 openldap-client-2.4.19 pcre-7.9 perl-5.8.9_3 pkg-config-0.23_1 png-1.2.40 popt-1.14 postgresql-client-8.2.13 pwlib-1.12.0_5,1 radiusclient-0.5.6_1 speex-1.2.r1_2,1 sqlite-2.8.17_1 sqlite3-3.6.14.2 unixODBC-2.2.14_1 WWW: http://www.asteriskpbx.com Port: asterisk16-addons-1.6.0.3 Path: /usr/ports/net/asterisk16-addons Info: GPL modules for the Asterisk Open Source PBX Maint: flo@kasimir.com B-deps: asterisk16-1.6.0.15 ca_root_nss-3.11.9_2 curl-7.19.6_1 expat-2.0.1 freetds-0.64_4,1 gettext-0.17_1 gmake-3.81_3 gnutls-2.8.3 gsm-1.0.13 iksemel-1.4 libgcrypt-1.4.4 libgpg-error-1.7 libiconv-1.13.1 libltdl-2.2.6a_1 libogg-1.1.4,4 libslang2-2.1.4_1 libtool-2.2.6a_1 libvorbis-1.2.3,3 mpg123-1.9.0 mysql-client-5.0.86 net-snmp-5.4.2.1_6 newt-0.51.0_8 openh323-1.19.0.1_1 openldap-client-2.4.19 pcre-7.9 perl-5.8.9_3 pkg-config-0.23_1 png-1.2.40 popt-1.14 postgresql-client-8.2.13 pwlib-1.12.0_5,1 radiusclient-0.5.6_1 speex-1.2.r1_2,1 sqlite-2.8.17_1 sqlite3-3.6.14.2 unixODBC-2.2.14_1 R-deps: asterisk16-1.6.0.15 ca_root_nss-3.11.9_2 curl-7.19.6_1 expat-2.0.1 freetds-0.64_4,1 gettext-0.17_1 gnutls-2.8.3 gsm-1.0.13 iksemel-1.4 libgcrypt-1.4.4 libgpg-error-1.7 libiconv-1.13.1 libltdl-2.2.6a_1 libogg-1.1.4,4 libslang2-2.1.4_1 libvorbis-1.2.3,3 mpg123-1.9.0 mysql-client-5.0.86 net-snmp-5.4.2.1_6 newt-0.51.0_8 openh323-1.19.0.1_1 openldap-client-2.4.19 pcre-7.9 perl-5.8.9_3 pkg-config-0.23_1 png-1.2.40 popt-1.14 postgresql-client-8.2.13 pwlib-1.12.0_5,1 radiusclient-0.5.6_1 speex-1.2.r1_2,1 sqlite-2.8.17_1 sqlite3-3.6.14.2 unixODBC-2.2.14_1 WWW: http://www.asteriskpbx.com |
GAMER, ты частом не собирал * с дополнительными ключами отладки?
_________________
CentOS 4 2.6.9-67.0.22.ELsmp/Asterisk 1.4.36/app_fax(t38)/spandsp 0.0.6pre12/dahdi 2.3.0.1/wanpipe 3.5.15
Sangoma A200d/Polycom IP601,501
FreeBSD 7.2-RELEASE/asterisk16-1.6.0.9_3
pkgdb: Command not found.
Порты обновлял через
portsnap fetch
portsnap update
make clean делал
По поводу дополнительных ключей.
Раньше, пока не было порта asterisk16 собирал из сорсов вытянутых через свн. Потом когда появился порт, собрал через порт. Дополнительных ключей не ставил.
Ошибка такая:
| Код: |
| gmake[1]: Entering directory `/usr/ports/net/asterisk16/work/asterisk-1.6.0.15/main' cc -o asterisk -Wl,--export-dynamic abstract_jb.o acl.o adsistub.o aescrypt.o aeskey.o aestab.o alaw.o app.o ast_expr2.o ast_expr2f.o asterisk.o astfd.o astmm.o astobj2.o audiohook.o autoservice.o callerid.o cdr.o channel.o chanvars.o cli.o config.o cryptostub.o db.o devicestate.o dial.o dns.o dnsmgr.o dsp.o enum.o event.o features.o file.o fixedjitterbuf.o frame.o fskmodem.o global_datastores.o hashtab.o http.o image.o indications.o io.o jitterbuf.o loader.o logger.o manager.o md5.o netsock.o pbx.o plc.o poll.o privacy.o rtp.o say.o sched.o sha1.o slinfactory.o srv.o ssl.o stdtime/localtime.o strcompat.o tcptls.o tdd.o term.o threadstorage.o translate.o udptl.o ulaw.o utils.o version.o editline/libedit.a buildinfo.o -lssl -lcrypto -lexecinfo -ltermcap -lm -pthread -lcrypto /usr/bin/ld: cannot find -lexecinfo gmake[1]: *** [asterisk] Error 1 gmake[1]: Leaving directory `/usr/ports/net/asterisk16/work/asterisk-1.6.0.15/main' gmake: *** [main] Error 2 |
Сейчас работает установленый с портов asterisk16-1.6.0.9
Там тестируется наличие хедеров и линкабельность execinfo. Если ни то ни другое не удалось, с execinfo астериск собираться не должен.
А если есть хедеры, но нет либы, то это уже в консерватории надо бы поправить.
В общем, хочется лог
http://gamer.uz.ua/config.log
lexecinfo в системе есть и конфигура его корректно обнаруживает.
Проблема вот в чем:
configure:38443: checking for backtrace in -lexecinfo
configure:38478: cc -o conftest -O2 -fno-strict-aliasing -pipe -I/usr/local/include -I/usr/local/include/openh323 -L/usr/local/lib conftest.c -lexecinfo >&5
configure:38485: $? = 0
configure:38508: result: yes
А вот тут соотв. -L то и нету
cc -o asterisk -Wl,--export-dynamic ....o buildinfo.o -lssl -lcrypto -lexecinfo -ltermcap -lm -pthread -lcrypto
Это таки баг, о котором надо рассказать мейнтейнеру порта
А лечить - либо корректно удалить execinfo (у меня без него все собирается), либо залезть в main/Makefile и там где-нибудь в радиусе CFLAGS пририсовать нужный -L
либо починить честно и заслать патч мейнтейнеру
| Цитата: |
| Это таки баг, о котором надо рассказать мейнтейнеру порта А лечить - либо корректно удалить execinfo (у меня без него все собирается), либо залезть в main/Makefile и там где-нибудь в радиусе CFLAGS пририсовать нужный -L либо починить честно и заслать патч мейнтейнеру |
Я не настолько в этом силен, чтобы это все делать. Может Вы сделаете? Я уже писал мейнтейнеру об этой ошибке, но ответа не последовало.
http://static.ipfw.ru/patches/asterisk16_execinfo.diff
Применить патч и пересобрать астериск
Спасибо за патч, попробую.
Вот только еще не ясный момент: где должен находиться файл asterisk.pid
У меня он почему-то находиться по умолчанию в /var/run/asterisk/asterisk.pid, а скрипт запуска ищет его в /var/run/asterisk.pid
PS. Собраться то он собрался, только падает
| Код: |
| [Oct 20 00:45:42] NOTICE[1523]: res_smdi.c:1278 load_module: No SMDI interfaces are available to listen on, not starting SMDI listener. res_speech.so => (Generic Speech Recognition API) Segmentation fault (core dumped) |
кто последний в namei засветится, тот и виноват
| Цитата: |
| находиться по умолчанию в /var/run/asterisk/asterisk.pid |
В общем-то он там и должен находиться..
Поправь /usr/local/etc/rc.d/asterisk
_________________
FreeBSD 7.0 Release / Asterisk 1.4.22.1
Все заработало. Была та же проблема в портах asterisk16-1.6.0.15 под FreeBSD.
Для ясности пошагово, чтоб не забылось:
-удаляем старую версию Астериска со всем прицепом:
pkg_delete `ls /var/db/pkg | grep asterisk`
-обновляем дерево портов :
cd /usr/ports
cvsup -g -L 2 ports-supfile && make fetchindex && pkgdb -aFO
-место событий:
cd /usr/ports/net/asterisk16
-тянем патч:
wget "http://www.freebsd.org/cgi/query-pr.cgi?prp=139776-1-txt&n=/patch.txt" -O patch.diff
-патчимся:
patch Makefile -i patch.diff -o Makefile
-кому чего надо:
make config
-компилим:
make clean install
-по желанию разности:
cd /usr/ports/net/asterisk16-addons
make clean install
взлетаем:
/usr/local/etc/rc.d/asterisk start
| Цитата: |
| Цитата: находиться по умолчанию в /var/run/asterisk/asterisk.pid В общем-то он там и должен находиться.. Поправь /usr/local/etc/rc.d/asterisk |
Я то правлю, но в портах могли бы это тоже пофиксить.
Мейнтейнер кстати русский.
). Обновился. Но не запускается.
asterisk -vvvvvvcd
| Код: |
| .......... app_playtones.so => (Playtones Application) == Parsing '/usr/local/etc/asterisk/say.conf': == Found == Registered application 'Playback' app_playback.so => (Sound File Playback Application) == Registered application 'ParkAndAnnounce' app_parkandannounce.so => (Call Parking and Announce Application) == Registered application 'DAHDIBarge' app_dahdibarge.so => (Barge in on DAHDI channel application) Segmentation fault (core dumped) |
Чего делать? Я уже и пересобирал его много раз. И dahdi пересобирал. И ядро обновил до 8.1. Одна и та же песня.
| Код: |
| ... == Registered application 'Page' app_page.so => (Page Multiple Phones) == Registered application 'DAHDIBarge' app_dahdibarge.so => (Barge in on DAHDI channel application) == Registered application 'Originate' app_originate.so => (Originate call) == Parsing '/usr/local/etc/asterisk/codecs.conf': == Found Segmentation fault (core dumped) mx# |
codecs.conf в аттаче. Какие будут идеи?
в линуксе это папка /usr/lib/asterisk/modules, в bsd не знаю как.