HD Видеоконференции на OpenMCU
Доработка OpenMCU => Установка => Тема начата: realvava от 11 Апреля 2017, 15:38:47
-
Хочу поделиться успешным опытом установки на Debian 8 Jessie. Для установки был выбран дистрибутив 8.7 amd64 netinstall.
Все действия выполнялись исключительно из под пользователя root.
Первое, что нужно сделать - это дописать репозитарии в /etc/apt/sources.list и добавить ключ для них. Пояснения, думаю, не требует.
deb http://www.deb-multimedia.org jessie main non-free
deb-src http://www.deb-multimedia.org jessie main non-free
apt-get update
apt-get install deb-multimedia-keyring
apt-get update
Далее установим все требуемые пакеты разом
apt-get install build-essential flex bison autoconf automake pkg-config git libmp3lame-dev libvorbis-dev libtheora-dev libspeex-dev yasm pkg-config libfaac-dev libopenjpeg-dev libx264-dev libfreetype6-dev libsofia-sip-ua-dev libvpx-dev libx264-dev libav-tools libavcodec-dev libavutil-dev libsamplerate0-dev libopus-dev libssl-dev srtp-utils libtool libjpeg62-turbo-dev ffmpeg
Переходим к самой сборке (немного копипасты с исправлениями)
Загрузка:
git clone git://github.com/muggot/openmcu.git ./openmcu-ru
cd ./openmcu-ru
Переключаемся на необходимую ветку:
git branch -r
git checkout origin/master
Сборка:
./autogen.sh
./configure
make
make install
Скрин после сборки.
После этого нужно запустить всё это в качестве демона.
/opt/openmcu-ru/bin/openmcu-ru -d
ну или консольного режима
/opt/openmcu-ru/bin/openmcu-ru -x
Далее через веб
http://srv_ip:1420
Полномасштабного тестирования не производилось, но ошибок в логах вроде как нет.
P.S.: извиняюсь за наглость: первый пост и сразу гайд, но я посмотрел, тут задавали вопросы на эту тему, вот решил помочь.
-
Большое спасибо за подробный мануал.
Переключаемся на необходимую ветку:
git branch -r
git checkout 4.0
Вопрос - а почему именно 4.0 ветка а не 4.1?
-
ну 4.1 там нет, а другие ветки там без ./autogen.sh , указанного в мануале.
Поставил 4.1 из ветки мастер, спасибо за наводящий вопрос.
Поправил старт-топ.
Убрал инфу про ручную сборку ffmpeg из старт-топа, чтобы не смущать народ. Кину здесь.
Я собирал ffmpeg вручную (до того, как нашёл нужные репозитарии), но это совершенно не обязательно. Кому понадобится, вот...
mkdir ffmpeg-distr
cd ffmpeg-distr
wget http://ffmpeg.org/releases/ffmpeg-2.7.2.tar.bz2
cd ..
mkdir src
cd src
tar xvjf ../ffmpeg-distr/ffmpeg-2.7.2.tar.bz2
cd ffmpeg-2.7.2
./configure --enable-gpl --enable-postproc --enable-swscale --enable-avfilter --enable-libmp3lame --enable-libvorbis --enable-libtheora --enable-libx264 --enable-libspeex --enable-shared --enable-pthreads --enable-libopenjpeg --enable-libfaac --enable-nonfree
make
make install
-
На 9 версии не компилится изза openssl 1.1
============== OpenMCU-ru Build Configuration =================
OS Type : linux-gnu
Machine Type : x86_64
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
========================================================
# make
(make -C /home/alex/openmcu-ru/libs/ptlib) || exit $?
make[1]: вход в каталог «/home/alex/openmcu-ru/libs/ptlib»
make P_SHAREDLIB=1 opt
make[2]: вход в каталог «/home/alex/openmcu-ru/libs/ptlib»
set -e; if test -e src/ptlib/unix ; then make -C src/ptlib/unix opt; fi;
make[3]: вход в каталог «/home/alex/openmcu-ru/libs/ptlib/src/ptlib/unix»
[CC] /home/alex/openmcu-ru/libs/ptlib/lib/obj_linux_x86_64_r/pssl.o
In file included from /home/alex/openmcu-ru/libs/ptlib/include/ptlib.h:250:0,
from ../../ptclib/pssl.cxx:220:
/home/alex/openmcu-ru/libs/ptlib/include/ptlib/psharedptr.h:70:21: warning: ‘template<class> class std::auto_pt ’ is deprecated [-Wdeprecated-declarations]
PSharedPtr(std::auto_ptr<element_type> & v)
^~~~~~~~
In file included from /usr/include/c++/6/bits/locale_conv.h:41:0,
from /usr/include/c++/6/locale:43,
from /usr/include/c++/6/iomanip:43,
from /home/alex/openmcu-ru/libs/ptlib/include/ptlib/object.h:493,
from /home/alex/openmcu-ru/libs/ptlib/include/ptlib/contain.h:257,
from /home/alex/openmcu-ru/libs/ptlib/include/ptlib.h:161,
from ../../ptclib/pssl.cxx:220:
/usr/include/c++/6/bits/unique_ptr.h:49:28: note: declared here
template<typename> class auto_ptr;
^~~~~~~~
../../ptclib/pssl.cxx:268:55: error: ‘BIO_s_file_internal’ was not declared in this scope
PSSL_BIO(BIO_METHOD *method = BIO_s_file_internal())
^
In file included from /usr/include/openssl/x509.h:23:0,
from /usr/include/openssl/ssl.h:50,
from ../../ptclib/pssl.cxx:231:
../../ptclib/pssl.cxx: In member function ‘BOOL PSSLPrivateKey::Create(unsigned int, void (*)(int, int, void*), void*)’:
../../ptclib/pssl.cxx:391:32: warning: ‘RSA* RSA_generate_key(int, long unsigned int, void (*)(int, int, void*), void*)’ is deprecated [-Wdeprecated-declarations]
if (EVP_PKEY_assign_RSA(key, RSA_generate_key(modulus, 0x10001, callback, cb_arg)))
^
In file included from /usr/include/openssl/rsa.h:13:0,
from /usr/include/openssl/x509.h:31,
from /usr/include/openssl/ssl.h:50,
from ../../ptclib/pssl.cxx:231:
/usr/include/openssl/rsa.h:193:1: note: declared here
DEPRECATEDIN_0_9_8(RSA *RSA_generate_key(int bits, unsigned long e, void
^
In file included from /usr/include/openssl/x509.h:23:0,
from /usr/include/openssl/ssl.h:50,
from ../../ptclib/pssl.cxx:231:
../../ptclib/pssl.cxx:391:83: warning: ‘RSA* RSA_generate_key(int, long unsigned int, void (*)(int, int, void*), void*)’ is deprecated [-Wdeprecated-declarations]
if (EVP_PKEY_assign_RSA(key, RSA_generate_key(modulus, 0x10001, callback, cb_arg)))
^
In file included from /usr/include/openssl/rsa.h:13:0,
from /usr/include/openssl/x509.h:31,
from /usr/include/openssl/ssl.h:50,
from ../../ptclib/pssl.cxx:231:
/usr/include/openssl/rsa.h:193:1: note: declared here
DEPRECATEDIN_0_9_8(RSA *RSA_generate_key(int bits, unsigned long e, void
^
../../ptclib/pssl.cxx: In member function ‘BOOL PSSLPrivateKey::Load(const PFilePath&, PSSLFileTypes)’:
../../ptclib/pssl.cxx:426:12: error: call to ‘PSSL_BIO::PSSL_BIO(BIO_METHOD*)’ uses the default argument for parameter 1, which is not yet defined
PSSL_BIO in;
^~
../../ptclib/pssl.cxx: In member function ‘BOOL PSSLPrivateKey::Save(const PFilePath&, BOOL, PSSLFileTypes)’:
../../ptclib/pssl.cxx:465:12: error: call to ‘PSSL_BIO::PSSL_BIO(BIO_METHOD*)’ uses the default argument for parameter 1, which is not yet defined
PSSL_BIO out;
^~~
../../ptclib/pssl.cxx: In member function ‘BOOL PSSLCertificate::Load(const PFilePath&, PSSLFileTypes)’:
../../ptclib/pssl.cxx:672:12: error: call to ‘PSSL_BIO::PSSL_BIO(BIO_METHOD*)’ uses the default argument for parameter 1, which is not yet defined
PSSL_BIO in;
^~
../../ptclib/pssl.cxx: In member function ‘BOOL PSSLCertificate::Save(const PFilePath&, BOOL, PSSLFileTypes)’:
../../ptclib/pssl.cxx:711:12: error: call to ‘PSSL_BIO::PSSL_BIO(BIO_METHOD*)’ uses the default argument for parameter 1, which is not yet defined
PSSL_BIO out;
^~~
../../ptclib/pssl.cxx: In constructor ‘PSSLDiffieHellman::PSSLDiffieHellman(const BYTE*, PINDEX, const BYTE*, PINDEX)’:
../../ptclib/pssl.cxx:766:5: error: invalid use of incomplete type ‘struct dh_st’
dh->p = BN_bin2bn(pData, pSize, NULL);
^~
In file included from ../../ptclib/pssl.cxx:222:0:
/home/alex/openmcu-ru/libs/ptlib/include/ptclib/pssl.h:103:8: note: forward declaration of ‘struct dh_st’
struct dh_st;
^~~~~
../../ptclib/pssl.cxx:767:5: error: invalid use of incomplete type ‘struct dh_st’
dh->g = BN_bin2bn(gData, gSize, NULL);
^~
In file included from ../../ptclib/pssl.cxx:222:0:
/home/alex/openmcu-ru/libs/ptlib/include/ptclib/pssl.h:103:8: note: forward declaration of ‘struct dh_st’
struct dh_st;
^~~~~
../../ptclib/pssl.cxx:768:9: error: invalid use of incomplete type ‘struct dh_st’
if (dh->p != NULL && dh->g != NULL)
^~
In file included from ../../ptclib/pssl.cxx:222:0:
/home/alex/openmcu-ru/libs/ptlib/include/ptclib/pssl.h:103:8: note: forward declaration of ‘struct dh_st’
struct dh_st;
^~~~~
../../ptclib/pssl.cxx:768:26: error: invalid use of incomplete type ‘struct dh_st’
if (dh->p != NULL && dh->g != NULL)
^~
In file included from ../../ptclib/pssl.cxx:222:0:
/home/alex/openmcu-ru/libs/ptlib/include/ptclib/pssl.h:103:8: note: forward declaration of ‘struct dh_st’
struct dh_st;
^~~~~
../../ptclib/pssl.cxx: In member function ‘BOOL PSSLDiffieHellman::Load(const PFilePath&, PSSLFileTypes)’:
../../ptclib/pssl.cxx:819:12: error: call to ‘PSSL_BIO::PSSL_BIO(BIO_METHOD*)’ uses the default argument for parameter 1, which is not yet defined
PSSL_BIO in;
^~
../../ptclib/pssl.cxx: In function ‘int Psock_new(BIO*)’:
../../ptclib/pssl.cxx:1234:6: error: invalid use of incomplete type ‘BIO {aka struct bio_st}’
bio->init = 0;
^~
In file included from /usr/include/openssl/crypto.h:31:0,
from /usr/include/openssl/comp.h:16,
from /usr/include/openssl/ssl.h:47,
from ../../ptclib/pssl.cxx:231:
/usr/include/openssl/ossl_typ.h:79:16: note: forward declaration of ‘BIO {aka struct bio_st}’
typedef struct bio_st BIO;
^~~~~~
../../ptclib/pssl.cxx:1235:6: error: invalid use of incomplete type ‘BIO {aka struct bio_st}’
bio->num = 0;
^~
In file included from /usr/include/openssl/crypto.h:31:0,
from /usr/include/openssl/comp.h:16,
from /usr/include/openssl/ssl.h:47,
from ../../ptclib/pssl.cxx:231:
/usr/include/openssl/ossl_typ.h:79:16: note: forward declaration of ‘BIO {aka struct bio_st}’
typedef struct bio_st BIO;
^~~~~~
../../ptclib/pssl.cxx:1236:6: error: invalid use of incomplete type ‘BIO {aka struct bio_st}’
bio->ptr = NULL; // this is really (PSSLChannel *)
^~
In file included from /usr/include/openssl/crypto.h:31:0,
from /usr/include/openssl/comp.h:16,
from /usr/include/openssl/ssl.h:47,
from ../../ptclib/pssl.cxx:231:
/usr/include/openssl/ossl_typ.h:79:16: note: forward declaration of ‘BIO {aka struct bio_st}’
typedef struct bio_st BIO;
^~~~~~
../../ptclib/pssl.cxx:1237:6: error: invalid use of incomplete type ‘BIO {aka struct bio_st}’
bio->flags = 0;
^~
In file included from /usr/include/openssl/crypto.h:31:0,
from /usr/include/openssl/comp.h:16,
from /usr/include/openssl/ssl.h:47,
from ../../ptclib/pssl.cxx:231:
/usr/include/openssl/ossl_typ.h:79:16: note: forward declaration of ‘BIO {aka struct bio_st}’
typedef struct bio_st BIO;
^~~~~~
../../ptclib/pssl.cxx: In function ‘int Psock_free(BIO*)’:
../../ptclib/pssl.cxx:1248:10: error: invalid use of incomplete type ‘BIO {aka struct bio_st}’
if (bio->shutdown) {
^~
In file included from /usr/include/openssl/crypto.h:31:0,
from /usr/include/openssl/comp.h:16,
from /usr/include/openssl/ssl.h:47,
from ../../ptclib/pssl.cxx:231:
/usr/include/openssl/ossl_typ.h:79:16: note: forward declaration of ‘BIO {aka struct bio_st}’
typedef struct bio_st BIO;
^~~~~~
../../ptclib/pssl.cxx:1249:12: error: invalid use of incomplete type ‘BIO {aka struct bio_st}’
if (bio->init) {
^~
In file included from /usr/include/openssl/crypto.h:31:0,
from /usr/include/openssl/comp.h:16,
from /usr/include/openssl/ssl.h:47,
from ../../ptclib/pssl.cxx:231:
/usr/include/openssl/ossl_typ.h:79:16: note: forward declaration of ‘BIO {aka struct bio_st}’
typedef struct bio_st BIO;
^~~~~~
../../ptclib/pssl.cxx:1221:51: error: invalid use of incomplete type ‘BIO {aka struct bio_st}’
#define PSSLCHANNEL(bio) ((PSSLChannel *)(bio->ptr))
^
../../ptclib/pssl.cxx:1250:7: note: in expansion of macro ‘PSSLCHANNEL’
PSSLCHANNEL(bio)->Shutdown(PSocket::ShutdownReadAndWrite);
^~~~~~~~~~~
In file included from /usr/include/openssl/crypto.h:31:0,
from /usr/include/openssl/comp.h:16,
from /usr/include/openssl/ssl.h:47,
from ../../ptclib/pssl.cxx:231:
/usr/include/openssl/ossl_typ.h:79:16: note: forward declaration of ‘BIO {aka struct bio_st}’
typedef struct bio_st BIO;
^~~~~~
../../ptclib/pssl.cxx:1221:51: error: invalid use of incomplete type ‘BIO {aka struct bio_st}’
#define PSSLCHANNEL(bio) ((PSSLChannel *)(bio->ptr))
../../ptclib/pssl.cxx: At global scope:
../../ptclib/pssl.cxx:855:13: warning: ‘void LockingCallback(int, int, const char*, int)’ defined but not used -Wunused-function]
static void LockingCallback(int mode, int n, const char * /*file*/, int /*line*/)
^~~~~~~~~~~~~~~
../../../make/common.mak:327: ошибка выполнения рецепта для цели «/home/alex/openmcu-ru/libs/ptlib/lib/obj_linux_x86_64_r/pssl.o»
make[3]: *** [/home/alex/openmcu-ru/libs/ptlib/lib/obj_linux_x86_64_r/pssl.o] Ошибка 1
make[3]: выход из каталога «/home/alex/openmcu-ru/libs/ptlib/src/ptlib/unix»
Makefile:239: ошибка выполнения рецепта для цели «opt»
make[2]: *** [opt] Ошибка 2
make[2]: выход из каталога «/home/alex/openmcu-ru/libs/ptlib»
/home/alex/openmcu-ru/libs/ptlib/make/common.mak:549: ошибка выполнения рецепта для цели «optshared»
make[1]: *** [optshared] Ошибка 2
make[1]: выход из каталога «/home/alex/openmcu-ru/libs/ptlib»
Makefile:764: ошибка выполнения рецепта для цели «all»
make: *** [all] Ошибка 2
root@mcu:/home/alex/openmcu-ru#
-
На 9 версии не компилится изза openssl 1.1
============== OpenMCU-ru Build Configuration =================
OS Type : linux-gnu
Machine Type : x86_64
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
========================================================
# make
(make -C /home/alex/openmcu-ru/libs/ptlib) || exit $?
make[1]: вход в каталог «/home/alex/openmcu-ru/libs/ptlib»
make P_SHAREDLIB=1 opt
make[2]: вход в каталог «/home/alex/openmcu-ru/libs/ptlib»
set -e; if test -e src/ptlib/unix ; then make -C src/ptlib/unix opt; fi;
make[3]: вход в каталог «/home/alex/openmcu-ru/libs/ptlib/src/ptlib/unix»
[CC] /home/alex/openmcu-ru/libs/ptlib/lib/obj_linux_x86_64_r/pssl.o
In file included from /home/alex/openmcu-ru/libs/ptlib/include/ptlib.h:250:0,
from ../../ptclib/pssl.cxx:220:
/home/alex/openmcu-ru/libs/ptlib/include/ptlib/psharedptr.h:70:21: warning: ‘template<class> class std::auto_pt ’ is deprecated [-Wdeprecated-declarations]
PSharedPtr(std::auto_ptr<element_type> & v)
^~~~~~~~
In file included from /usr/include/c++/6/bits/locale_conv.h:41:0,
from /usr/include/c++/6/locale:43,
from /usr/include/c++/6/iomanip:43,
from /home/alex/openmcu-ru/libs/ptlib/include/ptlib/object.h:493,
from /home/alex/openmcu-ru/libs/ptlib/include/ptlib/contain.h:257,
from /home/alex/openmcu-ru/libs/ptlib/include/ptlib.h:161,
from ../../ptclib/pssl.cxx:220:
/usr/include/c++/6/bits/unique_ptr.h:49:28: note: declared here
template<typename> class auto_ptr;
^~~~~~~~
../../ptclib/pssl.cxx:268:55: error: ‘BIO_s_file_internal’ was not declared in this scope
PSSL_BIO(BIO_METHOD *method = BIO_s_file_internal())
^
In file included from /usr/include/openssl/x509.h:23:0,
from /usr/include/openssl/ssl.h:50,
from ../../ptclib/pssl.cxx:231:
../../ptclib/pssl.cxx: In member function ‘BOOL PSSLPrivateKey::Create(unsigned int, void (*)(int, int, void*), void*)’:
../../ptclib/pssl.cxx:391:32: warning: ‘RSA* RSA_generate_key(int, long unsigned int, void (*)(int, int, void*), void*)’ is deprecated [-Wdeprecated-declarations]
if (EVP_PKEY_assign_RSA(key, RSA_generate_key(modulus, 0x10001, callback, cb_arg)))
^
In file included from /usr/include/openssl/rsa.h:13:0,
from /usr/include/openssl/x509.h:31,
from /usr/include/openssl/ssl.h:50,
from ../../ptclib/pssl.cxx:231:
/usr/include/openssl/rsa.h:193:1: note: declared here
DEPRECATEDIN_0_9_8(RSA *RSA_generate_key(int bits, unsigned long e, void
^
In file included from /usr/include/openssl/x509.h:23:0,
from /usr/include/openssl/ssl.h:50,
from ../../ptclib/pssl.cxx:231:
../../ptclib/pssl.cxx:391:83: warning: ‘RSA* RSA_generate_key(int, long unsigned int, void (*)(int, int, void*), void*)’ is deprecated [-Wdeprecated-declarations]
if (EVP_PKEY_assign_RSA(key, RSA_generate_key(modulus, 0x10001, callback, cb_arg)))
^
In file included from /usr/include/openssl/rsa.h:13:0,
from /usr/include/openssl/x509.h:31,
from /usr/include/openssl/ssl.h:50,
from ../../ptclib/pssl.cxx:231:
/usr/include/openssl/rsa.h:193:1: note: declared here
DEPRECATEDIN_0_9_8(RSA *RSA_generate_key(int bits, unsigned long e, void
^
../../ptclib/pssl.cxx: In member function ‘BOOL PSSLPrivateKey::Load(const PFilePath&, PSSLFileTypes)’:
../../ptclib/pssl.cxx:426:12: error: call to ‘PSSL_BIO::PSSL_BIO(BIO_METHOD*)’ uses the default argument for parameter 1, which is not yet defined
PSSL_BIO in;
^~
../../ptclib/pssl.cxx: In member function ‘BOOL PSSLPrivateKey::Save(const PFilePath&, BOOL, PSSLFileTypes)’:
../../ptclib/pssl.cxx:465:12: error: call to ‘PSSL_BIO::PSSL_BIO(BIO_METHOD*)’ uses the default argument for parameter 1, which is not yet defined
PSSL_BIO out;
^~~
../../ptclib/pssl.cxx: In member function ‘BOOL PSSLCertificate::Load(const PFilePath&, PSSLFileTypes)’:
../../ptclib/pssl.cxx:672:12: error: call to ‘PSSL_BIO::PSSL_BIO(BIO_METHOD*)’ uses the default argument for parameter 1, which is not yet defined
PSSL_BIO in;
^~
../../ptclib/pssl.cxx: In member function ‘BOOL PSSLCertificate::Save(const PFilePath&, BOOL, PSSLFileTypes)’:
../../ptclib/pssl.cxx:711:12: error: call to ‘PSSL_BIO::PSSL_BIO(BIO_METHOD*)’ uses the default argument for parameter 1, which is not yet defined
PSSL_BIO out;
^~~
../../ptclib/pssl.cxx: In constructor ‘PSSLDiffieHellman::PSSLDiffieHellman(const BYTE*, PINDEX, const BYTE*, PINDEX)’:
../../ptclib/pssl.cxx:766:5: error: invalid use of incomplete type ‘struct dh_st’
dh->p = BN_bin2bn(pData, pSize, NULL);
^~
In file included from ../../ptclib/pssl.cxx:222:0:
/home/alex/openmcu-ru/libs/ptlib/include/ptclib/pssl.h:103:8: note: forward declaration of ‘struct dh_st’
struct dh_st;
^~~~~
../../ptclib/pssl.cxx:767:5: error: invalid use of incomplete type ‘struct dh_st’
dh->g = BN_bin2bn(gData, gSize, NULL);
^~
In file included from ../../ptclib/pssl.cxx:222:0:
/home/alex/openmcu-ru/libs/ptlib/include/ptclib/pssl.h:103:8: note: forward declaration of ‘struct dh_st’
struct dh_st;
^~~~~
../../ptclib/pssl.cxx:768:9: error: invalid use of incomplete type ‘struct dh_st’
if (dh->p != NULL && dh->g != NULL)
^~
In file included from ../../ptclib/pssl.cxx:222:0:
/home/alex/openmcu-ru/libs/ptlib/include/ptclib/pssl.h:103:8: note: forward declaration of ‘struct dh_st’
struct dh_st;
^~~~~
../../ptclib/pssl.cxx:768:26: error: invalid use of incomplete type ‘struct dh_st’
if (dh->p != NULL && dh->g != NULL)
^~
In file included from ../../ptclib/pssl.cxx:222:0:
/home/alex/openmcu-ru/libs/ptlib/include/ptclib/pssl.h:103:8: note: forward declaration of ‘struct dh_st’
struct dh_st;
^~~~~
../../ptclib/pssl.cxx: In member function ‘BOOL PSSLDiffieHellman::Load(const PFilePath&, PSSLFileTypes)’:
../../ptclib/pssl.cxx:819:12: error: call to ‘PSSL_BIO::PSSL_BIO(BIO_METHOD*)’ uses the default argument for parameter 1, which is not yet defined
PSSL_BIO in;
^~
../../ptclib/pssl.cxx: In function ‘int Psock_new(BIO*)’:
../../ptclib/pssl.cxx:1234:6: error: invalid use of incomplete type ‘BIO {aka struct bio_st}’
bio->init = 0;
^~
In file included from /usr/include/openssl/crypto.h:31:0,
from /usr/include/openssl/comp.h:16,
from /usr/include/openssl/ssl.h:47,
from ../../ptclib/pssl.cxx:231:
/usr/include/openssl/ossl_typ.h:79:16: note: forward declaration of ‘BIO {aka struct bio_st}’
typedef struct bio_st BIO;
^~~~~~
../../ptclib/pssl.cxx:1235:6: error: invalid use of incomplete type ‘BIO {aka struct bio_st}’
bio->num = 0;
^~
In file included from /usr/include/openssl/crypto.h:31:0,
from /usr/include/openssl/comp.h:16,
from /usr/include/openssl/ssl.h:47,
from ../../ptclib/pssl.cxx:231:
/usr/include/openssl/ossl_typ.h:79:16: note: forward declaration of ‘BIO {aka struct bio_st}’
typedef struct bio_st BIO;
^~~~~~
../../ptclib/pssl.cxx:1236:6: error: invalid use of incomplete type ‘BIO {aka struct bio_st}’
bio->ptr = NULL; // this is really (PSSLChannel *)
^~
In file included from /usr/include/openssl/crypto.h:31:0,
from /usr/include/openssl/comp.h:16,
from /usr/include/openssl/ssl.h:47,
from ../../ptclib/pssl.cxx:231:
/usr/include/openssl/ossl_typ.h:79:16: note: forward declaration of ‘BIO {aka struct bio_st}’
typedef struct bio_st BIO;
^~~~~~
../../ptclib/pssl.cxx:1237:6: error: invalid use of incomplete type ‘BIO {aka struct bio_st}’
bio->flags = 0;
^~
In file included from /usr/include/openssl/crypto.h:31:0,
from /usr/include/openssl/comp.h:16,
from /usr/include/openssl/ssl.h:47,
from ../../ptclib/pssl.cxx:231:
/usr/include/openssl/ossl_typ.h:79:16: note: forward declaration of ‘BIO {aka struct bio_st}’
typedef struct bio_st BIO;
^~~~~~
../../ptclib/pssl.cxx: In function ‘int Psock_free(BIO*)’:
../../ptclib/pssl.cxx:1248:10: error: invalid use of incomplete type ‘BIO {aka struct bio_st}’
if (bio->shutdown) {
^~
In file included from /usr/include/openssl/crypto.h:31:0,
from /usr/include/openssl/comp.h:16,
from /usr/include/openssl/ssl.h:47,
from ../../ptclib/pssl.cxx:231:
/usr/include/openssl/ossl_typ.h:79:16: note: forward declaration of ‘BIO {aka struct bio_st}’
typedef struct bio_st BIO;
^~~~~~
../../ptclib/pssl.cxx:1249:12: error: invalid use of incomplete type ‘BIO {aka struct bio_st}’
if (bio->init) {
^~
In file included from /usr/include/openssl/crypto.h:31:0,
from /usr/include/openssl/comp.h:16,
from /usr/include/openssl/ssl.h:47,
from ../../ptclib/pssl.cxx:231:
/usr/include/openssl/ossl_typ.h:79:16: note: forward declaration of ‘BIO {aka struct bio_st}’
typedef struct bio_st BIO;
^~~~~~
../../ptclib/pssl.cxx:1221:51: error: invalid use of incomplete type ‘BIO {aka struct bio_st}’
#define PSSLCHANNEL(bio) ((PSSLChannel *)(bio->ptr))
^
../../ptclib/pssl.cxx:1250:7: note: in expansion of macro ‘PSSLCHANNEL’
PSSLCHANNEL(bio)->Shutdown(PSocket::ShutdownReadAndWrite);
^~~~~~~~~~~
In file included from /usr/include/openssl/crypto.h:31:0,
from /usr/include/openssl/comp.h:16,
from /usr/include/openssl/ssl.h:47,
from ../../ptclib/pssl.cxx:231:
/usr/include/openssl/ossl_typ.h:79:16: note: forward declaration of ‘BIO {aka struct bio_st}’
typedef struct bio_st BIO;
^~~~~~
../../ptclib/pssl.cxx:1221:51: error: invalid use of incomplete type ‘BIO {aka struct bio_st}’
#define PSSLCHANNEL(bio) ((PSSLChannel *)(bio->ptr))
../../ptclib/pssl.cxx: At global scope:
../../ptclib/pssl.cxx:855:13: warning: ‘void LockingCallback(int, int, const char*, int)’ defined but not used -Wunused-function]
static void LockingCallback(int mode, int n, const char * /*file*/, int /*line*/)
^~~~~~~~~~~~~~~
../../../make/common.mak:327: ошибка выполнения рецепта для цели «/home/alex/openmcu-ru/libs/ptlib/lib/obj_linux_x86_64_r/pssl.o»
make[3]: *** [/home/alex/openmcu-ru/libs/ptlib/lib/obj_linux_x86_64_r/pssl.o] Ошибка 1
make[3]: выход из каталога «/home/alex/openmcu-ru/libs/ptlib/src/ptlib/unix»
Makefile:239: ошибка выполнения рецепта для цели «opt»
make[2]: *** [opt] Ошибка 2
make[2]: выход из каталога «/home/alex/openmcu-ru/libs/ptlib»
/home/alex/openmcu-ru/libs/ptlib/make/common.mak:549: ошибка выполнения рецепта для цели «optshared»
make[1]: *** [optshared] Ошибка 2
make[1]: выход из каталога «/home/alex/openmcu-ru/libs/ptlib»
Makefile:764: ошибка выполнения рецепта для цели «all»
make: *** [all] Ошибка 2
root@mcu:/home/alex/openmcu-ru#
How did you finally solve this problem?
-
Удалось ли кому-нибудь собрать под Debian 9?
-
Удалось ли кому-нибудь собрать под Debian 9?
Сильно не ковырял, я не программист. Если отключить поддержку опенссл, то сборка спотыкается на PTLIB который в комплекте(много несоответствий типов итд). Нужно как я понял на с++ 11 версии переписывать или ptlib другой брать.