HD Видеоконференции на OpenMCU
Доработка OpenMCU => Установка => Тема начата: rayanAyar от 17 Марта 2013, 10:55:24
-
openmcu-oci. Cкрипт автоматической сборки OpenMCU-ru.
Инструкция перенесена в Вики: http://videoswitch.ru/wiki/ru/install/src_linux
-
Доработал для сборки p45.
-
Спасибо, надо попробовать (жаль что не под CentOS ), респект, это то что надо для такого чайника в *nix как я
-
что то не получилось с первого раза. может чего то не хватает ? Ubuntu версии 12.04. desktop 32 разрядная
~$ sudo ./openmcu_oci install 45
2013-03-24+21-56-42 Команда: aptitude -y install build-essential flex bison libfreetype6-dev libfreetype6 git wget subversion libjpeg62-dev libsofia-sip-ua-dev
----------------------------------------------------------------
bash: aptitude: команда не найдена
----------------------------------------------------------------
2013-03-24+21-56-42 Команда: aptitude -y install build-essential flex bison libfreetype6-dev libfreetype6 git wget subversion libjpeg62-dev libsofia-sip-ua-dev
Завершена с ошибкой.
EXIT_CODE: 127
Устраните причины ошибки и повторите попытку.
-
sudo apt-get install aptitude
:)
-
всё шло хорошо и вот опять
/usr/local/lib/libswresample.so: undefined reference to `av_get_default_channel_layout@LIBAVUTIL_51'
collect2: выполнение ld завершилось с кодом возврата 1
make: *** [obj_linux_x86_r/openmcu] Ошибка 1
----------------------------------------------------------------
2013-03-24+22-40-54 Команда: cd /root/openmcu/ && make clean && make opt
Завершена с ошибкой.
EXIT_CODE: 2
Устраните причины ошибки и повторите попытку.
хорошо было бы сразу знать какие пакеты для выполнения скрипта должны быть установлены
-
исправь USE_SWRESAMPLE с 1 на 0 в config.h и собери openmcu вручную командой make clean opt.
похоже на конфликт версий ffmpeg.
-
исправь USE_SWRESAMPLE с 1 на 0 в config.h и собери openmcu вручную командой make clean opt.
похоже на конфликт версий ffmpeg.
Отредактировал файл, потом
root@palexa-VirtualBox:~# cd /root/openmcu/
root@palexa-VirtualBox:~/openmcu# make clean opt
rm -rf ./obj_linux_x86_r/main.o ./obj_linux_
....
x_x86_r/sip.o -lh323_linux_x86_r -lfreetype -lswresample -ljpeg -lsofia-sip-ua -lyuv -lpt_linux_x86_r -lpthread -lresolv -ldl
root@palexa-VirtualBox:~/openmcu#
потом пробую запустить
palexa@palexa-VirtualBox:~$ cd /opt/mcu/
palexa@palexa-VirtualBox:/opt/mcu$ openmcu -x
Программа 'openmcu' на данный момент не установлена. Вы можете установить её, выполнив:
sudo apt-get install openmcu
-
/usr/local/lib/libswresample.so: undefined reference to `av_get_default_channel_layout@LIBAVUTIL_51'
хорошо было бы сразу знать какие пакеты для выполнения скрипта должны быть установлены
Ubuntu версии 12.04. desktop 32 разрядная
Вернее сказать какие пакеты для выполнения не нужны. :)
Похоже на то, что в системе установлен родной ffmpeg (так как версия desktop). Он и мешался.
palexa@palexa-VirtualBox:~$ cd /opt/mcu/
palexa@palexa-VirtualBox:/opt/mcu$ openmcu -x
Программа 'openmcu' на данный момент не установлена. Вы можете установить её, выполнив:
Нужно вот так:
palexa@palexa-VirtualBox:/opt/mcu$ ./openmcu -x
Это вобщем-то очевидная вещь для пользователей *nix.
Тем не менее, раз вызвала проблемы один раз - может случиться и ещё с кем-то. Поправлю в описании.
-
"Косметические" изменения:
- заменил aptitude на apt-get (apt-get всегда установлен, в отличие от опционального aptitude)
- добавил парочку предварительных проверок (права root, установленные пакеты)
- обновил readme
На всякий случай ещё тут напишу (многие не любят читать "readme" :) )...
Не рекомендуется устанавливать OpenMCU.ru на систему с графическим рабочим окружением (desktop-версии).
Так как могут быть конфликты с бибилиотеками, которые устанавливает OpenMCU.ru.
Лучшим вариантом является установка на систему без DE (server-версии).
-
Спасибо, установил, буду пробовать.
если уж есть readme.txt исправьте пожалуйста "запуск скрипта" в соответствии с названием файла установки
а то написано
Запуск скрипта: openmcu_oci
а файл в архиве openmcu-oci (и директория также называется)
- я лично перед установкой исправил имя директории на openmcu.oci а файл на openmcu_oci
а от себя огромное спасибо
P.S. И подскажите плизз , как остановить сервер при работе в консольном режиме (режиме демона)
а то смотрю в консоль и сделать ничего не могу
-
"запуск скрипта" в соответствии с названием файла
Пропустил в readme. Везде переделал на тире.
как остановить сервер в консольном режиме (режиме демона)
в консольном режиме - нажать Ctrl+C
демона убивать с помощью "./openmcu -t" либо kill/killall
-
Версия 2013-03-30
- убрал h261
- ffmpeg и ffserver, которые находились /openmcu_*/conf заменил на версии полученные в результате сборки
- libyuv: из /usr/ в /usr/local/
- изменил директорию /opt/mcu на /opt/openmcu-ru
-
Версия 2013-03-30+1:
- переделана логика команд download и build (см. описание в шапке)
- сборка теперь производится в текущей папке, а не жестко в папке /root
- подкорректировано удаление (до этого оставались некоторые файлы)
- мелкая "косметика"
-
Версия 2013-04-02:
- Сборка и установка всех компонентов (самого сервера и библиотек) выполняется в папку /opt/openmcu-ru
Это сделано с целью избежать dll-hell. Ещё одно следствие такого подхода - в системе может быть одновременно
несколько версий OpenMCU-ru, находящихся в разных папках.
- Поддержка сборки под CentOS.
- Пара мелких изменений для сборки под x86_64.
- Если не указывать версию - собирается последняя.
- Некоторые настройки вынесены в ini-файл.
-
Работа скрипта тестируется на дистрибутивах:
- Ubuntu 12.04 (precise) x86/x86_64
- Debian 6 (squeeze) x86
- CentOS 6.4 x86
Установил на CentOS 5.9, боевой конференции не проводил, 2 терминала соединил, - работает
Ой спасибо за возможность установить скрипт на CentOS (мне как то с ней проще :) )
-
Версия 2013-04-03:
- сборка deb-пакета после завершения компиляции
- пара мелких корректировок согласно мануала на github (https://github.com/muggot/openmcu/wiki/Build)
- добавил yasm (до этого собиралось с ключом --disable-yasm)
Правда не знаю на сколько это необходимо (http://www.opennet.ru/opennews/art.shtml?num=36551).
Кто-нибудь проводил замеры производительности - "с yasm" и "без yasm" ?
-
Версия 2013-04-05:
- патчик для сборки под GCC 4.7
как результат добавлена поддержка Wheezy и Quantal
-
Версия 2013-04-06:
- поддержка Fedora 18 и OpenSUSE 12.3
-
Привет.
Спасибо, по сути своим скриптом, Вы для многих решили проблему по установке OpenMCU на линукс
Может не совсем по теме, но всё же. Читая форум часто проскакивает, что есть кодек G.729
В capability.conf он тоже как бы есть, но нигде его не наблюдаю в OpenMCU
Его как то отдельно надо доставлять в OpenMCU ? Если да, тоже найти не могу,
ну ещё пользуясь случаем, может гляньте этот вопрос (http://openmcu.ru/forum/index.php?topic=314.msg3511#msg3511) а то обидно, под win эта схема работает, а пол линукс непонятно или возможно
-
G.729 вроде бы "интегрирован" в h323plus. По крайней мере он есть в исходниках.
У меня он тоже не работает. Собственно у меня с Linphone вобще работают только два кодека - G.711 aLaw и uLaw. :)
Но при этом Qt4Phone с этим же сервером поддерживает ещё пару кодеков (вроде G.722 и G.7321 - точно сейчас не скажу, я пока грохнул Qt4Phone из-за конфликта с системным ffmpeg). Т.е. похоже что не работающие кодеки в Linphone - это проблема согласования с OpenMCU-ru. То же самое скорее всего и с другими клиентами. Вобщем нужно разбираться в причинах несогласования, ковырять трассировки. Мне пока не до этого - у меня клиент хоть как-то работает - и ладно. Другие кодеки потом попробую отработать, когда разработчики будут по-свободнее.
А кодеки IPP даже не рассматривал - они "только для некоммерческого". А мы в школе типа боремся за лицензионную чистоту)
-
А кодеки IPP даже не рассматривал - они "только для некоммерческого". А мы в школе типа боремся за лицензионную чистоту)
Так школа это же не коммерческое предприятия, так я думаю вполне можно использовать. У меня например государственная организация, поэтому думаю, что могу использовать IPP-кодеки под win, так как денег за это не имеем, только для себя
-
Если есть какие-то ограничения сейчас (только для некоммерческого) - то в последствии могут появиться другие ограничения, более серьезные. Так что я стараюсь обходить такие полу-разрешённые решения. Только OpenSource, только хардкор. :)
Ну и собственно, у нас не государственное учреждение. Школа частная, самое что ни на есть коммерческое учреждение.
-
Версия 2013-04-08:
- diff-патчи убраны из скрипта - изменения внесены в git (1 (http://openmcu.ru/forum/index.php?topic=367.msg3578#msg3578) 2 (http://openmcu.ru/forum/index.php?topic=369.msg3580#msg3580))
-
Установил на CentOS 5.9, боевой конференции не проводил, 2 терминала соединил, - работает
Вот те раз, уже на CentOS 5.9 не ставиться
libjpeg-turbo-devel нет :( или я чего то не досмотрел :(
-
Проверил только что ещё раз - на 6.4 есть.
По всей видимости раньше его тоже не было, и без него собралось. Я недавно заметил странное поведение yum-а. Он возвращает успешный код возврата даже в случае если запрошенные пакеты не были установлены. Поэтому добавил ещё одну проверку на установку пакетов.
Убери его от сюда (строка 563 в скрипте) и попробуй собрать:
CentOS)
DISTR_PACKAGE_MANA GER="yum -y install"
DISTR_PACKAGE_CHEC K="yum list installed"
DISTR_PACKAGES_DOW NLOAD="tar wget git subversion"
DISTR_PACKAGES_BUI LD="kernel-devel gcc gcc-c++ make patch flex bison freetype-devel libjpeg-turbo-devel"
Я сейчас попробую у себя на CentOS 6.4.
-
Без этой библиотеки не собирается. Она необходима. По крайней мере для CentOS 6.4. Точно её раньше не было? Может что-то вместо неё было поставлено вручную?
-
Без этой библиотеки не собирается. Она необходима. По крайней мере для CentOS 6.4.
То что у меня до этого собралось и запустилось под 5.9 это факт (точную версию скрипта не помню), просто хотел попробовать на нашем рабочем сервере, там 5.9 и комп не слабый, работает ли реально G.729 так как он необходим, если его там нет, то и пробовать смысла нет, разве что по развлекаться :)
Точно её раньше не было? Может что-то вместо неё было поставлено вручную?
Думаю потом всё таки попробую поставить систему один в один как ставил до этого (дай Бог вспомнить ), но я так понял вместо libjpeg-turbo-devel в 5.9, стоят libjpeg-devel и libjpeg (но турбо звучит круче :))
-
я так понял вместо libjpeg-turbo-devel в 5.9, стоят libjpeg-devel и libjpeg (но турбо звучит круче :))
libjpeg-devel должен подойти.
работает ли реально G.729
Попробовал только что сервер собранный под CentOS 6.4 в связке с Qt4Phone. Работают следующие аудиокодеки:
- G.711
- G.722
- G.7231
- SILK_B40
Остальные не работают:
- G.726
- G.728
- G.729A
- GSM-06.10
- GSM-AMR
- LPC-10
- MS-GSM
- MS-IMA-ADMCP
- Speex
- iLBC
Собственно это же показывается в выхлопе openmcu-ru при старте:
Set:
0:
0:
SILK_B40{sw} <1>
G.711-uLaw-64k <2>
G.711-ALaw-64k <3>
G.7231-6.3k[e]{sw} <4>
G.722-64k{sw} <5>
-
Всё точно, только что поставил на 5.9, заменил на
DISTR_PACKAGES_BUILD="kernel-devel gcc gcc-c++ make patch flex bison freetype-devel libjpeg-devel"
Всё собралось и работает
G.729A - не работает
P.S. Ещё вот странная штука, писал об этом в другой ветке, я использую видео-кодеки,
[RECEIVE_VIDEO]
H.263-CIF{sw}
H.263-4CIF{sw}
[TRANSMIT_VIDEO]
H.263p-4CIF{sw}
H.263p-CIF{sw}
так как H.264 сильно плывут
Если на терминале скорость выше чем 320кб то OpenMCU не показывает картинку,
Out: G.722-64k / H.263p-4CIF@704x576:384000x10_2002020/0
In: G.722-64k / none@0x0
скорсть выше, работает, правда раз через раз выскакивает такое
[h263p @ 0xa168e60] rc buffer underflow
а мне надо как минимум 768кб, так как эти камеры используют другие товарисчи с сервером TANDBERG
Просто караул, придётся всё таки использовать версию под win, с ней всё работает
Но всё равно Вы молодцы
-
Закинул в папку "/opt/openmcu-ru/lib/ptlib/codecs/audio" файл "g729a_audio_pwplug in.so" из сборки Qt4Phone. G.729A включился. :)
Не понятно правда откуда он там (в Qt4Phone) взялся. Возможно автор сборки Qt4Phone как раз и собирал эти интеловские кодеки.
так как H.264 сильно плывут
Что значит плывут? У меня H.264 работает нормально.
Если на терминале скорость выше чем 320кб то OpenMCU не показывает картинку,
И на больших битрейтах проблем не было.
-
Закинул в папку "/opt/openmcu-ru/lib/ptlib/codecs/audio" файл "g729a_audio_pwplug in.so" из сборки Qt4Phone. G.729A включился. :)
Не понятно правда откуда он там (в Qt4Phone) взялся. Возможно автор сборки Qt4Phone как раз и собирал эти интеловские кодеки.
Так может архивните и приатачте здесь
Что значит плывут? У меня H.264 работает нормально.
Ну не знаю, расплываеться и тормозит картинка
И на больших битрейтах проблем не было.
Только с H.263
-
Так может архивните и приатачте здесь
Вобщем-то это костыль - использовать собранные библиотеки под другими версиями дистрибутивов. Поэтому как-то не хочется тут оставлять их, а то везде без разбору начнут их использовать, и потом будем непонятные глюки разгребать.
Да и непонятно происхождение этих плюгинов.
Кому нужно, вот здесь (http://openmcu.ru/public/Ubuntu_Debian/qtphone/), в deb-пакете есть собранные плюгины ptlib для различных кодеков. Пакетик легко распаковывается архиватором, нужные плюгины скопировать в соответствующие папки /opt/openmcu-ru/lib/ptlib/codecs/{audio,video}
-
здесь (http://openmcu.ru/public/Ubuntu_Debian/qtphone/), в deb-пакете есть собранные плюгины ptlib для различных кодеков.
проблема может быть в том, что демо-версии кодеков ECG* из h323plus уже собраны под x86, они просто линкуются при сборке плагинов и для x86_64 не подойдут.
-
Я об этом и говорю. Поэтому и не хочу их явно тут выкладывать.
-
Версия 2013-04-19:
- небольшие изменения в сборке deb-пакета:
- под Ubuntu/Debian служба запускается под непривилегированны м пользователем, а не под root
- файл trace.txt вынесен в /var/log/openmcu-ru/
-
а кто то пробовал запустить установку через прокси ?
У меня
Открываю файл - /etc/yum.conf
Добавляю в конце - proxy=http://ip:port
Этого будет достаточно или нет ?
-
Инет нужен для:
- yum
- wget
- svn
- git
С первыми двумя всё должно быть достаточно просто. А вот со вторыми - не знаю, не пробовал, скорее всего могут работать через проксик, но надо настраивать.
Можно ведь сырцы скачать на другой машине, без проксика. Этим же скриптом.
-
Можно ведь сырцы скачать на другой машине, без проксика. Этим же скриптом.
а это идея
скачать, потом закинуть на свой сервер и запустить скрипт - build
по идее он определит зависимости он скачает их через проскси с помощью yum
-
Версия 2013-06-12:
- предварительная поддержка сборки RPM-пакетов (проверил пока только на CentOS 6.4)
-
Версия 2013-06-12+1:
- сборка RPM-пакетов под Fedora
С сусей не разобрался, пока отложу.
-
Версия 2013-06-13:
- поддержка CentOS 5.9
-
Попытался собрать сегодня при помощи последней версии скрипта на CentOS 6.4 i386 в итоге получи ошибку при компиляции h323plus
h323.cxx:412: ошибка: вызов перегруженной ‘PString(const PIPSocket::Address&)’ имеет неоднозначную трактовку
/opt/openmcu-ru/include/ptlib/pstring.h:576: замечание: претенденты: PString::PString(PUInt64)
/opt/openmcu-ru/include/ptlib/pstring.h:568: замечание: PString::PString(PInt64)
/opt/openmcu-ru/include/ptlib/pstring.h:560: замечание: PString::PString(long unsigned int)
/opt/openmcu-ru/include/ptlib/pstring.h:552: замечание: PString::PString(long int)
/opt/openmcu-ru/include/ptlib/pstring.h:544: замечание: PString::PString(unsigned int)
/opt/openmcu-ru/include/ptlib/pstring.h:536: замечание: PString::PString(int)
/opt/openmcu-ru/include/ptlib/pstring.h:528: замечание: PString::PString(short unsigned int)
/opt/openmcu-ru/include/ptlib/pstring.h:520: замечание: PString::PString(short int)
/opt/openmcu-ru/include/ptlib/pstring.h:512: замечание: PString::PString(char)
/opt/openmcu-ru/include/ptlib/pstring.h:453: замечание: PString::PString(const WORD*) <near match>
/opt/openmcu-ru/include/ptlib/pstring.h:445: замечание: PString::PString(const char*) <near match>
/opt/openmcu-ru/include/ptlib/pstring.h:427: замечание: PString::PString(const PString&)
make: *** [obj_linux_x86_r/h323.o] Ошибка 1
----------------------------------------------------------------
2013-06-14+01-39-38 Команда: cd /root/openmcu-oci/build/openmcu-ru/openmcu/ && make clean && export LD_LIBRARY_PATH=/opt/openmcu-ru/lib && make PREFIX=/opt/openmcu-ru opt
Завершена с ошибкой.
EXIT_CODE: 2
-
Я вот только что пересобирал пакеты 6.4 - прошло без ошибок. Сейчас проверю ещё раз с последними версиями. Ошибка кстати не в сборке h323plus, а в сборке openmcu:
2013-06-14+01-39-38 Команда: cd /root/openmcu-oci/build/openmcu-ru/openmcu/ && make clean && export LD_LIBRARY_PATH=/opt/openmcu-ru/lib && make PREFIX=/opt/openmcu-ru opt
Завершена с ошибкой.
-
Да, действительно такая же ошибка. Очевидно дело в последнем коммите:
https://github.com/muggot/openmcu/commit/4f7262b939d4d65c0ce4ed55d34a781feb086afd
Вчера собирал ещё без него, поэтому всё прошло хорошо.
-
исправление: https://github.com/muggot/openmcu/commit/86ae1668642785b54b86a4e04b728a72c68f2079
-
подскажите? проверяет ли rpm пакет зависимости ?
Суть такова, я установил скрипт на машине подключеной к интернету (centos 5.9)
rpm пакет есть, и хочу его установить на машине где интернет только через прокси (yum настроен через прокси)
-
подскажите? проверяет ли rpm пакет зависимости ?
Суть такова, я установил скрипт на машине подключеной к интернету (centos 5.9)
rpm пакет есть, и хочу его установить на машине где интернет только через прокси (yum настроен через прокси)
Ну конечно! Ты же ставишь пакет только openmcu наверное а для того чтобы он работал нужны например ffmpeg, h323plus, ptlib и другие пакеты. Чтобы поставить на машине без интернета тебе нужен комплект rpm пакетов.
-
RPM-пакеты ffmpeg, h323plus, ptlib НЕ нужны. Это всё собирается из исходников.
Необходимые для сборки пакеты ставятся скриптом.
Зависимости необходимые для работы RPM-пакета приписаны в пакете. Так же они указаны здесь:
http://openmcu.ru/forum/index.php?topic=354.0
-
RPM-пакеты ffmpeg, h323plus, ptlib НЕ нужны. Это всё собирается из исходников.
Необходимые для сборки пакеты ставятся скриптом.
Зависимости необходимые для работы RPM-пакета приписаны в пакете. Так же они указаны здесь:
http://openmcu.ru/forum/index.php?topic=354.0
Не судите за назойливость, но всё же
centos 5.9 - libstdc++ freetype libjpeg - установлены последниие версии
достаточно ли просто установить rpm чтобы всё заработало ?
-
Да.
rpm -q --requires -p openmcu-ru-2.2.3+p45+20130613-el5.i386.rpm
libstdc++
freetype
libjpeg
/bin/sh
/bin/sh
/bin/sh
rpmlib(PayloadFilesHavePrefix) <= 4.0-1
rpmlib(CompressedFileNames) <= 3.0.4-1
-
спасибо, всё отлично получилось
Подключил 1 терминал, с первого взгляда работает
Но почему то не записывает, жму на красную кнопку Start Recording, в окне с лева пишет, что команда выполняется, но папки с файлами записи нет
Кто то в курсе ?
-
Честно говоря, запись с этой кнопки не пробовал. Вечерком посмотрю у себя.
А путь к ffmpeg правильно прописан в настройках? Там по-умолчанию путь не правильный - его нужно поменять обязательно.
-
А путь к ffmpeg правильно прописан в настройках? Там по-умолчанию путь не правильный - его нужно поменять обязательно.
Ну конечно неправильный, я честно говоря в настройки не заходил :), подумать не мог, что там, что то может быть не правильно
Поменял, запись заработала :)
Понравилось что при установке rpm пакета, openmcu сразу как служба запускается
Когда собирал скриптом службы нету
-
Да, самосборная сборка скриптом не подразумевает автоматическую установку службы. Так и задумано. :) Подразумевается, что если производится самостоятельная сборка из исходников, то это версия для экспериментов, т.е. автозапуск не нужен.
А если ставится из пакета - тогда конечно всё должно быть как положено, со службой и автозапуском.
SELinux вот ещё только не осилил. Поэтому на некоторых версиях CentOS его нужно выключать, чтобы OpenMCU-ru заработал.
И по поводу настроек надо будет действительно минимальный ini-файл включить в пакет, хотя бы ради правильного пути к ffmpeg.
-
Может я не понял, но мне как то дали ответ на форуме, что если на сервере несколько сетевых карт, можно выбрать одну для OpenMCU используя параметр SIP Listener
У меня 4 сетевые карты, и каждая для своего
1 свободная, хочу что бы OpenMCU был доступен только для одного ip из 4-х
Указал в параметре SIP Listener желаемый ip, но OpenMCU всё равно доступен по всем 4-м ip адресам
Может посоветуете, что не правильно я понял ? И как сделать правильно ?
-
Похоже речь о sophia:
http://openmcu.ru/forum/index.php?topic=359.0
-
Даааа, наверно я просто туплю и не понял о чём речь. А вообще такое возможно сделать, что бы OpenMCU был доступен только для одного ip из 4-х ?
-
За привязку к интерфейсу отвечает библиотека sophia-sip. Есть некоторые проблемы с этим вопросом (в теме по ссылке). В том числе может быть и привязка к одном интерфейсу из-за этого не работает.
-
Прочитал, половина не понял, но понял что настройками в МЦУ этого не сделать
Возможно надо искать решение что бы закрыть порт 1420 средствами ОС на определённых ip
-
1420? Нужно порт управления только привязать? Тогда софия не при чем. Я значит не правильно понял.
Возможно надо искать решение что бы закрыть порт 1420 средствами ОС на определённых ip
Делается элементарно средствами iptables.
-
Да всё Вы правильно поняли, просто по сути я туплю и не могу рассказать проблему
Скажу прямо, мне надо что бы управление и вызовы шли только через одну сетевуху с её айпишника из 4-х
А то
1 - почта и веб, фтп
2 - проксик
3 - виртуалка крутится
4 - надо МЦУ (а то вызов идёт с 1 интерфейса)
Что написать в SIP Listener - что бы хотя бы проверить, будет работать или нет ?
-
в openmcu несколько tcp-сервисов:
- SIP Listener - сервер SIP;
- H.323 Listener - сервер H.323;
- HTTP Listener - сервер HTTP.
для последнего настраивается на данный момент только порт (HTTP Port) (т. е. "лишние" ip, на которых не нужно, чтобы openmcu слушал порт 1420, надо прикрыть с помощью iptables).
есть ещё udp-протокол, для которого на данный момент тоже настраиваются только порты, но не интерфейсы. но на это можно, наверное, не обращать внимания, т. к. передача udp начинается только после предварительного согласования по tcp.
-
Не знаю правильно или нет, но вот попробовал написать
SIP Listener - 192.168.1.4:5060
H.323 Listener - 192.168.1.4:1720 - keep
*:1720 - ignore
Получается что с терминала могу звонить только на 4, (1,2,3 ip - не обслуживаются)
А вот когда звоню с сервера, на терминале пишет что звонок с 1 ip
Что то не так ?
-
palexa, желательно сначала понять, что такое и как работает маршрутизация.
и после этого, если необходимость не отпадёт, можно осторожно попробовать разрулить через ip rule add tos ... table ...
-
palexa, желательно сначала понять, что такое и как работает маршрутизация.
и после этого, если необходимость не отпадёт, можно осторожно попробовать разрулить через ip rule add tos ... table ...
Спасибо, я лучше не буду разруливать, уж слишком там много всего уже настроено
Да и в принципе, пока остановлюсь немного с линуксом, ну не хочет тандберг работать и всё тут. (поликом супер)
H.264 - картинка расплывается прямо на глазах, как будто на картину воду налили и все краски текут, я уже эту камеру замучил, может потом
-
Вроде поборол я TANDBERG
Странно, удалил я rpm пакет
Скачал новые исходники заново (есть интересные изменения)
cd /root/openmcu-oci/
./openmcu-oci build
Всё раоботает
Остановил и решил собрать пакет, а он не хочет собираться ( хотя в прошлый раз собрался нормально)
А шас вот такая штука
[root@zhru openmcu-oci]# ./openmcu-oci package
Определен дистрибутив: CentOS 'el5' i386
Папка с исходниками: /root/openmcu-oci/src
Папка для сборки: /root/openmcu-oci/build
Папка установки OpenMCU-ru: /opt/openmcu-ru
Префикс для сборки библиотек: /opt/openmcu-ru
Сборка rpm-пакета...
ln: создание символьной ссылки с `trace.txt' на `../../var/log/openmcu-ru/trace.txt': Файл существует
Общее время выполнения: 1 сек
[root@zhru openmcu-oci]#
И пакета в папке нет (что такое не везёт и как этим бороться ?)
-
Сборка rpm-пакета...
ln: создание символьной ссылки с `trace.txt' на `../../var/log/openmcu-ru/trace.txt': Файл существует
Просто в /var/log/openmcu-ru/ уже есть физически trace.txt. Удали его и попробуй снова. Думаю соберется.
-
Просто в /var/log/openmcu-ru/ уже есть физически trace.txt. Удали его и попробуй снова. Думаю соберется.
Да не, на тоько что установленной виртуалке же собирается
-
Решил повторить подвиг на виртуалке ( centos 5.9 )
В общем ситуация такова
На виртуалке на которой пакет собрался, я установил rpm, а потом удалил сам пакет и деинсталировал пакет из системы
Всё, после этого действия пакет заново не собирается
[root@localhost openmcu-oci]# ./openmcu-oci package
Определен дистрибутив: CentOS 'el5' i386
Папка с исходниками: /root/openmcu-oci/src
Папка для сборки: /root/openmcu-oci/build
Папка установки OpenMCU-ru: /opt/openmcu-ru
Префикс для сборки библиотек: /opt/openmcu-ru
Сборка rpm-пакета...
Общее время выполнения: 0 сек
[root@localhost openmcu-oci]#
Приехали, что же делать ?
-
Не виден вывод сборщика пакетов. Дело в том, что вывод отправлен в null, а через обработчик ошибок не прогоняется. Не знаю почему так сделано.
Найди в скрипте строчку
и проведи сборку еще раз, вывод выложи сюда.
Не не , ошибочка. Буду еще смотреть
В скрипте начиная со строки 423 до 462 убери в конце >/dev/null 2>&1
повтори сборку. Ошибки - сюда.
-
В скрипте начиная со строки 423 до 462 убери в конце >/dev/null 2>&1
повтори сборку. Ошибки - сюда.
[root@localhost ~]# cd /root/openmcu-oci/
[root@localhost openmcu-oci]# ./openmcu-oci package
Определен дистрибутив: CentOS 'el5' i386
Папка с исходниками: /root/openmcu-oci/src
Папка для сборки: /root/openmcu-oci/build
Папка установки OpenMCU-ru: /opt/openmcu-ru
Префикс для сборки библиотек: /opt/openmcu-ru
Сборка rpm-пакета...
mkdir: невозможно создать каталог `/root/openmcu-oci/build/rpm/BUILDROOT/openmcu-ru--el5.i386': Нет такого файла или каталога
cp: невозможно выполнить stat для `/opt/openmcu-ru/*': Нет такого файла или каталога
cp: невозможно выполнить stat для `/root/openmcu-oci/build/rpm/SOURCES/*': Нет такого файла или каталога
rm: невозможно удалить `/root/openmcu-oci/build/rpm/BUILDROOT/openmcu-ru--el5.i386/opt/openmcu-ru/include': Нет такого файла или каталога
rm: невозможно удалить `/root/openmcu-oci/build/rpm/BUILDROOT/openmcu-ru--el5.i386/opt/openmcu-ru/*.cmd': Нет такого файла или каталога
sed: невозможно прочитать /root/openmcu-oci/build/rpm/SPECS/openmcu-ru.spec: Нет такого файла или каталога
sed: невозможно прочитать /root/openmcu-oci/build/rpm/SPECS/openmcu-ru.spec: Нет такого файла или каталога
sed: невозможно прочитать /root/openmcu-oci/build/rpm/SPECS/openmcu-ru.spec: Нет такого файла или каталога
sed: невозможно прочитать /root/openmcu-oci/build/rpm/SPECS/openmcu-ru.spec: Нет такого файла или каталога
sed: невозможно прочитать /root/openmcu-oci/build/rpm/SPECS/openmcu-ru.spec: Нет такого файла или каталога
ошибка: невозможно получить информацию о /root/openmcu-oci/build/rpm/SPECS/openmcu-ru.spec: Нет такого файла или каталога
mv: невозможно выполнить stat для `/root/openmcu-oci/build/rpm/RPMS/i386/openmcu-ru--el5.i386.rpm': Нет такого файла или каталога
Общее время выполнения: 0 сек
[root@localhost openmcu-oci]#
если не устанавливать пакет, то собирал его 3 раза
Но вот если установить и удалить, вот тогда ...
Ну вот как удаление пакета, может влиять на его повторную сборку, странно
-
Такое ощущение, что отсутствует папка rpm.
Попробуй принудительно создать.
Добавь в код
строка 420
if [ -e "$DIR_BUILD/rpm" ] ; then
rm -R "$DIR_BUILD/rpm" >/dev/null 2>&1
+ mkdir $DIR_BUILD/rpm/
-
В скрипте начиная со строки 423 до 462 убери в конце >/dev/null 2>&1
Вернуть назад ?
-
Такое ощущение, что отсутствует папка rpm.
Попробуй принудительно создать.
Добавь в код
строка 420
if [ -e "$DIR_BUILD/rpm" ] ; then
rm -R "$DIR_BUILD/rpm" >/dev/null 2>&1
+ mkdir $DIR_BUILD/rpm/
Добавил
# очистка
if [ -e "$DIR_BUILD/rpm" ] ; then
rm -R "$DIR_BUILD/rpm" >/dev/null 2>&1
fi
if [ -e "$DIR_BUILD/rpm" ] ; then
rm -R "$DIR_BUILD/rpm" >/dev/null 2>&1
+ mkdir $DIR_BUILD/rpm/
Сборка rpm-пакета...
Общее время выполнения: 0 сек
[root@localhost openmcu-oci]# ./openmcu-oci package
./openmcu-oci: line 476: syntax error near unexpected token `}'
./openmcu-oci: line 476: `}'
[root@localhost openmcu-oci]#
-
В скрипте начиная со строки 423 до 462 убери в конце >/dev/null 2>&1
повтори сборку. Ошибки - сюда.
Вроде при этом я забыл установить из исходников
По идее же rpm можно собрать если установлено из исходников
Щас повторю всё заново, либо я сильно затупил, щас я это проверю
-
В скрипте начиная со строки 423 до 462 убери в конце >/dev/null 2>&1
повтори сборку. Ошибки - сюда.
[root@localhost openmcu-oci]# ./openmcu-oci package
Определен дистрибутив: CentOS 'el5' i386
Папка с исходниками: /root/openmcu-oci/src
Папка для сборки: /root/openmcu-oci/build
Папка установки OpenMCU-ru: /opt/openmcu-ru
Префикс для сборки библиотек: /opt/openmcu-ru
Сборка rpm-пакета...
mkdir: невозможно создать каталог `/root/openmcu-oci/build/rpm/BUILDROOT/openmcu
-ru-2.2.3+p45+20130619-el5.i386': Нет такого файла или каталога
Выполняется(%prep): /bin/sh -e /var/tmp/rpm-tmp.7285
+ umask 022
+ cd /root/openmcu-oci/build/rpm/BUILD
/var/tmp/rpm-tmp.7285: line 23: cd: /root/openmcu-oci/build/rpm/BUILD: Нет таког
о файла или каталога
ошибка: Неверный код возврата из /var/tmp/rpm-tmp.7285 (%prep)
Ошибки сборки пакетов:
Неверный код возврата из /var/tmp/rpm-tmp.7285 (%prep)
mv: невозможно выполнить stat для `/root/openmcu-oci/build/rpm/RPMS/i386/openmcu
-ru-2.2.3+p45+20130619-el5.i386.rpm': Нет такого файла или каталога
Общее время выполнения: 1 сек
[root@localhost openmcu-oci]#
Что то я уже намутил, что не создаётся пакет на тоько что установленной системе
-
Если установить DEB/RPM-пакет, а потом его удалить, то потом собираться не будет. Это нормально. :)
Просто при удалении пакетов не до конца удаляются файлы из системы. Потому что OpenMCU-ru мусорит в своей папке. Вот соответствующая тема с багрепортом: http://openmcu.ru/forum/index.php?topic=368.0
Решения проблемы с мусором пока нет. Поэтому если пакет был установлен, то после его удаления необходимо в ручную вычищать остатки. Иначе сборка может не пройти.
-
Так он же вроде свою папку удаляет
В общем парился всю ночь на виртуалке, ставил удалял rpm, ставил из исходников, собирал пакеты удалял и так далее
Раз на раз не приходиться, пакет собирался всегда нормально
Ну для себя решил, лучше пакет на виртуалке сделать и поставить на рабочую машину
-
лучше пакет на виртуалке сделать и поставить на рабочую машину
Очевидно, что это лучшая стратегия. Собирать лучше на отдельной машине. Чтобы на рабочей машине не ставить кучу "не нужных" пакетов (необходимых только для сборки).
-
К стати, при установке RPM пакета, на странице настройка, логотип OpenMCU не загружаеться
-
Очередное обновление скрипта.
+ Возможность собирать и устанавливать ECG кодеки ( G.729a, Speex, G.728). iLBC включен в сборку по умолчанию.
Включается в конфиг-файле.
+ Добавлена локализация. Пока поддерживается два языка (русский, английский). Язык консоли определяется автоматически в момент запуска скрипта. Если язык консоли не поддерживается по дефолту грузится английский. Языковые файлы хранятся в /custom/locales.
rayanAyar, закинь в первый пост.
Если кто может, проверьте пожалуйста английский файл на корректность перевода и ошибки, а то я с английским не очень дружу и переводил через переводчик.
-
rayanAyar, закинь в первый пост.
Обновил. С парой мелких фиксов (видимо не последняя версия использовалась для правки). Английский позже проверю.
-
Спасиб
-
Спасибо попробую, кодеки это хорошо, я G.729a, G.728 вручную закидывал
Как я заметил за последнее время проект набрал обороты, аж приятно, а с вашим скриптом многим вообще повезло
-
Кстати почему бы не сделать описание ключей как в первом посте например через
./openmcu-oci --help
./openmcu-oci -help
или если просто
./openmcu-oci
-
DJs3000,
Как-то даже не задумывался. Список ключей запуска OpenMCU-ru?
А точно надо? Для какого контингента? "Не вникающим" пользователям OpenMCU-ru я думаю это будет лишнее. А "интересующиеся" и так наткнутся на этот хелп - эта справка выведется при команде "./openmcu-wrapper", если не указать ни одного ключа.
-
Я говорю об этой информации:
./openmcu-oci {install [VERSION]|download|build [VERSION]|package|remove}
install - Выполнить все действия по сборке и установке.
(install [VERSION] = download + build [VERSION] + package)
например команда для сборки версии p44: "./openmcu-oci install 44"
download - Только скачать исходники.
Исходники скачиваются в папку "./src",
содержимое этой папки в последствии не изменяется.
Можно один раз скачать исходники, а потом выполнять команду build,
меняя параметры сборки или применяя различные патчи к исходникам.
build - Выполнить сборку и установить указанную версию.
Для сборки создается копия папки "./src" с именем "./build",
package - Собрать DEB/RPM-пакет.
Сборка пакета не является обязательным для запуска OpenMCU-ru.
Даже если пакет собрать не удалось - всё равно можно запустить
только что собранную версию. Сборка пакета - это опциональный шаг.
Собранный пакет можно установить на другой машине с таким же
дистрибутивом Linux.
remove - Удалить установленную версию.
Перепутал с врапером т.к. позно вчера ковырялся мосК в ауте
-
Скрипт так и работает. Если не указан ни один из известных ключей (install|download|build|package|remove), то будет выведен хелп.
-
Скрипт так и работает. Если не указан ни один из известных ключей (install|download|build|package|remove), то будет выведен хелп.
Видимо нужно больше спать.
-
$DIR_PREFIX чему равен?
-
по умолчанию: /opt/openmcu-ru
Действительно, небольшой косяк - эта переменная ещё не задана, когда показывается хелп. Поправим.
-
только что скачал поставил, при попыке пдключения браузером после изменения настроек и перезапуска в консоле получил это
cname= ./sound.room101
cname= ./video.room101
./openmcu-wrapper: line 9: 6037 Ошибка сегментирования "$DIR_SELF/openmcu" "$@"
[root@localhost openmcu-ru]#
-
только что скачал поставил, при попыке пдключения браузером после изменения настроек и перезапуска в консоле получил это
cname= ./sound.room101
cname= ./video.room101
./openmcu-wrapper: line 9: 6037 Ошибка сегментирования "$DIR_SELF/openmcu" "$@"
[root@localhost openmcu-ru]#
странно, эта ошибка если режим запуска в inittab 3 (без иксов)
поставил 5 (с иксами) шибки нет
а зачем мне иксы на рабочем сервере, что то тут не то
-
не исключено, что в этих ошибках виновата последняя доработка с путями, http://openmcu.ru/forum/index.php?topic=368.msg4345#msg4345
-
указал
Уровни запуска для вновь создаваемых сценариев - Из /etc/inittab
Заработало,
только причём тут это, все скрипты загружались пр уровне запуска 3 и 5
-
есть трассировка при ошибке сегментирования?
-
указал
Уровни запуска для вновь создаваемых сценариев - Из /etc/inittab
Заработало,
только причём тут это, все скрипты загружались пр уровне запуска 3 и 5
как и предполагал, счастье продлилось не долго, пару раз перезапустил и таже песня
вроде успел поставить уровень трассировки 6
файл прилагаю
добавил настройку путей добавили сегодня, а скрипт который щас кручу этой ночью (тот что сегодня ставил,уже удалил)
запустил под иксами таже песня, 16 числа такого небыло вроде всё работало как часы
-
если вылетает при отключении терминала - проблема в логе звонков mcu_log.txt.
-
Оно вылетает как только я подключаюсь браузером http://ip:1420
Щас опять ставлю, у меня такое ощущение, что вылетает после того как я меняю в настойках
Поставлю и проверю
-
Оно вылетает как только я подключаюсь браузером http://ip:1420
Щас опять ставлю, у меня такое ощущение, что вылетает после того как я меняю в настойках
Поставлю и проверю
Так и есть
После запуска openmcu в параметрах меняю Auto create empty room и путь к Path to ffmpeg
Сохраняю и перезапускаю openmcu из консоли
После этого появляется ошибка и openmcu останвливается
После изменений параметров в папке /opt/openmcu-ru/ появляется файл openmcu.ini
Если его удалить, то всё работает дальше (параметры становятся по умолчанию)
Если опять изменить история повторяется
16 числа такого небыло, так что думаю это связано с последними изменениями в openmcu или в скрипте сборки
"Вот такая фигня малята"
-
а если удалить из ини строку call log file name?
-
После запуска openmcu в параметрах меняю Auto create empty room и путь к Path to ffmpeg
Сохраняю и перезапускаю openmcu из консоли
После этого появляется ошибка и openmcu останвливается
После изменений параметров в папке /opt/openmcu-ru/ появляется файл openmcu.ini
Если его удалить, то всё работает дальше (параметры становятся по умолчанию)
Если опять изменить история повторяется
16 числа такого небыло, так что думаю это связано с последними изменениями в openmcu или в скрипте сборки
"Вот такая фигня малята"
Вот решил проверить это изменение, так как сегодня собирал именно с возможностью собрать G.729a, G.728
Соответсвенно ошибка и борьба с ней
Очередное обновление скрипта.
+ Возможность собирать и устанавливать ECG кодеки ( G.729a, Speex, G.728). iLBC включен в сборку по умолчанию.
Включается в конфиг-файле.
Собрал openmcu с конфигом по умочанию, без кодеков, до пергузки ОС ошибка не повторялась
но потом всё равно глючит раз через раз
Удалил строку
Call log filename=/opt/openmcu-ru/mcu_log.txt
из openmcu.ini
несколько раз перезапускал openmcu - вроде ошибки нет
перегружаю ось и запускаю openmcu
но потом всё равно глючит раз через раз
через нкоторое время ошибка постоянно
-
добавил отображение monitor.txt на главной странице
https://github.com/muggot/openmcu/commit/b00f330d9946581be729f91348c04c0f59ebaba5
может мне показалось, но ошибка только если сразу захожу на http://ip:1420/welcome.html или это случайность
если на другие страницы, ошибки нету (ну вроде нет)
rayanAyar, добавил настройку путей (282076a037 (https://github.com/muggot/openmcu/commit/282076a0377850d5e91803496c862dea0493b73f)), проверяй.
А можна сейчас (пока совсем ночь не наступила)откатить эти изменения (хотябы на время) и написать сюда, я скачаю исходники и сообщу
Потом попробую поставить openmcu и сообщу результат
предыдущего сборки скрипта найти не могу
раньше я этой ошибки не замечал, но кто знает, может повезло, а может нет
-
с телефона никак :)
но ты можешь сам, в локальном репозитории: git checkout ######## (первые цифры номера коммита, на котором хочешь остаться).
-
ой да там измененияй огого
с телефона никак :)
но ты можешь сам, в локальном репозитории: git checkout ######## (первые цифры номера коммита, на котором хочешь остаться).
Номер коммита нашёл, но вот где и как указать установить именно это 88499240fe, не допонимаю
-
думаю, что скрипт скачивает исходники с помощью git.
зайди в папку с исходниками и выполни git checkout nnnnnnnnnnnnn, где nnn... - длинное число - номер коммита.
исходники должны откатиться до него у тебя локально.
после этого можно собирать.
у меня не было такой ошибки ни в винде, ни в 64-битном линуксе.
-
думаю, что скрипт скачивает исходники с помощью git.
зайди в папку с исходниками и выполни git checkout nnnnnnnnnnnnn, где nnn... - длинное число - номер коммита.
исходники должны откатиться до него у тебя локально.
после этого можно собирать.
у меня не было такой ошибки ни в винде, ни в 64-битном линуксе.
Помогло
Откатился до 17 числа
git checkout b7736da7b566086f1f 5d6269994f761766eb 23c0
Всё работает, ошибка не повторяется
Интересно с какого коммита начинает глючить ? Ну если есть проблема у меня, значит у других будет.
Вопрос, если я откатился на 17 число, могу ли я не скачивая исходники заново, удалить openmcu и выполнить git checkout для 20 числа ?
Тут кто нибудь, когда нибудь спит ?
Спокойной ночи.
-
Вопрос, если я откатился на 17 число, могу ли я не скачивая исходники заново, удалить openmcu и выполнить git checkout для 20 числа ?
аналогично, git checkout NNN.
я добрался таки до компа, но не могу повторить проблему.
попробуй удалить совсем ini-файл и посмотреть, что будет.
сейчас ещё посмотрю на linux x86.
-
ужесточил некоторые проверки при работе с лог-файлом (лог звонков mcu_log.txt) и при обработке участников конференции как соединений h.323, https://github.com/muggot/openmcu/commit/9323cfce83b5dd252f11f8012f379f6460c68102
-
я добрался таки до компа, но не могу повторить проблему.
Вот в том то и дело, что ошибка через раз
Попробую изменить и сохранить параметры
Выключить openmcu
Включить openmcu
Открыть главную страницу
И так пару раз
На каком то этапе начинает выпадать ошибка сегментирования
-
попробуй с последним изменением, плз. наверное можно просто прогнать скрипт "с чистого листа".
-
попробуй с последним изменением, плз. наверное можно просто прогнать скрипт "с чистого листа".
template.html: .wrapper min-width attribute set to 1000px (https://github.com/muggot/openmcu/commit/81628d33a83e1d483b55cd27a11fdef321107c0c) - уже был утром
начал с чистого листа, скачал последнее и установил по умолчанию
Или последнее это после верхнего сообщения ?
раз через раз - ошибка сегментирования
Теперь как в школе учили, "решение от противного"
---
Jun 20, 2013
sleep/awakening of cache resets FPS statistics
git checkout 88499240fe633d1601 7e38fa11cbc4ad4432 0201
долго баловался, Ошибки сегментирования НЕ замечено
--
щас попробую по очереди вверх
-
Jun 20, 2013
monitor text added to welcome page
git checkout b00f330d9946581be7 29f91348c04c0f59eb aba5
раз через раз - ошибка сегментирования
И если это не случайность, то именно если после запуска OpenMCU заходить на главную страницу
-
Я погонял на последнем и предпоследнем коммите - все работает и не глючит. Только вот ini файл не с первого раза стал сохраняться. Давишь Accept, а ini файла нет, потом давишь reload page и снова Accept и файл появляется. До последнего коммита такого не было.
-
Jun 20, 2013
monitor text added to welcome page
git checkout b00f330d9946581be7 29f91348c04c0f59eb aba5
раз через раз - ошибка сегментирования
И если это не случайность, то именно если после запуска OpenMCU заходить на главную страницу
ты точно тестировал с 9323cfce83 и выше?
-
ini файл не с первого раза стал сохраняться. Давишь Accept, а ini файла нет, потом давишь reload page и снова Accept и файл появляется. До последнего коммита такого не было.
загляни в п. 1.1.1 инструкции от 2010 г (http://openmcu.ru/forum/index.php?topic=4.msg4#msg4) :) он всегда сохранялся через раз. думаю, тебе просто раньше везло.
в windows при сохранении в реестре всегда сохраняется сразу. но, опять же, кто просил сохранять в реестре и как это изменить - надо разбираться :)
проблема где-то глубоко в ptlib.
-
этой ночью брал за 17.06.13
last changes (templates by me, page width by schmel, sip capability b…
b7736da7b566086f1f 5d6269994f761766eb 23c0
- всё нормуль
ты точно тестировал с 9323cfce83 и выше?
Да, сегодня утричком, запустил виртуалку, скачал скриптом исходники и установил build по умолчанию
запустил - глючит ошибкой
Потом взял пониже, за 20.06.13
sleep/awakening of cache resets FPS statistics
88499240fe633d1601 7e38fa11cbc4ad4432 0201
- всё нормуль
Потом следующее, выше
monitor text added to welcome page
git checkout b00f330d9946581be7 29f91348c04c0f59eb aba5
- и уже НЕ нормуль - опять ошибка
По сути я уже был готов оставить на нашем линуксовом сервере OpenMCU, собрал конференцию на 8 камер, но что то мне качество картинки не нравиться, то квадратики, то выравнивается потом, но больше квадраты и искажения. Не знаю, может камеры TANBERG ему не совсем подходят или их настройки. Нормально работает пока только openmcu_45-8_win32 (жаль что в ней off-терминалы не сохраняются как в текущей версии) - дальше будет видно
-
Какой дистрибутив? CentOS? Может SELinux выключить?:
/usr/sbin/setenforce 0
-
я выключил
/etc/selinux/config
SELINUX=disabled
Пробовал на CentOS 5.9 в течении дня, ужасно - всё в мелких квадратиках. Камеры TANDBERG.
На openmcu_45-8_win32 только что провёл техническую конференцию на 7 терминалов, так качество картинки отличное, аж приятно смотреть
Как то пробовал перейти на openmcu_45-12_win32 - но там тоже оказалось качество намного хуже, а kay27 писал что он кодеки компилил уже чем то другим и они стали больше похожими на линуксовые, что меня очень огорчило. Надеюсь позже попробую 12 версию win, посмотрю как оно. Хотя единственного что мне не хватает в 8 версии, так это сохранения off-терминалов. Но эта не та тема
-
Пробовал на CentOS 5.9
32 или 64 ? Пробую на виртуалке, с последними патчами. Падений нет. Только если включить SELinux - тогда падает.
всё в мелких квадратиках. Камеры TANDBERG.
А на статусной странице что? Какое разрешение?
-
32 или 64 ? Пробую на виртуалке, с последними патчами. Падений нет. Только если включить SELinux - тогда падает.
32 бит
Ну не знаю, падает и всё тут
А на статусной странице что? Какое разрешение?
В статусе всё показывает идентично одно другому
capability.conf Одинаковый.
Out: H.263p-4CIF@704x576
In: H.263-CIF@352x288
Экран поделен на 9
-
Т.е. и при использовании openmcu_45-8_win32 тоже H.263 ? От H.263 не стоит ждать высокого качества.
-
Т.е. и при использовании openmcu_45-8_win32 тоже H.263 ?
да
От H.263 не стоит ждать высокого качества.
Да вполне нормально, картинка не мутная, ничего не плывёт, квадратиков нет - этого вполне достаточно
-
Ну не знаю, падает и всё тут
Я не могу у себя повторить этот глюк. Нужно тест-последовательность. Последовательность действий на которой всегда падает.
-
Я не могу у себя повторить этот глюк. Нужно тест-последовательность. Последовательность действий на которой всегда падает.
В основном падает когда захожу на главную страницу сразу после включения (но это не всегда, 5 раз нормально - потом упал при заходе.
Я на реальный сервер поставил потом RPM пакет, настроил и перегрузил сервис, вызвал одного абонента, потом пошёл на другое рабочее место вызвать всех остальных, открываю главную станицу - МЦУ упал. В общем фиг его знает.
-
у меня вчера пару раз вылетел при звонке и последующем открытии главной страницы из-за некорректного dynamic_cast для ConferenceMember как H323Connection_Con ferenceMember в monitor.txt, это я исключил в одном из последних коммитов, после этого перестал вылетать... Такое впечатление, что palexa не пересобрал openmcu. Ну, ещё посмотрю в понедельник днём.
-
rayanAyar, vol4enok,
можно ли в скрипте предусмотреть определение макроса, например, GIT_REVISION в config.h, в котором содержался бы номер последнего коммита? Я бы тогда добавил его в monitor.txt и в трассировку, и мы бы всегда точно могли определить версию.
-
можно ли в скрипте предусмотреть определение макроса, например, GIT_REVISION в config.h, в котором содержался бы номер последнего коммита?
Обновление скрипта.
+ добавлено определение версии последнего коммита в config.h как GIT_REVISION.
Надеюсь сделал правильно. Не очень понял, что имелось в виду под словом макрос.
Сделал так: добавляется в config.h #define GIT_REVISION НОМЕР_ПОСЛЕДНЕГО_К ОММИТА. Так?
+ Добавлен тихий режим (silent mode). В активном состоянии не выводит технической информации о сборке, а выводит только отчет о начале и конце выполнения команд. Включается в ini файле. По умолчанию включен.
-
добавил поддержку GIT_REVISION (плюс мелкие изменения): 09b14beb82 (https://github.com/muggot/openmcu/commit/09b14beb825487237677bf807f2a2fb106a06ee5).
-
+ Добавлен тихий режим (silent mode). В активном состоянии не выводит технической информации о сборке, а выводит только отчет о начале и конце выполнения команд. Включается в ini файле. По умолчанию включен.
Я не согласен. Если кому надо - можно и отключить вывод в ini-файле. Но по умолчанию вывод должен быть.
-
отключил вывод EncoderSeqN в monitor.txt. из-за него на архитектуре x86 периодически был SIGSEGV. пока не разобрался, почему. 86fb288bab (https://github.com/muggot/openmcu/commit/86fb288bab70e2d85a99d3d9f5b5588d48d65d38).
palexa, проверь, пожалуйста, как сейчас.
-
Версия 2013-06-23+1. Несколько мелких фиксов.
-
Я не согласен. Если кому надо - можно и отключить вывод в ini-файле. Но по умолчанию вывод должен быть.
Согласен :)
-
palexa, проверь, пожалуйста, как сейчас.
Скрипт - Версия 2013-06-23+1
OpenMCU REVISION 86fb288bab70e2d85a 99d3d9f5b5588d48d6 5d38
Полёт нормальный - больше этой проблемы я не заметил, сбоев не было
-
Версия 2013-07-01:
* добавлена поддержка сборки плагина VP8 (http://openmcu.ru/forum/index.php?topic=416.msg4595#msg4595)
* несколько мелких фиксов
-
Версия 2013-07-04:
* разделил файлы по директориям, (http://openmcu.ru/forum/index.php?topic=368.msg4345#msg4345) пока предварительный вариант, ещё думаю как лучше сделать
* добавлен файл openmcu.ini с несколькими настройками по умолчанию (путь к ffmpeg, выключение трассировки)
* мелкие исправления
-
Версия 2013-07-04+1:
* исправлена ошибка сборки libvpx на 64-битных системах
-
Версия 2013-07-11:
* убрана версия у папки плагина VP8 (http://openmcu.ru/forum/index.php/topic,418.msg4776.html#msg4776)
-
Версия 2013-08-12 (Предварительная версия скрипта в связи с изменениями структуры git-репозитория проекта):
* Проверял пока только на Ubuntu, остальные дистрибутивы вероятно не будут работать. Но это лучше чем ничего. Старая версия скрипта совсем не работает на новой структуре.
* Голова кипит, запутался в логике make-файла (если ставится в /opt/openmcu-ru - тогда одни пути задаются, если ставится с другим префиксом - тогда другие). Поэтому отказался от /opt/openmcu-ru. Теперь по умолчанию ставится в /usr/local. И /opt/openmcu-ru скорее всего больше не будет.
* Соответствено wrapper-а тоже больше не будет.
* Сборка пакетов тоже в результате поломана. Хотя это уже не актуально. Будут уже правильные DEB-ы, собранные с debhelper.
* Версия при сборке не выбирается. Это больше не возможно. И не нужно. Нужная версия "выбирается" скачиванием нужной ветки git.
* Файл настроек сборки (openmcu-oci.ini) изменен. Рекомендуется взять новый.
-
Версия 2013-08-12+1:
* фиксы под 64
* lib/ptlib/ -> lib/ptlib-ru/
-
Версия 2013-08-12+2:
* пара патчей
* libpt-ru.so, libh323plus-ru.so
-
строка 128
git branch --remote
Ошибка. Говорит, что нет такой опции, и описании git branch я такой опции не нашел. Посмотри.
Debian 6
-
похоже что полный вариант опции на старых версиях не работает. сокращенный работает - "-r"
-
Видимо да.
-
Сейчас поправлю.
Для Debian 6 вот только что запустил пробный. Debian 7 собрался.
Кстати хочу попробовать собрать при squeeze-backports - в нём все необходимые библиотеки есть. Как к этому относишься?
Теоретические проблемы могут быть если в Debian 6 используется ffmpeg из основной репы. Тогда при установке libav из бэкпортов какой-то софт может покоситься.
-
Ради эксперимента можно попробовать. :)
С опцией -r все работает. Собралось.
-
Версия 2013-08-12+3:
* сборка в Debian 7
* сборка в Debian 6 - необходим официальный репозиторий бэкпортов (squeeze-backports)
* выключил автоматическую установку пакетов. теперь необходимо подтверждение
-
Версия 2013-08-13:
* CentOS/Fedora
-
Версия 2013-08-15:
* опция "использовать дополнительные репозитории"
-
rayanAyar, не могу найти где скрипт распаковывает исходы x264 и ffmpeg чтобы попробовать перекомпилировать их в ручную с использованием OpenCL
-
Строка 108.
# x264
if ! $HAS_X264 ; then
do_step "git clone git://git.videolan.org/x264.git ./x264"
fi
# ffmpeg
if ! $HAS_FFMPEG ; then
do_step "wget http://ffmpeg.org/releases/ffmpeg-0.10.4.tar.gz"
do_step "tar xvfz ./ffmpeg-0.10.4.tar.gz"
do_step "mv ./ffmpeg-0.10.4 ./ffmpeg"
do_step "rm ./ffmpeg-0.10.4.tar.gz"
fi
Но лучше менять не там. Можно в скрипте вобще ничего не менять. Можно сначала скачать всё необходимое командой
./openmcu-oci download
После этого подменить необходимое в папке "./src" и выполнять:
./openmcu-oci build
Команда build копирует папку src в папку build и выполняет из неё сборку. Т.е. содержимое src никогда не изменяется.
Если нужно чтобы скрипт вобще не собирал самостоятельно x264 и ffmpeg, то нужно задать:
HAS_X264=true
HAS_FFMPEG=true
Для соответствующего дистрибутива (строка 404). Тогда они собираться не будут, будет подразумеваться что в дистрибутиве они есть.
-
Делаю ./openmcu-oci download и в папке с исходниками нету ни ffmpeg ни x264 я всё облазил)
-
Какой дистр? Они видимо для данного дистра ставятся из репы. Это можно посмотреть со строки
case "$LSB_DISTR" in
-
бубунта 13.04
Так же вечерком попробую поколдовать )
-
бубунта 13.04
Сделать так :
Ubuntu)
PACKAGE_ARCH="$(dpkg --print-architecture)"
PACKAGE_MANAGER="apt-get -V install"
PACKAGE_CHECK="dpkg-query --listfiles"
PACKAGES_DOWNLOAD="tar wget git subversion"
PACKAGES_BUILD="build-essential git flex bison autoconf automake"
PACKAGES_DEPENDS="libstdc++6"
PACKAGES_BUILD="$PACKAGES_BUILD libfreetype6-dev libjpeg62-dev"
PACKAGES_DEPENDS="$PACKAGES_DEPENDS, libfreetype6, libjpeg62"
HAS_YASM=true
HAS_SOFIA=true
PACKAGES_BUILD="$PACKAGES_BUILD libsofia-sip-ua-dev"
PACKAGES_DEPENDS="$PACKAGES_DEPENDS, libsofia-sip-ua0"
HAS_LIBYUV=false
HAS_VPX=true
PACKAGES_BUILD="$PACKAGES_BUILD libvpx-dev"
PACKAGES_DEPENDS="$PACKAGES_DEPENDS, libvpx1"
HAS_X264=true
# PACKAGES_BUILD="$PACKAGES_BUILD libx264-dev"
# PACKAGES_DEPENDS="$PACKAGES_DEPENDS, libx264"
HAS_FFMPEG=true
# PACKAGES_BUILD="$PACKAGES_BUILD libav-tools libavcodec-dev libavutil-dev libsamplerate0-dev"
# PACKAGES_DEPENDS="$PACKAGES_DEPENDS, libav-tools, libsamplerate0"
;;
-
А можно сделать в ини файле пункт чтобы все основные пакеты собирались бы из исходников как это было раньше ибо мне так удобней эксперименты проводить по замени x264 и ffmpeg?
-------------------------------------------------------------------------------
Вообщем всё что нужно это обязательно компилить ffmpeg и x264 из исходников
git clone git://source.ffmpeg.org/ffmpeg.git ffmpeg
git clone git://git.videolan.org/x264.git
в конфигурю ffmpeg добавляем только --enable-opencl, а конфигуря x264 сама при наличии OpenCL включает поддержку и это для Бубунты 13.04
-
основные пакеты собирались бы из исходников как это было раньше
Вобще-то такого никогда и не было. В зависимости от дистрибутива часть пакетов всегда доустанавливалась из репы. Просто недавно добавилась возможность использовать libav из репы.
А можно сделать в ини файле пункт...
Сейчас что-нибудь прикручу.
-
Вобще-то такого никогда и не было. В зависимости от дистрибутива часть пакетов всегда доустанавливалась из репы. Просто недавно добавилась возможность использовать libav из репы.
Я имел ввиду основные пакеты)
Сейчас что-нибудь прикручу.
Ок очень жду) уехал на выхи из дома и на комп поставил новый HDD на 500Гб куда накатил Бубунту 13.04 для экспериментов :) пробросил все порты на неё так что попробовать подключиться сможет любой желающий для теста
-
на комп поставил новый HDD на 500Гб куда накатил Бубунту 13.04 для экспериментов
Для экспериментов-то можно и виртуалку. Виртуализация - наше всё.
пробросил все порты на неё так что попробовать подключиться сможет любой желающий для теста
Экстремально)
-
Для экспериментов-то можно и виртуалку. Виртуализация - наше всё.
Никакая виртуалка не пробрасывает видео а в данном случае это главное! И экстремального ничего не вижу это же тестовая система и никакой ценной информации там нет)
-
Что значит не пробрасывает?
-
А, допёрло. Нужна аппаратная видяшка.
-
Версия 2013-08-17:
* Переименовал переменные "HAS_" в "BUILD_" и соответственно перевернул их логику наоборот. Мне кажется так будет более понятен их смысл.
* Добавил их в ini-файл для возможности переопределения.
-
Собрал всё но чтото видео падла не показывает, а только звук) возможно из-за кривого ната на обычном вайвай роутере мыльнице :P
буду дома смогу сделать сеть из локальной сети
-
Нашел логическую ошибку. ini файл применялся позже, чем использовалась переменная из него. В результате не корректно производилась сборка (в частности на Debian 6). Патчик прилагаю. rayanAyar поправь.
-
"Это фича, это не глюк" (c) Народ :)
Я чтение ini-файла специально перенёс после case. Чтобы можно было в ini-файле переопределить параметры пакетов, как просил DJs3000.
На паре дистрибутивов проверял. Не на всех правда, на Debian6 вроде не проверял. А из-за чего не собралось?
-
А, понял. USE_ADDITIONAL_REP OSITORY
Да, надо как-то по другому сделать.
-
Я чтение ini-файла специально перенёс после case. Чтобы можно было в ini-файле переопределить параметры пакетов, как просил DJs3000.
Понятно, а я думал косяк. :)
А, понял. USE_ADDITIONAL_REP OSITORY
Да, надо как-то по другому сделать.
Да, фишка нужная и полезная.
-
Может "вызов" ini-файла просто с обоих сторон от case поставить (и до и после)?
-
Можно получить значение переменной USE_ADDITIONAL_REP OSITORY до применения ini файла. Например так:
USE_ADDITIONAL_REPOSITORY=$(cat ./openmcu-oci.ini|grep USE_ADDITIONAL_REPOSITORY|awk -F '"' '{ print $2}')
-
Тоже некрасиво). Не надёжное решение.
Это сейчас одна переменная нужна, а если потом ещё другие будут необходимы?
По идее ini-файл должен конечно вызываться один раз. В начале работы. После чего переменные перед присваиванием должны сначала проверяться на непустое значение. Типа того:
[ -z "$PACKAGES_BUILD_SOFIA" ] && PACKAGES_BUILD_SOFIA=" libsofia-sip-ua-dev"
Но это мне кажется несколько усложнённым для понимания.
-
Тоже некрасиво). Не надёжное решение.
Это сейчас одна переменная нужна, а если потом ещё другие будут необходимы?
Согласен, но временно хотя бы так. А то вообще опция не работает.
-
Версия 2013-08-28:
* Исправлен ini-файл.
* Вернул дефолт на /opt/openmcu-ru и сборку пакетов. Поторопился я, рановато ещё это убирать - собрать правильные дебы пока не получается.
-
Версия 2013-08-29:
* Корректировка скрипта под последние изменения в репозитории.
* Небольшие изменения в сборке libyuv.
-
Версия 2013-08-31:
* Расположение конфигов изменено - теперь всё в /etc/openmcu-ru.
* Мелкие изменения.
-
Версия 2013-09-04:
* Корректировка под последние коммиты.
* Скрипт теперь в загрузках на сайте.
-
* Скрипт теперь в загрузках на сайте.
The requested URL /public/OpenMCU-ru-oci/ was not found on this server.
-
Починил ссылку.
-
# Сборка ECG кодеков. Если BUILD_ECG="true", то будут собираться и устанавливаться
# кодеки ECG729, ECG728.
А кто то пробовал использовать 728 кодек
я недавно обнаружил что все мои терминалы поддерживают 728 кодек, значит можно его использовать
Но почему то не работает
Во вложении скриншоты настроек
P.S. Создал отдельную тему - G.728 - работает или нет (http://openmcu.ru/forum/index.php/topic,441.0.html)
-
На счет 728 не знаю, не пробовал. А 729 у меня работает и на Myphone и на linphone.
-
А кто то пробовал использовать 728 кодек
я недавно обнаружил что все мои терминалы поддерживают 728 кодек, значит можно его использовать
Но почему то не работает
Во вложении скриншоты настроек
В принципе вопрос к тем, кто то пробовал использовать 728 кодек
-
Версия 2013-09-06:
* Корректировка под последние изменения.
-
Только что попробовал
OpenMCU REVISION edd66862b8bcfc9103 d28fbbb07a7f1b0116 7ce5
# Сборка ECG кодеков. Если BUILD_ECG="true", то будут собираться и устанавливаться
# кодеки ECG729, ECG728.
# Только для не коммерческого использования.
BUILD_ECG="true"
Кодеки почему то не собрались
P.S. С другой стороны у меня потихоньку отпало желание использовать G.729 (очень плохо или мне так кажется)
-
Было бы удивительно если бы они собрались)) Там очень много изменений было по сборке. Эти кодеки никто не корректирует. Так как не определились с их статусом.
-
Было бы удивительно если бы они собрались)) Там очень много изменений было по сборке. Эти кодеки никто не корректирует. Так как не определились с их статусом.
Заметно что поменялось, здесь (http://openmcu.ru/forum/index.php/topic,351.msg5756.html#msg5756) отметил первое впечатление (про хорошее промолчал :) )
-
# git-ветка используемая для сборки OpenMCU-ru.
OPENMCURU_BRANCH="master"
А как указать что бы скачать и собрать замороженную openmcu-ru_3.0.45
OPENMCURU_BRANCH="openmcu-ru_3.0.45"
Или надо скачать и потом откатить с помощью
git checkout 9e8fd0b73903017458 8b9799f7c6ff276c9f 249a
P.S. что не получилось с git checkout commit
Забыл как я раньше это делал
Если исходники скачены:
cd /root/openmcu-ru-oci/src/openmcu-ru/
git checkout 9e8fd0b73903017458 8b9799f7c6ff276c9f 249a
cd /root/openmcu-ru-oci/
./openmcu-oci build
Собрался master
Поправьте плиз, что не так сделал
-
OPENMCURU_BRANCH="9e8fd0b73903017458 8b9799f7c6ff276c9f 249a"
Ну или другой нужный. Только вот совсем старые коммиты скорее всего не получится собрать. Изменений много. Я скрипт корректирую только под последние коммиты. Совместимости со старыми не гарантирую.
-
OPENMCURU_BRANCH="9e8fd0b73903017458 8b9799f7c6ff276c9f 249a"
Ну или другой нужный. Только вот совсем старые коммиты скорее всего не получится собрать. Изменений много. Я скрипт корректирую только под последние коммиты. Совместимости со старыми не гарантирую.
Может тогда стоит оставлять ссылки на rpm/deb пакеты с замороженными версиями
Ну вот почему я не могу установить с нужным коммитом используя git checkout commit
Я в июне таким образом собирал и тестил разные версии, просто не помню так как написал выше или что то ещё делал
-
Может тогда стоит оставлять ссылки на rpm/deb пакеты
Да, конечно, думал про такой вариант. Но он, имхо, только всё усложнит. Это нужно с каждой версией скрипта указывать список коммитов, с которыми он работает. Это может только запутать тех кто хочет самостоятельно выполнить сборку. Не говоря о том, что мне нужно все коммиты проверять.
Поэтому система простая - скрипт работает с последними коммитами и всё.
с замороженными версиями
Политика версий так и не принята.
Ну вот почему я не могу собрать пакет с нужным коммитом используя git checkout commit
Я в июне таким образом собирал и тестил разные версии, просто не помню так как написал выше или что то ещё делал
При выполнении команды "build" выполняется checkout:
do_step "cd $DIR_BUILD/openmcu-ru && git checkout $OPENMCURU_BRANCH"
Поэтому все ручные checkout бесполезны. Нужно указывать параметр в ini-файле. Либо закомментировать эту строчку в скрипте.
-
Да, конечно, думал про такой вариант. Но он, имхо, только всё усложнит. Это нужно с каждой версией скрипта указывать список коммитов, с которыми он работает. Это может только запутать тех кто хочет самостоятельно выполнить сборку. Не говоря о том, что мне нужно все коммиты проверять.
Поэтому система простая - скрипт работает с последними коммитами и всё.
Наверно меня не правильно поняли.
Я имею ввиду на странице Готовые сборки (http://openmcu.ru/forum/index.php/topic,354.0.html) оставлять ссылки для скачки предыдущих собранных rpm/deb пакетов
вот сморю в последнем пакете есть глюк (http://openmcu.ru/forum/index.php/topic,351.msg5756.html#msg5756) (п.1 и 2), можно попробовать предыдущий
Политика версий так и не принята.
При выполнении команды "build" выполняется checkout:
do_step "cd $DIR_BUILD/openmcu-ru && git checkout $OPENMCURU_BRANCH"
Поэтому все ручные checkout бесполезны. Нужно указывать параметр в ini-файле. Либо закомментировать эту строчку в скрипте.
Понял
-
А, бинарники. Да, я не так понял.
Хорошо, можно и подержать бинарники на какой-то глубине. Вот когда переедем на другой хостинг, когда будет фтп нормальный, тогда буду оставлять пару-тройку предыдущих. А то с тындекс-диском это не совсем удобно, и тема захламляется.
-
к стати
./openmcu-oci uninstall - не всё удаляет, остаётся кучка папок и файлов в /opt/openmcu-ru/
-
Собираю последнию версию и потом устанавливаю rpm пакет - openmcu-ru-3.1.0.181-el5.i386.rpm
Вижу проблему - не записывается видео в файл, папка пустая
ставлю rpm что скачанный с сайта openmcu-ru-3.1.0-el5.i386.rpm - всё ок
Я никого не напрягаю надеюсь ?
-
к стати
./openmcu-oci uninstall - не всё удаляет, остаётся кучка папок и файлов в /opt/openmcu-ru/
Знаю. "Не наша" проблема. Некоторые пакеты (vpx например) не имеют возможности uninstall.
Собираю последнию версию и потом устанавливаю rpm пакет - openmcu-ru-3.1.0.181-el5.i386.rpm
Вижу проблему - не записывается видео в файл, папка пустая
ставлю rpm что скачанный с сайта openmcu-ru-3.1.0-el5.i386.rpm - всё ок
Проверю, только не сегодня уже наверное. Сегодня уезжаю.
Кстати эти действия на одной и той же машине? Возможно с правами проблемы. Заниматься экспериментировани ем (самостоятельной сборкой) и ставить бинарный пакет на одной и той же машине не рекомендуется.
Всмысле не то чтобы это совсем противопоказано. Но в этом случае нужно хорошо понимать процесс сборки и установки и знать все нюансы. Иначе могут быть различные мелкие проблемы.
Я никого не напрягаю надеюсь ?
Всмысле вопросами? Дак на это форум и нужен, чтобы проблемы решать. :)
-
Кстати эти действия на одной и той же машине? Возможно с правами проблемы. Заниматься экспериментировани ем (самостоятельной сборкой) и ставить бинарный пакет на одной и той же машине не рекомендуется.
Машинка виртуальная, сначала собираю, потом откатываю на момент "до сборки" и ставлю rpm пакет
Проблема не с правами (права на запись в папку я сразу проверил)
-
Собираю последнию версию и потом устанавливаю rpm пакет - openmcu-ru-3.1.0.181-el5.i386.rpm
Вижу проблему - не записывается видео в файл, папка пустая
Возможно это не проблема скрипта сборки, может что то случайно стёрли
спасибо
-
Возможно это не проблема скрипта сборки, может что то случайно стёрли
спасибо
исправили
-
Подскажите пожалуйста, скриптом для CentOS стоит ли собирать бинарник под 64 бит ? и использобать 64 битную ОС
Имеется ввиду, OpenMCU будет работать как 64 битное приложение ? или вполне достаточно использовать 32 битную ОС
-
Подскажите пожалуйста, скриптом для CentOS стоит ли собирать бинарник под 64 бит ? и использобать 64 битную ОС
Имеется ввиду, OpenMCU будет работать как 64 битное приложение ? или вполне достаточно использовать 32 битную ОС
при сборке под 64 будет немного быстрее работать библиотека x264.
-
при сборке под 64 будет немного быстрее работать библиотека x264.
а что это такое ? извините за тупость. кодек 264 ?
-
а что это такое ? извините за тупость. кодек 264 ?
ну да, может быть, немного ускорится кодирование h.264.
это под виндой сейчас одна сборка x86, и в системах x64 она работает в режиме эмуляции x86.
в linux всё честно: будет скомпилирован 64-битный openmcu, плагины... это не вредно и не полезно, это что-то вроде вопроса религии и ещё немного - быстродействия видео-кодеков :)
-
ок, тогда я думаю не стоит парится с 64 бит, просто мне тут все уши прожужали, вот мол, процессор на 64 битной системе будет работат быстрее и естественно мцу будет лучше
-
ну да, может быть, немного ускорится кодирование h.264.
Ключевая фраза "может быть"
Париться с 64 не стоит, вообще правильно понял ? или подумал ?
-
Ключевая фраза "может быть"
Париться с 64 не стоит, вообще правильно понял ? или подумал ?
я их не сравнивал) гугл в помощь по запросу типа "x264---x86---vs---x64" (замени --- на пробел, это примитивная защита, чтобы гугл тебя не выкинул обратно сюда же).
вот, например: http://www.neatvideo.com/nvforum/viewtopic.php?t=730
x264 dev claims x64 version is globaly 10% faster than x86 version.
Under XP64 SP2
x64 version :
Pass 1 : 12,40fps
Pass 2 : 4,49fps
...
Under XP32 SP3
x86 version :
Pass 1 : 9,00fps
Pass 2 : 3.27fps
-
http://openmcu.ru/forum/index.php/topic,393.msg3963.html#msg3963
-
использобать 64 битную ОС
В данный момент я всем и вся ставлю 64. Если конечно процессором поддерживается. Но как правильно заметил kay27 - это пока вопрос "веры". Сильного увеличения производительности не будет. Для меня главный аргумент использования 64-битных систем - это использование памяти. И задел на будущее - как ни как 32-бит теряет популярность.
-
смотря сколько памяти, если меньше 4Гб, то лучше x86, если 4 и больше - то х64.
Иногда PAE спасает.
-
rayanAyar как работает сборка пакета?
./openmcu-oci package
так?
Можно например собрать всё через ./openmcu-oci install, а потом дать команду ./openmcu-oci package? В любом случае у меня не собирает пакет.
-
Не собиралось из-за ликвидации пары конфигурационных файлов. Поправил.
-
Версия 2013-10-15:
* Добавлена опция для включения coredump (http://openmcu.ru/forum/index.php/topic,292.0.html)
-
Версия 2013-10-16:
* Вернул отладочные символы. (временно, до выхода стабильного релиза ;) )
-
Версия 2013-10-16+1:
* фикс coredump для CentOS
-
Версия 2013-10-18:
* фикс для сборки в Ubuntu 13.10 'Saucy'
Сборка работает. Но OpenMCU-ru в Saucy пока не работает)
-
Версия 2013-10-21:
* disable-rpath для определения необходимости wrapper-а
-
По поводу новой иконки (http://openmcu.ru/forum/index.php/topic,428.msg7386.html#msg7386) (i15_getNoVideo.gif), при сборе скриптом её нету на сервере, в мозилле вообще не видно, а в ИЕ кнопка без иконки (хотя в папке с исходниками есть)
-
Инструкция перенесена в Вики: http://openmcu.ru/wiki/ru/install/src_linux
-
Версия 2013-10-31:
* Сборка под Fedora 19
-
Версия 2013-11-05:
* Поддержка параметров ulimit: max processes и max files
-
Стандартно выполнить сборку пакета
./openmcu-oci package
есть ли возможность выполнить сборку пакета RPM со своим префиксом, например
openmcu-ru-3.1.0.445-v1-el5.i386.rpm
-
rayanAyar
Я в этом не совсем спец, но -
Может это как то учесть при сборке rpm пакета для CentOS (http://openmcu.ru/forum/index.php/topic,477.msg8608.html#msg8608)
и эта проблема (http://openmcu.ru/forum/index.php/topic,498.msg8588.html#msg8588) тоже решается
что скажешь ?
-
Дочитался:
Стандартно выполнить сборку пакета
./openmcu-oci package
есть ли возможность выполнить сборку пакета RPM со своим префиксом, например
openmcu-ru-3.1.0.445-v1-el5.i386.rpm
Просто изменить название сборки в /build/
rayanAyar
Я в этом не совсем спец, но -
Может это как то учесть при сборке rpm пакета для CentOS (http://openmcu.ru/forum/index.php/topic,477.msg8608.html#msg8608)
и эта проблема (http://openmcu.ru/forum/index.php/topic,498.msg8588.html#msg8588) тоже решается
Я так понял достаточно изменить в /etc/default/openmcu-ru
# Specify the user name (Default: mcu)
# DAEMON_USER="mcu"
DAEMON_USER="root"
# ulimit max processes (Default: <unset>)
# DAEMON_MAXPROCESSES=65536
DAEMON_MAXPROCESSES=1048576
# ulimit max open files (Default: <unset>)
# DAEMON_MAXOPENFILES=65536
DAEMON_MAXOPENFILES=1048576
Пока не понял где конкретно сделать изменения что бы RPM сразу собирался с изменённым мною файлом в /etc/default/openmcu-ru
/root/openmcu-ru-oci/custom/rpm/SOURCES/etc/default/openmcu-ru
-
Я так понял достаточно изменить в /etc/default/openmcu-ru
# Specify the user name (Default: mcu)
# DAEMON_USER="mcu"
DAEMON_USER="root"
# ulimit max processes (Default: <unset>)
# DAEMON_MAXPROCESSES=65536
DAEMON_MAXPROCESSES=1048576
# ulimit max open files (Default: <unset>)
# DAEMON_MAXOPENFILES=65536
DAEMON_MAXOPENFILES=1048576
Почти всё верно. Настройки ulimit задаются в файле /etc/default/openmcu-ru начиная с этой версии (http://openmcu.ru/forum/index.php/topic,353.msg7851.html#msg7851).
"Почти верно" - потому что делать запуск от root-а для этого не нужно. Это работает без root-овых прав на большинстве дистрибутивов. Единственное исключение, которое я обнаружил - это CentOS-6 - на этом дистре дополнительно ограничено количество MaxProcesses для всех, кроме root-а. Настраивается здесь:
/etc/security/limits.d/90-nproc.conf
и эта проблема (http://openmcu.ru/forum/index.php/topic,498.msg8588.html#msg8588) тоже решается
Я против того, чтобы делать запуск от имени root только для того, чтобы была возможность установить logo.bmp из видео-потока терминала. Цель не оправдывает средства.
Служба должна запускаться от имени непривелегированно го пользователя. Служба должна иметь доступ на запись только в определённые папки (в данном случае это конфиги, pipe, видеозаписи). Можно бы ещё Apparmor/SELinux прикрутить. Это классический подход к безопасности. Так работает большинство служб под Linux.
-
Почти всё верно. Настройки ulimit задаются в файле /etc/default/openmcu-ru начиная с этой версии (http://openmcu.ru/forum/index.php/topic,353.msg7851.html#msg7851).
"Почти верно" - потому что делать запуск от root-а для этого не нужно. Это работает без root-овых прав на большинстве дистрибутивов. Единственное исключение, которое я обнаружил - это CentOS-6
Вот как раз я и использую CentOS-6
К стати до сих пор думаю, может стоит на CentOS-5 OpenMCU ставить (у меня с ней всегда всё получалось, а с 6-й вечно что то не так)
Я против того, чтобы делать запуск от имени root только для того, чтобы была возможность установить logo.bmp из видео-потока терминала. Цель не оправдывает средства.
Служба должна запускаться от имени непривелегированно го пользователя.
Так я же двумя руками ЗА, но что делать если не работает (разве что ручками закинуть, тогда зачем нужна эта возможность в веб-морде. Не возникнет ли других неожиданостей в CentOS-6)
-
Служба должна иметь доступ на запись только в определённые папки (в данном случае это конфиги, pipe, видеозаписи). Можно бы ещё Apparmor/SELinux прикрутить. Это классический подход к безопасности. Так работает большинство служб под Linux.
logo - в конфиги?
-
logo - в конфиги?
а почему бы и нет ? Если это конечно решит проблему
А почему другие папки файлы рутовские, а не MCU ?
-
А почему другие папки файлы рутовские, а не MCU ?
Если бы права были у пользователя mcu, то он имел бы в них доступ на запись.
Владельцем mcu назначаются только папки, в которые должен быть доступ на запись. Остальные - владелец root.
Стандартная схема безопасности.
-
ну тогда приемлемо, если конечно это возможно и правильно с точки зрения Богов :)
logo - в конфиги?
-
и может всё таки
logo.jpg
-
jpg
думаю, в будущем надо бы разделить их по комнатам (может быть, и по участникам).
наверное, лучше всё-таки сделать отдельную директорию...
-
думаю, в будущем надо бы разделить их по комнатам (может быть, и по участникам).
наверное, лучше всё-таки сделать отдельную директорию...
при таком варианте, картинка должна показываться в любом случае, если нет видеосигнала (аля чёрного экрана быть не должно)
-
Единственное исключение, которое я обнаружил - это CentOS-6 - на этом дистре дополнительно ограничено количество MaxProcesses для всех, кроме root-а. Настраивается здесь:
/etc/security/limits.d/90-nproc.conf
Но в данном случае, в этом файле, максимально для root или для mcu
Max processes 5897 5897 processes
Ну у меня только так
но если запускать от рута и исправлять это в
/etc/default/openmcu-ru
то потом все значения именно те, которые указал, например:
Max processes 1048576 1048576 processes
Max open files 1048576 1048576 files
-
привет, будет ли поддержка сборки ITU-T G.729(A (http://openmcu.ru/forum/index.php?topic=442.msg8904#msg8904)) скриптом ?
Хочется попробовать
-
есть предложение добавить в скрипт 2 команды, пред сборкой пакета
Переименовать файл /etc/openmcu-ru/web_stream_start в web_stream_start.txt
В скрипт добавить новый, и скопировать его вместо старого
или команду отредактировать старый файл, так как он всё равно не работает
-
Версия 2013-12-22:
* Debian Sqeeze - софия из репозитория более не используется (устаревшая версия, уже дважды приводившая к проблемам)
-
Версия 2014-01-04:
* Поддержка Fedora 20
-
rayanAyar - а чё не прокомментируешь это (http://openmcu.ru/forum/index.php/topic,353.msg9263.html#msg9263) предложение
-
Жестко прописывать путь нельзя. Он может изменяться. Жестко прописать путь - это сделать то же самое что и сейчас, только с другим путём. :)
Допиливать под автоматическое изменение пути в скрипте пока не хочу. Это многое не изменит. Как был скрипт, работа которого понятна единицам, так и останется.
-
Версия 2014-01-05:
* Поддержка сборки пакетов на OpenSUSE
Работает пока немного криво. Служба стартует, но остановить её init-скриптом не получается. Не разобрался ещё с systemd. Оставил пока так, может кто подскажет, или попозже ещё поковыряю.
-
Версия 2014-01-05+1:
* Поддержка OpenSUSE 13
В 13-ой Сусе тоже битая софия.
-
Я вот ещё думаю, иногда, как замутить, что бы можно было использовать 80 порт без запуска от root
Apache ведь использует, хотя web сервер запускается вроде от обычного пользователя
Правильным подходом будет запустить службу от имени root и передать её под управление учетной записи обычного пользователя или специальной учетной записи для данной службы.
Что скажете, может можно это замутить ?
-
Предлагаю в скрипт добавить поддержку возможности включить перенаправление порта на 80
# Enable port forwarding 80
# iptables -A PREROUTING -t nat -i eth0 -p tcp --dport 80 -j REDIRECT --to-port 1420
Кому то приятнее набрать в браузере только имя хоста
Что скажете ?
-
Это очень частный случай. В скрипте это ни к чему. К тому же это не во всех дистрах может работать.
-
Почему бы тогда не подумать над
Правильным подходом будет запустить службу от имени root и передать её под управление учетной записи обычного пользователя или специальной учетной записи для данной службы.
решать вам
-
Это очень частный случай. В скрипте это ни к чему. К тому же это не во всех дистрах может работать.
если не делать так по умолчанию - почему нет?
хотя мне тоже кажется, что на этот раз palexa хочет странного :) мне кажется, что чем меньше народа будет иметь возможность попасть в админку openmcu случайно, тем лучше.
но с другой стороны:
1) в оригинальном проекте порт 1420 использовался для защищённого соединения. xak сейчас попытался это вернуть, но, насколько я понял, только с новым ptlib? в любом случае по умолчанию мы имеем HTTP, а не HTTPS, а для HTTP всегда уместно настроить порт 80;
2) если в оригинальном проекте веб-интерфейс практически бесполезен и в большинстве случаев нет разницы, на каком порту он работает, то в OpenMCU-ru веб-интерфейсу отводится очень большая роль, возможно, для каких-то пользователей было бы удобнее с ним работать, если бы не требовалось указывать в адресе :1420.
и с третьей стороны :) меня удивляет, что не из-под рута нельзя занять 80-й порт.
надо бы действительно подсмотреть, как апач это делает, ведь делает же...
если удастся подсмотреть - можно будет для конфигуратора добавить опцию, позволяющую задать порт.
-
Я вот затупил однажды, я в адресной строке IE написал ip:1420 и удивлённо смотрел на монитор, где было написано что страница недоступна
Потому что при использовании другого порта, в IE обязательно писать протокол http://ip:1420
-
если не делать так по умолчанию - почему нет?
хотя мне тоже кажется, что на этот раз palexa хочет странного :) мне кажется, что чем меньше народа будет иметь возможность попасть в админку openmcu случайно, тем лучше.
Это не то чтобы странное - это очень редкий частный случай. Я не вижу никаких трудностей в том, чтобы создать закладку в браузере на страницу управления OpenMCU-ru сразу с указанием порта. У меня давно так сделано. Если у palexa на "той стороне" сидят операторы не умеющие пользоваться закладками в браузере - то это не странно, это частный редкий случай. :)
И ради этого случая вводить "странную и непонятную" (имею в виду iptables) настройку в "/etc/default/openmcu-ru" мне не хочется. При этом эта настройка ещё и работать будет не везде.
а для HTTP всегда уместно настроить порт 80;
Не всегда. У меня на боевом серваке ещё апач крутится. 80 порт им занят.
если бы не требовалось указывать в адресе :1420.
Веб-интерфейсы на портах "не 80" - это обычное дело. Ничего плохого я в этом не вижу.
меня удивляет, что не из-под рута нельзя занять 80-й порт.
Это всегда было в nix.
надо бы действительно подсмотреть, как апач это делает, ведь делает же...
если удастся подсмотреть - можно будет для конфигуратора добавить опцию, позволяющую задать порт.
Дело не в конфигураторе. Насколько я знаю, апач (как и все подобные сервисы) сначала забирает себе порт, а потом скидывает полномочия (с root на www-data). В OpenMCU-ru теоретически можно сделать так же. Только вот OpenMCU-ru сам не может скинуть полномочия. У него ключик есть в командной строке для указания пользователя и группы, но у меня так и не получилось его заставить рабоать. В результате приходится использовать init-функции типа start-stop-daemon для запуска под непревилегированны м пользователем. А когда процесс OpenMCU-ru изначально запущен не из под root - то он конечно же порт ниже 1024 взять не сможет.
При желании можно конечно в этом поразбираться. Но приоритетность у этой проблемы, имхо, стремится к нулю. Есть более интересные задачи.
-
согласен, случай частный, но зачем лишать пользователей такой возможности
Не все же читают форум от "корки до корки"
По умолчанию конечно лучше сразу не занимать 80 порт и ущемлять права Apache на него
А как включить, можно написать в примечании на против пункта HTTP Port
-
В том-то и дело расписывать прийдется много.
Этот костылик (с iptables) подходит в твоём случае. Но он отнюдь не везде будет работать.
случай частный, но зачем лишать пользователей такой возможности
Так никто и не лишает ведь совсем. :)
Если кому-то очень хочется - можно в этом же файле настроить запуск из-под root-а.
Или iptables. Или редирект.
Варианты есть. Да - эти варианты не очень красивые.
Но, ещё раз повторюсь, что корректное решение данной "проблемы" (в кавычках ;) ) является в починке самосброса привелегий. Но, имхо, овчинка выделки не стоит. Так как востребованность под большим вопросом.
-
Извините за оффтоп, почему бы не написать все примечания на русском языке (с правой стороны), это же возможно, добавить те которых нет
Language - сразу поставить язык русский ( а не пустую строку)
-
Пустая строка - это автоопределение. Это более удобно.
Комментарии со временем переведем. Переводами занимаюсь по мере возможности.
-
Пустая строка - это автоопределение. Это более удобно.
Простите, не знал про автоопределение, может тогда - авто (avto)
-
Да ладно извиняться-то. :)
Как будто-то что-то старшное случилось. Появился вопрос - был получен ответ.
Если этот вопрос будет ещё раз - сделаем более детальную подсказу и добавим его в wiki. :)
-
может тогда - авто (avto)
Да, пожалуй это логичнее. Правильная мысль.
-
Да, пожалуй это логичнее. Правильная мысль.
Ура, жду + написал (http://openmcu.ru/forum/index.php/topic,587.msg10248.html#msg10248) немного по русски то что понял
Можно добавить
-
Версия 2014-01-22:
* Корректировка в связи с выносом libopus из состава OpenMCU-ru. В данный момент пока включена принудительная сборка libopus на всех дистрибутивах. Позже сделаю использование libopus из репозиториев где это доступно (проверил пока только на Ubuntu).
-
безуспешно пытаясь прилинковать fdk_aac к ffmpeg в mingw, случайно нашёл дискуссию, в ходе которой один человек раскритиковал дельное, на мой взгляд, предложение, попутно осветив особенности "внутренней безопасности" ffmpeg при работе с динамическими загружаемыми библиотеками:
I repeat, LoadLibrary searches the working directory (aka '.') by default.
чтобы решить проблемы с вызовом записи (если они ещё есть), получается, можно добавить [символические ссылки на] библиотеки в рабочую директорию '.' (?)
-
Какой-то мегакостыль имхо. Проще уж ffmpeg собирать c rpath.
-
наконец-то приступил к испытаниям :)
1. если, скрестив пальцы, запустить скрипт в голом дебиане (установленном с cd1.iso без desktop environment) без git и subversion (как это сделал я), работа скрипта почти сразу завершается с ошибкой (что-то типа: "требуется git и subversion"). тем не менее, папка src создаётся, она пустая и вызывает проблемы при следующем запуске скрипта, требует удаления вручную :)
2. очень не хватает определения количества ядер/процессоров (например, через "grep -c ^processor /proc/cpuinfo") и подставления параметра -j N или даже N*2 в команду make, как учил xak:
http://openmcu.ru/forum/index.php/topic,508.msg7842.html#msg7842
http://openmcu.ru/forum/index.php/topic,480.msg10174.html#msg10174
-
1. если, скрестив пальцы, запустить скрипт в голом дебиане (установленном с cd1.iso без desktop environment) без git и subversion (как это сделал я), работа скрипта почти сразу завершается с ошибкой (что-то типа: "требуется git и subversion")
УМВР. А какое полное сообщение об ошибке? Может репозитории не все включены?
Я проверяю на голых виртуалках. В том числе дебиан тоже без DE (кстати эта виртулка лежит в загрузках).
2. очень не хватает определения количества ядер/процессоров
Ок. Проверю как это работает на остальных дистрах. Если всё будет нормально - добавлю.
-
полное сообщение об ошибке? Может репозитории не все включены?
они вообще не были включены, только cdrom :( чистого снэпшота не осталось, если только заново ставить дебиан, это сообщение, оно очень нужно?)
-
А, ну с одним CD-ROM-ом конечно не получится. Наличие инета и основные репы необходимы для работы скрипта. Это относится ко всем дистрам.
-
А, ну с одним CD-ROM-ом конечно не получится. Наличие инета и основные репы необходимы для работы скрипта. Это относится ко всем дистрам.
ну вот... и ты думаешь, я один такой ламер, да? :)
-
первый раз запустил скрипт до этих действий (http://openmcu.ru/forum/index.php/topic,587.msg10793.html#msg10793), второй раз после.
-
ну вот... и ты думаешь, я один такой
В инструкции к скрипту сказано, что нужен инет. :)
И, собственно, сделать по другому всё равно никак нельзя. Если нет инета - то скрипт ничего сделать не сможет. git ведь на компашке нет, да и исходники не скачать.
-
В инструкции к скрипту сказано, что нужен инет.
интернет был, не были настррены репозитории для apt-get. установщик дебиана в начале установки спрашивал про них, но тогда я не знал, что это такое, и отказался.
-
не были настррены репозитории для apt-get
Но это ведь не относится к работе скрипта. Не получится предусмотреть все возможные варианты установки пользовательской системы. У пользователя вобще может быть смесь тестинга и Сида. И это его право (и головная боль :) ).
* У пользователя может быть какой-то производный дистрибутив, а не один из тех, на которых скрипт тестируется.
* У пользователя могут быть установлены какие-то пакеты, которые не позволят собрать OpenMCU-ru (работа скрипта не тестируется полностью со всей пакетной базой Debian).
* У пользователя может быть какая-то особенная конфигурация sudo, которая не позволит выполнить какие-то операции.
* Или например место может кончится в процессе работы скрипта.
Скрипт ведь не проверяет всё это. Ведь если бы пользователь собирал всё вручную без скрипта - у него так же могло бы кончиться место. А скрипт это всего лишь автоматизация сборки, а не система автоматической настройки и проверки операционной системы. :)
Поэтому я придерживаюсь мнения, что мы не должны учить пользователя основам работы в его операционной системе. Раз уж пользователь собрался вручную компилировать софт (при наличии готовых бинарных пакетов), то он должен обладать хотя бы минимальными знаниями об операционной системе (хотя бы о собственноручно настроенной операционной системе :) ). И если система говорит пользователю "не могу найти пакет git", то он должен самостоятельно справиться с этой "проблемой", а не уповать на скрипт в решении ошибок такого уровня.
Если кто-то не согласен - давайте обсуждать. Нужно тогда определиться с тем уровнем пользователя, для которого предназначен скрипт. Если мы считаем, что пользователь запускающий скрипт не знает как настроить репозитории, то нужно тогда много чего другого проверять. Лишние проверки в скрипте старался не делать, так как считал, что для совсем нулёвых юзеров проще поставить готовые пакеты. А для работы со скриптом я предполагаю более-менее средний уровень.
-
Поэтому я придерживаюсь мнения, что мы не должны учить пользователя основам работы в его операционной системе. Раз уж пользователь собрался вручную компилировать софт (при наличии готовых бинарных пакетов), то он должен обладать хотя бы минимальными знаниями об операционной системе (хотя бы о собственноручно настроенной операционной системе :) ). И если система говорит пользователю "не могу найти пакет git", то он должен самостоятельно справиться с этой "проблемой", а не уповать на скрипт в решении ошибок такого уровня.
Согласен, что скрипт всего лишь облегчает процесс сборки, и на мой взгляд со своей задачей справляется.
И понятно, что здесь на форуме ни кто не будет учить пользователя элементарным основам работы с той или иной ОС, для этого есть другие форумы и учебные материалы в инете.
А по поводу возникшей ситуации есть предложение:
В разделе "Документация" http://openmcu.ru/wiki/ru/install/src_linux#автоматическая-сборка-скриптом добавить инструкции по сборке скриптом для каждой ОС.
Например: для Debian (т.к. использую именно это ОС).
Для сборки необходимо отредактировать файл /etc/apt/sourcer.list, прописать такой то репозитарий после чего выполнить команду aptitude update, ну и т.д.
После прочтения инструкции пользователю уже будет понятно, что нужно сделать пред тем как запустить скрипт.
Ну вот наверное как то так.
-
Например: для Debian (т.к. использую именно это ОС).
Для сборки необходимо отредактировать файл /etc/apt/sourcer.list, прописать такой то репозитарий после чего выполнить команду aptitude update, ну и т.д.
Так это и есть "элементарные основы работы". :) Куда уж элементарнее настройки реп-то. Тем более стандартных реп.
Если мы описываем, как настроить репы, тогда нужно (на всякий случай) ещё рассказать как:
* создать директорию в консоли
* скачать архив со скриптом "внутрь" сервера без DE (описываем два способа - с помощью putty и с помощью sshfs).
* распаковать архив tar.gz
* дать разрешения на запуск файла (chmod)
Потому что если человек не знает как настроить репы, то скорее всего ничего из этого он тоже делает не умеет. И это конечно не полный список.
Поэтому я всегда подразумевал, что такие простые действия не должны быть в инструкциях.
Ну в крайнем случае, что касается именно репозиториев - можно добавить фразу в инструкцию "Для работы скрипта необходимы стандартные репозитории" (хотя, имхо, это и так очевидно). А уж как там пользователь включит стандартные репы - это его дело. Кто-то может на десктопе будет собирать пакет, и включит репы удостоверится что репы включены через gui-вую утилиту.
-
Ну вот смотрите обычная ситуация. kay27 работает с slackware для него это привычная ОС. Возникла необходимость установить Debian, чтобы повторить проблему обсуждаемую вот здесь http://openmcu.ru/forum/index.php/topic,587.75.html.
И итог такой, возникли проблемы при использовании скрипта, потому что в каждой ОС есть свои заморочки фенички и т.п.
Я же не говорю о том что надо подробно описывать каждый шаг, ну так в общих чертах т.е если пользователь имеет понятия работы в linux системах ему будет понятно что надо делать.
-
Ну вот смотрите обычная ситуация. kay27 работает с slackware для него это привычная ОС. Возникла необходимость установить Debian
Пример не совсем жизненный. Это скорее исключение. В большинстве случаев пользователь работает со своим дистрибутивом.
Я же не говорю о том что надо подробно описывать каждый шаг, ну так в общих чертах т.е если пользователь имеет понятия работы в linux системах ему будет понятно что надо делать.
Так что именно? :) Ещё раз подниму вопрос - для кого должна быть эта инструкция - "для нулёвых" или "для немного опытных"? От этого зависит что будет являться "общими чертами".
Вот например инструкция по сборке от авторов ffmpeg:
https://trac.ffmpeg.org/wiki/UbuntuCompilationGuide
Тут пользователей тоже не учат подключать репозитории - подразумевается, что пользователи сами знают как это делается. Просто сразу говорят какие пакеты ставить.
Их инструкция не рассчитана на нулёвых пользователей. По этому поводу там есть замечание:
Recent static builds are also available for lazy people or those who are unable to compile.
-
Ахахах :) я ведь немного не это имел в виду, понятно, что нужно сначала учиться работать с дистрибутивом)
Мне показалось, что в этой части не хватает одной вещи:
# ---------------- do_download ----------------
do_download ()
{
# создание директории для исходников
if [ -e "$DIR_SRC" ] ; then
echo
echo "$LNG_SOURCE_FOLDER ($DIR_SRC) $LNG_EXISTS."
echo "$LNG_MSG_NOT_DOWN."
read -p "$LNG_CONTINUE? (Y/n): "
if [ "$REPLY" = "n" ] || [ "$REPLY" = "N" ] ; then
exit 1
fi
return 0
fi
do_step "mkdir $DIR_SRC"
cd "$DIR_SRC"
Мне немного не хватило здесь варианта "удалить src и скачать заново".
Но это мой первый опыт взаимодействия со скриптом, поэтому написал просто как о впечатлении.
-
ешё, довольно долго пришлось искать сам скрипт...
Может, добавить его на главную страницу openmcu.ru?
-
Мне немного не хватило здесь варианта "удалить src и скачать заново".
А как это лучше оформить? Отдельной командой? Или тут ещё один вопрос пользователю задать с предложением перезакачать?
Я вобще обычно просто пишу "rm -r src". :)
ешё, довольно долго пришлось искать сам скрипт...
В вики про него достаточно подробно написано. И ссылка на загрузку скрипта есть.
Может, добавить его на главную страницу openmcu.ru?
Ну если считаешь нужным - можно и добавить. По мне так это не самая нужная вещь. Как-никак сборка вручную - это скорее исключение из правил. Обычно пользователи ставят готовые бинарники.
Кстати, если сделать как я тут предлагал (http://openmcu.ru/forum/index.php/topic,423.msg10205.html#msg10205), то было бы проще "найти" скрипт. Так как на страницах вики по установке бинарников есть ссылки на сборку вручную и наоборот.
-
как это лучше оформить?
может, так?
# создание директории для исходников
if [ -e "$DIR_SRC" ] ; then
echo
echo "$LNG_SOURCE_FOLDER ($DIR_SRC) $LNG_EXISTS."
echo "$LNG_MSG_NOT_DOWN."
- read -p "$LNG_CONTINUE? (Y/n): "
+ read -p "$LNG_CONTINUE_YES_NO_RM? (Y/n/r): "
if [ "$REPLY" = "n" ] || [ "$REPLY" = "N" ] ; then
exit 1
fi
+ if [ "$REPLY" = "r" ] || [ "$REPLY" = "R" ] ; then
+ do_step "rm -R $DIR_SRC"
+ fi
return 0
fi
do_step "mkdir $DIR_SRC"
cd "$DIR_SRC"
LNG_LIB_PREFIX="Префикс для сборки библиотек"
LNG_MSG_NOT_DOWN="Исходные коды выкачиваться не будут"
LNG_CONTINUE="Продолжить"
+LNG_CONTINUE_YES_NO_RM="Продолжить так или удалить и перекачать"
LNG_EXISTS="уже существует"
LNG_PKG_NOT_INSTALL="Не установлены необходимые пакеты"
LNG_DOWN_SUCCESS="Загрузка компонентов прошла успешно"
LNG_LIB_PREFIX="Library build prefix"
LNG_MSG_NOT_DOWN="Source will not be downloaded"
LNG_CONTINUE="Continue"
+LNG_CONTINUE_YES_NO_RM="Continue or remove and download again"
LNG_EXISTS="already exists"
LNG_PKG_NOT_INSTALL="Necessary packages are not installed"
LNG_DOWN_SUCCESS="Components was downloaded successfully"
-
В одном вопросе... Хорошая идея. Добавлю.
-
Версия 2014-05-03. Кардинальных изменений нет. Корректировка скрипта под последние изменения.
-
Версия 2014-05-04:
* поддержка AltLinux p7
-
Скрипт для сборки новой версии будет ?
-
Версия 2014-05-20 beta:
*изменения под новую структуру каталогов
*возможность не удалять файлы конфигурации при деинсталляции.
Это бета версия так, что если есть ошибки - отписываемся.
У меня нет доступа к файловому хранилищу, поэтому перекиньте кто-нибудь.
-
Выложил
-
*изменения под новую структуру каталогов
Закинул в загрузки.
Посмотрел мельком, еще не проверял.
-
vol4enok,
на centos6 собирается. Обнаружил:
1. к "--prefix" конфигуратор сам добавляет "openmcu-ru", т.е. если указать например "--prefix /usr" итоговый будет "/usr/openmcu-ru", сделано было как раз для этого случая, а библиотеки в комлекте сейчас не только ptlib/h323plus. Таким образом "/opt/openmcu-ru" будет "/opt/openmcu-ru/openmcu-ru"
2. sofia-sip, opus, libyuv есть в папке libs, а скрипт скачивает и собирает.
-
Ок, поправлю.
-
vol4enok,
на centos6 собирается. Обнаружил:
1. к "--prefix" конфигуратор сам добавляет "openmcu-ru", т.е. если указать например "--prefix /usr" итоговый будет "/usr/openmcu-ru", сделано было как раз для этого случая, а библиотеки в комлекте сейчас не только ptlib/h323plus. Таким образом "/opt/openmcu-ru" будет "/opt/openmcu-ru/openmcu-ru"
2. sofia-sip, opus, libyuv есть в папке libs, а скрипт скачивает и собирает.
Версия Версия 2014-05-20-1 beta:
*1,2 - Исправлено
-
2. sofia-sip, opus, libyuv есть в папке libs, а скрипт скачивает и собирает.
http://openmcu.ru/forum/index.php/topic,726.0.html
-
CentOS-5.9
RPM собрался, но при установке, служба не запускается
Решил в ручную
openmcu-ru-wrapper
нашёл здесь
/opt/openmcu-ru/openmcu-ru/bin
Что с сервисом делать ?
-
/opt/openmcu-ru/openmcu-ru/bin
Ты собрал устаревшей версией скрипта.
vol4enok,
на centos6 собирается. Обнаружил:
1. к "--prefix" конфигуратор сам добавляет "openmcu-ru", т.е. если указать например "--prefix /usr" итоговый будет "/usr/openmcu-ru", сделано было как раз для этого случая, а библиотеки в комлекте сейчас не только ptlib/h323plus. Таким образом "/opt/openmcu-ru" будет "/opt/openmcu-ru/openmcu-ru"
2. sofia-sip, opus, libyuv есть в папке libs, а скрипт скачивает и собирает.
Версия Версия 2014-05-20-1 beta :
*1,2 - Исправлено
Скачай в загрузках скрипт 2014-05-20-1 и собери еще раз.
Я проверял, все нормально, путь /opt/openmcu-ru/bin/openmcu-ru-wrapper
-
Так я и скачал
openmcu-ru-oci_3.49-beta_2014-05-20_1.tar.gz
-
Скачай в загрузках скрипт 2014-05-20-1 и собери еще раз.
Я проверял, все нормально, путь /opt/openmcu-ru/bin/openmcu-ru-wrapper
Уважил Ваше замечание, и напрасно
Скачал повторно
и
CentOS-5.9
/opt/openmcu-ru/openmcu-ru/bin/openmcu-ru-wrapper
Служба естественно не запускается
-
Уважил Ваше замечание, и напрасно
Скачал повторно
и
CentOS-5.9
/opt/openmcu-ru/openmcu-ru/bin/openmcu-ru-wrapper
Служба естественно не запускается
Перезалил. Версия openmcu-ru-oci_3.49-beta_2014-05-20_2
-
Перезалил. Версия openmcu-ru-oci_3.49-beta_2014-05-20_2
RPM пакет не собирается
И папки не на своём месте
/opt/bin/
/opt/include/
/opt/lib/
/opt/share/
/opt/openmcu-ru/bin/
/opt/openmcu-ru/font/
/opt/openmcu-ru/lib/
/opt/openmcu-ru/resource/
/opt/openmcu-ru/ssl/
Сборка и установка всех компонентов прошла успешно.
Для запуска OpenMCU-ru перейдите в каталог и выполните команду:
/opt/bin/openmcu-ru(-wrapper) -x
А файл здесь
/opt/openmcu-ru/bin/openmcu-ru-wrapper
-
RPM пакет не собирается
И папки не на своём месте
/opt/bin/
/opt/include/
/opt/lib/
/opt/share/
/opt/openmcu-ru/bin/
/opt/openmcu-ru/font/
/opt/openmcu-ru/lib/
/opt/openmcu-ru/resource/
/opt/openmcu-ru/ssl/
Сборка и установка всех компонентов прошла успешно.
Для запуска OpenMCU-ru перейдите в каталог и выполните команду:
/opt/bin/openmcu-ru(-wrapper) -x
А файл здесь
/opt/openmcu-ru/bin/openmcu-ru-wrapper
Да ты прав. Вроде исправил. DEB собирается
Версия openmcu-ru-oci_3.49-beta_2014-05-21
*Исправлена структура каталогов при сборке пакетов
-
jpeg -lyuv -lsofia-sip-ua -lswresample -lpthread -lssl -lcrypto -lresolv -ldl
/usr/bin/ld: cannot find -lzrtp
collect2: выполнение ld завершилось с кодом возврата 1
make[1]: *** [obj/openmcu-ru] Ошибка 1
make[1]: Leaving directory `/root/openmcu-ru-oci_3.49-beta/build/openmcu-ru/openmcu-ru'
make: *** [all] Ошибка 2
----------------------------------------------------------------
2014-05-21+16-34-36 Команда: cd /root/openmcu-ru-oci_3.49-beta/build/openmcu-ru/ && export OPTCCFLAGS=-I/opt/include && export LDFLAGS=-L/opt/lib && export LD_LIBRARY_PATH=/opt/lib && make clean && make && make install
завершена с ошибкой.
EXIT CODE: 2
Устраните причины ошибки и повторите еще раз..
[root@localhost openmcu-ru-oci_3.49-beta]#
И АПЯТЬ папки не на своём месте
/opt/bin/
/opt/include/
/opt/lib/
/opt/share/
-
jpeg -lyuv -lsofia-sip-ua -lswresample -lpthread -lssl -lcrypto -lresolv -ldl
/usr/bin/ld: cannot find -lzrtp
исправил f6a373034c
-
исправил f6a373034c
Это спасибо, но скрипт папки же не туда засунул, значит и скрипт надо править
-
RPM пакет не собирается
И папки не на своём месте
/opt/bin/
/opt/include/
/opt/lib/
/opt/share/
/opt/openmcu-ru/bin/
/opt/openmcu-ru/font/
/opt/openmcu-ru/lib/
/opt/openmcu-ru/resource/
/opt/openmcu-ru/ssl/
CentOS-5.9
Ничего не поменялось
2014-05-21+19-21-18 Команда: ldconfig
завершена успешно.
Сборка и установка всех компонентов прошла успешно.
Для запуска OpenMCU-ru перейдите в каталог и выполните команду:
/opt/bin/openmcu-ru(-wrapper) -x
Сборка rpm-пакета...
Пакет не собран
Общее время выполнения: 3147 s
[root@openmcu openmcu-ru-oci_3.49-beta]#
RPM так и не собирается
[root@openmcu bin]# cd /opt/openmcu-ru/bin
[root@openmcu bin]# ./openmcu-ru-wrapper -x
/opt/openmcu-ru/bin/openmcu-ru: error while loading shared libraries: libswresample.so.0: cannot open shared object file: No such file or directory
[root@openmcu bin]#
Но файл именно там
-
Проблему решил с CentOS 5. Пакет собирается и устанавливается. Сейчас сделаю контрольный прогон и выложу.
-
По идее, сборку RedHat-based RPM надо проверять на CentOS-5, CentOS-6, Fedora-19(или 20). У них есть небольшие отличия в сборке RPM.
-
Я пока для Алексея делаю. Затем проверю и остальные ОС.
-
Версия openmcu-ru-oci_3.49-alfa_2014-05-22
*Устранена проблема сборки пакета RPM на CentOS 5
Тестировалось только Ubuntu 12, Debian 7, CentOS 5. Поэтому пока alfa версия.
У кого есть возможность протестировать остальные дистры - попробуйте. Я тоже буду по возможности проверять.
-
Тестировалось только Ubuntu 12, Debian 7, CentOS 5. Поэтому пока alfa версия.
CentOS-5.9
Собираю комит = 66716ac6fe694e6cbd 83fe09cbc5e7c8b7d8 f52d
Сборка и установка всех компонентов прошла успешно.
Для запуска OpenMCU-ru перейдите в каталог и выполните команду:
/opt/bin/openmcu-ru(-wrapper) -x
Думаю должно быть (потому что такой папки нет и быть не должно)
/opt/openmcu-ru/bin/openmcu-ru(-wrapper) -x
Сборка rpm-пакета...
Собран пакет: openmcu-ru-3.49.1.664-el5.i386
Общее время выполнения: 3176 s
Пробую запустить после выполнения скипта и, облом
[root@openmcu openmcu-ru-oci_3.49-alfa]# cd /opt/openmcu-ru/bin
[root@openmcu bin]# ./openmcu-ru-wrapper -x
/opt/openmcu-ru/bin/openmcu-ru: error while loading shared libraries: libswresample.so.0: cannot open shared object file: No such file or directory
[root@openmcu bin]#
В папке /opt/openmcu-ru/bin только 2 файла
openmcu-ru
openmcu-ru-wrapper
??? :o
RPM пакет естественно тоже не запускается :(
-
очень странно. Я собирал на чистой centos 5.9. все собирается хорошо. Ставил пакет - тоже ставится и запускается. Selinux отключен точно? Завтра с утра еще раз проверю с нуля.
-
Решил повторить подвиг, но жаль не помогла
На минимальную CentOS-5.9 поставлены все нужные пакет ( виртуалка, что бы постоянно их не качать)
yum install perl-Error apr neon postgresql-libs apr-util perl-TermReadKey perl-URI subversion perl-Git git glibc-common zlib-devel kernel-headers libstdc++-devel libjpeg-devel kernel-devel glibc popt imake pkgconfig cpp xz-libs xz elfutils-libs elfutils flex nscd bison autoconf glibc-headers glibc-devel automake freetype-devel gcc gcc-c++ rpm-libs rpm rpm-python rpm-build openssl-devel libtool -y
Если бы чего то не хватало бы, скрипт бы запросил установить
Ситуация повторяется
----------------------------------------------------------------
2014-05-22+23-54-44 Команда: ldconfig
завершена успешно.
cp: пропуск каталога `/opt/bin'
cp: пропуск каталога `/opt/lib'
cp: пропуск каталога `/opt/share'
cp: пропуск каталога `/opt/include'
Сборка и установка всех компонентов прошла успешно.
Для запуска OpenMCU-ru перейдите в каталог и выполните команду:
/opt/bin/openmcu-ru(-wrapper) -x
Сборка rpm-пакета...
Собран пакет: openmcu-ru-3.49.1.665-el5.i386
Общее время выполнения: 2937 s
[root@openmcu openmcu-ru-oci_3.49-alfa]#
И нтересно куда делись все файлы из
/opt/openmcu-ru/bin
-
Не надо устанавливать ни какие пакеты. Скрипт все поставит сам. И еще заметил странное поведение: он не все пакеты устанавливает с первого раза. Надо сделать uninstall и затем еще раз install. Он еще доустановит пакеты и соберет. С этим буду разбираться.
-
Нашел косяк. Сейчас все вроде нормально.
Версия openmcu-ru-oci_3.49-alfa_2014-05-23
-
Чёт я не пойму,
Запустил скрипт на минимальной CentOS-5.9
openmcu-ru-oci_3.49-alfa_2014-05-23.tar.gz
Сборка и установка всех компонентов прошла успешно.
Для запуска OpenMCU-ru перейдите в каталог и выполните команду:
/opt/bin/openmcu-ru(-wrapper) -x
Путь указан неправильно
При запуске, облом
G.726-16k{sw}
error: must specify one of -v, -h, -t, -k, -d or -x
usage: [-c] -v|-d|-h|-x
-h --help output this help message and exit
-v --version display version information and exit
-d --daemon run as a daemon
-u --uid uid set user id to run as
-g --gid gid set group id to run as
-p --pid-file name or directory for pid file
-t --terminate orderly terminate process in pid file
-k --kill preemptively kill process in pid file
-s --status check to see if daemon is running
-c --console output messages to stdout rather than syslog
-l --log-file file output messages to file or directory instead of syslog
-x --execute execute as a normal program
-i --ini-file set the ini file to use, may be explicit file or
a ':' separated set of directories to search.
-H --handlemax n set maximum number of file handles (set before uid/gid)
-C --core-size set the maximum core file size
[root@localhost bin]#
Дъявольский коммит собрался
Сборка rpm-пакета...
Собран пакет: openmcu-ru-3.49.1.666-el5.i386
И к моему удивлению запустился
-
/opt/bin/openmcu-ru(-wrapper) -x
Путь указан неправильно
При запуске, облом
Это просто скрипт не верно инфу пишет. На самом деле путь /opt/openmcu-ru/bin/openmcu-ru(-wrapper) -x.
-
И к моему удивлению запустился
Как работает проверить пока не могу
-
Это просто скрипт не верно инфу пишет. На самом деле путь /opt/openmcu-ru/bin/openmcu-ru(-wrapper) -x.
Это я понял,
только вот почему ошибка при запуске собранного OpenMCU
-
Версия openmcu-ru-oci_3.49-alfa_2014-05-23_1:
* Исправлено информирование о пути запуска в конце работы скрипта.
* Протестирована сборка на Fedora 20
-
Это я понял,
только вот почему ошибка при запуске собранного OpenMCU
скорее всего ключ не верный указал. Судя по логу MCU не понял ключ
error: must specify one of -v, -h, -t, -k, -d or -x
usage: [-c] -v|-d|-h|-x
-
скорее всего ключ не верный указал. Судя по логу MCU не понял ключ
Точно, я его забыл указать, жарко :)
-
;D
-
Собрался, пакет
Запустил
но в настройках не порядок
Path to ffmpeg = /opt/bin/ffmpeg
Надо ручками менять на
Path to ffmpeg = /opt/openmcu-ru/bin/ffmpeg
-
но в настройках не порядок
Path to ffmpeg = /opt/bin/ffmpeg
Надо ручками менять на
Path to ffmpeg = /opt/openmcu-ru/bin/ffmpeg
Может можно исправить ? точнее нужно :)
-
Может можно исправить ? точнее нужно :)
Вообще то это я к тому, что тот кто первый раз сейчас будет собирать скриптом возможно не догадается указать там правильный путь к ffmpeg
-
Поправим. Времени не хватает. :(
-
Скрипт 3.49 beta на CENTOS 32Бита дает ошибку(alfa вроде то же самое)
[CC] ./silkSrc/SKP_Silk_tables_NLSF_CB1_10.c
[CC] ./silkSrc/SKP_Silk_tables_NLSF_CB1_16.c
[CC] ./silkSrc/SKP_Silk_tables_gain.c
[CC] ./silkSrc/SKP_Silk_tables_other.c
[CC] ./silkSrc/SKP_Silk_tables_pitch_lag.c
[CC] ./silkSrc/SKP_Silk_tables_pulses_per_block.c
[CC] ./silkSrc/SKP_Silk_tables_sign.c
[CC] ./silkSrc/SKP_Silk_tables_type_offset.c
[CC] ./silkSrc/SKP_Silk_warped_autocorrelation_FIX.c
[LD] ./silk_b40_audio_pwplugin.so
make[1]: Leaving directory `/usr/src/openmcu/openmcu-ru-oci_3.49-beta/build/openmcu-ru/plugins/SILK_B40'
make[1]: Entering directory `/usr/src/openmcu/openmcu-ru-oci_3.49-beta/build/openmcu-ru/plugins/Speex'
g++ -fPIC -D__STDC_CONSTANT_MACROS -D USE_KISS_FFT=1 -D EXPORT= -D FIXED_POINT=1 -g -Os -c speexcodec.cxx -o obj/speexcodec.o
speexcodec.cxx: In member function ‘virtual bool Encoder::Transcode(const void*, unsigned int&, void*, unsigned int&, unsigned int&)’:
speexcodec.cxx:174: ошибка: нет декларации ‘spx_int16_t’ в этой области видимости
speexcodec.cxx:174: ошибка: expected primary-expression before ‘)’ token
speexcodec.cxx: In member function ‘virtual bool Decoder::Transcode(const void*, unsigned int&, void*, unsigned int&, unsigned int&)’:
speexcodec.cxx:236: ошибка: нет декларации ‘spx_int16_t’ в этой области видимости
speexcodec.cxx:236: ошибка: expected primary-expression before ‘)’ token
speexcodec.cxx:239: ошибка: нет декларации ‘spx_int16_t’ в этой области видимости
speexcodec.cxx:239: ошибка: expected primary-expression before ‘)’ token
make[1]: *** [obj/speexcodec.o] Ошибка 1
make[1]: Leaving directory `/usr/src/openmcu/openmcu-ru-oci_3.49-beta/build/openmcu-ru/plugins/Speex'
make: *** [all] Ошибка 2
----------------------------------------------------------------
2014-06-04+17-20-02 Команда: cd /usr/src/openmcu/openmcu-ru-oci_3.49-beta/build/openmcu-ru/ && export OPTCCFLAGS=-I/opt/openmcu-ru/include && export LDFLAGS=-L/opt/openmcu-ru/lib && export LD_LIBRARY_PATH=/opt/openmcu-ru/lib && make clean && make && make install
завершена с ошибкой.
EXIT CODE: 2
-
beta версия для сборки коммитов до слияния с freemcu. Для текущей master ветки используйте openmcu-ru-oci_3.49-alfa_2014-05-23_1.tar.gz
-
И какая версия CENTOS ? Тестировалось на 5.9 32bit с минимальной установкой. все собиралось нормально с "0"
-
Версия openmcu-ru-oci_3.49-beta_2014-06-05
*Исправлены пути сборки.
*Иправлен путь к ffmpeg для CentOS, Fedora
Скрипт переходит в beta версию.
Протестировано на CentOS 5.10 (x32 и x64), Fedora 20, Debian 7.3
-
И какая версия CENTOS ? Тестировалось на 5.9 32bit с минимальной установкой. все собиралось нормально с "0"
Linux version 2.6.18-371.4.1.el5 (mockbuild@builder17.centos.org) (gcc version 4.1.2 20080704 (Red Hat 4.1.2-54)) #1 SMP Thu Jan 30 06:09:24 EST 2014
CentOS release 5.10 (Final)
32
Но там библиотеки для asteriska и Kamailio болтаются (периодически запускаю их)(silk Для астериска вроде точно есть..)
-
Пробуйте последнюю версию скрипта.
Версия openmcu-ru-oci_3.49-beta_2014-06-05
*Исправлены пути сборки.
*Иправлен путь к ffmpeg для CentOS, Fedora
Скрипт переходит в beta версию.
Протестировано на CentOS 5.10 (x32 и x64), Fedora 20, Debian 7.3
-
Та же
х.. фигня
[CC] ./silkSrc/SKP_Silk_warped_autocorrelation_FIX.c
[LD] ./silk_b40_audio_pwplugin.so
make[1]: Leaving directory `/usr/src/openmcu/openmcu-ru-oci_3.49-beta/build/openmcu-ru/plugins/SILK_B40'
make[1]: Entering directory `/usr/src/openmcu/openmcu-ru-oci_3.49-beta/build/openmcu-ru/plugins/Speex'
g++ -fPIC -D__STDC_CONSTANT_MACROS -D USE_KISS_FFT=1 -D EXPORT= -D FIXED_POINT=1 -g -Os -c speexcodec.cxx -o obj/speexcodec.o
speexcodec.cxx: In member function ‘virtual bool Encoder::Transcode(const void*, unsigned int&, void*, unsigned int&, unsigned int&)’:
speexcodec.cxx:174: ошибка: нет декларации ‘spx_int16_t’ в этой области видимости
speexcodec.cxx:174: ошибка: expected primary-expression before ‘)’ token
speexcodec.cxx: In member function ‘virtual bool Decoder::Transcode(const void*, unsigned int&, void*, unsigned int&, unsigned int&)’:
speexcodec.cxx:236: ошибка: нет декларации ‘spx_int16_t’ в этой области видимости
speexcodec.cxx:236: ошибка: expected primary-expression before ‘)’ token
speexcodec.cxx:239: ошибка: нет декларации ‘spx_int16_t’ в этой области видимости
speexcodec.cxx:239: ошибка: expected primary-expression before ‘)’ token
make[1]: *** [obj/speexcodec.o] Ошибка 1
make[1]: Leaving directory `/usr/src/openmcu/openmcu-ru-oci_3.49-beta/build/openmcu-ru/plugins/Speex'
make: *** [all] Ошибка 2
----------------------------------------------------------------
2014-06-05+14-14-28 Команда: cd /usr/src/openmcu/openmcu-ru-oci_3.49-beta/build/openmcu-ru/ && export OPTCCFLAGS=-I/opt/include && export LDFLAGS=-L/opt/openmcu-ru/lib && export LD_LIBRARY_PATH=/opt/openmcu-ru/lib && make clean && make && make install
завершена с ошибкой.
EXIT CODE: 2
Это типа боевой серверок старенький
Сейчас на виртуалке под последню CentOS 64 бита буду собирать и тестировать
-
Это последняя (http://openmcu.ru/public/OpenMCU-ru/build_script/openmcu-ru-oci_3.49-beta_2014-06-05.tar.gz), там две beta
-
[quote author=MIks link=topic=353.msg11738#msg11738 date=1401963712]
g++ -fPIC -D__STDC_CONSTANT_MACROS -D USE_KISS_FFT=1 -D EXPORT= -D FIXED_POINT=1 -g -Os -c speexcodec.cxx -o obj/speexcodec.o
speexcodec.cxx: In member function ‘virtual bool Encoder::Transcode(const void*, unsigned int&, void*, unsigned int&, unsigned int&)’:
[/quote]
Speex установлен уже в системе ? из пакета или из исходников ?
Что в файле /usr/src/openmcu/openmcu-ru-oci_3.49-beta/build/openmcu-ru/plugins/Speex/Makefile ?
-
Speex установлен уже в системе ? из пакета или из исходников ?
Что в файле /usr/src/openmcu/openmcu-ru-oci_3.49-beta/build/openmcu-ru/plugins/Speex/Makefile ?
Да установлен. Если честно то не знаю откуда((. Скорее всего с системой(FreePBX) соответственно из пакета хотя не уверен что она там есть по умолчанию т.к. потом собирал там разные астериски без нее.
Стоял OPENMCU сборка скрипта 3.46 но там все работало
-
vol4enok,
чуть не забыл, чтобы запись работала с кодеками x264 и vpx, в скрипте надо добавить к конфигуратору ffmpeg - "--enable-libx264 --enable-libvpx --enable-gpl".
-
Поправили, но еще не выложили. Там были проблемы со сборкой на debian и Ubuntu.Идет тестирование на остальных дистрах. После проверок все будет выложено.
А когда будет для сборки последней версии ? ( CentOS-5 )
-
На данный момент есть проблема сборки ffmpeg именно под centos5. Как только исправим и проверим остальные дистры, сразу выложу
-
Версия openmcu-ru-oci_3.49-beta_2014-07-31
*Корректировка скрипта под последние изменения проекта.
*Иправлена сборка ffmpeg с поддержкой записи libvpx и libh264 на Centos и Fedora.
Протестировано на CentOS 5.10 (x32 и x64), CentOS 6.5 (x32 и x64), Fedora 20 (x32), Debian 7.3 (x32).
Тесты и сборки на других дистрибутивах продолжаются, связи с этим пока бета версия.
-
Протестирована сборка на Ubuntu 12.04 (x32 и x64)
Версия скрипта та же.
-
На Ubuntu 14.04.1
./openmcu-oci install
Данный дистрибутив не поддерживается.
-
На Ubuntu 14.04.1
./openmcu-oci install
Данный дистрибутив не поддерживается.
x64?
-
Да, x64.
-
Ubuntu 14.04 x64 пишет не поддерживается
-
Подскажите плиз, как правильно отредактировать скрипт, что бы собрать конкретный номер коммита (т.е. не последний)
-
Подскажите плиз, как правильно отредактировать скрипт, что бы собрать конкретный номер коммита (т.е. не последний)
Если я правильно понял, то в файле openmcu-oci.ini указать номер, например вместо
OPENMCURU_BRANCH="master"
указть
OPENMCURU_BRANCH="6d8a1121124f946af8 71d330a737b388521c 4a43"
Тогда будет сборка v3.49.16
Но есть проблемка, при сборке пакета будет указан номер коммита последней версии что есть в master, например 974 а реально это вроде 943
Как с этим быть ? ( если конечно во время сборки, ручками не править файл /openmcu-ru-oci_3.49-beta/build/version )
-
Да, все верно. так и получается. Поправлю.
-
make[1]: *** [obj/conference.o] Ошибка 1
make[1]: Выход из каталога `/home/operatorvks/Загрузки/openmcu-ru-oci_3.49-beta/build/openmcu-ru/openmcu-ru'
make: *** [all] Ошибка 2
2014-12-01+08-59-56 Команда: cd /home/operatorvks/Загрузки/openmcu-ru-oci_3.49-beta/build/openmcu-ru/ && export OPTCCFLAGS=-I/opt/include && export LDFLAGS=-L/opt/lib && export LD_LIBRARY_PATH=/opt/lib && make clean && make && make install
завершена с ошибкой.
EXIT CODE: 2
пробовал на 2 машинах - не собирает
-
Какая ОС? Версия. И сама ошибка не видна. Надо больше информации
-
Ubuntu 12.04.
вот кусок перед ошибкой, использую скрипт автосборки
make[2]: Вход в каталог `/home/operatorvks/Загрузки/openmcu-ru-oci_3.49-beta/build/openmcu-ru/plugins/G722.1/libg722_1'
make[2]: Цель `all-am' не требует выполнения команд.
make[2]: Выход из каталога `/home/operatorvks/Загрузки/openmcu-ru-oci_3.49-beta/build/openmcu-ru/plugins/G722.1/libg722_1'
make[1]: Выход из каталога `/home/operatorvks/Загрузки/openmcu-ru-oci_3.49-beta/build/openmcu-ru/plugins/G722.1/libg722_1'
(make -C openmcu-ru ) || exit $?
make[1]: Вход в каталог `/home/operatorvks/Загрузки/openmcu-ru-oci_3.49-beta/build/openmcu-ru/openmcu-ru'
[CC] obj/main.o
[CC] obj/video.o
[CC] obj/conference.o
conference.cxx: В функции-члене «virtual void ConferenceAudioCon nection::ReadAudio(ConferenceMember*, BYTE*, int, int, int)»:
conference.cxx:1991:29: ошибка: cast from «ConferenceMemberId {aka void*}» to «int» loses precision [-fpermissive]
../libs/ptlib/include/ptlib/videoio.h: At global scope:
../libs/ptlib/include/ptlib/videoio.h:1168:1: предупреждение: «PPlugin_PVideoInputDevice_FakeVideo_loader» определена, но нигде не используется [-Wunused-variable]
../libs/ptlib/include/ptlib/videoio.h:1179:1: предупреждение: «PPlugin_PVideoInputDevice_YUVFile_loader» определена, но нигде не используется [-Wunused-variable]
make[1]: *** [obj/conference.o] Ошибка 1
make[1]: Выход из каталога `/home/operatorvks/Загрузки/openmcu-ru-oci_3.49-beta/build/openmcu-ru/openmcu-ru'
make: *** [all] Ошибка 2
----------------------------------------------------------------
2014-12-01+11-21-45 Команда: cd /home/operatorvks/Загрузки/openmcu-ru-oci_3.49-beta/build/openmcu-ru/ && export OPTCCFLAGS=-I/opt/include && export LDFLAGS=-L/opt/lib && export LD_LIBRARY_PATH=/opt/lib && make clean && make && make install
завершена с ошибкой.
EXIT CODE: 2
Устраните причины ошибки и повторите еще раз..
-
Необычный путь у флагов "/opt/include", "/opt/lib", может быть с этим связано.
-
я в скрипте ничего не менял, ставлю как есть, до этого ставилось без ошибок
Ошибка при команде ./openmcu-oci build
-
Ошибка при команде ./openmcu-oci build
На centos6 компилятор не говорит о ошибке, это не совсем ошибка, но не правильно сделано. Переделал, попробуйте собрать.
-
собралось - работает
-
Да, все верно. так и получается. Поправлю.
Жду, заранее спасибо
-
Когда то пробовал (http://openmcu.ru/forum/index.php/topic,353.msg5754.html#msg5754)
# Сборка ECG кодеков. Если BUILD_ECG="true", то будут собираться и устанавливаться
# кодеки ECG729, ECG728.
# Только для не коммерческого использования.
BUILD_ECG="false"
Может сможете пожалуйста подправить скрипт, что бы собирался ECG728,
ECG729 уже есть в стандартной сборке
Интересно, будет ли он работать с Поликом, потому что тот что есть у меня работает некорректно (http://openmcu.ru/forum/index.php/topic,714.msg12957.html#msg12957)
Но вот этот пост (http://openmcu.ru/forum/index.php/topic,441.msg5726.html#msg5726) меня смущает, может и не будет работать
-
Может сможете пожалуйста подправить скрипт, что бы собирался ECG728,
ECG729 уже есть в стандартной сборке
Там не EC* (Easy Codecs - imtelephone.com), там ITU-T (http://www.itu.int/rec/T-REC-G.729/e), который превратил в opal-плагин некто Николай Шмырев (вот этот (https://github.com/nshmyrev), возможно, точно не знаю). Это полноценный open source в духе проекта, в отличие от EC, хоть и медленный из-за медленно работающей неоптимизированной реализации ITU-T.
-
Deb-пакет не собирается
Сборка deb-пакета...
Пакет не собран
Общее время выполнения: 697 s
OpenMCU-ru REVISION 986c40a8a0412e30b0 41331ac692db0cad7b 165f
Program: OpenMCU-ru
Version: 3.49.28
-
какая ОС?
проверю
-
ubuntu 12.04
сегодня ставил - уже собирается
-
Странно, вроде бы ничего влияющего на сборку не делал.
Вообще, после недавних изменений, проблемы могут быть с системами уровня Centos5 и ниже, точнее GCC 4.1 и ниже. Хотя сомневаюсь, что кто то использует для OpenMCU-ru системы с GCC ниже 4.1 :)
Для Centos5_32 я исправил, другие пока не известно.
-
Я использую CentOS-5.9
Можно конечно перейти на 6.5 но тогда не будет сервера для теста, а так иногда ставлю на другой сервер для пробы
-
Поправьте,пожалуйста, скрипт на предмет установки(проверено на дефолтной убунте 12.04 x86 minimal system) необходимого пакета libswscale-dev. Обычный libswscale не поставится, т.к. по дефолту не найдет такого пакета, dev-версия ставится без проблем и это решает проблемы со сборкой.
-
Свежая Убунта 14.04.1
checking for openssl/ssl.h... no
configure: error: openssl headers not found!
отключил openssl и получил
checking checking if pragma implementation should be used... no
checking for /usr/include/srtp/srtp.h... no
checking for /usr/local/include/srtp/srtp.h... no
checking for freetype2/freetype/config/ftheader.h... no
checking for freetype2/config/ftheader.h... no
configure: error: freetype headers not found!
-
Обычный libswscale не поставится, т.к. по дефолту не найдет такого пакета, dev-версия ставится без проблем и это решает проблемы со сборкой.
Добавил для Ubuntu/Debian, но не уверен, что правильно.
Обновил скрипт.
Для deb-систем добавлен только swscale-dev.
Для rpm-систем изменена структура каталогов. За пределами /opt/openmcu-ru каталоги не используются, конфиг в /opt/openmcu-ru/config, запись в /opt/openmcu-ru/records и т.д..
Файл /etc/default/openmcu-ru теперь в /opt/openmcu-ru/daemon.conf. При переустановке пакета сохраняются папки config и scripts.
-
При переустановке пакета сохраняются папки config и scripts.
А при удалении пакета ?
Если я захочу поставить ранее собранную версию этим же скриптом
-
А при удалении пакета ?
Если я захочу поставить ранее собранную версию этим же скриптом
Не проверял.
-
Не проверял.
При удалении остались только
/opt/openmcu-ru/config/daemon.conf.rpmsave (при условии что сервис запущен от root )
/opt/openmcu-ru/config/openmcu.ini.rpmsave
Папка scripts - удалилась
/opt/openmcu-ru/log
/opt/openmcu-ru/records
Эта просьба к сожалению не учтена
P.S.
Я бы предпочёл оставлять резервные копии всех файлов *.conf этой директории, в том числе и шаблоны конференции
Ведь там есть пользовательские настройки, так как они не выведены в панель управления
P.S.
Суть в том, что если сохраняются не все файлы, то админу предпочтительно перед удалением пакета, сохранить все файлы в ручную (не рисковать)
P.S.
Только members_*.conf и logo.jpeg остаются неизменными
ffserver.conf и layouts.conf удаляются
-
Эта просьба к сожалению не учтена
P.S.
Только members_*.conf и logo.jpeg остаются неизменными
ffserver.conf и layouts.conf удаляются
Зачем "резервные копии" этих файлов? Они точно такие же в пакете(исходнике), т.е. не изменены.
Я специально собрал всё обратно в /opt/openmcu-ru, чтобы при удалении пакета убрать принудительное удаление "rm ...". Пакет удаляет только те файлы, которые есть в нем.
-
Зачем "резервные копии" этих файлов? Они точно такие же в пакете(исходнике), т.е. не изменены.
Я писал
Ведь там есть пользовательские настройки, так как они не выведены в панель управления
ffserver.conf - файл может быть изменён пользователем, например для изменения кодека или формата или чего то другого
Мы на форуме даже обсуждали, как его изменить, что бы видео можно было передавать на сайте обычным флешем
layouts.conf - здесь достаточно чего есть (много), что можно поменять, а этих настроек нет в веб-панели. Зачем заново переписывать, вспоминать что менял
Само расширение файлов говорит о том, что они конфигурационные
-
Зачем "резервные копии" этих файлов? Они точно такие же в пакете(исходнике), т.е. не изменены.
Я писал
Ведь там есть пользовательские настройки, так как они не выведены в панель управления
ffserver.conf - файл может быть изменён пользователем, например для изменения кодека или формата или чего то другого
Мы на форуме даже обсуждали, как его изменить, что бы видео можно было передавать на сайте обычным флешем
Да, это так, но ты точно внимательно прочитал мое предыдущее сообщение?
Может быть я чего то не понимаю... но ты предлагаешь делать резервные копии не измененных файлов только потому что, они важные и могут быть изменены и... они не выведены в панель управления?
-
Да, это так, но ты точно внимательно прочитал мое предыдущее сообщение?
читал
Пакет удаляет только те файлы, которые есть в нем.
Может быть я чего то не понимаю... но ты предлагаешь делать резервные копии не измененных файлов только потому что, они важные и могут быть изменены и... они не выведены в панель управления?
Да. именно, кучка настроек не выведены в панель
Например, бордюр, настройки надписей, раскладки и т.д.
Как думаешь, удобно вспоминать то, что когда то настроил ?
Конечно лучше всё вывести в панель ? Но это наверно хлопотно ?
Если эти файлы не резервируются, то перед удалением, намного безопасней сделать резервирование ручками
К тому же папка scripts тоже не сохраняется. Я особо не вникал что там за файлы, но вот про один я точно в курсе
web_stream_start - не подходит для сборки скриптом, и его необходимо редактировать
Может стоит в файле добавить закомментированные строки, каким он должен быть при сборке скриптом ?
Или добавить новый, который работает в этой сборке
-
Хотя может ты и прав, ведь эти файлы могут быть изменены разработчиком в новых версиях
-
ведь эти файлы могут быть изменены разработчиком в новых версиях
Да, такое тоже может быть. Ты "примеряешь" текущий скрипт на скрипт от 3.49, но я не знаю, возможно там и было что то не так с конфигами, я не проверял и никогда толком не пользовался.
Сейчас при удалении пакета не используются ручные команды удаления(rm) или копирования чего либо. Для сохранения настроек используется макрос "%config(noreplace)" и всё, процедура удаления пакета стандартная.
http://www-uxsup.csx.cam.ac.uk/~jw35/docs/rpm_config.html
web_stream_start
Попробуй изменить этот файл, а потом удалить или переустановить пакет.
-
Попробуй изменить этот файл, а потом удалить или переустановить пакет.
Ну да, возможно не удалится, так как файл будет отличается от того что в пакете
Что то я об этом забыл
Но проверю
Да, так и есть, файлы которые я изменял (даже если они были в пакете, но отличаются от оригинала) переименовываются
Те что добавил - members_*.conf и logo.jpeg остаются неизменными
Так же созданные файлы записи остаются
Ну что же, респект, отличное решение
P.S.
web_stream_start - должен быть таким (при сборке скриптом)
#!/bin/bash
export LD_LIBRARY_PATH="/opt/openmcu-ru/lib"
DIR_BIN="/opt/openmcu-ru/bin"
DIR_CONF="/opt/openmcu-ru/config"
DIR_PIPE="/opt/openmcu-ru/pipe"
$DIR_BIN/ffserver -f $DIR_CONF/ffserver.conf &
$DIR_BIN/ffmpeg -y\
-r 10 -s 4cif -f rawvideo -i $DIR_PIPE/video.$1\
-ar 16000 -f s16le -i $DIR_PIPE/sound.$1\
http://127.0.0.1:8090/feed.ffm
kill %1
# Комментарий, что бы не забыть:
#
# Начало трансляции в сеть при условии включенного экспорта named pipe
# /opt/openmcu-ru/scripts/web_stream_start name_room
#
# Открыть, например vlc плеером
# http://ip-adress:8090/stream.asx
-
web_stream_start - должен быть таким (при сборке скриптом)
Исправил.
-
Исправил.
xak - ты забыл добавить первую строчку
export LD_LIBRARY_PATH="/opt/openmcu-ru/lib"
в результате, без этой строчки, не работает
[root@localhost ~]# /opt/openmcu-ru/scripts/web_stream_start room101
/opt/openmcu-ru/bin/ffserver: error while loading shared libraries: libavdevice.so.53: cannot open shared object file: No such file or directory
/opt/openmcu-ru/bin/ffmpeg: error while loading shared libraries: libavdevice.so.53: cannot open shared object file: No such file or directory
[root@localhost ~]#
И ещё, в комменте
# Включить в настройках "Экспорт(named pipe)"
Добавить, - перезапустить сервис
-
export LD_LIBRARY_PATH="/opt/openmcu-ru/lib"
Добавил.
# Включить в настройках "Экспорт(named pipe)"
Добавить, - перезапустить сервис
После включения опции новые комнаты будут с экспортом. Этот файл не очень хорошее место для подобных инструкций, настройки могут измениться.
-
Добавил.
После включения опции новые комнаты будут с экспортом. Этот файл не очень хорошее место для подобных инструкций, настройки могут измениться.
ОК, спасибо
Конечно эту штуку можно использовать по разному
На мой взгляд было бы не плохо написать ffserver.conf так, что бы была возможность транслировать на сайте, аля флеш
Как то обсуждали, но не нашли вариант
Но это уже оф топ конечно, но если кто знает как поделитесь плизз
-
Обновил скрипт для 4.0/4.1.
Добавлена возможность указывать git branch в строке запуска, например "./openmcu-oci build 4.0".
Перекрывает переменную OPENMCURU_BRANCH из openmcu-oci.ini
Добавлена возможность указывать опции конфигуратора, но только после бранча, например "./openmcu-oci build 4.0 --enable-debug --enable-libzrtp".
Добавляет указанные опции к заданным в переменной MCU_CONF_OPTS из openmcu-oci.ini
При запуске скрипта отображается информация
...
Папка установки OpenMCU-ru: /opt
branch: 4.0
configure options: --enable-static --disable-v4l --disable-v4l2 --enable-debug --enable-libzrtp
-
К стати после сборки предлагает запустить openmcu-ru-wrapper - но увы, это устарело. такого нет
/openmcu-ru/bin/openmcu-ru(-wrapper) -x
но нет такого файла. запускается
/openmcu-ru/bin/openmcu-ru -x
-
К стати после сборки предлагает запустить openmcu-ru-wrapper - но увы, это устарело. такого нет
/openmcu-ru/bin/openmcu-ru(-wrapper) -x
Там есть кажется определение необходимости враппера, если указать(вернуть) известную опцию для конфигуратора, то наверное враппер опять будет нужен. Правда, я сильно не вникал, некогда.
Я вот думаю делать автоматические debug сборки или нет. Это наверное может иногда пригодиться, но боюсь со временем количество файлов в загрузках станет чересчур большим. Как вариант, оставлять только debug версию последней сборки, а предыдущую удалять. Или вручную иногда чистить:)
-
Я просто указал. для тех кто будет пытаться писать /openmcu-ru/bin/openmcu-ru-wrapper -x
Все сборки пусть остаются, пока есть место. руками можно удалять те что не нужны, глючные и так далее
-
Я вот думаю делать автоматические debug сборки или нет.
Я бы для нечётных делал только debug :)
-
Я просто указал. для тех кто будет пытаться писать /openmcu-ru/bin/openmcu-ru-wrapper -x
Я не стал там сильно "хозяйничать". Сделал без враппера из-за GDB, т.к. есть различия в запуске, чтобы не приходилось каждый раз выяснять есть враппер или нет и выдавать соответствующую рекомендацию. Но если кто то за меня возьмет на себя этот "нелегкий" труд, то мне в общем то без разницы как будет ;)
-
так мне тоже без разницы. просто указать в скрипте
/openmcu-ru/bin/openmcu-ru -x
-
Я бы для нечётных делал только debug :)
Кстати да, для 4.0 оно и не надо. Правда, для 4.1 со временем файлов тоже будет мнооого, по 4 штуки на каждую версию, два для 32 и два для 64 :)
Посмотрим потом, если будет сильно много, проще наверное вручную подчистить/проредить.
upd.
Дошло, только debug:) Тогда, это наверное лучший вариант.
Сделаю для 4.0 простую сборку+debug, а для 4.1 только debug.
-
Что такое версия debug и пустая версия ?
В чём отличия при использовании в боевых конференциях?
-
OpenMCU-ru и все плагины всегда компилируются с опцией "-g" и с оптимизацией. Отладочная информация не используется, если приложение запускается без GDB.
При сборке ptlib/h323plus "make debug" оптимизация отключена. Без debug для linux оптимизация "-Os".
https://github.com/muggot/openmcu/blob/master/libs/ptlib/make/unix.mak#L1003
https://gcc.gnu.org/onlinedocs/gnat_ugn/Debugging-Optimized-Code.html
-
Ubuntu 14.04 server x64, скрипт при запуске пишет, что не поддерживает данный дистрибутив, хотя в WiKi, данный дистрибутив в списке тестируемых. При редактировании скрипта, добавляю имя trusty в case рядом с именем saucy, как к ближайшему по версии дистрибутиву, установка идет, но спотыкается на моменте:
...
make[2]: *** [/home/pav/openmcu-ru-oci/build/openmcu-ru/libs/ptlib/lib/obj_linux_x86_64_r/getdate.tab.o] Ошибка 1
...
Помогите )
-
Поиск находит, что связка работает, но видимо собрано не скриптом.
Текст ошибки есть ?
-
Собрано скриптом из архива openmcu-ru-oci_4.1_2015-02-07.tar.gz
В файле openmcu-ru-oci в строке 652 заменил "saucy)" на "saucy|trusty)" для того, чтобы он вообще заработал на 14.04.
Далее все супер, качает, устанавливает, конфигурит, но вылетает при компиляции, вот последние строчки вывода:
...
[CC] /home/pav/openmcu-ru-oci/build/openmcu-ru/libs/ptlib/lib/obj_linux_x86_64_r/notifier_ext.o
[CC] /home/pav/openmcu-ru-oci/build/openmcu-ru/libs/ptlib/lib/obj_linux_x86_64_r/guid.o
bison ../common/getdate.y -o ../common/getdate.tab.c
../common/getdate.y:131.1-12: предупреждение: deprecated directive, use «%pure-parser» [-Wdeprecated]
%pure_parser
^^^^^^^^^^^^
../common/getdate.y: предупреждение: 8 конфликтов сдвига/вывода [-Wconflicts-sr]
../common/getdate.y: предупреждение: 18 reduce/reduce conflicts [-Wconflicts-rr]
cc -D_REENTRANT -fno-exceptions -I/opt/include -Wall -DP_64BIT -fPIC -DPIC -DNDEBUG -I/home/pav/openmcu-ru-oci/build/openmcu-ru/libs/ptlib/include -c ../common/getdate.tab.c -o /home/pav/openmcu-ru-oci/build/openmcu-ru/libs/ptlib/lib/obj_linux_x86_64_r/getdate.tab.o
../common/getdate.y:112:18: error: conflicting types for ‘PTime_yyparse’
#define yyparse PTime_yyparse
^
../common/getdate.tab.c:264:5: note: in expansion of macro ‘yyparse’
int yyparse (void);
^
../common/getdate.y:112:18: note: previous declaration of ‘PTime_yyparse’ was here
#define yyparse PTime_yyparse
^
../common/getdate.y:116:12: note: in expansion of macro ‘yyparse’
static int yyparse(void *);
^
../common/getdate.y: In function ‘PTime_yyparse’:
../common/getdate.y:105:38: error: ‘parseParam’ undeclared (first use in this function)
#define VARIABLE ((struct Variables*)parseParam)
^
../common/getdate.y:154:6: note: in expansion of macro ‘VARIABLE’
VARIABLE->yyHaveTime++;
^
../common/getdate.y:105:38: note: each undeclared identifier is reported only once for each function it appears in
#define VARIABLE ((struct Variables*)parseParam)
^
../common/getdate.y:154:6: note: in expansion of macro ‘VARIABLE’
VARIABLE->yyHaveTime++;
^
../common/getdate.y: In function ‘PTimeParse’:
../common/getdate.y:971:5: error: too many arguments to function ‘PTime_yyparse’
yyparse(&var);
^
../common/getdate.y:112:18: note: declared here
#define yyparse PTime_yyparse
^
../common/getdate.tab.c:1150:1: note: in expansion of macro ‘yyparse’
yyparse (void)
^
make[2]: *** [/home/pav/openmcu-ru-oci/build/openmcu-ru/libs/ptlib/lib/obj_linux_x86_64_r/getdate.tab.o] Ошибка 1
make[2]: Выход из каталога `/home/pav/openmcu-ru-oci/build/openmcu-ru/libs/ptlib/src/ptlib/unix'
make[1]: *** [opt] Ошибка 2
make[1]: Выход из каталога `/home/pav/openmcu-ru-oci/build/openmcu-ru/libs/ptlib'
make: *** [all] Ошибка 2
----------------------------------------------------------------
2015-02-09+14-30-00 Команда: cd /home/pav/openmcu-ru-oci/build/openmcu-ru/ && export OPTCCFLAGS=-I/opt/openmcu-ru/include && export LDFLAGS=-L/opt/lib && export LD_LIBRARY_PATH=/opt/lib && make clean && make && make install
завершена с ошибкой.
EXIT CODE: 2
Устраните причины ошибки и повторите еще раз..
Система:
Ubuntu 14.04.1 LTS
Linux 3.13.0-32-generic x86_64 GNU/Linux
-
Вот такая же ошибка (http://openmcu.ru/forum/index.php?topic=718.0). Точно не знаю, но может быть надо 2-ую версию bison.
Однако здесь (http://openmcu.ru/forum/index.php/topic,518.msg12599.html#msg12599) описан процесс сборки и bison установлен с помощью "apt-get".
-
Да, так и есть. Из исходников собирается, скриптом нет. bison (GNU Bison) 3.0.2
Могу предоставить доступ к серверу, если есть такая необходимость.
-
Да, так и есть. Из исходников собирается, скриптом нет. bison (GNU Bison) 3.0.2
"make clean" удалял файл "getdate.tab.c", а с bison3 проблемы.
Убрал удаление файла "getdate.tab.c" и проверку bison в конфигураторе ptlib.
bison больше не нужен для сборки.
upd.
Обновил скрипт.
- добавил "trusty" - копия "saucy".
- добавил GCC48FLAGS для "trusty"
- исправил DIR_PREFIX.
upd.
Добавил в конфигуратор проверку версии GCC для sofia-sip.
Если GCC >= 4.8 добавляется CFLAGS=-fno-aggressive-loop-optimizations.
-
Собрал скриптом в 14.04 x86_64, собирается и запускается.
-
CentOS-5.9
checking for ffmpeg/libavcodec/avcodec.h... no
checking for libav/libavcodec/avcodec.h... no
configure: error: avcodec headers not found! Install FFmpeg or Libav.
----------------------------------------------------------------
2015-02-10+17-52-25 Команда: cd /root/openmcu-ru-oci/build/openmcu-ru && export LD_LIBRARY_PATH=/opt/openmcu-ru/lib && ./autogen.sh && ./configure --prefix=/opt CPPFLAGS=-I/opt/openmcu-ru/include LDFLAGS=-L/opt/openmcu-ru/lib --enable-static --disable-v4l --disable-v4l2
завершена с ошибкой.
EXIT CODE: 1
Устраните причины ошибки и повторите еще раз..
[root@localhost ~]#
-
CentOS-5.9
Пропустил для centos/fedora/suse строки где изменялся путь, они лишние, убрал.
Скрипт обновил.
-
RPM не собирается
Сборка и установка всех компонентов прошла успешно.
Для запуска OpenMCU-ru перейдите в каталог и выполните команду:
/opt/openmcu-ru/bin/openmcu-ru(-wrapper) -x
Общее время выполнения: 5622 s
[root@localhost ~]#
При попытке дать команду потом
[root@localhost ~]# /root/openmcu-ru-oci/openmcu-oci package
Определен дистрибутив: CentOS 'el5' i386
Папка с исходными кодами: /root/openmcu-ru-oci/src
Папка сборки: /root/openmcu-ru-oci/build
Папка установки OpenMCU-ru: /opt/openmcu-ru
branch: master
configure options: --enable-static --disable-v4l --disable-v4l2
Общее время выполнения: 0 s
[root@localhost ~]#
-
RPM не собирается
Исправил.
Обновил скрипт.
Скрипт поддерживает Centos 7.
-
не могу собрать с помощью скрипта полследнюю версию openmcu 4.1 на FreeBSD 10.1 и GCC 4.8, вроде компилируется без ошибок, но SOFIA-SIP не собирается. Лог для sofia прилагаю.
И еще- для FreeBSD не работает установка с fixed build
- installation makes a backup copy of the existing configuration files
ключей нет таких для install -m 644 --compare --backup=numbered $$file $(DESTDIR)/opt/openmcu-ru/config; \ , приходится каждый раз восстанавливать старую строчку.
Как можно убрать из установки ненужные пакеты - SOFIA-SIP? SPPEEX ?
Версия 3.48 на этот же сервер ставится без проблем.
-
не могу собрать с помощью скрипта полследнюю версию openmcu 4.1 на FreeBSD 10.1 и GCC 4.8, вроде компилируется без ошибок, но SOFIA-SIP не собирается. Лог для sofia прилагаю.
Скрипт работает(работал) на FreeBSD ?
Я не видел в скрипте упоминания про FreeBSD.
И еще- для FreeBSD не работает установка с fixed build
- installation makes a backup copy of the existing configuration files
ключей нет таких для install -m 644 --compare --backup=numbered $$file $(DESTDIR)/opt/openmcu-ru/config; \ , приходится каждый раз восстанавливать старую строчку.
Может быть ключи по другому называются?
Можно сделать разные ключи для FreeBSD и Linux, вопрос в том можно ли сделать "backup" конфигурационных файлов для FreeBSD.
Как можно убрать из установки ненужные пакеты - SOFIA-SIP? SPPEEX ?
Sofia-SIP не отключается, Speex отключается опцией в конфигураторе.
-
Скрипт работает(работал) на FreeBSD ?
на другом резрвном сервере с FreeBSD 9.2 все отлично работает, но мне нужно поставить на новый сервер
-
Прошу добавить в скрипт установку(если не установлен) пакета libjpeg62. Необходим для работы записи конференций. По умолчанию отсутствует в ubuntu 12.04.
-
Прошу добавить в скрипт установку(если не установлен) пакета libjpeg62. Необходим для работы записи конференций. По умолчанию отсутствует в ubuntu 12.04.
libjpeg к записи не имеет отношения. В трассировке скорее всего есть причина, почему не запускается запись.
-
libjpeg к записи не имеет отношения. В трассировке скорее всего есть причина, почему не запускается запись.
Да не было вроде там ничего, даже ошибки не было-обычно в случае проблем вывод содержит красные строки. После установки пакета(а этот пакет идет как зависимость к openmcu-ru) - все отлично записалось.
-
не могу собрать с помощью скрипта полследнюю версию openmcu 4.1 на FreeBSD 10.1 и GCC 4.8, вроде компилируется без ошибок, но SOFIA-SIP не собирается. Лог для sofia прилагаю.
Здесь (http://openmcu.ru/forum/index.php/topic,714.msg11329.html#msg11329) kay27 пытался собрать в FreeBSD, скорее всего проблемы были те же, чем закончилось не знаю.
На основе этого я добавил в autogen.sh для speex и sofia-sip "autoreconf -fiv". Может быть нет autotools или еще чего то, не знаю, я плохо знаком с FreeBSD.
Проверил в 10.0 x86_64 - собирается.
ключей нет таких для install -m 644 --compare --backup=numbered $$file $(DESTDIR)/opt/openmcu-ru/config; \
Это исправил, используется install или если найден ginstall(аналог install в linux).
-
сегодня собрался Openmcu без ошибок ,но при запуске ./openmcu-ru сразу вываливается в Segmentation fault.
This GDB was configured as "i386-marcel-freebsd"...
Core was generated by `openmcu-ru'.
Program terminated with signal 11, Segmentation fault.
Reading symbols from /opt/openmcu-ru/lib/libsofia-sip-ua.so.0...done.
Loaded symbols for /opt/openmcu-ru/lib/libsofia-sip-ua.so.0
Reading symbols from /usr/local/lib/libavcodec.so.55...done.
Loaded symbols for /usr/local/lib/libavcodec.so.55
Reading symbols from /usr/local/lib/libavutil.so.52...done.
Loaded symbols for /usr/local/lib/libavutil.so.52
Reading symbols from /usr/local/lib/libavformat.so.55...done.
Loaded symbols for /usr/local/lib/libavformat.so.55
Reading symbols from /usr/local/lib/libswscale.so.2...done.
Loaded symbols for /usr/local/lib/libswscale.so.2
Reading symbols from /usr/local/lib/libswresample.so.0...done.
Loaded symbols for /usr/local/lib/libswresample.so.0
Reading symbols from /usr/local/lib/libfreetype.so.6...done.
Loaded symbols for /usr/local/lib/libfreetype.so.6
Reading symbols from /opt/openmcu-ru/lib/libyuv.so...done.
Loaded symbols for /opt/openmcu-ru/lib/libyuv.so
Reading symbols from /usr/lib/libssl.so.7...done.
Loaded symbols for /usr/lib/libssl.so.7
Reading symbols from /opt/openmcu-ru/lib/libh323_FreeBSD_x86_r.so.1.20.2...done.
Loaded symbols for /opt/openmcu-ru/lib/libh323_FreeBSD_x86_r.so.1.20.2
Reading symbols from /opt/openmcu-ru/lib/libpt_FreeBSD_x86_r.so.2.0.1...done.
Loaded symbols for /opt/openmcu-ru/lib/libpt_FreeBSD_x86_r.so.2.0.1
Reading symbols from /lib/libthr.so.3...done.
Loaded symbols for /lib/libthr.so.3
Reading symbols from /lib/libcrypto.so.7...done.
Loaded symbols for /lib/libcrypto.so.7
Reading symbols from /usr/local/lib/gcc46/libstdc++.so.6...done.
Loaded symbols for /usr/local/lib/gcc46/libstdc++.so.6
Reading symbols from /lib/libm.so.5...done.
Loaded symbols for /lib/libm.so.5
Reading symbols from /lib/libgcc_s.so.1...done.
Loaded symbols for /lib/libgcc_s.so.1
Reading symbols from /lib/libc.so.7...done.
Loaded symbols for /lib/libc.so.7
Reading symbols from /usr/local/lib/libxvidcore.so.4...done.
Loaded symbols for /usr/local/lib/libxvidcore.so.4
Reading symbols from /usr/local/lib/libx264.so.142...done.
Loaded symbols for /usr/local/lib/libx264.so.142
Reading symbols from /usr/local/lib/libvpx.so.1...done.
Loaded symbols for /usr/local/lib/libvpx.so.1
Reading symbols from /usr/local/lib/libvorbisenc.so.2...done.
Loaded symbols for /usr/local/lib/libvorbisenc.so.2
Reading symbols from /usr/local/lib/libvorbis.so.0...done.
Loaded symbols for /usr/local/lib/libvorbis.so.0
Reading symbols from /usr/local/lib/libtheoraenc.so.1...done.
Loaded symbols for /usr/local/lib/libtheoraenc.so.1
Reading symbols from /usr/local/lib/libtheoradec.so.1...done.
Loaded symbols for /usr/local/lib/libtheoradec.so.1
Reading symbols from /usr/local/lib/libschroedinger-1.0.so.0...done.
Loaded symbols for /usr/local/lib/libschroedinger-1.0.so.0
Reading symbols from /lib/libz.so.6...done.
Loaded symbols for /lib/libz.so.6
Reading symbols from /usr/local/lib/libhogweed.so.2...done.
Loaded symbols for /usr/local/lib/libhogweed.so.2
Reading symbols from /usr/local/lib/libgmp.so.10...done.
Loaded symbols for /usr/local/lib/libgmp.so.10
Reading symbols from /usr/local/lib/libgnutls.so.28...done.
Loaded symbols for /usr/local/lib/libgnutls.so.28
Reading symbols from /usr/lib/libbz2.so.4...done.
Loaded symbols for /usr/lib/libbz2.so.4
Reading symbols from /usr/local/lib/libogg.so.0...done.
Loaded symbols for /usr/local/lib/libogg.so.0
Reading symbols from /usr/local/lib/liborc-0.4.so.0...done.
Loaded symbols for /usr/local/lib/liborc-0.4.so.0
Reading symbols from /usr/lib/libc++.so.1...done.
Loaded symbols for /usr/lib/libc++.so.1
Reading symbols from /lib/libcxxrt.so.1...done.
Loaded symbols for /lib/libcxxrt.so.1
Reading symbols from /usr/local/lib/libnettle.so.4...done.
Loaded symbols for /usr/local/lib/libnettle.so.4
Reading symbols from /usr/local/lib/libp11-kit.so.0...done.
Loaded symbols for /usr/local/lib/libp11-kit.so.0
Reading symbols from /usr/local/lib/libtspi.so.1...done.
Loaded symbols for /usr/local/lib/libtspi.so.1
Reading symbols from /usr/local/lib/libtasn1.so.6...done.
Loaded symbols for /usr/local/lib/libtasn1.so.6
Reading symbols from /usr/local/lib/libintl.so.8...done.
Loaded symbols for /usr/local/lib/libintl.so.8
Reading symbols from /usr/local/lib/libffi.so.6...done.
Loaded symbols for /usr/local/lib/libffi.so.6
Reading symbols from /libexec/ld-elf.so.1...done.
Loaded symbols for /libexec/ld-elf.so.1
#0 0x00000000 in ?? ()
[New Thread 2b403080 (LWP 100263/openmcu-ru)]
(gdb)
-
#0 0x00000000 in ?? ()
[New Thread 2b403080 (LWP 100263/openmcu-ru)]
(gdb)
backtrace что нибудь выводит?
Reading symbols from /usr/local/lib/gcc46/libstdc++.so.6...done.
Loaded symbols for /usr/local/lib/gcc46/libstdc++.so.6
Версия GCC ?
-
backtrace что нибудь выводит?
(gdb) backtrace
#0 0x00000000 in ?? ()
#1 0x29fb7868 in ?? () from /usr/local/lib/gcc49/libstdc++.so.6
#2 0x2a060300 in ?? () from /usr/local/lib/gcc49/libstdc++.so.6
#3 0x00000000 in ?? ()
(gdb)
Версия GCC ?
перепробовал 4.6., 4.7, 4.8, 4.9 - результат одинаковый
-
#0 0x00000000 in ?? ()
#1 0x29fb7868 in ?? () from /usr/local/lib/gcc49/libstdc++.so.6
похоже, что ошибка связана с попыткой доступа к несуществующему объекту откуда-то из библиотеки /usr/local/lib/gcc49/libstdc++.so.6, в результате чего произошёл переход по адресу 0x00000000 и сработало исключение.
то есть, вообще говоря, не очевидно, что с 4.6 и 4.8 результат был бы тот же... по крайней мере, исключение произошло бы не в библиотеке libstdc++.so.6 gcc49.
может, глупость спрошу, но всё-таки... у вас на момент сборки одна версия gcc в системе или несколько разных? я как бы не исключаю вариант поломки самого gcc...
-
похоже, что ошибка связана с попыткой доступа к несуществующему объекту откуда-то из библиотеки /usr/local/lib/gcc49/libstdc++.so.6, в результате чего произошёл переход по адресу 0x00000000 и сработало исключение.
то есть, вообще говоря, не очевидно, что с 4.6 и 4.8 результат был бы тот же... по крайней мере, исключение произошло бы не в библиотеке libstdc++.so.6 gcc49.
может, глупость спрошу, но всё-таки... у вас на момент сборки одна версия gcc в системе или несколько разных? я как бы не исключаю вариант поломки самого gcc...
c 4.6 и 4.8 действительно результаты разные, на момент сборки был 4.7, потом стал переустанавливать разные версии GCC , и соответственно собирать openmcu
GCC стоит одной версии
-
c 4.6 и 4.8 действительно результаты разные
Наверное лучше пробовать собирать всё на "родном"(4.8?) или хотя бы на "старом"(4.6). Однако, если вывод GDB будет как выше, то только пытаться угадывать, а это не просто. Если вывод другой, то может быть будет что нибудь более полезное.
-
попытался поставить на чистую FreeBSD 10.0 , поставив сначала GCC 4.6. Все компилируется без ошибок, но все равно выпадает в Segmentation fault
#0 0x00000000 in ?? ()
[New Thread 2b403080 (LWP 100109/openmcu-ru)]
(gdb) backtrace
#0 0x00000000 in ?? ()
#1 0x2a0e1ec4 in __dynamic_cast (src_ptr=0x2a11a180, src_type=0x2a113f4c,
dst_type=0x2a113de0, src2dst=0)
at ../../.././../gcc-4.6.4/libstdc++-v3/libsupc++/dyncast.cc:61
#2 0x2a0b0a41 in std::has_facet<std::ctype<char> > (__loc=@0x819f3b0)
at locale_classes.tcc:234
#3 0x2a0a408a in std::basic_ios<char, std::char_traits<char> >::_M_cache_locale (this=0x819f344, __loc=@0x819f3b0) at basic_ios.tcc:160
#4 0x2a0a4139 in std::basic_ios<char, std::char_traits<char> >::init (
this=0x819f344, __sb=0x2a119aa0) at basic_ios.tcc:133
#5 0x2a08b528 in Init (this=0x29e89e84) at ostream:85
#6 0x0819f344 in std::cout ()
#7 0x2a119aa0 in __gnu_internal::buf_cin_sync ()
from /usr/local/lib/gcc46/libstdc++.so.6
#8 0x29e89e84 in LockingCallback(int, int, char const*, int)::mutexes ()
from /opt/openmcu-ru/lib/libpt_FreeBSD_x86_r.so.2.0.1
#9 0x00000000 in ?? ()
перепробовал все варианты, что делать дальше непонятно
-
это интересно тем, что гуглится много подобных проблем с разным софтом:
__dynamic_cast gcc-4.6.4/libstdc++-v3/libsupc++/dyncast.cc:61
а это - указанием на LockingCallback() в pssl.cxx в ptlib:
LockingCallback(int, int, char const*, int)::mutexes ()
глубже копать у меня пока нет времени, увы, но напрашивается вопрос, пробовали ли отключить SSL? --disable-openssl
-
попытался поставить на чистую FreeBSD 10.0 , поставив сначала GCC 4.6. Все компилируется без ошибок, но все равно выпадает в Segmentation fault
У меня виртуалка 10.0b1(x86_64 gcc 4.6.4) на ней собирается 4.1. Только не спрашивайте как, я не знаю, что то ставил, в основном методом тыка и не с первого раза :)
-
Поставил FreeBSD 9.3 и сделал все тоже самое. OpenMCU установился без проблем.
-
Могу архив с виртуалкой куда нибудь скинуть...
-
Поставил FreeBSD 9.3 и сделал все тоже самое. OpenMCU установился без проблем.
именно скриптом установился?
про эту ошибку пишут, она связана с тем, что часть библиотек скомпилирована в clang, а другая часть - в gcc, вот (http://mail.kde.org/pipermail/kde-freebsd/2013-October/016173.html), например.
скрипт запускался из-под bash?
-
именно скриптом установился?
да
про эту ошибку пишут, она связана с тем, что часть библиотек скомпилирована в clang, а другая часть - в gcc, вот (http://mail.kde.org/pipermail/kde-freebsd/2013-October/016173.html), например.
скрипт запускался из-под bash?
да
-
(gdb) backtrace
#0 0x00000000 in ?? ()
#1 0x29fb7868 in ?? () from /usr/local/lib/gcc49/libstdc++.so.6
#2 0x2a060300 in ?? () from /usr/local/lib/gcc49/libstdc++.so.6
#3 0x00000000 in ?? ()
(gdb)
Нашел в сети ВМ 10.1, результат такой же. Пробовал gcc46, gcc48 - одинаково.
-
Поставил в систему из пакетов всё - ptlib(2.10),h323plus(1.26.5),sofia-sip,opus,speex и т.д.. Вручную поменял Makefile для использования библиотек из системы.
При сборке получил несколько ошибок, не стал исправлять - закомментировал.
В итоге - запускается :)
Значит проблема в ptlib... что в общем то неудивительно с таким backtrace.
-
С вручную собранным ptlib 2.10 такая же ошибка. Т.е. ptlib не правильно собирается, причем в 10.0b1 такой ошибки нет, странно.
Проще наверное переделать конфигуратор, чтобы можно было использовать системные ptlib/h323plus, чем искать в чем причина. Правда, как это всё будет работать неизвестно:)
-
в 10.0b1 такой ошибки нет, странно
может, в 10.0b1 какая-то зависимость (openssl, например) скомпилирована gcc, а не clang-ом?
-
может, в 10.0b1 какая-то зависимость (openssl, например) скомпилирована gcc, а не clang-ом?
Может быть, но это я проверил еще вначале --disable-openssl. А может -lpthread ;)
-
Изменил сборку, но для freebsd 10.1 - это не поможет.
Чтобы собрать, надо удалить папки libs/ptlib и libs/h323plus, установить из пакетов ptlib,h323plus. Можно установить из пакетов opus,speex,sofia-sip.
Кажется ptlib собран в clang, h323plus наверное тоже.
Процесс запускается, но интерфейс не работает, "400 Bad Request" в браузере. При подключении падает где то в x264, больше ничего не проверял.
-
Обновил 10.0b1 до 10.1 по этой инструкции (https://www.freebsd.org/releases/10.1R/installation.html).
root@freebsd_10:/opt/openmcu-ru/bin # uname -r
10.1-RELEASE-p5
root@freebsd_10:/opt/openmcu-ru/bin # uname -m
amd64
Собрал, ошибка (http://openmcu.ru/forum/index.php/topic,353.msg13702.html#msg13702) такая же :D
Сборка из 10.0b1 запускается и работает...
-
Кажется ptlib собран в clang, h323plus наверное тоже.
я когда-то давно пробовал мцу собирать в клэнге, но что-то не прокатило, а что конкретно, не помню уже
ты не пытался сейчас?
-
я когда-то давно пробовал мцу собирать в клэнге, но что-то не прокатило, а что конкретно, не помню уже
ты не пытался сейчас?
Не пробовал, наверное из-за ptlib у тебя не прокатило. Не знаю как они его собирали в пакет, без gcc просто так ptlib не собирается.
-
Собрал в 10.1.
Вот вывод "ldd openmcu-ru" после "правильной" сборки
root@osboxes:/opt/openmcu-ru/bin # ldd openmcu-ru
openmcu-ru:
libavcodec.so.53 => /opt/openmcu-ru/lib/libavcodec.so.53 (0x28275000)
libavutil.so.51 => /opt/openmcu-ru/lib/libavutil.so.51 (0x28f15000)
libavformat.so.53 => /opt/openmcu-ru/lib/libavformat.so.53 (0x28f39000)
libswscale.so.2 => /opt/openmcu-ru/lib/libswscale.so.2 (0x29066000)
libswresample.so.0 => /opt/openmcu-ru/lib/libswresample.so.0 (0x290b7000)
libfreetype.so.6 => /usr/local/lib/libfreetype.so.6 (0x290bf000)
libyuv.so => /opt/openmcu-ru/lib/libyuv.so (0x29146000)
libssl.so.7 => /usr/lib/libssl.so.7 (0x29179000)
libsrtp.so.0 => /opt/openmcu-ru/lib/libsrtp.so.0 (0x291de000)
libh323_FreeBSD_x86_r.so.1.20.2 => /opt/openmcu-ru/lib/libh323_FreeBSD_x86_r.so.1.20.2 (0x291f7000)
libpt_FreeBSD_x86_r.so.2.0.1 => /opt/openmcu-ru/lib/libpt_FreeBSD_x86_r.so.2.0.1 (0x29890000)
libthr.so.3 => /lib/libthr.so.3 (0x29aaa000)
libcrypto.so.7 => /lib/libcrypto.so.7 (0x29acc000)
libstdc++.so.6 => /usr/local/lib/gcc48/libstdc++.so.6 (0x29c5b000)
libm.so.5 => /lib/libm.so.5 (0x29d47000)
libgcc_s.so.1 => /lib/libgcc_s.so.1 (0x29d6d000)
libc.so.7 => /lib/libc.so.7 (0x29d79000)
libz.so.6 => /lib/libz.so.6 (0x29eec000)
libbz2.so.4 => /usr/lib/libbz2.so.4 (0x29f00000)
Для примера ffmpeg(только) в системе - сборка не рабочая.
root@osboxes:/opt/openmcu-ru/bin # ldd openmcu-ru
openmcu-ru:
libsofia-sip-ua.so.0 => /opt/openmcu-ru/lib/libsofia-sip-ua.so.0 (0x281b9000)
libavcodec.so.55 => /usr/local/lib/libavcodec.so.55 (0x28310000)
libavutil.so.52 => /usr/local/lib/libavutil.so.52 (0x29113000)
libavformat.so.55 => /usr/local/lib/libavformat.so.55 (0x29164000)
libswscale.so.2 => /usr/local/lib/libswscale.so.2 (0x292ef000)
libswresample.so.0 => /usr/local/lib/libswresample.so.0 (0x29348000)
libfreetype.so.6 => /usr/local/lib/libfreetype.so.6 (0x29359000)
libyuv.so => /opt/openmcu-ru/lib/libyuv.so (0x293e0000)
libssl.so.7 => /usr/lib/libssl.so.7 (0x2941c000)
libsrtp.so.0 => /opt/openmcu-ru/lib/libsrtp.so.0 (0x29478000)
libh323_FreeBSD_x86_r.so.1.20.2 => /opt/openmcu-ru/lib/libh323_FreeBSD_x86_r.so.1.20.2 (0x29491000)
libpt_FreeBSD_x86_r.so.2.0.1 => /opt/openmcu-ru/lib/libpt_FreeBSD_x86_r.so.2.0.1 (0x29b2a000)
libthr.so.3 => /lib/libthr.so.3 (0x29d44000)
libcrypto.so.7 => /lib/libcrypto.so.7 (0x29d66000)
libstdc++.so.6 => /usr/local/lib/gcc48/libstdc++.so.6 (0x29ef5000)
libm.so.5 => /lib/libm.so.5 (0x29fe1000)
libgcc_s.so.1 => /lib/libgcc_s.so.1 (0x2a007000)
libc.so.7 => /lib/libc.so.7 (0x2a013000)
libxvidcore.so.4 => /usr/local/lib/libxvidcore.so.4 (0x2a186000)
libx264.so.142 => /usr/local/lib/libx264.so.142 (0x2a29b000)
libvpx.so.1 => /usr/local/lib/libvpx.so.1 (0x2a3ff000)
libvorbisenc.so.2 => /usr/local/lib/libvorbisenc.so.2 (0x2a59d000)
libvorbis.so.0 => /usr/local/lib/libvorbis.so.0 (0x2a61f000)
libtheoraenc.so.1 => /usr/local/lib/libtheoraenc.so.1 (0x2a647000)
libtheoradec.so.1 => /usr/local/lib/libtheoradec.so.1 (0x2a677000)
libschroedinger-1.0.so.0 => /usr/local/lib/libschroedinger-1.0.so.0 (0x2a688000)
libz.so.6 => /lib/libz.so.6 (0x2a730000)
libhogweed.so.2 => /usr/local/lib/libhogweed.so.2 (0x2a744000)
libgmp.so.10 => /usr/local/lib/libgmp.so.10 (0x2a76e000)
libgnutls.so.28 => /usr/local/lib/libgnutls.so.28 (0x2a7ce000)
libbz2.so.4 => /usr/lib/libbz2.so.4 (0x2a8c6000)
libogg.so.0 => /usr/local/lib/libogg.so.0 (0x2a8d6000)
liborc-0.4.so.0 => /usr/local/lib/liborc-0.4.so.0 (0x2a8dc000)
libc++.so.1 => /usr/lib/libc++.so.1 (0x2a961000)
libcxxrt.so.1 => /lib/libcxxrt.so.1 (0x2aa10000)
libnettle.so.4 => /usr/local/lib/libnettle.so.4 (0x2aa29000)
libp11-kit.so.0 => /usr/local/lib/libp11-kit.so.0 (0x2aa55000)
libtspi.so.1 => /usr/local/lib/libtspi.so.1 (0x2aaa4000)
libtasn1.so.6 => /usr/local/lib/libtasn1.so.6 (0x2ab08000)
libintl.so.8 => /usr/local/lib/libintl.so.8 (0x2ab17000)
libffi.so.6 => /usr/local/lib/libffi.so.6 (0x2ab20000)
Как у меня получилось с первого раза получить кривую сборку не знаю, я плохо ориентируюсь в freebsd :)
Вот подробности, если ничего не забыл:
- установлены из пакетов gcc 4.8, autotools, pkgconf, gmake, freetype2, wget, git, libx264, libvpx
- сделаны ссылки gcc(gcc48), g++(g++48)
- файл /etc/make.conf, но это наверное можно сделать "правильнее".
.if exists(/usr/local/bin/gcc48)
CC=gcc48
CXX=g++48
CPP=cpp48
.endif
-
xak,
а ты случайно не отключал обратно jpeg?
у меня снова тут:
g++ -o ./obj/openmcu-ru obj/main.o obj/video.o obj/conference.o obj/filemembers.o obj/custom.o obj/h323.o obj/html.o obj/mcu.o obj/sip.o obj/template.o obj/utils.o obj/utils_av.o obj/mcu_rtp.o obj/mcu_rtp_cache.o obj/mcu_rtp_secure.o obj/sockets.o obj/reg.o obj/reg_sip.o obj/reg_h323.o obj/rtsp.o obj/recorder.o obj/mcu_caps.o obj/mcu_codecs.o -g -O2 -L../libs/srtp -L/build/openmcu-2013-02-16/libs/h323plus/lib -L/build/openmcu-2013-02-16/libs/ptlib/lib -L/opt/openmcu-ru/lib -L/usr/lib -L/usr/local/lib -Wl,-R/opt/openmcu-ru/lib -lsofia-sip-ua -lavcodec -lavutil -lavformat -lswscale -lswresample -lfreetype -lyuv -lssl -lsrtp -lh323_linux_x86_64_r -lpt_linux_x86_64_r -lpthread -lsasl2 -lssl -lcrypto -lSDL -lasound -lresolv -ldl
/usr/lib/libyuv.so: undefined reference to `jpeg_abort_decompress'
/usr/lib/libyuv.so: undefined reference to `jpeg_read_raw_data'
/usr/lib/libyuv.so: undefined reference to `jpeg_resync_to_restart'
/usr/lib/libyuv.so: undefined reference to `jpeg_destroy_decompress'
/usr/lib/libyuv.so: undefined reference to `jpeg_CreateDecompress'
/usr/lib/libyuv.so: undefined reference to `jpeg_read_header'
/usr/lib/libyuv.so: undefined reference to `jpeg_start_decompress'
/usr/lib/libyuv.so: undefined reference to `jpeg_std_error'
collect2: ld returned 1 exit status
make[1]: *** [all] Error 1
make[1]: Leaving directory `/build/openmcu-2013-02-16/openmcu-ru'
make: *** [all] Error 2
хотя мне это не страшно, просто на всякий случай
-
Странно, вот эта проверка - https://github.com/muggot/openmcu/blob/master/configure.ac#L620. Сейчас проверка в нескольких каталогах в цикле, принцип не изменился, раньше в двух.
Проверил, у меня добавляет к MCU_LDLIBS -ljpeg. Это вообще работало у тебя когда добавил? :)
-
Эксперимент - на Ubuntu 14.04 собрал вообще без папки libs :)
Установил в систему всё, пакет ptlib называется - libpt-dev, h323plus - libh323plus-dev.
Нет libyuv и libg722_1, поэтому отключил в конфигураторе "./configure --disable-libyuv --disable-g7221".
-
Есть проблемы при установке в Ubuntu 14.04. В настроечном файле скрипта указываю каталог установки /usr/local. Далее ./openmcu-oci install. Выкидывает с такой ошибкой:
make[1]: Entering directory `/home/moscow/openmcu-ru-oci/build/openmcu-ru/openmcu-ru'
mkdir -p /usr/local/openmcu-ru
mkdir -p /usr/local/openmcu-ru/bin
mkdir -p /usr/local/openmcu-ru/config
mkdir -p /usr/local/openmcu-ru/font
mkdir -p /usr/local/openmcu-ru/lib
mkdir -p /usr/local/openmcu-ru/log
mkdir -p /usr/local/openmcu-ru/pipe
mkdir -p /usr/local/openmcu-ru/records
mkdir -p /usr/local/openmcu-ru/resource
mkdir -p /usr/local/openmcu-ru/ssl
mkdir -p /usr/local/openmcu-ru/scripts
( for file in ./files/conf/*; do \
install -m 644 --compare --backup=numbered $file /usr/local/openmcu-ru/config; \
done )
( for file in ./files/font/*; do \
install -m 644 $file /usr/local/openmcu-ru/font; \
done )
( for file in ./files/resource/*; do \
install -m 644 $file /usr/local/openmcu-ru/resource; \
done )
( for file in ./files/scripts/*; do \
install -m 755 --compare --backup=numbered $file /opt/openmcu-ru/scripts; \
done )
install: cannot create regular file ‘/opt/openmcu-ru/scripts’: No such file or directory
install: cannot create regular file ‘/opt/openmcu-ru/scripts’: No such file or directory
install: cannot create regular file ‘/opt/openmcu-ru/scripts’: No such file or directory
install: cannot create regular file ‘/opt/openmcu-ru/scripts’: No such file or directory
install: cannot create regular file ‘/opt/openmcu-ru/scripts’: No such file or directory
make[1]: *** [install] Error 1
make[1]: Leaving directory `/home/moscow/openmcu-ru-oci/build/openmcu-ru/openmcu-ru'
make: *** [install] Error 2
----------------------------------------------------------------
2015-02-17+11-14-57 Команда: cd /home/moscow/openmcu-ru-oci/build/openmcu-ru/ && export OPTCCFLAGS=-I/usr/local/openmcu-ru/include && export LDFLAGS=-L/usr/local/openmcu-ru/lib && export LD_LIBRARY_PATH=/usr/local/openmcu-ru/lib && make clean && make && make install
завершена с ошибкой.
EXIT CODE: 2
Устраните причины ошибки и повторите еще раз..
Следующая проблема.
В настроечном файле оставляю каталог /opt. Собираю deb-пакет. Устанавливаю. Получаю, что вся установка производится в корень каталога /opt. Не в /opt/openmcu-ru. А файл /etc/init.d/openmcu-ru ссылается, на файлы по правильному пути, в итоге пакет неработоспособен.
-
install: cannot create regular file ‘/opt/openmcu-ru/scripts’: No such file or directory
исправил.
Следующая проблема.
В настроечном файле оставляю каталог /opt. Собираю deb-пакет. Устанавливаю. Получаю, что вся установка производится в корень каталога /opt. Не в /opt/openmcu-ru. А файл /etc/init.d/openmcu-ru ссылается, на файлы по правильному пути, в итоге пакет неработоспособен.
Скрипт последний?
-
Последний openmcu-ru-oci_4.1_2015-02-10.tar.gz
-
Последний openmcu-ru-oci_4.1_2015-02-10.tar.gz
Сравните на всякий случай размер, была такая ошибка и была исправлена в тот же день. Надо было номера проставлять...
-
Скачивал сегодня утром (17.02)
wget http://openmcu.ru/public/OpenMCU-ru/build_script/openmcu-ru-oci_4.1_2015-02-10.tar.gz
Размер: 17138 байт
-
c55fun,
нашел, это только при сборке пакета. Исправил, обновил скрипт.
-
Ошибка Ubuntu 12.04 64бит
utils_json.h:83:15: ошибка: with «MCUJSON& MCUJSON::operator=(long int)»
../libs/ptlib/include/ptlib/videoio.h:1168:1: предупреждение: «PPlugin_PVideoInputDevice_FakeVideo_loader» определена, но нигде не используется [-Wunused-variable]
../libs/ptlib/include/ptlib/videoio.h:1179:1: предупреждение: «PPlugin_PVideoInputDevice_YUVFile_loader» определена, но нигде не используется [-Wunused-variable]
make[1]: *** [obj/main.o] Ошибка 1
make[1]: Выход из каталога `/home/operatorvks/Загрузки/openmcu-ru-oci/build/openmcu-ru/openmcu-ru'
make: *** [all] Ошибка 2
----------------------------------------------------------------
2015-02-25+15-13-19 Команда: cd /home/operatorvks/Загрузки/openmcu-ru-oci/build/openmcu-ru/ && export OPTCCFLAGS=-I/opt/openmcu-ru/include && export LDFLAGS=-L/opt/openmcu-ru/lib && export LD_LIBRARY_PATH=/opt/openmcu-ru/lib && make clean && make && make install
завершена с ошибкой.
EXIT CODE: 2
Устраните причины ошибки и повторите еще раз..
-
utils_json.h:83:15: ошибка: with «MCUJSON& MCUJSON::operator=(long int)»
Исправил.
-
Поставил debian 7, скачал скрипт, запустил. отработал вроде как успешно, но в /opt/openmcu-ru/bin только один файл openmcu-ru, и естественно ничего не запускается.
Поиском openmcu-ru* больше ничего полезного не нашлось...
В этой теме нашёл пару годичной давности сообщений об аналогичных случаях, но решения не заметил.
Что делать?
-
Вопрос снят.
Ожидал, что скрипт ставит всё сам, а оказалось, что он только пакет готовит, который ещё ставить надо )
-
Ubuntu 14.04 64
ошибка при сборке скриптом
/home/operatorvks/Загрузки/openmcu-ru-oci/build/openmcu-ru/libs/h323plus/lib/libh323_linux_x86_64_r_s.a(h323ep.o): In function `H225CallThread::Main()':
h323ep.cxx:(.text+0x506): multiple definition of `H225CallThread::Main()'
obj/h323.o:/home/operatorvks/Загрузки/openmcu-ru-oci/build/openmcu-ru/openmcu-ru/h323.cxx:105: first defined here
collect2: error: ld returned 1 exit status
make[1]: *** [static] Ошибка 1
make[1]: Выход из каталога `/home/operatorvks/Загрузки/openmcu-ru-oci/build/openmcu-ru/openmcu-ru'
make: *** [all] Ошибка 2
----------------------------------------------------------------
2015-03-23+09-16-47 Команда: cd /home/operatorvks/Загрузки/openmcu-ru-oci/build/openmcu-ru/ && export OPTCCFLAGS=-I/opt/openmcu-ru/include && export LDFLAGS=-L/opt/openmcu-ru/lib && export LD_LIBRARY_PATH=/opt/openmcu-ru/lib && make clean && make && make install
завершена с ошибкой.
EXIT CODE: 2
Устраните причины ошибки и повторите еще раз..
operatorvks@VideoServerReserv:~/Загрузки/openmcu-ru-oci$
-
какая ветка, какой коммит?
H225CallThread::Main() определён только там
в master, в текущем состоянии
только строка не 105, а 104, что настораживает
upd. упс, не заметил, конфликт-то с h323plus, оказывается... тогда не только там :)
но вопрос про ветку/коммит остаётся в силе
-
скрипт скачен отсюда, ничего не менял ) 4.1
-
h323ep.cxx:(.text+0x506): multiple definition of `H225CallThread::Main()'
исправил.
upd. упс, не заметил, конфликт-то с h323plus, оказывается... тогда не только там :)
У меня на centos нет ошибки, кажется на этом уже попадался, надо не забывать переименовывать. Так и что то новое можно случайно назвать одинаково... :)
-
2015-12-03+11-41-59 Command: cd /home/conf/Downloads/openmcu-ru-oci/build/openmcu-ru && git checkout -x
----------------------------------------------------------------
error: unknown switch `x'
usage: git checkout [options] <branch>
or: git checkout [options] [<branch>] -- <file>...
-q, --quiet suppress progress reporting
-b <branch> create and checkout a new branch
-B <branch> create/reset and checkout a branch
-l create reflog for new branch
--detach detach the HEAD at named commit
-t, --track set upstream info for new branch
--orphan <new branch>
new unparented branch
-2, --ours checkout our version for unmerged files
-3, --theirs checkout their version for unmerged files
-f, --force force checkout (throw away local modifications)
-m, --merge perform a 3-way merge with the new branch
--overwrite-ignore update ignored files (default)
--conflict <style> conflict style (merge or diff3)
-p, --patch select hunks interactively
----------------------------------------------------------------
2015-12-03+11-41-59 Command: cd /home/conf/Downloads/openmcu-ru-oci/build/openmcu-ru && git checkout -x
failed.
EXIT CODE: 129
Fix errors and try again..
Как можно решить эту проблему???
-
I have downloaded the build script for 4.1 version from here http://openmcu.ru/public/OpenMCU-ru/build_script/
After untar, I run the script using this command
./openmcu-oci download
./openmcu-oci build
But after build command I got following error-
.....
checking for gcc... gcc
checking whether we are using the GNU C compiler... yes
checking whether gcc accepts -g... yes
checking for gcc option to accept ISO C89... none needed
checking whether gcc understands -c and -o together... yes
checking dependency style of gcc... none
checking how to run the C preprocessor... gcc -E
checking for avcodec.h... no
checking for libavcodec/avcodec.h... yes
checking for ffmpeg/avcodec.h... no
checking for libav/avcodec.h... no
checking for ffmpeg/libavcodec/avcodec.h... no
checking for libav/libavcodec/avcodec.h... no
checking for avcodec_version in -lavcodec... no
configure: error: libavcodec library not found! Install FFmpeg or Libav
............
The Build script downloaded and installed ffmpeg, then why it is asking for downloading ffmpeg.
What should I do?
-
будет ли реализовано для ubuntu 14 64bit?
-
извиняюсь, ubuntu 14 x64 все установилось и работает
-
openmcu-ru-oci_4.1_2015-02-17.tar.gz
Для
CentOS-5.11-i386
2016-09-10+19-43-37 Команда: wget http://webm.googlecode.com/files/libvpx-v1.1.0.tar.bz2
завершена с ошибкой.
EXIT CODE: 1
Устраните причины ошибки и повторите еще раз..
Ссылка действительно 404. That’s an error.
------
http://webm.googlecode.com/files/libvpx-v1.1.0.tar.bz2
заменил на
http://pkgs.fedoraproject.org/repo/pkgs/libvpx/libvpx-v1.1.0.tar.bz2/7ae163ac3196c79ec2f0904280078a45/libvpx-v1.1.0.tar.bz2
Началась сборка пакета, жду :)
-
А как собрать пакет, для установки в директорию /opt/openmcu-ru1
Служба (service) соответственно openmcu-ru1
Имя пакета соответственно openmcu-ru1-4.1.6-1448.el6.x86_64.rpm
Для чего:
Что бы иметь на севере несколько версий, например одного коммита но с предварительно изменёнными исходниками
Что надо заменить в скрипте ?
-
Всем доброго времени суток уважаемые.
[root@xxx openmcu-ru]# git checkout master
Already on 'master'
[root@xxx openmcu-ru]# ./autogen.sh
#Generating build scripts...
aclocal
autoconf
automake --add-missing --copy
configure.ac:5: installing `./config.guess'
configure.ac:5: installing `./config.sub'
configure.ac:6: installing `./install-sh'
configure.ac:6: installing `./missing'
if [ -d ${top_srcdir}/libs/libg722_1 ] ; then
cd ${top_srcdir}/libs/libg722_1/ && ./autogen.sh
fi
libtoolize: putting auxiliary files in AC_CONFIG_AUX_DIR, `config'.
libtoolize: copying file `config/ltmain.sh'
libtoolize: putting auxiliary files in `config'.
libtoolize: copying file `libltdl/config/compile'
libtoolize: copying file `libltdl/config/config.guess'
libtoolize: copying file `libltdl/config/config.sub'
libtoolize: copying file `libltdl/config/depcomp'
libtoolize: copying file `libltdl/config/install-sh'
libtoolize: copying file `libltdl/config/missing'
libtoolize: copying file `libltdl/config/ltmain.sh'
libtoolize: putting macros in `libltdl/m4'.
libtoolize: copying file `libltdl/m4/argz.m4'
libtoolize: copying file `libltdl/m4/libtool.m4'
libtoolize: copying file `libltdl/m4/ltdl.m4'
libtoolize: copying file `libltdl/m4/ltoptions.m4'
libtoolize: copying file `libltdl/m4/ltsugar.m4'
libtoolize: copying file `libltdl/m4/ltversion.m4'
libtoolize: copying file `libltdl/m4/lt~obsolete.m4'
libtoolize: putting libltdl files in `libltdl'.
libtoolize: `COPYING.LIB' not found in `/usr/share/libtool/libltdl'
chmod: невозможно получить доступ к «libltdl/configure»: Нет такого файла или каталога
if [ "$UNAME" = "FreeBSD" ] ; then
if [ -d ${top_srcdir}/libs/speex ] ; then
cd ${top_srcdir}/libs/speex && autoreconf -fiv
fi
if [ -d ${top_srcdir}/libs/sofia-sip ] ; then
cd ${top_srcdir}/libs/sofia-sip && autoreconf -fiv
fi
fi
[root@xxx openmcu-ru]# ./configure
checking build system type... i686-pc-linux-gnu
checking host system type... i686-pc-linux-gnu
checking target system type... i686-pc-linux-gnu
checking for a BSD-compatible install... /usr/bin/install -c
checking whether build environment is sane... yes
checking for a thread-safe mkdir -p... /bin/mkdir -p
checking for gawk... gawk
checking whether make sets $(MAKE)... yes
checking for g++... g++
checking for C++ compiler default output file name... a.out
checking whether the C++ compiler works... yes
checking whether we are cross compiling... no
checking for suffix of executables...
checking for suffix of object files... o
checking whether we are using the GNU C++ compiler... yes
checking whether g++ accepts -g... yes
checking for style of include used by make... GNU
checking dependency style of g++... none
checking for a BSD-compatible install... /usr/bin/install -c
configure: OSTYPE set to linux
configure: OSRELEASE set to "2.6.32-642.11.1.el6.centos.plus.i686"
configure: MACHTYPE set to x86
configure: gcc version is 4.4.7
checking checking if pragma implementation should be used... no
checking for /home/testing/openmcu-ru/libs/ptlib/make/ptbuildopts.mak... yes
checking for /opt/openmcu-ru/include/sofia-sip-1.12/sofia-sip/sip.h... no
checking for /usr/include/sofia-sip-1.12/sofia-sip/sip.h... no
checking for /usr/local/include/sofia-sip-1.12/sofia-sip/sip.h... no
checking for /home/testing/openmcu-ru/libs/sofia-sip/configure... yes
checking for gcc... gcc
checking whether we are using the GNU C compiler... yes
checking whether gcc accepts -g... yes
checking for gcc option to accept ISO C89... none needed
checking dependency style of gcc... none
checking how to run the C preprocessor... gcc -E
checking for avcodec.h... no
checking for libavcodec/avcodec.h... no
checking for ffmpeg/avcodec.h... no
checking for libav/avcodec.h... no
checking for ffmpeg/libavcodec/avcodec.h... no
checking for libav/libavcodec/avcodec.h... no
configure: error: avcodec headers not found! Install FFmpeg or Libav.
какой пакет надо поставить? :(
-
:(
-
Ну по идее libavcodec-dev. На какой системе собираете?
-
CentOS 6.8
yum не видит такого пакета ни в одном из репо с коробки.
Как решить проблему?
Спасибо.
-
Под redhat based ниразу не собирал, но попробуйте такие пакеты поставить:
# yum install ffmpeg ffmpeg-compat ffmpeg-compat-devel ffmpeg-devel ffmpeg-libs
http://firstwiki.ru/index.php/%D0%A3%D1%81%D1%82%D0%B0%D0%BD%D0%BE%D0%B2%D0%BA%D0%B0_FFMPEG
-
Спасибо ВАМ за помощь! :)
всё ок
============== OpenMCU-ru Build Configuration =================
OS Type : linux-gnu
Machine Type : i686
Installing into prefix : /opt
Installing directory : /opt/openmcu-ru
Subtitles : enabled
JPEG Frame Encoder (for browser) : disabled
Use libyuv to resize video : enabled
External Audio Resampler : enabled - ffmpeg
VP8 Video Plugin : enabled
H.264 Video Plugin : enabled
H.263/H.263P Video Plugin : enabled
H.261 Video Plugin : enabled
MPEG4 Video Plugin : enabled
OPUS Audio Plugin : enabled
SILK Audio Plugin : enabled
G.722 Audio Plugin : enabled
G.722.1 Audio Plugin : enabled
G.722.2 Audio Plugin : enabled
SPEEX Audio Plugin : enabled
G.723.1 Audio Plugin : enabled
iLBC Audio Plugin : enabled
G.726 Audio Plugin : enabled
G.729 Audio Plugin : enabled
If all settings are OK, type make and make install
========================================================
[root@xxx openmcu-ru]#
Если вы не против ещё вопрос: как добавить кодек H.265 ?
-
пока никак. Требуется доработка openmcu-ru для использования этого кодека.
-
Добрый день! Есть ли возможность установить OpenMCU-ru на Debian 8.7 Jessie?
-
Добрый день! Есть ли возможность установить OpenMCU-ru на Debian 8.7 Jessie?
https://videoswitch.ru/forum/index.php?topic=1356.0 - ?
-
При установке с помощью скрипта на Centos 6.4 выдает ошибку, что не может скачать файл http://webm.googlecode.com/files/libvpx-v1.1.0.tar.bz2
Скрипт актуален?
-
В скрипте измените положение libvpx на https://videoswitch.ru/public/dependencies/stable/libvpx-v1.1.0.tar.bz2
-
Всем привет! Подскажите на какой ос лучше всего собрать openmcu, главный критерий стабильность. В организации имеется следующее оборудование: LifeSize Team 220, Sony PCS-G50, Sony PCS-XG100S - 3 штуки. Пробовали сборку с просторов интернета на основе CentOS, вроде все неплохо, но примерно через час конференции картинка от Sony PCS-XG100S начинается сыпаться. Также качество картинки оставляет желать лучшего. Поэтому буду рад совету что лучше попробовать для использования.
-
Дорогие коллеги, решил обновить железо и соответственно пробую на последней версии Ubuntu 17.10.1-server-amd64 собрать сервер из исходников. Скрипт автоматической сборки не работает, прошу помочь его исправить или актуализировать Wiki под свежие версии Linux.
-
Доброго времени суток уважаемые!
сегодня решил собрать rpm-ку скриптом но нифига не получилось, и ошибки никакой не было, просто тишина.
./openmcu-oci package
Определен дистрибутив: CentOS 'el6' x86_64
Папка с исходными кодами: /root/openmcu-ru-oci/src
Папка сборки: /root/openmcu-ru-oci/build
Папка установки OpenMCU-ru: /opt/openmcu-ru
branch: master
configure options: --enable-static --disable-v4l --disable-v4l2
Сборка rpm-пакета...
Пакет не собран
Общее время выполнения: 303 s
Ладно, тогда обратился к wiki
1)ошибку с aclocal-1.13
решил так
ln -sf /usr/bin/aclocal-1.11 /usr/bin/aclocal-1.13
ln -sf /usr/bin/automake-1.11 /usr/bin/automake-1.13
далее без проблем до make :(
2) получил такую ошибку
libtool: Version mismatch error. This is libtool 2.4.2, but the
libtool: definition of this LT_INIT comes from libtool 2.2.6b.
libtool: You should recreate aclocal.m4 with macros from libtool 2.4.2
libtool: and run autoconf again.
make[3]: *** [basop32.lo] Ошибка 63
make[3]: Leaving directory `/root/openmcu-ru/libs/libg722_1/src'
make[2]: *** [all] Ошибка 2
make[2]: Leaving directory `/root/openmcu-ru/libs/libg722_1/src'
make[1]: *** [all-recursive] Ошибка 1
make[1]: Leaving directory `/root/openmcu-ru/libs/libg722_1'
make: *** [all] Ошибка 2
CentOS 6.9
версия libtool --version
ltmain.sh (GNU libtool) 2.2.6b
проблему решил так:
rm -f aclocal.m4
971 aclocal && libtoolize --force && autoreconf
972 ./configure
973 make
975 autoreconf -ivf
976 make
983 git clone https://github.com/muggot/openmcu.git ./openmcu-ru
984 cd ./openmcu-ru
985 git branch -r
986 git checkout master
987 ./autogen.sh
988 ./configure
989 make
990 make install
Все установилось, тестирую.
-
Скрипт выдает ошибку на CentOS 7, куда копать
ошибка: «x264_bit_depth» undeclared (first use in this function)
-
Если подробнее то :
libavcodec/libx264.c: В функции «X264_init_static»:
libavcodec/libx264.c:595:9: ошибка: «x264_bit_depth» undeclared (first use in this function)
if (x264_bit_depth == 8)
^
make: *** [libavcodec/libx264.o] Ошибка 1
-
Если подробнее то :
libavcodec/libx264.c: В функции «X264_init_static»:
libavcodec/libx264.c:595:9: ошибка: «x264_bit_depth» undeclared (first use in this function)
if (x264_bit_depth == 8)
^
make: *** [libavcodec/libx264.o] Ошибка 1
лечится путем откатывания библиотеки x264 до коммита где был соответствующий патч
подробнее здесь:
http://git.videolan.org/?p=x264.git;a=commit;h=71ed44c7312438fac7c5c5301e45522e57127db4
есть пропатченный x264, но не могу его прикрепить т.к большой 10мб в архиве, могу выложить куда-нибудь для скачивания, если не разберетесь.