error when building 4.4.0 from source
this is what i am getting near the end of building:
[ 97%] Linking CXX executable zrtptest
CMakeFiles/zrtptest.dir/zrtptest.cpp.o: In function ost::TRTPSessionBase<ost::RTPBaseUDPIPv4Socket, ost::RTPBaseUDPIPv4Socket, ost::ZrtpQueue>::dispatchBYE(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)': /usr/include/ccrtp/rtp.h:164: undefined reference toost::QueueRTCPManager::dispatchBYE(std::__cxx11::basic_string<char, std::char_traitsost::QueueRTCPManager::dispatchBYE(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)' /usr/include/ccrtp/rtp.h:164: undefined reference toost::QueueRTCPManager::dispatchBYE(std::__cxx11::basic_string<char, std::char_traitsost::QueueRTCPManager::dispatchBYE(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)' CMakeFiles/zrtptest.dir/zrtptest.cpp.o:(.rodata._ZTCN3ost15TRTPSessionBaseINS_20RTPBaseUDPIPv4SocketES1_NS_9ZrtpQueueEEE0_NS_16QueueRTCPManagerE[_ZTVN3ost15TRTPSessionBaseINS_20RTPBaseUDPIPv4SocketES1_NS_9ZrtpQueueEEE]+0xc8): undefined reference tovirtual thunk to ost::QueueRTCPManager::dispatchBYE(std::__cxx11::basic_string<char, std::char_traitsost::QueueRTCPManager::dispatchBYE(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)' CMakeFiles/zrtptest.dir/zrtptest.cpp.o:(.rodata._ZTCN3ost15TRTPSessionBaseINS_20RTPBaseUDPIPv4SocketES1_NS_9ZrtpQueueEEE0_NS_8AVPQueueE[_ZTVN3ost15TRTPSessionBaseINS_20RTPBaseUDPIPv4SocketES1_NS_9ZrtpQueueEEE]+0xc8): undefined reference tovirtual thunk to ost::QueueRTCPManager::dispatchBYE(std::__cxx11::basic_string<char, std::char_traitsost::QueueRTCPManager::dispatchBYE(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)' CMakeFiles/zrtptest.dir/zrtptest.cpp.o:(.rodata._ZTCN3ost15TRTPSessionBaseINS_20RTPBaseUDPIPv4SocketES1_NS_9ZrtpQueueEEE0_S2_[_ZTVN3ost15TRTPSessionBaseINS_20RTPBaseUDPIPv4SocketES1_NS_9ZrtpQueueEEE]+0x108): undefined reference to virtual thunk to ost::QueueRTCPManager::dispatchBYE(std::__cxx11::basic_string<char, std::char_traitsost::QueueRTCPManager::dispatchBYE(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)' CMakeFiles/zrtptest.dir/zrtptest.cpp.o:(.rodata._ZTCN3ost22SingleThreadRTPSessionINS_20RTPBaseUDPIPv4SocketES1_NS_9ZrtpQueueEEE172_NS_16QueueRTCPManagerE[_ZTVN3ost22SingleThreadRTPSessionINS_20RTPBaseUDPIPv4SocketES1_NS_9ZrtpQueueEEE]+0xc8): undefined reference to virtual thunk to ost::QueueRTCPManager::dispatchBYE(std::__cxx11::basic_string<char, std::char_traitsost::QueueRTCPManager::dispatchBYE(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)' CMakeFiles/zrtptest.dir/zrtptest.cpp.o:(.rodata._ZTCN3ost22SingleThreadRTPSessionINS_20RTPBaseUDPIPv4SocketES1_NS_9ZrtpQueueEEE172_NS_8AVPQueueE[_ZTVN3ost22SingleThreadRTPSessionINS_20RTPBaseUDPIPv4SocketES1_NS_9ZrtpQueueEEE]+0xc8): undefined reference to virtual thunk to ost::QueueRTCPManager::dispatchBYE(std::__cxx11::basic_string<char, std::char_traitsost::QueueRTCPManager::dispatchBYE(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)' CMakeFiles/zrtptest.dir/zrtptest.cpp.o:(.rodata._ZTCN3ost22SingleThreadRTPSessionINS_20RTPBaseUDPIPv4SocketES1_NS_9ZrtpQueueEEE172_S2_[_ZTVN3ost22SingleThreadRTPSessionINS_20RTPBaseUDPIPv4SocketES1_NS_9ZrtpQueueEEE]+0x108): undefined reference to virtual thunk to ost::QueueRTCPManager::dispatchBYE(std::__cxx11::basic_string<char, std::char_traitsost::QueueRTCPManager::dispatchBYE(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)' CMakeFiles/zrtptest.dir/zrtptest.cpp.o:(.rodata._ZTC14ExtZrtpSession172_N3ost16QueueRTCPManagerE[_ZTV14ExtZrtpSession]+0xc8): undefined reference to virtual thunk to ost::QueueRTCPManager::dispatchBYE(std::__cxx11::basic_string<char, std::char_traitsost::QueueRTCPManager::dispatchBYE(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)' CMakeFiles/zrtptest.dir/zrtptest.cpp.o:(.rodata._ZTC14ExtZrtpSession172_N3ost8AVPQueueE[_ZTV14ExtZrtpSession]+0xc8): undefined reference to virtual thunk to ost::QueueRTCPManager::dispatchBYE(std::__cxx11::basic_string<char, std::char_traitsost::QueueRTCPManager::dispatchBYE(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)' CMakeFiles/zrtptest.dir/zrtptest.cpp.o:(.rodata._ZTC14ExtZrtpSession172_N3ost9ZrtpQueueE[_ZTV14ExtZrtpSession]+0x108): undefined reference to virtual thunk to ost::QueueRTCPManager::dispatchBYE(std::__cxx11::basic_string<char, std::char_traits
Some question:
- how did you configure TRZP with cmake, i.e. any parameters for cmake?
- looks like a starndard configuration, i.e. building ZRTP for GNU ccRTP and compiling for this RTP stack. Do you have GNU ccRTP installed in the development version?
- You can build ZRTP in a standalone mode, see CMakeLists.txt and the options at the top of the files.
Do you already know which RTP stack you will use?
Werner
Am 02.01.2016 um 16:23 schrieb jose1711:
this is what i am getting near the end of building:
[ 97%] Linking CXX executable zrtptest CMakeFiles/zrtptestdir/zrtptestcppo: In function |ost::TRTPSessionBase<ost::RTPBaseUDPIPv4Socket, ost::RTPBaseUDPIPv4Socket, ost::ZrtpQueue>::dispatchBYE(std::__cxx11::basic_string<char, std::char_traits
, std::allocator > const&)': /usr/include/ccrtp/rtph:164: undefined reference to|ost::QueueRTCPManager::dispatchBYE(std::__cxx11::basic_string, std::allocator > const&)' /usr/include/ccrtp/rtph:164: undefined reference to |ost::QueueRTCPManager::dispatchBYE(std::__cxx11::basic_string<char, std::char_traits , std::allocator > const&)' /usr/include/ccrtp/rtph:164: undefined reference to|ost::QueueRTCPManager::dispatchBYE(std::__cxx11::basic_string, std::allocator > const&)' CMakeFiles/zrtptestdir/zrtptestcppo:(rodata_ZTCN3ost15TRTPSessionBaseINS_20RTPBaseUDPIPv4SocketES1_NS_9ZrtpQueueEEE0_NS_16QueueRTCPManagerE[/ZTVN3ost15TRTPSessionBaseINS_20RTPBaseUDPIPv4SocketES1_NS_9ZrtpQueueEEE]+0x50): undefined reference to |ost::QueueRTCPManager::dispatchBYE(std::__cxx11::basic_string<char, std::char_traits , std::allocator > const&)' CMakeFiles/zrtptestdir/zrtptestcppo:(rodata_ZTCN3ost15TRTPSessionBaseINS_20RTPBaseUDPIPv4SocketES1_NS_9ZrtpQueueEEE0_NS_16QueueRTCPManagerE[_ZTVN3ost15TRTPSessionBaseINS_20RTPBaseUDPIPv4SocketES1_NS_9ZrtpQueueEEE]+0xc8): undefined reference to|virtual thunk to ost::QueueRTCPManager::dispatchBYE(std::__cxx11::basic_string, std::allocator > const&)' CMakeFiles/zrtptestdir/zrtptestcppo:(rodata_ZTCN3ost15TRTPSessionBaseINS_20RTPBaseUDPIPv4SocketES1_NS_9ZrtpQueueEEE0_NS_8AVPQueueE[_ZTVN3ost15TRTPSessionBaseINS_20RTPBaseUDPIPv4SocketES1_NS_9ZrtpQueueEEE]+0x50): undefined reference to |ost::QueueRTCPManager::dispatchBYE(std::__cxx11::basic_string<char, std::char_traits , std::allocator > const&)' CMakeFiles/zrtptestdir/zrtptestcppo:(rodata_ZTCN3ost15TRTPSessionBaseINS_20RTPBaseUDPIPv4SocketES1_NS_9ZrtpQueueEEE0_NS_8AVPQueueE[_ZTVN3ost15TRTPSessionBaseINS_20RTPBaseUDPIPv4SocketES1_NS_9ZrtpQueueEEE]+0xc8): undefined reference to|virtual thunk to ost::QueueRTCPManager::dispatchBYE(std::__cxx11::basic_string, std::allocator > const&)' CMakeFiles/zrtptestdir/zrtptestcppo:(rodata_ZTCN3ost15TRTPSessionBaseINS_20RTPBaseUDPIPv4SocketES1_NS_9ZrtpQueueEEE0_S2/[/ZTVN3ost15TRTPSessionBaseINS_20RTPBaseUDPIPv4SocketES1_NS_9ZrtpQueueEEE]+0x50): undefined reference to ost::QueueRTCPManager::dispatchBYE(std::__cxx11::basic_string, std::allocator > const&)' CMakeFiles/zrtptestdir/zrtptestcppo:(rodata_ZTCN3ost15TRTPSessionBaseINS_20RTPBaseUDPIPv4SocketES1_NS_9ZrtpQueueEEE0_S2/[/ZTVN3ost15TRTPSessionBaseINS_20RTPBaseUDPIPv4SocketES1_NS_9ZrtpQueueEEE]+0x108): undefined reference to |virtual thunk to ost::QueueRTCPManager::dispatchBYE(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)' CMakeFiles/zrtptestdir/zrtptestcppo:(rodata_ZTCN3ost22SingleThreadRTPSessionINS_20RTPBaseUDPIPv4SocketES1_NS_9ZrtpQueueEEE172_NS_16QueueRTCPManagerE[_ZTVN3ost22SingleThreadRTPSessionINS_20RTPBaseUDPIPv4SocketES1_NS_9ZrtpQueueEEE]+0x50): undefined reference to|ost::QueueRTCPManager::dispatchBYE(std::__cxx11::basic_string, std::allocator > const&)' CMakeFiles/zrtptestdir/zrtptestcppo:(rodata_ZTCN3ost22SingleThreadRTPSessionINS_20RTPBaseUDPIPv4SocketES1_NS_9ZrtpQueueEEE172_NS_16QueueRTCPManagerE[_ZTVN3ost22SingleThreadRTPSessionINS_20RTPBaseUDPIPv4SocketES1_NS_9ZrtpQueueEEE]+0xc8): undefined reference to |virtual thunk to ost::QueueRTCPManager::dispatchBYE(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)' CMakeFiles/zrtptestdir/zrtptestcppo:(rodata_ZTCN3ost22SingleThreadRTPSessionINS_20RTPBaseUDPIPv4SocketES1_NS_9ZrtpQueueEEE172_NS_8AVPQueueE[_ZTVN3ost22SingleThreadRTPSessionINS_20RTPBaseUDPIPv4SocketES1_NS_9ZrtpQueueEEE]+0x50): undefined reference to|ost::QueueRTCPManager::dispatchBYE(std::__cxx11::basic_string, std::allocator > const&)' CMakeFiles/zrtptestdir/zrtptestcppo:(rodata_ZTCN3ost22SingleThreadRTPSessionINS_20RTPBaseUDPIPv4SocketES1_NS_9ZrtpQueueEEE172_NS_8AVPQueueE[_ZTVN3ost22SingleThreadRTPSessionINS_20RTPBaseUDPIPv4SocketES1_NS_9ZrtpQueueEEE]+0xc8): undefined reference tovirtual thunk to ost::QueueRTCPManager::dispatchBYE(std::__cxx11::basic_string, std::allocator > const&)' CMakeFiles/zrtptestdir/zrtptestcppo:(rodata_ZTCN3ost22SingleThreadRTPSessionINS_20RTPBaseUDPIPv4SocketES1_NS_9ZrtpQueueEEE172_S2/[/ZTVN3ost22SingleThreadRTPSessionINS_20RTPBaseUDPIPv4SocketES1_NS_9ZrtpQueueEEE]+0x50): undefined reference toost::QueueRTCPManager::dispatchBYE(std::__cxx11::basic_string, std::allocator > const&)' CMakeFiles/zrtptestdir/zrtptestcppo:(rodata_ZTCN3ost22SingleThreadRTPSessionINS_20RTPBaseUDPIPv4SocketES1_NS_9ZrtpQueueEEE172_S2/[_ZTVN3ost22SingleThreadRTPSessionINS_20RTPBaseUDPIPv4SocketES1_NS_9ZrtpQueueEEE]+0x108): undefined reference to |virtual thunk to ost::QueueRTCPManager::dispatchBYE(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)' CMakeFiles/zrtptestdir/zrtptestcppo:(rodata_ZTC14ExtZrtpSession172_N3ost16QueueRTCPManagerE[_ZTV14ExtZrtpSession]+0x50): undefined reference to|ost::QueueRTCPManager::dispatchBYE(std::__cxx11::basic_string, std::allocator > const&)' CMakeFiles/zrtptestdir/zrtptestcppo:(rodata_ZTC14ExtZrtpSession172_N3ost16QueueRTCPManagerE[_ZTV14ExtZrtpSession]+0xc8): undefined reference to |virtual thunk to ost::QueueRTCPManager::dispatchBYE(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)' CMakeFiles/zrtptestdir/zrtptestcppo:(rodata_ZTC14ExtZrtpSession172_N3ost8AVPQueueE[_ZTV14ExtZrtpSession]+0x50): undefined reference to|ost::QueueRTCPManager::dispatchBYE(std::__cxx11::basic_string, std::allocator > const&)' CMakeFiles/zrtptestdir/zrtptestcppo:(rodata_ZTC14ExtZrtpSession172_N3ost8AVPQueueE[_ZTV14ExtZrtpSession]+0xc8): undefined reference to |virtual thunk to ost::QueueRTCPManager::dispatchBYE(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)' CMakeFiles/zrtptestdir/zrtptestcppo:(rodata_ZTC14ExtZrtpSession172_N3ost9ZrtpQueueE[_ZTV14ExtZrtpSession]+0x50): undefined reference to|ost::QueueRTCPManager::dispatchBYE(std::__cxx11::basic_string, std::allocator > const&)' CMakeFiles/zrtptestdir/zrtptestcppo:(rodata_ZTC14ExtZrtpSession172_N3ost9ZrtpQueueE[_ZTV14ExtZrtpSession]+0x108): undefined reference tovirtual thunk to ost::QueueRTCPManager::dispatchBYE(std::__cxx11::basic_string, std::allocator > const&)' collect2: error: ld returned 1 exit status demo/CMakeFiles/zrtptestdir/buildmake:95: recipe for target 'demo/zrtptest' failed make[2]: *** [demo/zrtptest] Error 1 CMakeFiles/Makefile2:274: recipe for target 'demo/CMakeFiles/zrtptestdir/all' failed make[1]: *** [demo/CMakeFiles/zrtptestdir/all] Error 2 Makefile:149: recipe for target 'all' failed make: *** [all] Error 2— Reply to this email directly or view it on GitHub https://github.com/wernerd/ZRTPCPP/issues/28.
Werner Dittmann email: [email protected] cell: +49 173 44 37 659 PGP key: 82EF5E8B
- i just ran mkdir build; cd build; cmake ..; make
- i have already installed ccrtp 2.1.2
- no real intentions to use it, only want to revive it in arch linux (unofficial) package management: https://bbs.archlinux.org/viewtopic.php?pid=1591566
I checked it on my Linux system. I have this GNU ccRTP version:
found libccrtp, version 2.0.9
and have a cmake warning (no harm to the build process) regarding an empty dependency.
Also I'd like to point out that a pure ZRTP lib is more or less useless if not compined with a RTP stack. Also an applicate must implement some functions (callback etc) plus some "glue code" to use the ZRTP functions. ZRTP is not a classical library wher you may just use the functions. An application developer who likes to use the ZRTP implementation usually has to compile it according to the applications/projects requirements, for example which crypto functions to use, which RTP/SRTP stack to use, with or without RTCP/SRTCP, etc. Thus, usually a "generic" lib would not really help except you hav a "generic" VoIP app that's part of the system and requires it as a shared lib. However, even in this case the ZRTP lib most probably is not usable for other VoIP applications.
Werner
Am 02.01.2016 um 16:47 schrieb jose1711:
- i just ran mkdir build; cmake ..; make
- i have alread installed ccrtp 2.1.2
- no real intentions to use it, only want to revive it in arch linux (unofficial) package management: https://bbs.archlinux.org/viewtopic.php?pid=1591566
btw previous release version compiles fine.
— Reply to this email directly or view it on GitHub https://github.com/wernerd/ZRTPCPP/issues/28#issuecomment-168401434.
Werner Dittmann email: [email protected] cell: +49 173 44 37 659 PGP key: 82EF5E8B