Hello,
I need to compile PTLib 2.18.8 and Opal 3.18.8 release on RedHat Enterprise
8.6.
Gcc and g++ version:
ggcc --version
bash: ggcc: command not found...
Similar command is: 'gcc'
[fiolevasy@localhost opalvoip-opal]$ gcc --version
gcc (GCC) 8.5.0 20210514 (Red Hat 8.5.0-10)
Copyright (C) 2018 Free Software Foundation, Inc.
This is free software; see the source for copying conditions. There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
[fiolevasy@localhost opalvoip-opal]$ g++ --version
g++ (GCC) 8.5.0 20210514 (Red Hat 8.5.0-10)
Copyright (C) 2018 Free Software Foundation, Inc.
This is free software; see the source for copying conditions. There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
[fiolevasy@localhost opalvoip-opal]$
I configured and compiled PTLib with parameters:
./configure --enable-cpp11 --disable-v8 --prefix=/usr
Opal:
./configure --enable-cpp11 --prefix=/usr
I see that PTLib 2.18.8 added a new class for replacing STD::auto_ptr
PAutoPtr.
This class causes the error in Opal library compilation:
home/fiolevasy/projects/opalvoip-opal/src/opal/connection.cxx: In member
function ‘virtual void OpalConnection::OnRecordAudio(RTP_DataFrame&,
P_INT_PTR)’:
/home/fiolevasy/projects/opalvoip-opal/src/opal/connection.cxx:1180:101:
error: use of deleted function ‘PAutoPtr<RTP_DataFrame>::PAutoPtr(const
PAutoPtr<RTP_DataFrame>&)’
In file included from
/home/fiolevasy/projects/opalvoip-ptlib/include/ptlib.h:44,
from
/home/fiolevasy/projects/opalvoip-opal/src/opal/connection.cxx:29:
/home/fiolevasy/projects/opalvoip-ptlib/include/ptlib/object.h:107:31:
note: ‘PAutoPtr<RTP_DataFrame>::PAutoPtr(const PAutoPtr<RTP_DataFrame>&)’
is implicitly deleted because the default definition would be ill-formed:
/home/fiolevasy/projects/opalvoip-ptlib/include/ptlib/object.h:107:31:
error: use of deleted function ‘std::unique_ptr<_Tp, _Dp>::unique_ptr(const
std::unique_ptr<_Tp, _Dp>&) [with _Tp = RTP_DataFrame; _Dp =
std::default_delete<RTP_DataFrame>]’
In file included from /usr/include/c++/8/bits/locale_conv.h:41,
from /usr/include/c++/8/locale:43,
from /usr/include/c++/8/iomanip:43,
from
/home/fiolevasy/projects/opalvoip-ptlib/include/ptlib/object.h:54,
from
/home/fiolevasy/projects/opalvoip-ptlib/include/ptlib.h:44,
from
/home/fiolevasy/projects/opalvoip-opal/src/opal/connection.cxx:29:
/usr/include/c++/8/bits/unique_ptr.h:397:7: note: declared here
In file included from
/home/fiolevasy/projects/opalvoip-ptlib/include/ptlib/timer.h:43,
from
/home/fiolevasy/projects/opalvoip-ptlib/include/ptlib.h:63,
from
/home/fiolevasy/projects/opalvoip-opal/src/opal/connection.cxx:29:
/home/fiolevasy/projects/opalvoip-ptlib/include/ptclib/threadpool.h:672:5:
note: initializing argument 3 of ‘PSafeWorkArg2<PtrClass, Arg1Type,
Arg2Type, FuncRet>::PSafeWorkArg2(PtrClass*, Arg1Type, Arg2Type,
PSafeWorkArg2<PtrClass, Arg1Type, Arg2Type, FuncRet>::Function) [with
PtrClass = OpalConnection; Arg1Type = PString; Arg2Type =
PAutoPtr<RTP_DataFrame>; FuncRet = void; PSafeWorkArg2<PtrClass, Arg1Type,
Arg2Type, FuncRet>::Function = void (OpalConnection::*)(PString,
PAutoPtr<RTP_DataFrame>)]’
/home/fiolevasy/projects/opalvoip-opal/src/opal/connection.cxx: In member
function ‘virtual void OpalConnection::OnRecordVideo(RTP_DataFrame&,
P_INT_PTR)’:
/home/fiolevasy/projects/opalvoip-opal/src/opal/connection.cxx:1197:101:
error: use of deleted function ‘PAutoPtr<RTP_DataFrame>::PAutoPtr(const
PAutoPtr<RTP_DataFrame>&)’
In file included from
/home/fiolevasy/projects/opalvoip-ptlib/include/ptlib/timer.h:43,
from
/home/fiolevasy/projects/opalvoip-ptlib/include/ptlib.h:63,
from
/home/fiolevasy/projects/opalvoip-opal/src/opal/connection.cxx:29:
/home/fiolevasy/projects/opalvoip-ptlib/include/ptclib/threadpool.h:672:5:
note: initializing argument 3 of ‘PSafeWorkArg2<PtrClass, Arg1Type,
Arg2Type, FuncRet>::PSafeWorkArg2(PtrClass*, Arg1Type, Arg2Type,
PSafeWorkArg2<PtrClass, Arg1Type, Arg2Type, FuncRet>::Function) [with
PtrClass = OpalConnection; Arg1Type = PString; Arg2Type =
PAutoPtr<RTP_DataFrame>; FuncRet = void; PSafeWorkArg2<PtrClass, Arg1Type,
Arg2Type, FuncRet>::Function = void (OpalConnection::*)(PString,
PAutoPtr<RTP_DataFrame>)]’
make[2]: *** [/usr./share/ptlib/make/post.mak:139:
/home/fiolevasy/projects/opalvoip-opal/lib_linux_x86_64/obj/connection.o]
Error 1
make[1]: *** [/usr./share/ptlib/make/post.mak:115: optshared] Error 2
make[1]: Leaving directory '/home/fiolevasy/projects/opalvoip-opal'
make: *** [/home/fiolevasy/projects/opalvoip-ptlib/make/autoconf.mak:179:
build_top_level] Error 2
I can try to fix this error but I don't understand why I have such an error
for the release. What can be wrong in my build process?
Best regards,
Oleh Vasyura.
|