HD Видеоконференции на OpenMCU



Увы, но поддержка форума прекращена и он работает в режиме read only. Если кто-то решит воскресить проект - то возможно и форум заработает. Если будут вопросы, то задавайте их в issue на github.

Автор Тема: Скрипт для сборки OpenMCU-ru под Linux  (Прочитано 138516 раз)

kay27

  • Глобальный модератор
  • Ветеран
  • *****
  • Сообщений: 3068
  • Карма: 58
Re: Скрипт для сборки OpenMCU-ru под Linux
« Ответ #420 : 15 Февраля 2015, 20:11:36 »
Кажется ptlib собран в clang, h323plus наверное тоже.

я когда-то давно пробовал мцу собирать в клэнге, но что-то не прокатило, а что конкретно, не помню уже
ты не пытался сейчас?

xak

  • Разработчик
  • Ветеран
  • *****
  • Сообщений: 1791
  • Карма: 58
Re: Скрипт для сборки OpenMCU-ru под Linux
« Ответ #421 : 15 Февраля 2015, 21:32:45 »
я когда-то давно пробовал мцу собирать в клэнге, но что-то не прокатило, а что конкретно, не помню уже
ты не пытался сейчас?
Не пробовал, наверное из-за ptlib у тебя не прокатило. Не знаю как они его собирали в пакет, без gcc просто так ptlib не собирается.

xak

  • Разработчик
  • Ветеран
  • *****
  • Сообщений: 1791
  • Карма: 58
Re: Скрипт для сборки OpenMCU-ru под Linux
« Ответ #422 : 15 Февраля 2015, 21:56:11 »
Собрал в 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

kay27

  • Глобальный модератор
  • Ветеран
  • *****
  • Сообщений: 3068
  • Карма: 58
Re: Скрипт для сборки OpenMCU-ru под Linux
« Ответ #423 : 16 Февраля 2015, 14:11:16 »
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

хотя мне это не страшно, просто на всякий случай

xak

  • Разработчик
  • Ветеран
  • *****
  • Сообщений: 1791
  • Карма: 58
Re: Скрипт для сборки OpenMCU-ru под Linux
« Ответ #424 : 16 Февраля 2015, 15:03:54 »
Странно, вот эта проверка - https://github.com/muggot/openmcu/blob/master/configure.ac#L620. Сейчас проверка в нескольких каталогах в цикле, принцип не изменился, раньше в двух.
Проверил, у меня добавляет к MCU_LDLIBS -ljpeg. Это вообще работало у тебя когда добавил? :)

xak

  • Разработчик
  • Ветеран
  • *****
  • Сообщений: 1791
  • Карма: 58
Re: Скрипт для сборки OpenMCU-ru под Linux
« Ответ #425 : 16 Февраля 2015, 23:42:58 »
Эксперимент - на Ubuntu 14.04 собрал вообще без папки libs :)
Установил в систему всё, пакет ptlib называется - libpt-dev, h323plus - libh323plus-dev.
Нет libyuv и libg722_1, поэтому отключил в конфигураторе "./configure --disable-libyuv --disable-g7221".
« Последнее редактирование: 16 Февраля 2015, 23:45:25 от xak »

c55fun

  • Новичок
  • *
  • Сообщений: 16
  • Карма: 1
Re: Скрипт для сборки OpenMCU-ru под Linux
« Ответ #426 : 17 Февраля 2015, 14:26:28 »
Есть проблемы при установке в 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 ссылается, на файлы по правильному пути, в итоге пакет неработоспособен.


xak

  • Разработчик
  • Ветеран
  • *****
  • Сообщений: 1791
  • Карма: 58
Re: Скрипт для сборки OpenMCU-ru под Linux
« Ответ #427 : 17 Февраля 2015, 14:52:06 »
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 ссылается, на файлы по правильному пути, в итоге пакет неработоспособен.
Скрипт последний?

c55fun

  • Новичок
  • *
  • Сообщений: 16
  • Карма: 1
Re: Скрипт для сборки OpenMCU-ru под Linux
« Ответ #428 : 17 Февраля 2015, 14:54:43 »
Последний openmcu-ru-oci_4.1_2015-02-10.tar.gz

xak

  • Разработчик
  • Ветеран
  • *****
  • Сообщений: 1791
  • Карма: 58
Re: Скрипт для сборки OpenMCU-ru под Linux
« Ответ #429 : 17 Февраля 2015, 15:14:41 »
Последний openmcu-ru-oci_4.1_2015-02-10.tar.gz
Сравните на всякий случай размер, была такая ошибка и была исправлена в тот же день. Надо было номера проставлять...

c55fun

  • Новичок
  • *
  • Сообщений: 16
  • Карма: 1
Re: Скрипт для сборки OpenMCU-ru под Linux
« Ответ #430 : 17 Февраля 2015, 16:46:54 »
Скачивал сегодня утром (17.02)
wget http://openmcu.ru/public/OpenMCU-ru/build_script/openmcu-ru-oci_4.1_2015-02-10.tar.gz
Размер: 17138 байт

xak

  • Разработчик
  • Ветеран
  • *****
  • Сообщений: 1791
  • Карма: 58
Re: Скрипт для сборки OpenMCU-ru под Linux
« Ответ #431 : 17 Февраля 2015, 17:57:36 »
c55fun,
нашел, это только при сборке пакета. Исправил, обновил скрипт.

Vitlius

  • Старожил
  • ****
  • Сообщений: 402
  • Карма: 10
Re: Скрипт для сборки OpenMCU-ru под Linux
« Ответ #432 : 25 Февраля 2015, 15:18:34 »
Ошибка  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
Устраните причины ошибки и повторите еще раз..

xak

  • Разработчик
  • Ветеран
  • *****
  • Сообщений: 1791
  • Карма: 58
Re: Скрипт для сборки OpenMCU-ru под Linux
« Ответ #433 : 25 Февраля 2015, 15:38:48 »
utils_json.h:83:15: ошибка: with «MCUJSON& MCUJSON::operator=(long int)»
Исправил.

ufk1500

  • Постоялец
  • ***
  • Сообщений: 192
  • Карма: 7
Re: Скрипт для сборки OpenMCU-ru под Linux
« Ответ #434 : 13 Марта 2015, 22:09:27 »
Поставил debian 7, скачал скрипт, запустил. отработал вроде как успешно, но в /opt/openmcu-ru/bin только один файл openmcu-ru, и естественно ничего не запускается.
Поиском openmcu-ru* больше ничего полезного не нашлось...
В этой теме нашёл пару годичной давности сообщений об аналогичных случаях, но решения не заметил.
Что делать?