null

Asterisk + Solaris 10

 Поставить Asterisk на Solaris 10 можно. 

Однако если следовать указаниям README (по которому, в принципе, достаточно трёх команд: configure, make, make install), то прийти к успеху не удастся. Во-первых стандартный солярисовских make нам не подойдёт, надо использовать /usr/sfw/bin/gmake. Далее, если локаль стоит utf-8 или любая корейская, меняем локаль на C:
#export LANG=C
Также, некоторые версии Asterisk'а не переваривают /usr/bin/tr. Соответственно, редактируем переменную PATH так, чтобы использовался /usr/xpg4/bin/tr или /usr/xpg6/bin/tr. И не забываем добавить пути до компилятора и редактора связей. Итого, в моём случае получилось так:
# echo $PATH
/usr/xpg4/bin:/usr/sbin:/usr/bin:/usr/sfw/bin:/usr/ccs/bin


После этих действий можно начать собирать бинарники:
#./configure
#gmake


Версии (1.4.26.1, 1.4.29, 1.6.2.2) компилируются нормально, а вот в случае более ранних версий (1.4.23.2) может выскочить , а может и не выскочить (1.4.28) ошибка:
> gmake[3]: crvs: Command not found
Это происходит из-за того, что переменная AR="", $(ARFLAGS)="crvs", поэтому строчка:
$(AR) $(ARFLAGS)
получается равной:
crvs
Спасти может:
#./configure
#gmake menuselect
#gmake

Если не удалось, то можно вручную прибить AR="/usr/ccs/bin/ar" в Makefile.

Теперь осталось проинсталировать всё, что собралось.
Открываем Makefile и находим дефолтные директории, в которые ставится Asterisk:
ifeq ($(OSARCH),SunOS)
 ASTETCDIR=/var/etc/asterisk
 ASTLIBDIR=/opt/asterisk/lib
 ASTVARLIBDIR=/var/opt/asterisk
 ASTDBDIR=$(ASTVARLIBDIR)
 ASTKEYDIR=$(ASTVARLIBDIR)
 ASTSPOOLDIR=/var/spool/asterisk
 ASTLOGDIR=/var/log/asterisk
 ASTHEADERDIR=/opt/asterisk/include
 ASTBINDIR=/opt/asterisk/bin
 ASTSBINDIR=/opt/asterisk/sbin
 ASTVARRUNDIR=/var/run/asterisk
 ASTMANDIR=/opt/asterisk/man


Если что-то не нравится - исправляем.

Можно попытаться сразу сказать gmake install, но в большинстве версий asterisk это приведёт к провалу, обоснованному примерно так:
/bin/bash: ./install-sh: No such file or directory
Поэтому размножим внутренний скрипт:
bash# for i in */
> do
> ln -s ../install-sh $i/install-sh
> done


А вот уже теперь:
#gmake install

Назад

Являюсь инженером компании Tune-IT. Проявляю интерес к:

  • вопросам производительности ВС
  • VoIP и Asterisk
  • железу SUN
  • Solaris