ZRTPCPP icon indicating copy to clipboard operation
ZRTPCPP copied to clipboard

error when building 4.4.0 from source

Open jose1711 opened this issue 10 years ago • 3 comments

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_traits, std::allocator > const&)' /usr/include/ccrtp/rtp.h:164: undefined reference to ost::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_traits, std::allocator > const&)' CMakeFiles/zrtptest.dir/zrtptest.cpp.o:(.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<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_traits, std::allocator > const&)' CMakeFiles/zrtptest.dir/zrtptest.cpp.o:(.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<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_traits, std::allocator > const&)' CMakeFiles/zrtptest.dir/zrtptest.cpp.o:(.rodata.ZTCN3ost15TRTPSessionBaseINS_20RTPBaseUDPIPv4SocketES1_NS_9ZrtpQueueEEE0_S2[_ZTVN3ost15TRTPSessionBaseINS_20RTPBaseUDPIPv4SocketES1_NS_9ZrtpQueueEEE]+0x50): undefined reference to ost::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_traits, std::allocator > const&)' CMakeFiles/zrtptest.dir/zrtptest.cpp.o:(.rodata._ZTCN3ost22SingleThreadRTPSessionINS_20RTPBaseUDPIPv4SocketES1_NS_9ZrtpQueueEEE172_NS_16QueueRTCPManagerE[_ZTVN3ost22SingleThreadRTPSessionINS_20RTPBaseUDPIPv4SocketES1_NS_9ZrtpQueueEEE]+0x50): undefined reference toost::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_traits, std::allocator > const&)' CMakeFiles/zrtptest.dir/zrtptest.cpp.o:(.rodata._ZTCN3ost22SingleThreadRTPSessionINS_20RTPBaseUDPIPv4SocketES1_NS_9ZrtpQueueEEE172_NS_8AVPQueueE[_ZTVN3ost22SingleThreadRTPSessionINS_20RTPBaseUDPIPv4SocketES1_NS_9ZrtpQueueEEE]+0x50): undefined reference toost::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_traits, std::allocator > const&)' CMakeFiles/zrtptest.dir/zrtptest.cpp.o:(.rodata.ZTCN3ost22SingleThreadRTPSessionINS_20RTPBaseUDPIPv4SocketES1_NS_9ZrtpQueueEEE172_S2[_ZTVN3ost22SingleThreadRTPSessionINS_20RTPBaseUDPIPv4SocketES1_NS_9ZrtpQueueEEE]+0x50): undefined reference to ost::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_traits, std::allocator > const&)' CMakeFiles/zrtptest.dir/zrtptest.cpp.o:(.rodata._ZTC14ExtZrtpSession172_N3ost16QueueRTCPManagerE[_ZTV14ExtZrtpSession]+0x50): undefined reference toost::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_traits, std::allocator > const&)' CMakeFiles/zrtptest.dir/zrtptest.cpp.o:(.rodata._ZTC14ExtZrtpSession172_N3ost8AVPQueueE[_ZTV14ExtZrtpSession]+0x50): undefined reference toost::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_traits, std::allocator > const&)' CMakeFiles/zrtptest.dir/zrtptest.cpp.o:(.rodata._ZTC14ExtZrtpSession172_N3ost9ZrtpQueueE[_ZTV14ExtZrtpSession]+0x50): undefined reference toost::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, std::allocator > const&)' collect2: error: ld returned 1 exit status demo/CMakeFiles/zrtptest.dir/build.make:95: recipe for target 'demo/zrtptest' failed make[2]: *** [demo/zrtptest] Error 1 CMakeFiles/Makefile2:274: recipe for target 'demo/CMakeFiles/zrtptest.dir/all' failed make[1]: *** [demo/CMakeFiles/zrtptest.dir/all] Error 2 Makefile:149: recipe for target 'all' failed make: *** [all] Error 2

jose1711 avatar Jan 02 '16 15:01 jose1711

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 to ost::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

wernerd avatar Jan 02 '16 15:01 wernerd

  • 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

jose1711 avatar Jan 02 '16 15:01 jose1711

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

wernerd avatar Jan 02 '16 17:01 wernerd