1.24.0 rc1-2740 make errors on zm_ffmpeg_camera

Forum for questions and support relating to the 1.24.x releases only.
kwire
Posts: 48
Joined: Mon Jan 05, 2009 12:56 am
Location: Ada, Ohio, USA

1.24.0 rc1-2740 make errors on zm_ffmpeg_camera

Post by kwire »

Hi all, I am having trouble building ZM 1.24.0 rc1-2740.

I appoligize that I am fairly new to linux, but I have programmed in that other OS longer than I care to talk about <G>...

I am running Fedora 10 on a new machine with Core 2 Quad Q9400 pc. I have installed all of these:
mysql-server mysql-devel php-mysql
pcre-devel perl-DateManip perl-libwww-perl perl-Device-SerialPort perl-MIME-Lite perl-Archive-Zip
video4linux libv4l-devel video4linux-kmdl-2.6.27.12-170.2.5.fc10
ffmpeg ffmpeg-devel

FFmpeg version SVN-r17042, Copyright (c) 2000-2009 Fabrice Bellard, et al.
configuration:
libavutil 49.14. 0 / 49.14. 0
libavcodec 52.14. 0 / 52.14. 0
libavformat 52.25. 0 / 52.25. 0
libavdevice 52. 1. 0 / 52. 1. 0
built on Feb 8 2009 08:53:03, gcc: 4.3.2 20081105 (Red Hat 4.3.2-7)

Appache and MySQL are running and the "ZM" database has records in it...

I used this ./configure line, and it has an exit 0 at the end...
./configure --with-webdir=/var/www/html/zm --with-cgidir=/var/www/cgi-bin --with-libarch=lib64 ZM_SSL_LIB=openssl --with-ffmpeg=/usr/local

When I run make I get the following errors.

[zoneminder@localhost ZoneMinder-1.24.0]$ make
make all-recursive
make[1]: Entering directory `/home/zoneminder/Development/ZM/ZoneMinder-1.24.0'
Making all in src
make[2]: Entering directory `/home/zoneminder/Development/ZM/ZoneMinder-1.24.0/src'
g++ -DHAVE_CONFIG_H -I. -I.. -I/usr/include -I/usr/local/include -Wall -Wno-sign-compare -fno-inline -I/usr/local/include -frepo -g -O2 -MT zm_ffmpeg_camera.o -MD -MP -MF .deps/zm_ffmpeg_camera.Tpo -c -o zm_ffmpeg_camera.o zm_ffmpeg_camera.cpp
zm_ffmpeg_camera.cpp: In member function ‘virtual int FfmpegCamera::PrimeCapture()’:
zm_ffmpeg_camera.cpp:125: error: ‘SWS_BICUBIC’ was not declared in this scope
zm_ffmpeg_camera.cpp:125: error: ‘sws_getCachedContext’ was not declared in this scope
zm_ffmpeg_camera.cpp: In member function ‘virtual int FfmpegCamera::Capture(Image&)’:
zm_ffmpeg_camera.cpp:156: error: ‘sws_scale’ was not declared in this scope
make[2]: *** [zm_ffmpeg_camera.o] Error 1
make[2]: Leaving directory `/home/zoneminder/Development/ZM/ZoneMinder-1.24.0/src'
make[1]: *** [all-recursive] Error 1
make[1]: Leaving directory `/home/zoneminder/Development/ZM/ZoneMinder-1.24.0'
make: *** [all] Error 2

I have searched but I can't find where anybody else has posted a similar error.

Can somebody point me in the right direction?

Thanks, Keith
User avatar
cordel
Posts: 5210
Joined: Fri Mar 05, 2004 4:47 pm
Location: /USA/Washington/Seattle

Post by cordel »

Hi Keith,

You need to rebuild ffmpeg and configure with --enable-swscale and that should sort you all out.

Corey
kwire
Posts: 48
Joined: Mon Jan 05, 2009 12:56 am
Location: Ada, Ohio, USA

I'm still not getting there...

Post by kwire »

Thanks Cordel, I tried that and it still won't make. I know I must be doing something stupid... I saw in another post from you where you said:
Looks good.
A working config for ffmpeg is --enable-shared --enable-swscaler --enable-pthreads --enable-gpl

ZM does not require any of the extra libraries you have compiled in but it certainly shouldn't hurt to have them
I tried building ffmpeg using both sets of options and neither works. Here is the current result of make after rebuilding ffmpeg and rebooting, then trying to build ZM. I even deleted everything for both ffmpeg and ZM and extracting everything fresh.

Thanks, Keith
  • make all-recursive
    make[1]: Entering directory `/home/zoneminder/Development/ZM/ZoneMinder-1.24.0'
    Making all in src
    make[2]: Entering directory `/home/zoneminder/Development/ZM/ZoneMinder-1.24.0/src'
    g++ -frepo -g -O2 -L/usr/local/lib64 -L/usr/lib64/mysql -o zmc zmc.o zm_box.o zm_buffer.o zm_camera.o zm_comms.o zm_config.o zm_coord.o zm.o zm_db.o zm_debug.o zm_event.o zm_exception.o zm_file_camera.o zm_ffmpeg_camera.o zm_image.o zm_jpeg.o zm_local_camera.o zm_monitor.o zm_ffmpeg.o zm_mpeg.o zm_poly.o zm_regexp.o zm_remote_camera.o zm_remote_camera_http.o zm_remote_camera_rtsp.o zm_rtp.o zm_rtp_ctrl.o zm_rtp_data.o zm_rtp_source.o zm_rtsp.o zm_signal.o zm_stream.o zm_thread.o zm_time.o zm_timer.o zm_user.o zm_utils.o zm_zone.o -lbz2 -lswscale -lavformat -lavcodec -lavutil -lpcre -lcrypto -lmysqlclient -lpthread -ldl -lz -ljpeg
    zm_comms.o: In function `Select::calcMaxFd()':
    /home/zoneminder/Development/ZM/ZoneMinder-1.24.0/src/zm_comms.cpp:596: undefined reference to `std::set<CommsBase*, std::less<CommsBase>, std::allocator<CommsBase> >::begin() const'
    /home/zoneminder/Development/ZM/ZoneMinder-1.24.0/src/zm_comms.cpp:596: undefined reference to `std::_Rb_tree_const_iterator<CommsBase>::operator++(int)'
    /home/zoneminder/Development/ZM/ZoneMinder-1.24.0/src/zm_comms.cpp:596: undefined reference to `std::set<CommsBase*, std::less<CommsBase>, std::allocator<CommsBase> >::end() const'
    /home/zoneminder/Development/ZM/ZoneMinder-1.24.0/src/zm_comms.cpp:596: undefined reference to `std::_Rb_tree_const_iterator<CommsBase>::operator!=(std::_Rb_tree_const_iterator<CommsBase> const&) const'
    /home/zoneminder/Development/ZM/ZoneMinder-1.24.0/src/zm_comms.cpp:597: undefined reference to `std::_Rb_tree_const_iterator<CommsBase>::operator*() const'
    /home/zoneminder/Development/ZM/ZoneMinder-1.24.0/src/zm_comms.cpp:598: undefined reference to `std::_Rb_tree_const_iterator<CommsBase>::operator*() const'
    /home/zoneminder/Development/ZM/ZoneMinder-1.24.0/src/zm_comms.cpp:599: undefined reference to `std::set<CommsBase*, std::less<CommsBase>, std::allocator<CommsBase> >::begin() const'
    /home/zoneminder/Development/ZM/ZoneMinder-1.24.0/src/zm_comms.cpp:599: undefined reference to `std::_Rb_tree_const_iterator<CommsBase>::operator++(int)'
    /home/zoneminder/Development/ZM/ZoneMinder-1.24.0/src/zm_comms.cpp:599: undefined reference to `std::set<CommsBase*, std::less<CommsBase>, std::allocator<CommsBase> >::end() const'
    /home/zoneminder/Development/ZM/ZoneMinder-1.24.0/src/zm_comms.cpp:599: undefined reference to `std::_Rb_tree_const_iterator<CommsBase>::operator!=(std::_Rb_tree_const_iterator<CommsBase> const&) const'
    /home/zoneminder/Development/ZM/ZoneMinder-1.24.0/src/zm_comms.cpp:600: undefined reference to `std::_Rb_tree_const_iterator<CommsBase>::operator*() const'
    /home/zoneminder/Development/ZM/ZoneMinder-1.24.0/src/zm_comms.cpp:601: undefined reference to `std::_Rb_tree_const_iterator<CommsBase>::operator*() const'
    zm_comms.o: In function `Select::addWriter(CommsBase*)':
    /home/zoneminder/Development/ZM/ZoneMinder-1.24.0/src/zm_comms.cpp:641: undefined reference to `std::set<CommsBase*, std::less<CommsBase>, std::allocator<CommsBase> >::insert(CommsBase* const&)'
    zm_comms.o: In function `Select::deleteWriter(CommsBase*)':
    /home/zoneminder/Development/ZM/ZoneMinder-1.24.0/src/zm_comms.cpp:650: undefined reference to `std::set<CommsBase*, std::less<CommsBase>, std::allocator<CommsBase> >::erase(CommsBase* const&)'
    zm_comms.o: In function `Select::clearWriters()':
    /home/zoneminder/Development/ZM/ZoneMinder-1.24.0/src/zm_comms.cpp:660: undefined reference to `std::set<CommsBase*, std::less<CommsBase>, std::allocator<CommsBase> >::clear()'
    zm_comms.o: In function `Select::clearReaders()':
    /home/zoneminder/Development/ZM/ZoneMinder-1.24.0/src/zm_comms.cpp:635: undefined reference to `std::set<CommsBase*, std::less<CommsBase>, std::allocator<CommsBase> >::clear()'
    zm_comms.o: In function `Select':
    /home/zoneminder/Development/ZM/ZoneMinder-1.24.0/src/zm_comms.cpp:563: undefined reference to `std::set<CommsBase*, std::less<CommsBase>, std::allocator<CommsBase> >::set()'
    /home/zoneminder/Development/ZM/ZoneMinder-1.24.0/src/zm_comms.cpp:563: undefined reference to `std::set<CommsBase*, std::less<CommsBase>, std::allocator<CommsBase> >::set()'
    /home/zoneminder/Development/ZM/ZoneMinder-1.24.0/src/zm_comms.cpp:563: undefined reference to `std::vector<CommsBase*, std::allocator<CommsBase> >::vector()'
    /home/zoneminder/Development/ZM/ZoneMinder-1.24.0/src/zm_comms.cpp:563: undefined reference to `std::vector<CommsBase*, std::allocator<CommsBase> >::vector()'
    /home/zoneminder/Development/ZM/ZoneMinder-1.24.0/src/zm_comms.cpp:566: undefined reference to `std::vector<CommsBase*, std::allocator<CommsBase> >::~vector()'
    /home/zoneminder/Development/ZM/ZoneMinder-1.24.0/src/zm_comms.cpp:563: undefined reference to `std::set<CommsBase*, std::less<CommsBase>, std::allocator<CommsBase> >::set()'
    /home/zoneminder/Development/ZM/ZoneMinder-1.24.0/src/zm_comms.cpp:563: undefined reference to `std::set<CommsBase*, std::less<CommsBase>, std::allocator<CommsBase> >::set()'
    /home/zoneminder/Development/ZM/ZoneMinder-1.24.0/src/zm_comms.cpp:563: undefined reference to `std::vector<CommsBase*, std::allocator<CommsBase> >::vector()'
    /home/zoneminder/Development/ZM/ZoneMinder-1.24.0/src/zm_comms.cpp:563: undefined reference to `std::vector<CommsBase*, std::allocator<CommsBase> >::vector()'
    /home/zoneminder/Development/ZM/ZoneMinder-1.24.0/src/zm_comms.cpp:566: undefined reference to `std::vector<CommsBase*, std::allocator<CommsBase> >::~vector()'
    /home/zoneminder/Development/ZM/ZoneMinder-1.24.0/src/zm_comms.cpp:558: undefined reference to `std::set<CommsBase*, std::less<CommsBase>, std::allocator<CommsBase> >::set()'
    /home/zoneminder/Development/ZM/ZoneMinder-1.24.0/src/zm_comms.cpp:558: undefined reference to `std::set<CommsBase*, std::less<CommsBase>, std::allocator<CommsBase> >::set()'
    /home/zoneminder/Development/ZM/ZoneMinder-1.24.0/src/zm_comms.cpp:558: undefined reference to `std::vector<CommsBase*, std::allocator<CommsBase> >::vector()'
    /home/zoneminder/Development/ZM/ZoneMinder-1.24.0/src/zm_comms.cpp:558: undefined reference to `std::vector<CommsBase*, std::allocator<CommsBase> >::vector()'
    /home/zoneminder/Development/ZM/ZoneMinder-1.24.0/src/zm_comms.cpp:561: undefined reference to `std::vector<CommsBase*, std::allocator<CommsBase> >::~vector()'
    /home/zoneminder/Development/ZM/ZoneMinder-1.24.0/src/zm_comms.cpp:558: undefined reference to `std::set<CommsBase*, std::less<CommsBase>, std::allocator<CommsBase> >::set()'
    /home/zoneminder/Development/ZM/ZoneMinder-1.24.0/src/zm_comms.cpp:558: undefined reference to `std::set<CommsBase*, std::less<CommsBase>, std::allocator<CommsBase> >::set()'
    /home/zoneminder/Development/ZM/ZoneMinder-1.24.0/src/zm_comms.cpp:558: undefined reference to `std::vector<CommsBase*, std::allocator<CommsBase> >::vector()'
    /home/zoneminder/Development/ZM/ZoneMinder-1.24.0/src/zm_comms.cpp:558: undefined reference to `std::vector<CommsBase*, std::allocator<CommsBase> >::vector()'
    /home/zoneminder/Development/ZM/ZoneMinder-1.24.0/src/zm_comms.cpp:561: undefined reference to `std::vector<CommsBase*, std::allocator<CommsBase> >::~vector()'
    /home/zoneminder/Development/ZM/ZoneMinder-1.24.0/src/zm_comms.cpp:553: undefined reference to `std::set<CommsBase*, std::less<CommsBase>, std::allocator<CommsBase> >::set()'
    /home/zoneminder/Development/ZM/ZoneMinder-1.24.0/src/zm_comms.cpp:553: undefined reference to `std::set<CommsBase*, std::less<CommsBase>, std::allocator<CommsBase> >::set()'
    /home/zoneminder/Development/ZM/ZoneMinder-1.24.0/src/zm_comms.cpp:553: undefined reference to `std::vector<CommsBase*, std::allocator<CommsBase> >::vector()'
    /home/zoneminder/Development/ZM/ZoneMinder-1.24.0/src/zm_comms.cpp:553: undefined reference to `std::vector<CommsBase*, std::allocator<CommsBase> >::vector()'
    /home/zoneminder/Development/ZM/ZoneMinder-1.24.0/src/zm_comms.cpp:556: undefined reference to `std::vector<CommsBase*, std::allocator<CommsBase> >::~vector()'
    /home/zoneminder/Development/ZM/ZoneMinder-1.24.0/src/zm_comms.cpp:553: undefined reference to `std::set<CommsBase*, std::less<CommsBase>, std::allocator<CommsBase> >::set()'
    /home/zoneminder/Development/ZM/ZoneMinder-1.24.0/src/zm_comms.cpp:553: undefined reference to `std::set<CommsBase*, std::less<CommsBase>, std::allocator<CommsBase> >::set()'
    /home/zoneminder/Development/ZM/ZoneMinder-1.24.0/src/zm_comms.cpp:553: undefined reference to `std::vector<CommsBase*, std::allocator<CommsBase> >::vector()'
    /home/zoneminder/Development/ZM/ZoneMinder-1.24.0/src/zm_comms.cpp:553: undefined reference to `std::vector<CommsBase*, std::allocator<CommsBase> >::vector()'
    /home/zoneminder/Development/ZM/ZoneMinder-1.24.0/src/zm_comms.cpp:556: undefined reference to `std::vector<CommsBase*, std::allocator<CommsBase> >::~vector()'
    /home/zoneminder/Development/ZM/ZoneMinder-1.24.0/src/zm_comms.cpp:549: undefined reference to `std::set<CommsBase*, std::less<CommsBase>, std::allocator<CommsBase> >::set()'
    /home/zoneminder/Development/ZM/ZoneMinder-1.24.0/src/zm_comms.cpp:549: undefined reference to `std::set<CommsBase*, std::less<CommsBase>, std::allocator<CommsBase> >::set()'
    /home/zoneminder/Development/ZM/ZoneMinder-1.24.0/src/zm_comms.cpp:549: undefined reference to `std::vector<CommsBase*, std::allocator<CommsBase> >::vector()'
    /home/zoneminder/Development/ZM/ZoneMinder-1.24.0/src/zm_comms.cpp:549: undefined reference to `std::vector<CommsBase*, std::allocator<CommsBase> >::vector()'
    /home/zoneminder/Development/ZM/ZoneMinder-1.24.0/src/zm_comms.cpp:551: undefined reference to `std::vector<CommsBase*, std::allocator<CommsBase> >::~vector()'
    /home/zoneminder/Development/ZM/ZoneMinder-1.24.0/src/zm_comms.cpp:549: undefined reference to `std::set<CommsBase*, std::less<CommsBase>, std::allocator<CommsBase> >::set()'
    /home/zoneminder/Development/ZM/ZoneMinder-1.24.0/src/zm_comms.cpp:549: undefined reference to `std::set<CommsBase*, std::less<CommsBase>, std::allocator<CommsBase> >::set()'
    /home/zoneminder/Development/ZM/ZoneMinder-1.24.0/src/zm_comms.cpp:549: undefined reference to `std::vector<CommsBase*, std::allocator<CommsBase> >::vector()'
    /home/zoneminder/Development/ZM/ZoneMinder-1.24.0/src/zm_comms.cpp:549: undefined reference to `std::vector<CommsBase*, std::allocator<CommsBase> >::vector()'
    /home/zoneminder/Development/ZM/ZoneMinder-1.24.0/src/zm_comms.cpp:551: undefined reference to `std::vector<CommsBase*, std::allocator<CommsBase> >::~vector()'
    zm_comms.o: In function `Select::deleteReader(CommsBase*)':
    /home/zoneminder/Development/ZM/ZoneMinder-1.24.0/src/zm_comms.cpp:625: undefined reference to `std::set<CommsBase*, std::less<CommsBase>, std::allocator<CommsBase> >::erase(CommsBase* const&)'
    zm_comms.o: In function `Select::addReader(CommsBase*)':
    /home/zoneminder/Development/ZM/ZoneMinder-1.24.0/src/zm_comms.cpp:611: undefined reference to `std::set<CommsBase*, std::less<CommsBase>, std::allocator<CommsBase> >::insert(CommsBase* const&)'
    zm_comms.o: In function `Select::wait()':
    /home/zoneminder/Development/ZM/ZoneMinder-1.24.0/src/zm_comms.cpp:672: undefined reference to `std::vector<CommsBase*, std::allocator<CommsBase> >::clear()'
    /home/zoneminder/Development/ZM/ZoneMinder-1.24.0/src/zm_comms.cpp:674: undefined reference to `std::set<CommsBase*, std::less<CommsBase>, std::allocator<CommsBase> >::begin() const'
    /home/zoneminder/Development/ZM/ZoneMinder-1.24.0/src/zm_comms.cpp:675: undefined reference to `std::_Rb_tree_const_iterator<CommsBase>::operator*() const'
    /home/zoneminder/Development/ZM/ZoneMinder-1.24.0/src/zm_comms.cpp:675: undefined reference to `std::_Rb_tree_const_iterator<CommsBase>::operator*() const'
    /home/zoneminder/Development/ZM/ZoneMinder-1.24.0/src/zm_comms.cpp:674: undefined reference to `std::_Rb_tree_const_iterator<CommsBase>::operator++(int)'
    /home/zoneminder/Development/ZM/ZoneMinder-1.24.0/src/zm_comms.cpp:674: undefined reference to `std::set<CommsBase*, std::less<CommsBase>, std::allocator<CommsBase> >::end() const'
    /home/zoneminder/Development/ZM/ZoneMinder-1.24.0/src/zm_comms.cpp:674: undefined reference to `std::_Rb_tree_const_iterator<CommsBase>::operator!=(std::_Rb_tree_const_iterator<CommsBase> const&) const'
    /home/zoneminder/Development/ZM/ZoneMinder-1.24.0/src/zm_comms.cpp:677: undefined reference to `std::vector<CommsBase*, std::allocator<CommsBase> >::clear()'
    /home/zoneminder/Development/ZM/ZoneMinder-1.24.0/src/zm_comms.cpp:679: undefined reference to `std::set<CommsBase*, std::less<CommsBase>, std::allocator<CommsBase> >::begin() const'
    /home/zoneminder/Development/ZM/ZoneMinder-1.24.0/src/zm_comms.cpp:680: undefined reference to `std::_Rb_tree_const_iterator<CommsBase>::operator*() const'
    /home/zoneminder/Development/ZM/ZoneMinder-1.24.0/src/zm_comms.cpp:680: undefined reference to `std::_Rb_tree_const_iterator<CommsBase>::operator*() const'
    /home/zoneminder/Development/ZM/ZoneMinder-1.24.0/src/zm_comms.cpp:679: undefined reference to `std::_Rb_tree_const_iterator<CommsBase>::operator++(int)'
    /home/zoneminder/Development/ZM/ZoneMinder-1.24.0/src/zm_comms.cpp:679: undefined reference to `std::set<CommsBase*, std::less<CommsBase>, std::allocator<CommsBase> >::end() const'
    /home/zoneminder/Development/ZM/ZoneMinder-1.24.0/src/zm_comms.cpp:679: undefined reference to `std::_Rb_tree_const_iterator<CommsBase>::operator!=(std::_Rb_tree_const_iterator<CommsBase> const&) const'
    /home/zoneminder/Development/ZM/ZoneMinder-1.24.0/src/zm_comms.cpp:693: undefined reference to `std::set<CommsBase*, std::less<CommsBase>, std::allocator<CommsBase> >::begin() const'
    /home/zoneminder/Development/ZM/ZoneMinder-1.24.0/src/zm_comms.cpp:693: undefined reference to `std::_Rb_tree_const_iterator<CommsBase>::operator++(int)'
    /home/zoneminder/Development/ZM/ZoneMinder-1.24.0/src/zm_comms.cpp:693: undefined reference to `std::set<CommsBase*, std::less<CommsBase>, std::allocator<CommsBase> >::end() const'
    /home/zoneminder/Development/ZM/ZoneMinder-1.24.0/src/zm_comms.cpp:693: undefined reference to `std::_Rb_tree_const_iterator<CommsBase>::operator!=(std::_Rb_tree_const_iterator<CommsBase> const&) const'
    /home/zoneminder/Development/ZM/ZoneMinder-1.24.0/src/zm_comms.cpp:694: undefined reference to `std::_Rb_tree_const_iterator<CommsBase>::operator*() const'
    /home/zoneminder/Development/ZM/ZoneMinder-1.24.0/src/zm_comms.cpp:694: undefined reference to `std::_Rb_tree_const_iterator<CommsBase>::operator*() const'
    /home/zoneminder/Development/ZM/ZoneMinder-1.24.0/src/zm_comms.cpp:695: undefined reference to `std::_Rb_tree_const_iterator<CommsBase>::operator*() const'
    /home/zoneminder/Development/ZM/ZoneMinder-1.24.0/src/zm_comms.cpp:695: undefined reference to `std::vector<CommsBase*, std::allocator<CommsBase> >::push_back(CommsBase* const&)'
    /home/zoneminder/Development/ZM/ZoneMinder-1.24.0/src/zm_comms.cpp:696: undefined reference to `std::set<CommsBase*, std::less<CommsBase>, std::allocator<CommsBase> >::begin() const'
    /home/zoneminder/Development/ZM/ZoneMinder-1.24.0/src/zm_comms.cpp:696: undefined reference to `std::_Rb_tree_const_iterator<CommsBase>::operator++(int)'
    /home/zoneminder/Development/ZM/ZoneMinder-1.24.0/src/zm_comms.cpp:696: undefined reference to `std::set<CommsBase*, std::less<CommsBase>, std::allocator<CommsBase> >::end() const'
    /home/zoneminder/Development/ZM/ZoneMinder-1.24.0/src/zm_comms.cpp:696: undefined reference to `std::_Rb_tree_const_iterator<CommsBase>::operator!=(std::_Rb_tree_const_iterator<CommsBase> const&) const'
    /home/zoneminder/Development/ZM/ZoneMinder-1.24.0/src/zm_comms.cpp:697: undefined reference to `std::_Rb_tree_const_iterator<CommsBase>::operator*() const'
    /home/zoneminder/Development/ZM/ZoneMinder-1.24.0/src/zm_comms.cpp:697: undefined reference to `std::_Rb_tree_const_iterator<CommsBase>::operator*() const'
    /home/zoneminder/Development/ZM/ZoneMinder-1.24.0/src/zm_comms.cpp:698: undefined reference to `std::_Rb_tree_const_iterator<CommsBase>::operator*() const'
    /home/zoneminder/Development/ZM/ZoneMinder-1.24.0/src/zm_comms.cpp:698: undefined reference to `std::vector<CommsBase*, std::allocator<CommsBase> >::push_back(CommsBase* const&)'
    zm_comms.o: In function `~set':
    /usr/lib/gcc/x86_64-redhat-linux/4.3.2/../../../../include/c++/4.3.2/bits/stl_set.h:93: undefined reference to `std::_Rb_tree<CommsBase*, CommsBase*, std::_Identity<CommsBase>, std::less<CommsBase>, std::allocator<CommsBase> >::~_Rb_tree()'
    zm_event.o: In function `Event::createNotes(std::basic_string<char, std::char_traits<char>, std::allocator<char> >&)':
    /home/zoneminder/Development/ZM/ZoneMinder-1.24.0/src/zm_event.cpp:184: undefined reference to `std::map<std::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::set<std::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::less<std::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::allocator<std::basic_string<char, std::char_traits<char>, std::allocator<char> > > >, std::less<std::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::allocator<std::pair<std::basic_string<char, std::char_traits<char>, std::allocator<char> > const, std::set<std::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::less<std::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::allocator<std::basic_string<char, std::char_traits<char>, std::allocator<char> > > > > > >::begin()'
    /home/zoneminder/Development/ZM/ZoneMinder-1.24.0/src/zm_event.cpp:184: undefined reference to `std::_Rb_tree_const_iterator<std::pair<std::basic_string<char, std::char_traits<char>, std::allocator<char> > const, std::set<std::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::less<std::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::allocator<std::basic_string<char, std::char_traits<char>, std::allocator<char> > > > > >::_Rb_tree_const_iterator(std::_Rb_tree_iterator<std::pair<std::basic_string<char, std::char_traits<char>, std::allocator<char> > const, std::set<std::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::less<std::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::allocator<std::basic_string<char, std::char_traits<char>, std::allocator<char> > > > > > const&)'
    /home/zoneminder/Development/ZM/ZoneMinder-1.24.0/src/zm_event.cpp:184: undefined reference to `std::map<std::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::set<std::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::less<std::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::allocator<std::basic_string<char, std::char_traits<char>, std::allocator<char> > > >, std::less<std::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::allocator<std::pair<std::basic_string<char, std::char_traits<char>, std::allocator<char> > const, std::set<std::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::less<std::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::allocator<std::basic_string<char, std::char_traits<char>, std::allocator<char> > > > > > >::end()'
    /home/zoneminder/Development/ZM/ZoneMinder-1.24.0/src/zm_event.cpp:184: undefined reference to `std::_Rb_tree_const_iterator<std::pair<std::basic_string<char, std::char_traits<char>, std::allocator<char> > const, std::set<std::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::less<std::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::allocator<std::basic_string<char, std::char_traits<char>, std::allocator<char> > > > > >::_Rb_tree_const_iterator(std::_Rb_tree_iterator<std::pair<std::basic_string<char, std::char_traits<char>, std::allocator<char> > const, std::set<std::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::less<std::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::allocator<std::basic_string<char, std::char_traits<char>, std::allocator<char> > > > > > const&)'
    /home/zoneminder/Development/ZM/ZoneMinder-1.24.0/src/zm_event.cpp:184: undefined reference to `std::_Rb_tree_const_iterator<std::pair<std::basic_string<char, std::char_traits<char>, std::allocator<char> > const, std::set<std::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::less<std::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::allocator<std::basic_string<char, std::char_traits<char>, std::allocator<char> > > > > >::operator!=(std::_Rb_tree_const_iterator<std::pair<std::basic_string<char, std::char_traits<char>, std::allocator<char> > const, std::set<std::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::less<std::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::allocator<std::basic_string<char, std::char_traits<char>, std::allocator<char> > > > > > const&) const'
    /home/zoneminder/Development/ZM/ZoneMinder-1.24.0/src/zm_event.cpp:186: undefined reference to `std::_Rb_tree_const_iterator<std::pair<std::basic_string<char, std::char_traits<char>, std::allocator<char> > const, std::set<std::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::less<std::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::allocator<std::basic_string<char, std::char_traits<char>, std::allocator<char> > > > > >::operator->() const'
    /home/zoneminder/Development/ZM/ZoneMinder-1.24.0/src/zm_event.cpp:188: undefined reference to `std::_Rb_tree_const_iterator<std::pair<std::basic_string<char, std::char_traits<char>, std::allocator<char> > const, std::set<std::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::less<std::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::allocator<std::basic_string<char, std::char_traits<char>, std::allocator<char> > > > > >::operator->() const'
    /home/zoneminder/Development/ZM/ZoneMinder-1.24.0/src/zm_event.cpp:189: undefined reference to `std::set<std::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::less<std::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::allocator<std::basic_string<char, std::char_traits<char>, std::allocator<char> > > >::begin() const'
    /home/zoneminder/Development/ZM/ZoneMinder-1.24.0/src/zm_event.cpp:193: undefined reference to `std::_Rb_tree_const_iterator<std::basic_string<char, std::char_traits<char>, std::allocator<char> > >::operator*() const'
    /home/zoneminder/Development/ZM/ZoneMinder-1.24.0/src/zm_event.cpp:189: undefined reference to `std::_Rb_tree_const_iterator<std::basic_string<char, std::char_traits<char>, std::allocator<char> > >::operator++(int)'
    /home/zoneminder/Development/ZM/ZoneMinder-1.24.0/src/zm_event.cpp:189: undefined reference to `std::set<std::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::less<std::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::allocator<std::basic_string<char, std::char_traits<char>, std::allocator<char> > > >::end() const'
    /home/zoneminder/Development/ZM/ZoneMinder-1.24.0/src/zm_event.cpp:189: undefined reference to `std::_Rb_tree_const_iterator<std::basic_string<char, std::char_traits<char>, std::allocator<char> > >::operator!=(std::_Rb_tree_const_iterator<std::basic_string<char, std::char_traits<char>, std::allocator<char> > > const&) const'
    /home/zoneminder/Development/ZM/ZoneMinder-1.24.0/src/zm_event.cpp:191: undefined reference to `std::set<std::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::less<std::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::allocator<std::basic_string<char, std::char_traits<char>, std::allocator<char> > > >::begin() const'
    /home/zoneminder/Development/ZM/ZoneMinder-1.24.0/src/zm_event.cpp:191: undefined reference to `std::_Rb_tree_const_iterator<std::basic_string<char, std::char_traits<char>, std::allocator<char> > >::operator!=(std::_Rb_tree_const_iterator<std::basic_string<char, std::char_traits<char>, std::allocator<char> > > const&) const'
    /home/zoneminder/Development/ZM/ZoneMinder-1.24.0/src/zm_event.cpp:184: undefined reference to `std::_Rb_tree_const_iterator<std::pair<std::basic_string<char, std::char_traits<char>, std::allocator<char> > const, std::set<std::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::less<std::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::allocator<std::basic_string<char, std::char_traits<char>, std::allocator<char> > > > > >::operator++(int)'
    zm_event.o: In function `Event::updateNotes(std::map<std::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::set<std::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::less<std::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::allocator<std::basic_string<char, std::char_traits<char>, std::allocator<char> > > >, std::less<std::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::allocator<std::pair<std::basic_string<char, std::char_traits<char>, std::allocator<char> > const, std::set<std::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::less<std::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::allocator<std::basic_string<char, std::char_traits<char>, std::allocator<char> > > > > > > const&)':
    /home/zoneminder/Development/ZM/ZoneMinder-1.24.0/src/zm_event.cpp:361: undefined reference to `std::map<std::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::set<std::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::less<std::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::allocator<std::basic_string<char, std::char_traits<char>, std::allocator<char> > > >, std::less<std::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::allocator<std::pair<std::basic_string<char, std::char_traits<char>, std::allocator<char> > const, std::set<std::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::less<std::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::allocator<std::basic_string<char, std::char_traits<char>, std::allocator<char> > > > > > >::size() const'
    /home/zoneminder/Development/ZM/ZoneMinder-1.24.0/src/zm_event.cpp:363: undefined reference to `std::map<std::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::set<std::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::less<std::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::allocator<std::basic_string<char, std::char_traits<char>, std::allocator<char> > > >, std::less<std::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::allocator<std::pair<std::basic_string<char, std::char_traits<char>, std::allocator<char> > const, std::set<std::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::less<std::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::allocator<std::basic_string<char, std::char_traits<char>, std::allocator<char> > > > > > >::size() const'
    /home/zoneminder/Development/ZM/ZoneMinder-1.24.0/src/zm_event.cpp:365: undefined reference to `std::map<std::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::set<std::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::less<std::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::allocator<std::basic_string<char, std::char_traits<char>, std::allocator<char> > > >, std::less<std::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::allocator<std::pair<std::basic_string<char, std::char_traits<char>, std::allocator<char> > const, std::set<std::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::less<std::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::allocator<std::basic_string<char, std::char_traits<char>, std::allocator<char> > > > > > >::operator=(std::map<std::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::set<std::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::less<std::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::allocator<std::basic_string<char, std::char_traits<char>, std::allocator<char> > > >, std::less<std::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::allocator<std::pair<std::basic_string<char, std::char_traits<char>, std::allocator<char> > const, std::set<std::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::less<std::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::allocator<std::basic_string<char, std::char_traits<char>, std::allocator<char> > > > > > > const&)'
    /home/zoneminder/Development/ZM/ZoneMinder-1.24.0/src/zm_event.cpp:370: undefined reference to `std::map<std::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::set<std::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::less<std::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::allocator<std::basic_string<char, std::char_traits<char>, std::allocator<char> > > >, std::less<std::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::allocator<std::pair<std::basic_string<char, std::char_traits<char>, std::allocator<char> > const, std::set<std::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::less<std::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::allocator<std::basic_string<char, std::char_traits<char>, std::allocator<char> > > > > > >::begin() const'
    /home/zoneminder/Development/ZM/ZoneMinder-1.24.0/src/zm_event.cpp:381: undefined reference to `std::pair<std::basic_string<char, std::char_traits<char>, std::allocator<char> > const, std::set<std::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::less<std::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::allocator<std::basic_string<char, std::char_traits<char>, std::allocator<char> > > > >::pair(std::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::set<std::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::less<std::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::allocator<std::basic_string<char, std::char_traits<char>, std::allocator<char> > > > const&)'
    /home/zoneminder/Development/ZM/ZoneMinder-1.24.0/src/zm_event.cpp:381: undefined reference to `std::map<std::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::set<std::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::less<std::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::allocator<std::basic_string<char, std::char_traits<char>, std::allocator<char> > > >, std::less<std::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::allocator<std::pair<std::basic_string<char, std::char_traits<char>, std::allocator<char> > const, std::set<std::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::less<std::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::allocator<std::basic_string<char, std::char_traits<char>, std::allocator<char> > > > > > >::insert(std::pair<std::basic_string<char, std::char_traits<char>, std::allocator<char> > const, std::set<std::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::less<std::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::allocator<std::basic_string<char, std::char_traits<char>, std::allocator<char> > > > > const&)'
    /home/zoneminder/Development/ZM/ZoneMinder-1.24.0/src/zm_event.cpp:370: undefined reference to `std::_Rb_tree_const_iterator<std::pair<std::basic_string<char, std::char_traits<char>, std::allocator<char> > const, std::set<std::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::less<std::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::allocator<std::basic_string<char, std::char_traits<char>, std::allocator<char> > > > > >::operator++(int)'
    /home/zoneminder/Development/ZM/ZoneMinder-1.24.0/src/zm_event.cpp:370: undefined reference to `std::map<std::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::set<std::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::less<std::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::allocator<std::basic_string<char, std::char_traits<char>, std::allocator<char> > > >, std::less<std::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::allocator<std::pair<std::basic_string<char, std::char_traits<char>, std::allocator<char> > const, std::set<std::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::less<std::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::allocator<std::basic_string<char, std::char_traits<char>, std::allocator<char> > > > > > >::end() const'
    /home/zoneminder/Development/ZM/ZoneMinder-1.24.0/src/zm_event.cpp:370: undefined reference to `std::_Rb_tree_const_iterator<std::pair<std::basic_string<char, std::char_traits<char>, std::allocator<char> > const, std::set<std::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::less<std::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::allocator<std::basic_string<char, std::char_traits<char>, std::allocator<char> > > > > >::operator!=(std::_Rb_tree_const_iterator<std::pair<std::basic_string<char, std::char_traits<char>, std::allocator<char> > const, std::set<std::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::less<std::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::allocator<std::basic_string<char, std::char_traits<char>, std::allocator<char> > > > > > const&) const'
    /home/zoneminder/Development/ZM/ZoneMinder-1.24.0/src/zm_event.cpp:372: undefined reference to `std::_Rb_tree_const_iterator<std::pair<std::basic_string<char, std::char_traits<char>, std::allocator<char> > const, std::set<std::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::less<std::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::allocator<std::basic_string<char, std::char_traits<char>, std::allocator<char> > > > > >::operator->() const'
    /home/zoneminder/Development/ZM/ZoneMinder-1.24.0/src/zm_event.cpp:373: undefined reference to `std::_Rb_tree_const_iterator<std::pair<std::basic_string<char, std::char_traits<char>, std::allocator<char> > const, std::set<std::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::less<std::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::allocator<std::basic_string<char, std::char_traits<char>, std::allocator<char> > > > > >::operator->() const'
    /home/zoneminder/Development/ZM/ZoneMinder-1.24.0/src/zm_event.cpp:375: undefined reference to `std::set<std::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::less<std::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::allocator<std::basic_string<char, std::char_traits<char>, std::allocator<char> > > >::size() const'
    /home/zoneminder/Development/ZM/ZoneMinder-1.24.0/src/zm_event.cpp:377: undefined reference to `std::map<std::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::set<std::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::less<std::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::allocator<std::basic_string<char, std::char_traits<char>, std::allocator<char> > > >, std::less<std::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::allocator<std::pair<std::basic_string<char, std::char_traits<char>, std::allocator<char> > const, std::set<std::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::less<std::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::allocator<std::basic_string<char, std::char_traits<char>, std::allocator<char> > > > > > >::find(std::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)'
    /home/zoneminder/Development/ZM/ZoneMinder-1.24.0/src/zm_event.cpp:378: undefined reference to `std::map<std::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::set<std::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::less<std::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::allocator<std::basic_string<char, std::char_traits<char>, std::allocator<char> > > >, std::less<std::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::allocator<std::pair<std::basic_string<char, std::char_traits<char>, std::allocator<char> > const, std::set<std::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::less<std::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::allocator<std::basic_string<char, std::char_traits<char>, std::allocator<char> > > > > > >::end()'
    /home/zoneminder/Development/ZM/ZoneMinder-1.24.0/src/zm_event.cpp:378: undefined reference to `std::_Rb_tree_iterator<std::pair<std::basic_string<char, std::char_traits<char>, std::allocator<char> > const, std::set<std::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::less<std::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::allocator<std::basic_string<char, std::char_traits<char>, std::allocator<char> > > > > >::operator==(std::_Rb_tree_iterator<std::pair<std::basic_string<char, std::char_traits<char>, std::allocator<char> > const, std::set<std::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::less<std::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::allocator<std::basic_string<char, std::char_traits<char>, std::allocator<char> > > > > > const&) const'
    /home/zoneminder/Development/ZM/ZoneMinder-1.24.0/src/zm_event.cpp:386: undefined reference to `std::_Rb_tree_iterator<std::pair<std::basic_string<char, std::char_traits<char>, std::allocator<char> > const, std::set<std::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::less<std::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::allocator<std::basic_string<char, std::char_traits<char>, std::allocator<char> > > > > >::operator->() const'
    /home/zoneminder/Development/ZM/ZoneMinder-1.24.0/src/zm_event.cpp:388: undefined reference to `std::set<std::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::less<std::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::allocator<std::basic_string<char, std::char_traits<char>, std::allocator<char> > > >::begin() const'
    /home/zoneminder/Development/ZM/ZoneMinder-1.24.0/src/zm_event.cpp:388: undefined reference to `std::_Rb_tree_const_iterator<std::basic_string<char, std::char_traits<char>, std::allocator<char> > >::operator++(int)'
    /home/zoneminder/Development/ZM/ZoneMinder-1.24.0/src/zm_event.cpp:388: undefined reference to `std::set<std::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::less<std::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::allocator<std::basic_string<char, std::char_traits<char>, std::allocator<char> > > >::end() const'
    /home/zoneminder/Development/ZM/ZoneMinder-1.24.0/src/zm_event.cpp:388: undefined reference to `std::_Rb_tree_const_iterator<std::basic_string<char, std::char_traits<char>, std::allocator<char> > >::operator!=(std::_Rb_tree_const_iterator<std::basic_string<char, std::char_traits<char>, std::allocator<char> > > const&) const'
    /home/zoneminder/Development/ZM/ZoneMinder-1.24.0/src/zm_event.cpp:390: undefined reference to `std::_Rb_tree_const_iterator<std::basic_string<char, std::char_traits<char>, std::allocator<char> > >::operator*() const'
    /home/zoneminder/Development/ZM/ZoneMinder-1.24.0/src/zm_event.cpp:391: undefined reference to `std::set<std::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::less<std::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::allocator<std::basic_string<char, std::char_traits<char>, std::allocator<char> > > >::find(std::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)'
    /home/zoneminder/Development/ZM/ZoneMinder-1.24.0/src/zm_event.cpp:392: undefined reference to `std::set<std::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::less<std::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::allocator<std::basic_string<char, std::char_traits<char>, std::allocator<char> > > >::end() const'
    /home/zoneminder/Development/ZM/ZoneMinder-1.24.0/src/zm_event.cpp:392: undefined reference to `std::_Rb_tree_const_iterator<std::basic_string<char, std::char_traits<char>, std::allocator<char> > >::operator==(std::_Rb_tree_const_iterator<std::basic_string<char, std::char_traits<char>, std::allocator<char> > > const&) const'
    /home/zoneminder/Development/ZM/ZoneMinder-1.24.0/src/zm_event.cpp:394: undefined reference to `std::set<std::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::less<std::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::allocator<std::basic_string<char, std::char_traits<char>, std::allocator<char> > > >::insert(std::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)'
    zm_event.o: In function `Event':
    /home/zoneminder/Development/ZM/ZoneMinder-1.24.0/src/zm_event.cpp:55: undefined reference to `std::map<std::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::set<std::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::less<std::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::allocator<std::basic_string<char, std::char_traits<char>, std::allocator<char> > > >, std::less<std::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::allocator<std::pair<std::basic_string<char, std::char_traits<char>, std::allocator<char> > const, std::set<std::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::less<std::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::allocator<std::basic_string<char, std::char_traits<char>, std::allocator<char> > > > > > >::map(std::map<std::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::set<std::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::less<std::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::allocator<std::basic_string<char, std::char_traits<char>, std::allocator<char> > > >, std::less<std::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::allocator<std::pair<std::basic_string<char, std::char_traits<char>, std::allocator<char> > const, std::set<std::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::less<std::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::allocator<std::basic_string<char, std::char_traits<char>, std::allocator<char> > > > > > > const&)'
    /home/zoneminder/Development/ZM/ZoneMinder-1.24.0/src/zm_event.cpp:55: undefined reference to `std::map<std::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::set<std::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::less<std::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::allocator<std::basic_string<char, std::char_traits<char>, std::allocator<char> > > >, std::less<std::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::allocator<std::pair<std::basic_string<char, std::char_traits<char>, std::allocator<char> > const, std::set<std::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::less<std::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::allocator<std::basic_string<char, std::char_traits<char>, std::allocator<char> > > > > > >::map(std::map<std::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::set<std::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::less<std::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::allocator<std::basic_string<char, std::char_traits<char>, std::allocator<char> > > >, std::less<std::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::allocator<std::pair<std::basic_string<char, std::char_traits<char>, std::allocator<char> > const, std::set<std::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::less<std::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::allocator<std::basic_string<char, std::char_traits<char>, std::allocator<char> > > > > > > const&)'
    zm_event.o: In function `~map':
    /usr/lib/gcc/x86_64-redhat-linux/4.3.2/../../../../include/c++/4.3.2/bits/stl_map.h:92: undefined reference to `std::_Rb_tree<std::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::pair<std::basic_string<char, std::char_traits<char>, std::allocator<char> > const, std::set<std::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::less<std::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::allocator<std::basic_string<char, std::char_traits<char>, std::allocator<char> > > > >, std::_Select1st<std::pair<std::basic_string<char, std::char_traits<char>, std::allocator<char> > const, std::set<std::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::less<std::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::allocator<std::basic_string<char, std::char_traits<char>, std::allocator<char> > > > > >, std::less<std::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::allocator<std::pair<std::basic_string<char, std::char_traits<char>, std::allocator<char> > const, std::set<std::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::less<std::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::allocator<std::basic_string<char, std::char_traits<char>, std::allocator<char> > > > > > >::~_Rb_tree()'
    zm_event.o: In function `~set':
    /usr/lib/gcc/x86_64-redhat-linux/4.3.2/../../../../include/c++/4.3.2/bits/stl_set.h:93: undefined reference to `std::_Rb_tree<std::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::_Identity<std::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::less<std::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::allocator<std::basic_string<char, std::char_traits<char>, std::allocator<char> > > >::~_Rb_tree()'
    zm_local_camera.o: In function `LocalCamera':
    /home/zoneminder/Development/ZM/
nuck
Posts: 148
Joined: Tue Nov 11, 2008 1:43 am
Location: Canada

Re: 1.24.0 rc1-2740 make errors on zm_ffmpeg_camera

Post by nuck »

kwire wrote:Hi all, I am having trouble building ZM 1.24.0 rc1-2740.

I appoligize that I am fairly new to linux, but I have programmed in that other OS longer than I care to talk about <G>...
Appology accepted, and you can consider yourself forgiven. :mrgreen: Welcome back to the real world.
I used this ./configure line, and it has an exit 0 at the end...
./configure --with-webdir=/var/www/html/zm --with-cgidir=/var/www/cgi-bin --with-libarch=lib64 ZM_SSL_LIB=openssl --with-ffmpeg=/usr/local
Tsk, tsk, tsk... All the "exit 0" means is that configure didn't crash during the run. Welcome to the Linux world where looking beyond the obvious for answers is the norm.

I see that cordel has given you the answer to your concern in a later post but I just thought I'd offer up a bit of insight as to how the GNU build tools work just the same. If you run into a failed build (make) and change anything that you did prior to that time you have to run a make clean as well as reconfigure everything you've built since or you'll run into problems. In other words, if you rebuilt ffmpeg you'll have to reconfigure ZM also, including running make clean.

In answer to your last post, did you run make clean?
kwire
Posts: 48
Joined: Mon Jan 05, 2009 12:56 am
Location: Ada, Ohio, USA

Post by kwire »

Hi, nuck...

OK, you guessed it, I don't know what I'm doing...

Looking at the config.log ( even though it says "exit 0" :? ) I see something must still be wrong with my ffmpeg path.

Here is one example:

configure:11016: checking ffmpeg/avutil.h usability
configure:11033: g++ -c -g -O2 -I/usr/local/include conftest.cpp >&5
conftest.cpp:131:27: error: ffmpeg/avutil.h: No such file or directory

I used --with-ffmpeg=/usr/local on the ./confgure and I find the file in the /usr/local/include/libavutil folder.

So where did I go wrong?

Thanks, Keith
User avatar
cordel
Posts: 5210
Joined: Fri Mar 05, 2004 4:47 pm
Location: /USA/Washington/Seattle

Post by cordel »

There are actually several tests for ffmpeg looking in various places as ffmpeg has installed it's self in several places over the years. You only need one set of tests to come back as found. I assume you have done a "make install-libs" for ffmpeg?
I don't actually recognize what the build is looking for which makes me wonder if it's not a more common library that you need like libstdc++ or glibc
User avatar
zoneminder
Site Admin
Posts: 5215
Joined: Wed Jul 09, 2003 2:07 pm
Location: Bristol, UK
Contact:

Post by zoneminder »

This may also be related to the ccache issue in this thread. This has the effect of suppressing template recompilations and the build logs show not attempt to recompile.
Phil
nuck
Posts: 148
Joined: Tue Nov 11, 2008 1:43 am
Location: Canada

Post by nuck »

kwire wrote:I used --with-ffmpeg=/usr/local on the ./confgure and I find the file in the /usr/local/include/libavutil folder.

So where did I go wrong?

Thanks, Keith
Just a shot in the dark here, but did you have a previously installed version of ffmpeg installed? If so, take a minute to double check and make sure that you don't still have ffmpeg (or parts of it) installed in the /usr tree. When you configured ffmpeg did you use --prefix=/usr/local ?? ffmpeg, by default will install in /usr (where it should be).
User avatar
cordel
Posts: 5210
Joined: Fri Mar 05, 2004 4:47 pm
Location: /USA/Washington/Seattle

Post by cordel »

Actually pay attention to Phil, He is dead on. Check to see if the ccache package is installed and uninstall it if it is.
kwire
Posts: 48
Joined: Mon Jan 05, 2009 12:56 am
Location: Ada, Ohio, USA

Post by kwire »

Hi all,

I think Phil had the answer. I removed ccache and it build completely and installed.

I still have some permission problems, but it has been a long day and I'll have to try some more tomorrow.

Thanks again, and I'll let you all know how I progress.

Keith
nuck
Posts: 148
Joined: Tue Nov 11, 2008 1:43 am
Location: Canada

Post by nuck »

zoneminder wrote:This may also be related to the ccache issue in this thread. This has the effect of suppressing template recompilations and the build logs show not attempt to recompile.
Shouldn't issuing ccache -C accomplish the same goal without having to uninstall it? Granted, the debate rages on as to the overall usefulness of ccache.
User avatar
zoneminder
Site Admin
Posts: 5215
Joined: Wed Jul 09, 2003 2:07 pm
Location: Bristol, UK
Contact:

Post by zoneminder »

I don't know. I found the fact that ccache messes up recompilation of templates on another project and just removed it then which did the trick. What does the -C switch do and where would you put it (I can't check myself as I have deleted it from everywhere!)?
Phil
nuck
Posts: 148
Joined: Tue Nov 11, 2008 1:43 am
Location: Canada

Post by nuck »

ccache -C (and -c to a degree) clears the cache.

For Joe Average like myself using ccache doesn't really do much other than slow things down, but but for someone such as yourself who is maintaining the source tree there can be a considerable speed increase. Or so the story goes.
zdunham
Posts: 17
Joined: Wed Oct 07, 2009 11:57 am

Post by zdunham »

Cordel: "Hi Keith,

You need to rebuild ffmpeg and configure with --enable-swscale and that should sort you all out.

Corey"

I tried to build with that configure option and it said it wasn't valid. I saw when configuring though that ffmpeg/libswscale.so.0 was not found, or some variation of swscale. I saw another post about linking and I have no idea how to do that. I'm having issues with ffmpeg and swscale is the only think left that I haven't messed with. Is there anyway you can help me this? Thanks.
-Zach
kwire
Posts: 48
Joined: Mon Jan 05, 2009 12:56 am
Location: Ada, Ohio, USA

Post by kwire »

The latest versions of ffmpeg don't require or even permit you to use the --enable-swscale option.

At least the SVN version I downloaded Sept 20, 2009 doesn't.

I just removed it and left everything else. It works fine for ZM 1.24.2

HTH, Keith
Locked