cant compile ZoneMinder on SuSE 9.3

Support and queries relating to all previous versions of ZoneMinder
Locked
jfk26
Posts: 3
Joined: Tue Dec 04, 2007 10:20 am

cant compile ZoneMinder on SuSE 9.3

Post by jfk26 »

Dear all,

I would like to ask for your help. I tried to install ZoneMinder 1.22.3 from tarball on a SuSE9.3 box, but after many problems I faced one I could not solve by myself. Here the summary of the activities and the log of the 'make' on ZoneMinder.

* mysql installed from source with ver 5.0.21

* libjpeg with ver 6.2.0 is installed

* required rpm packages for ffmpeg are installed (e.g. faac, faad2, xvid, vorbis, theora)

* ffmpeg installed from source of checkout-2007-11-27

* options for configure on ffmpeg compilation were given:

./configure --prefix=/opt/ffmpeg --enable-shared --enable-libfaac --enable-libmp3lame --enable-gpl --enable-libfaad --enable-libxvid --enable-libtheora --enable-libvorbis --enable-pp --enable-swscaler --enable-x11grab

* options for configure on ZoneMinder compilation were given:

./configure --prefix=/opt/zm --with-webdir=/opt/zm/htdocs --with-cgidir=/opt/zm/cgi-bin --with-webuser=daemon --with-webgroup=daemon --with-ffmpeg=/opt/ffmpeg

* output for configure was:

checking for a BSD-compatible install... /usr/bin/install -c
checking whether build environment is sane... yes
checking for gawk... gawk
checking whether make sets $(MAKE)... yes
configure: WARNING: You can call configure with the --with-libarch option.
This tells configure where to find architecture specific libraries.
The default of 'lib' is usually ok but 64 bit machines may require lib64.
e.g. --with-libarch=lib or --with-libarch=lib64
configure: WARNING: You can call configure with the --with-mysql option.
This tells configure where to find the MySql C library and headers if configure cannot
locate them automatically.
e.g. --with-mysql=/usr/local or --with-mysql=/usr
configure: WARNING: You can call configure with the --with-extralibs option.
Ordinarily you will need to use this option only when your copy of ffmpeg has been built
with support for additional formats and you would use this option to detail which additional
libraries ffmpeg was built with so that it is able to link successfully with ZoneMinder.
You will need to wrap this option in quotes if it contains any spaces.
e.g. --with-extralibs="-lmp3lame"
configure: WARNING: You can call configure with the --enable-debug=<yes|no> or --disable-debug option.
This tells configure whether to compile ZoneMinder with debug included. Although debug is included
by default it is not output unless explicitly switched on elsewhere. These checks may induce a
small penalty on performance and if you are after squeezing the maximum possible performance out
of ZoneMinder you may use this switch to prevent debug from being compiled in.
e.g. --enable-debug=yes or --disable-debug
configure: WARNING: You can call configure with the --enable-crashtrace=<yes|no> or --disable-crashtrace option.
This tells configure whether to compile ZoneMinder with crash tracing included. This allows a
dump of the stack trace when a ZoneMinder binary crashes or is killed by an unexpected signal.
Although this should work on most systems it does rely on un(or loosely) documented features and
so should be regarded as experimental. If you experience problems compiling zm_signal.cpp or
ZoneMinder binaries fail to shut down corrected then you should probably disable this feature.
e.g. --enable-crashtrace=yes or --disable-crashtrace
checking for gcc... gcc
checking for C compiler default output file name... a.out
checking whether the C compiler works... yes
checking whether we are cross compiling... no
checking for suffix of executables...
checking for suffix of object files... o
checking whether we are using the GNU C compiler... yes
checking whether gcc accepts -g... yes
checking for gcc option to accept ANSI C... none needed
checking for style of include used by make... GNU
checking dependency style of gcc... gcc3
checking for g++... g++
checking whether we are using the GNU C++ compiler... yes
checking whether g++ accepts -g... yes
checking dependency style of g++... gcc3
checking for a BSD-compatible install... /usr/bin/install -c
checking whether make sets $(MAKE)... (cached) yes
checking how to run the C preprocessor... gcc -E
checking for egrep... grep -E
checking for ANSI C header files... yes
checking for sys/types.h... yes
checking for sys/stat.h... yes
checking for stdlib.h... yes
checking for string.h... yes
checking for memory.h... yes
checking for strings.h... yes
checking for inttypes.h... yes
checking for stdint.h... yes
checking for unistd.h... yes
checking for size_t... yes
checking return type of signal handlers... void
checking for siginfo_t... yes
checking for struct sigcontext... yes
checking for struct sigcontext.eip... yes
checking for ucontext_t... yes
checking how to run the C++ preprocessor... g++ -E
checking mysql/mysql.h usability... yes
checking mysql/mysql.h presence... yes
checking for mysql/mysql.h... yes
checking pcre/pcre.h usability... no
checking pcre/pcre.h presence... no
checking for pcre/pcre.h... no
checking pcre.h usability... yes
checking pcre.h presence... yes
checking for pcre.h... yes
checking whether round is declared... yes
checking whether strsignal is declared... yes
checking whether MD5 is declared... yes
checking whether backtrace is declared... yes
checking for jpeg_start_compress in -ljpeg... yes
checking for compress in -lz... yes
checking for dlsym in -ldl... yes
checking for mysql_init in -lmysqlclient... yes
checking for MD5 in -lcrypto... yes
checking for pcre_compile in -lpcre... yes
checking for ff_gcd in -lavutil... yes
checking for avcodec_init in -lavcodec... yes
checking for av_new_stream in -lavformat... yes
checking for perl... perl
checking for perl version greater than or equal to 5.6.0... ok
checking for perl module Sys::Syslog... ok
checking for perl module DBI... ok
checking for perl module DBD::mysql... ok
checking for perl module Getopt::Long... ok
checking for perl module Time::HiRes... ok
checking for perl module Date::Manip... ok
checking for perl module LWP::UserAgent... ok
checking for perl module Device::SerialPort... no
configure: WARNING: Device::SerialPort is required for RS232/RS485 PTZ camera control
checking for perl module Net::FTP... ok
checking for perl module Archive::Tar... ok
checking for perl module Archive::Zip... ok
checking for perl module Net::SMTP... ok
checking for perl module MIME::Lite... ok
checking for perl module MIME::Entity... ok
checking for perl module X10::ActiveHome... no
configure: WARNING: X10::ActiveHome is required for X.10 support
configure: creating ./config.status
config.status: creating Makefile
config.status: creating src/Makefile
config.status: creating web/Makefile
config.status: creating web/graphics/Makefile
config.status: creating scripts/Makefile
config.status: creating db/Makefile
config.status: creating config.h
config.status: executing depfiles commands
configure: creating ./config.status
config.status: creating Makefile
config.status: creating src/Makefile
config.status: creating web/Makefile
config.status: creating web/graphics/Makefile
config.status: creating scripts/Makefile
config.status: creating db/Makefile
config.status: creating zm.conf
config.status: creating src/zm_config.h
config.status: creating web/zm_config.php
config.status: creating scripts/zm
config.status: creating db/zm_create.sql
config.status: creating config.h
config.status: config.h is unchanged
config.status: executing depfiles commands
configure: creating ./config.status
config.status: creating Makefile
config.status: creating src/Makefile
config.status: creating web/Makefile
config.status: creating web/graphics/Makefile
config.status: creating scripts/Makefile
config.status: creating db/Makefile
config.status: creating zm.conf
config.status: creating src/zm_config.h
config.status: creating web/zm_config.php
config.status: creating scripts/zm
config.status: creating db/zm_create.sql
config.status: creating scripts/ZoneMinder/lib/ZoneMinder/Base.pm
config.status: creating scripts/ZoneMinder/lib/ZoneMinder/Config.pm
config.status: creating scripts/ZoneMinder/lib/ZoneMinder/ConfigAdmin.pm
config.status: creating config.h
config.status: config.h is unchanged
config.status: executing depfiles commands
checking for scripts/ZoneMinder/Makefile... no
Checking if your kit is complete...
Looks good
Writing Makefile for ZoneMinder

* output of 'make' on ZoneMinder was:

make all-recursive
make[1]: Entering directory `/tmp/installs/ZoneMinder-1.22.3'
Making all in src
make[2]: Entering directory `/tmp/installs/ZoneMinder-1.22.3/src'
if g++ -DHAVE_CONFIG_H -I. -I. -I.. -I/usr/include -I/opt/ffmpeg/include -g -O2 -MT zmc.o -MD -MP -MF ".deps/zmc.Tpo" -c -o zmc.o zmc.cpp; \
then mv -f ".deps/zmc.Tpo" ".deps/zmc.Po"; else rm -f ".deps/zmc.Tpo"; exit 1; fi
if g++ -DHAVE_CONFIG_H -I. -I. -I.. -I/usr/include -I/opt/ffmpeg/include -g -O2 -MT zm.o -MD -MP -MF ".deps/zm.Tpo" -c -o zm.o zm.cpp; \
then mv -f ".deps/zm.Tpo" ".deps/zm.Po"; else rm -f ".deps/zm.Tpo"; exit 1; fi
if g++ -DHAVE_CONFIG_H -I. -I. -I.. -I/usr/include -I/opt/ffmpeg/include -g -O2 -MT zm_db.o -MD -MP -MF ".deps/zm_db.Tpo" -c -o zm_db.o zm_db.cpp; \
then mv -f ".deps/zm_db.Tpo" ".deps/zm_db.Po"; else rm -f ".deps/zm_db.Tpo"; exit 1; fi
if g++ -DHAVE_CONFIG_H -I. -I. -I.. -I/usr/include -I/opt/ffmpeg/include -g -O2 -MT zm_config.o -MD -MP -MF ".deps/zm_config.Tpo" -c -o zm_config.o zm_config.cpp; \
then mv -f ".deps/zm_config.Tpo" ".deps/zm_config.Po"; else rm -f ".deps/zm_config.Tpo"; exit 1; fi
if g++ -DHAVE_CONFIG_H -I. -I. -I.. -I/usr/include -I/opt/ffmpeg/include -g -O2 -MT zm_coord.o -MD -MP -MF ".deps/zm_coord.Tpo" -c -o zm_coord.o zm_coord.cpp; \
then mv -f ".deps/zm_coord.Tpo" ".deps/zm_coord.Po"; else rm -f ".deps/zm_coord.Tpo"; exit 1; fi
if g++ -DHAVE_CONFIG_H -I. -I. -I.. -I/usr/include -I/opt/ffmpeg/include -g -O2 -MT zm_box.o -MD -MP -MF ".deps/zm_box.Tpo" -c -o zm_box.o zm_box.cpp; \
then mv -f ".deps/zm_box.Tpo" ".deps/zm_box.Po"; else rm -f ".deps/zm_box.Tpo"; exit 1; fi
if g++ -DHAVE_CONFIG_H -I. -I. -I.. -I/usr/include -I/opt/ffmpeg/include -g -O2 -MT zm_poly.o -MD -MP -MF ".deps/zm_poly.Tpo" -c -o zm_poly.o zm_poly.cpp; \
then mv -f ".deps/zm_poly.Tpo" ".deps/zm_poly.Po"; else rm -f ".deps/zm_poly.Tpo"; exit 1; fi
if g++ -DHAVE_CONFIG_H -I. -I. -I.. -I/usr/include -I/opt/ffmpeg/include -g -O2 -MT zm_image.o -MD -MP -MF ".deps/zm_image.Tpo" -c -o zm_image.o zm_image.cpp; \
then mv -f ".deps/zm_image.Tpo" ".deps/zm_image.Po"; else rm -f ".deps/zm_image.Tpo"; exit 1; fi
if g++ -DHAVE_CONFIG_H -I. -I. -I.. -I/usr/include -I/opt/ffmpeg/include -g -O2 -MT zm_event.o -MD -MP -MF ".deps/zm_event.Tpo" -c -o zm_event.o zm_event.cpp; \
then mv -f ".deps/zm_event.Tpo" ".deps/zm_event.Po"; else rm -f ".deps/zm_event.Tpo"; exit 1; fi
In file included from /opt/ffmpeg/include/ffmpeg/avformat.h:32,
from zm_mpeg.h:27,
from zm_event.cpp:29:
/opt/ffmpeg/include/ffmpeg/avcodec.h:2259: warning: `ImgReSampleContext' is
deprecated (declared at /opt/ffmpeg/include/ffmpeg/avcodec.h:2253)
/opt/ffmpeg/include/ffmpeg/avcodec.h:2269: warning: `ImgReSampleContext' is
deprecated (declared at /opt/ffmpeg/include/ffmpeg/avcodec.h:2253)
if g++ -DHAVE_CONFIG_H -I. -I. -I.. -I/usr/include -I/opt/ffmpeg/include -g -O2 -MT zm_zone.o -MD -MP -MF ".deps/zm_zone.Tpo" -c -o zm_zone.o zm_zone.cpp; \
then mv -f ".deps/zm_zone.Tpo" ".deps/zm_zone.Po"; else rm -f ".deps/zm_zone.Tpo"; exit 1; fi
if g++ -DHAVE_CONFIG_H -I. -I. -I.. -I/usr/include -I/opt/ffmpeg/include -g -O2 -MT zm_camera.o -MD -MP -MF ".deps/zm_camera.Tpo" -c -o zm_camera.o zm_camera.cpp; \
then mv -f ".deps/zm_camera.Tpo" ".deps/zm_camera.Po"; else rm -f ".deps/zm_camera.Tpo"; exit 1; fi
if g++ -DHAVE_CONFIG_H -I. -I. -I.. -I/usr/include -I/opt/ffmpeg/include -g -O2 -MT zm_local_camera.o -MD -MP -MF ".deps/zm_local_camera.Tpo" -c -o zm_local_camera.o zm_local_camera.cpp; \
then mv -f ".deps/zm_local_camera.Tpo" ".deps/zm_local_camera.Po"; else rm -f ".deps/zm_local_camera.Tpo"; exit 1; fi
if g++ -DHAVE_CONFIG_H -I. -I. -I.. -I/usr/include -I/opt/ffmpeg/include -g -O2 -MT zm_remote_camera.o -MD -MP -MF ".deps/zm_remote_camera.Tpo" -c -o zm_remote_camera.o zm_remote_camera.cpp; \
then mv -f ".deps/zm_remote_camera.Tpo" ".deps/zm_remote_camera.Po"; else rm -f ".deps/zm_remote_camera.Tpo"; exit 1; fi
if g++ -DHAVE_CONFIG_H -I. -I. -I.. -I/usr/include -I/opt/ffmpeg/include -g -O2 -MT zm_file_camera.o -MD -MP -MF ".deps/zm_file_camera.Tpo" -c -o zm_file_camera.o zm_file_camera.cpp; \
then mv -f ".deps/zm_file_camera.Tpo" ".deps/zm_file_camera.Po"; else rm -f ".deps/zm_file_camera.Tpo"; exit 1; fi
if g++ -DHAVE_CONFIG_H -I. -I. -I.. -I/usr/include -I/opt/ffmpeg/include -g -O2 -MT zm_monitor.o -MD -MP -MF ".deps/zm_monitor.Tpo" -c -o zm_monitor.o zm_monitor.cpp; \
then mv -f ".deps/zm_monitor.Tpo" ".deps/zm_monitor.Po"; else rm -f ".deps/zm_monitor.Tpo"; exit 1; fi
In file included from /opt/ffmpeg/include/ffmpeg/avformat.h:32,
from zm_mpeg.h:27,
from zm_monitor.cpp:25:
/opt/ffmpeg/include/ffmpeg/avcodec.h:2259: warning: `ImgReSampleContext' is
deprecated (declared at /opt/ffmpeg/include/ffmpeg/avcodec.h:2253)
/opt/ffmpeg/include/ffmpeg/avcodec.h:2269: warning: `ImgReSampleContext' is
deprecated (declared at /opt/ffmpeg/include/ffmpeg/avcodec.h:2253)
if g++ -DHAVE_CONFIG_H -I. -I. -I.. -I/usr/include -I/opt/ffmpeg/include -g -O2 -MT zm_user.o -MD -MP -MF ".deps/zm_user.Tpo" -c -o zm_user.o zm_user.cpp; \
then mv -f ".deps/zm_user.Tpo" ".deps/zm_user.Po"; else rm -f ".deps/zm_user.Tpo"; exit 1; fi
if g++ -DHAVE_CONFIG_H -I. -I. -I.. -I/usr/include -I/opt/ffmpeg/include -g -O2 -MT zm_mpeg.o -MD -MP -MF ".deps/zm_mpeg.Tpo" -c -o zm_mpeg.o zm_mpeg.cpp; \
then mv -f ".deps/zm_mpeg.Tpo" ".deps/zm_mpeg.Po"; else rm -f ".deps/zm_mpeg.Tpo"; exit 1; fi
In file included from /opt/ffmpeg/include/ffmpeg/avformat.h:32,
from zm_mpeg.h:27,
from zm_mpeg.cpp:24:
/opt/ffmpeg/include/ffmpeg/avcodec.h:2259: warning: `ImgReSampleContext' is
deprecated (declared at /opt/ffmpeg/include/ffmpeg/avcodec.h:2253)
/opt/ffmpeg/include/ffmpeg/avcodec.h:2269: warning: `ImgReSampleContext' is
deprecated (declared at /opt/ffmpeg/include/ffmpeg/avcodec.h:2253)
zm_mpeg.cpp: In member function `double VideoStream::EncodeFrame(uint8_t*, int,
bool, unsigned int)':
zm_mpeg.cpp:310: warning: `img_convert' is deprecated (declared at
/opt/ffmpeg/include/ffmpeg/avcodec.h:2421)
if gcc -DHAVE_CONFIG_H -I. -I. -I.. -I/usr/include -I/opt/ffmpeg/include -g -O2 -MT zm_jpeg.o -MD -MP -MF ".deps/zm_jpeg.Tpo" -c -o zm_jpeg.o zm_jpeg.c; \
then mv -f ".deps/zm_jpeg.Tpo" ".deps/zm_jpeg.Po"; else rm -f ".deps/zm_jpeg.Tpo"; exit 1; fi
zm_jpeg.c: In function `jpeg_mem_src':
zm_jpeg.c:392: warning: assignment discards qualifiers from pointer target type
if g++ -DHAVE_CONFIG_H -I. -I. -I.. -I/usr/include -I/opt/ffmpeg/include -g -O2 -MT zm_regexp.o -MD -MP -MF ".deps/zm_regexp.Tpo" -c -o zm_regexp.o zm_regexp.cpp; \
then mv -f ".deps/zm_regexp.Tpo" ".deps/zm_regexp.Po"; else rm -f ".deps/zm_regexp.Tpo"; exit 1; fi
if g++ -DHAVE_CONFIG_H -I. -I. -I.. -I/usr/include -I/opt/ffmpeg/include -g -O2 -MT zm_signal.o -MD -MP -MF ".deps/zm_signal.Tpo" -c -o zm_signal.o zm_signal.cpp; \
then mv -f ".deps/zm_signal.Tpo" ".deps/zm_signal.Po"; else rm -f ".deps/zm_signal.Tpo"; exit 1; fi
if g++ -DHAVE_CONFIG_H -I. -I. -I.. -I/usr/include -I/opt/ffmpeg/include -g -O2 -MT zm_buffer.o -MD -MP -MF ".deps/zm_buffer.Tpo" -c -o zm_buffer.o zm_buffer.cpp; \
then mv -f ".deps/zm_buffer.Tpo" ".deps/zm_buffer.Po"; else rm -f ".deps/zm_buffer.Tpo"; exit 1; fi
if gcc -DHAVE_CONFIG_H -I. -I. -I.. -I/usr/include -I/opt/ffmpeg/include -g -O2 -MT zm_debug.o -MD -MP -MF ".deps/zm_debug.Tpo" -c -o zm_debug.o zm_debug.c; \
then mv -f ".deps/zm_debug.Tpo" ".deps/zm_debug.Po"; else rm -f ".deps/zm_debug.Tpo"; exit 1; fi
g++ -g -O2 -L/opt/ffmpeg/lib -L/usr/lib/mysql -o zmc zmc.o zm.o zm_db.o zm_config.o zm_coord.o zm_box.o zm_poly.o zm_image.o zm_event.o zm_zone.o zm_camera.o zm_local_camera.o zm_remote_camera.o zm_file_camera.o zm_monitor.o zm_user.o zm_mpeg.o zm_jpeg.o zm_regexp.o zm_signal.o zm_buffer.o zm_debug.o -lavformat -lavcodec -lavutil -lpcre -lcrypto -lmysqlclient -ldl -lz -ljpeg
zm_mpeg.o(.text+0x74): In function `VideoStream::EncodeFrame(unsigned char*, int, bool, unsigned)':
/tmp/installs/ZoneMinder-1.22.3/src/zm_mpeg.cpp:308: undefined reference to `img_convert(AVPicture*, int, AVPicture const*, int, int, int)'
zm_mpeg.o(.text+0xaf):/tmp/installs/ZoneMinder-1.22.3/src/zm_mpeg.cpp:339: undefined reference to `avcodec_encode_video(AVCodecContext*, unsigned char*, int, AVFrame const*)'
zm_mpeg.o(.text+0xc8):/tmp/installs/ZoneMinder-1.22.3/src/zm_mpeg.cpp:346: undefined reference to `av_init_packet(AVPacket*)'
zm_mpeg.o(.text+0xf0):/tmp/installs/ZoneMinder-1.22.3/src/zm_mpeg.cpp:351: undefined reference to `av_rescale_q(long long, AVRational, AVRational)'
zm_mpeg.o(.text+0x12f):/tmp/installs/ZoneMinder-1.22.3/src/zm_mpeg.cpp:359: undefined reference to `av_write_frame(AVFormatContext*, AVPacket*)'
zm_mpeg.o(.text+0x158):/tmp/installs/ZoneMinder-1.22.3/src/zm_mpeg.cpp:325: undefined reference to `av_init_packet(AVPacket*)'
zm_mpeg.o(.text+0x1e9): In function `VideoStream::~VideoStream [in-charge]()':
/tmp/installs/ZoneMinder-1.22.3/src/zm_mpeg.cpp:269: undefined reference to `av_write_trailer(AVFormatContext*)'
zm_mpeg.o(.text+0x21f):/tmp/installs/ZoneMinder-1.22.3/src/zm_mpeg.cpp:274: undefined reference to `av_freep(void*)'
zm_mpeg.o(.text+0x245):/tmp/installs/ZoneMinder-1.22.3/src/zm_mpeg.cpp:280: undefined reference to `url_fclose(ByteIOContext*)'
zm_mpeg.o(.text+0x265):/tmp/installs/ZoneMinder-1.22.3/src/zm_mpeg.cpp:254: undefined reference to `avcodec_close(AVCodecContext*)'
zm_mpeg.o(.text+0x271):/tmp/installs/ZoneMinder-1.22.3/src/zm_mpeg.cpp:258: undefined reference to `av_free(void*)'
zm_mpeg.o(.text+0x27b):/tmp/installs/ZoneMinder-1.22.3/src/zm_mpeg.cpp:259: undefined reference to `av_free(void*)'
zm_mpeg.o(.text+0x291):/tmp/installs/ZoneMinder-1.22.3/src/zm_mpeg.cpp:265: undefined reference to `av_free(void*)'
zm_mpeg.o(.text+0x2a4):/tmp/installs/ZoneMinder-1.22.3/src/zm_mpeg.cpp:262: undefined reference to `av_free(void*)'
zm_mpeg.o(.text+0x2ae):/tmp/installs/ZoneMinder-1.22.3/src/zm_mpeg.cpp:263: undefined reference to `av_free(void*)'
zm_mpeg.o(.text+0x2d9): In function `VideoStream::~VideoStream [not-in-charge]()':
/tmp/installs/ZoneMinder-1.22.3/src/zm_mpeg.cpp:269: undefined reference to `av_write_trailer(AVFormatContext*)'
zm_mpeg.o(.text+0x30f):/tmp/installs/ZoneMinder-1.22.3/src/zm_mpeg.cpp:274: undefined reference to `av_freep(void*)'
zm_mpeg.o(.text+0x335):/tmp/installs/ZoneMinder-1.22.3/src/zm_mpeg.cpp:280: undefined reference to `url_fclose(ByteIOContext*)'
zm_mpeg.o(.text+0x355):/tmp/installs/ZoneMinder-1.22.3/src/zm_mpeg.cpp:254: undefined reference to `avcodec_close(AVCodecContext*)'
zm_mpeg.o(.text+0x361):/tmp/installs/ZoneMinder-1.22.3/src/zm_mpeg.cpp:258: undefined reference to `av_free(void*)'
zm_mpeg.o(.text+0x36b):/tmp/installs/ZoneMinder-1.22.3/src/zm_mpeg.cpp:259: undefined reference to `av_free(void*)'
zm_mpeg.o(.text+0x381):/tmp/installs/ZoneMinder-1.22.3/src/zm_mpeg.cpp:265: undefined reference to `av_free(void*)'
zm_mpeg.o(.text+0x394):/tmp/installs/ZoneMinder-1.22.3/src/zm_mpeg.cpp:262: undefined reference to `av_free(void*)'
zm_mpeg.o(.text+0x39e):/tmp/installs/ZoneMinder-1.22.3/src/zm_mpeg.cpp:263: undefined reference to `av_free(void*)'
zm_mpeg.o(.text+0x40e): In function `VideoStream::OpenStream()':
/tmp/installs/ZoneMinder-1.22.3/src/zm_mpeg.cpp:165: undefined reference to `avcodec_find_encoder(CodecID)'
zm_mpeg.o(.text+0x424):/tmp/installs/ZoneMinder-1.22.3/src/zm_mpeg.cpp:172: undefined reference to `avcodec_open(AVCodecContext*, AVCodec*)'
zm_mpeg.o(.text+0x434):/tmp/installs/ZoneMinder-1.22.3/src/zm_mpeg.cpp:178: undefined reference to `avcodec_alloc_frame()'
zm_mpeg.o(.text+0x45a):/tmp/installs/ZoneMinder-1.22.3/src/zm_mpeg.cpp:183: undefined reference to `avpicture_get_size(int, int, int)'
zm_mpeg.o(.text+0x488):/tmp/installs/ZoneMinder-1.22.3/src/zm_mpeg.cpp:190: undefined reference to `avpicture_fill(AVPicture*, unsigned char*, int, int, int)'
zm_mpeg.o(.text+0x4a3):/tmp/installs/ZoneMinder-1.22.3/src/zm_mpeg.cpp:198: undefined reference to `avcodec_alloc_frame()'
zm_mpeg.o(.text+0x4c9):/tmp/installs/ZoneMinder-1.22.3/src/zm_mpeg.cpp:203: undefined reference to `avpicture_get_size(int, int, int)'
zm_mpeg.o(.text+0x4f7):/tmp/installs/ZoneMinder-1.22.3/src/zm_mpeg.cpp:210: undefined reference to `avpicture_fill(AVPicture*, unsigned char*, int, int, int)'
zm_mpeg.o(.text+0x51e):/tmp/installs/ZoneMinder-1.22.3/src/zm_mpeg.cpp:217: undefined reference to `url_fopen(ByteIOContext**, char const*, int)'
zm_mpeg.o(.text+0x649):/tmp/installs/ZoneMinder-1.22.3/src/zm_mpeg.cpp:187: undefined reference to `av_free(void*)'
zm_mpeg.o(.text+0x68b):/tmp/installs/ZoneMinder-1.22.3/src/zm_mpeg.cpp:207: undefined reference to `av_free(void*)'
zm_mpeg.o(.text+0x770): In function `VideoStream::SetParameters()':
/tmp/installs/ZoneMinder-1.22.3/src/zm_mpeg.cpp:126: undefined reference to `av_set_parameters(AVFormatContext*, AVFormatParameters*)'
zm_mpeg.o(.text+0x7f1): In function `VideoStream::SetupCodec(int, int, int, int, int)':
/tmp/installs/ZoneMinder-1.22.3/src/zm_mpeg.cpp:79: undefined reference to `av_new_stream(AVFormatContext*, int)'
zm_mpeg.o(.text+0x8fd): In function `VideoStream::SetupFormat(char const*, char const*)':
/tmp/installs/ZoneMinder-1.22.3/src/zm_mpeg.cpp:49: undefined reference to `guess_format(char const*, char const*, char const*)'
zm_mpeg.o(.text+0x93d):/tmp/installs/ZoneMinder-1.22.3/src/zm_mpeg.cpp:53: undefined reference to `guess_format(char const*, char const*, char const*)'
zm_mpeg.o(.text+0x960):/tmp/installs/ZoneMinder-1.22.3/src/zm_mpeg.cpp:61: undefined reference to `av_mallocz(unsigned)'
zm_mpeg.o(.text+0x9f6): In function `VideoStream::Initialise()':
/tmp/installs/ZoneMinder-1.22.3/src/zm_mpeg.cpp:39: undefined reference to `av_register_all()'
zm_mpeg.o(.text+0x211): In function `VideoStream::~VideoStream [in-charge]()':
/tmp/installs/ZoneMinder-1.22.3/src/zm_mpeg.cpp:284: undefined reference to `av_free(void*)'
zm_mpeg.o(.text+0x259):/tmp/installs/ZoneMinder-1.22.3/src/zm_mpeg.cpp:284: undefined reference to `av_free(void*)'
zm_mpeg.o(.text+0x301): In function `VideoStream::~VideoStream [not-in-charge]()':
/tmp/installs/ZoneMinder-1.22.3/src/zm_mpeg.cpp:284: undefined reference to `av_free(void*)'
zm_mpeg.o(.text+0x349):/tmp/installs/ZoneMinder-1.22.3/src/zm_mpeg.cpp:284: undefined reference to `av_free(void*)'
zm_mpeg.o(.text+0x3f6): In function `VideoStream::OpenStream()':
/tmp/installs/ZoneMinder-1.22.3/src/zm_mpeg.cpp:233: undefined reference to `av_write_header(AVFormatContext*)'
zm_mpeg.o(.text+0x58b):/tmp/installs/ZoneMinder-1.22.3/src/zm_mpeg.cpp:233: undefined reference to `av_write_header(AVFormatContext*)'
collect2: ld returned 1 exit status
make[2]: *** [zmc] Error 1
make[2]: Leaving directory `/tmp/installs/ZoneMinder-1.22.3/src'
make[1]: *** [all-recursive] Error 1
make[1]: Leaving directory `/tmp/installs/ZoneMinder-1.22.3'
make: *** [all] Error 2

Please advice what can be the problem.

Many thanks in advance.

Regards

Krisztian
User avatar
monex
Posts: 169
Joined: Mon Jan 22, 2007 1:10 pm

Post by monex »

hi,

first of all the use of suse 9.3 is not recommended, because the support < 10.1 is discontinued and you will not get security fixes for older versions.

your compile problem bases on a new version of ffmpeg. you can either disable ffmpeg or may use the patch from here.

hope this helps
Image
jfk26
Posts: 3
Joined: Tue Dec 04, 2007 10:20 am

Post by jfk26 »

Dear Monex,

thanks for the reply. I tried the patch, but unfortunately it is now breaking down at an earlier stage:

make all-recursive
make[1]: Entering directory `/tmp/installs/ZoneMinder-1.22.3'
Making all in src
make[2]: Entering directory `/tmp/installs/ZoneMinder-1.22.3/src'
if g++ -DHAVE_CONFIG_H -I. -I. -I.. -I/usr/include -I/opt/ffmpeg/include -g -O2 -MT zmc.o -MD -MP -MF ".deps/zmc.Tpo" -c -o zmc.o zmc.cpp; \
then mv -f ".deps/zmc.Tpo" ".deps/zmc.Po"; else rm -f ".deps/zmc.Tpo"; exit 1; fi
if g++ -DHAVE_CONFIG_H -I. -I. -I.. -I/usr/include -I/opt/ffmpeg/include -g -O2 -MT zm.o -MD -MP -MF ".deps/zm.Tpo" -c -o zm.o zm.cpp; \
then mv -f ".deps/zm.Tpo" ".deps/zm.Po"; else rm -f ".deps/zm.Tpo"; exit 1; fi
if g++ -DHAVE_CONFIG_H -I. -I. -I.. -I/usr/include -I/opt/ffmpeg/include -g -O2 -MT zm_db.o -MD -MP -MF ".deps/zm_db.Tpo" -c -o zm_db.o zm_db.cpp; \
then mv -f ".deps/zm_db.Tpo" ".deps/zm_db.Po"; else rm -f ".deps/zm_db.Tpo"; exit 1; fi
if g++ -DHAVE_CONFIG_H -I. -I. -I.. -I/usr/include -I/opt/ffmpeg/include -g -O2 -MT zm_config.o -MD -MP -MF ".deps/zm_config.Tpo" -c -o zm_config.o zm_config.cpp; \
then mv -f ".deps/zm_config.Tpo" ".deps/zm_config.Po"; else rm -f ".deps/zm_config.Tpo"; exit 1; fi
if g++ -DHAVE_CONFIG_H -I. -I. -I.. -I/usr/include -I/opt/ffmpeg/include -g -O2 -MT zm_coord.o -MD -MP -MF ".deps/zm_coord.Tpo" -c -o zm_coord.o zm_coord.cpp; \
then mv -f ".deps/zm_coord.Tpo" ".deps/zm_coord.Po"; else rm -f ".deps/zm_coord.Tpo"; exit 1; fi
if g++ -DHAVE_CONFIG_H -I. -I. -I.. -I/usr/include -I/opt/ffmpeg/include -g -O2 -MT zm_box.o -MD -MP -MF ".deps/zm_box.Tpo" -c -o zm_box.o zm_box.cpp; \
then mv -f ".deps/zm_box.Tpo" ".deps/zm_box.Po"; else rm -f ".deps/zm_box.Tpo"; exit 1; fi
if g++ -DHAVE_CONFIG_H -I. -I. -I.. -I/usr/include -I/opt/ffmpeg/include -g -O2 -MT zm_poly.o -MD -MP -MF ".deps/zm_poly.Tpo" -c -o zm_poly.o zm_poly.cpp; \
then mv -f ".deps/zm_poly.Tpo" ".deps/zm_poly.Po"; else rm -f ".deps/zm_poly.Tpo"; exit 1; fi
if g++ -DHAVE_CONFIG_H -I. -I. -I.. -I/usr/include -I/opt/ffmpeg/include -g -O2 -MT zm_image.o -MD -MP -MF ".deps/zm_image.Tpo" -c -o zm_image.o zm_image.cpp; \
then mv -f ".deps/zm_image.Tpo" ".deps/zm_image.Po"; else rm -f ".deps/zm_image.Tpo"; exit 1; fi
if g++ -DHAVE_CONFIG_H -I. -I. -I.. -I/usr/include -I/opt/ffmpeg/include -g -O2 -MT zm_event.o -MD -MP -MF ".deps/zm_event.Tpo" -c -o zm_event.o zm_event.cpp; \
then mv -f ".deps/zm_event.Tpo" ".deps/zm_event.Po"; else rm -f ".deps/zm_event.Tpo"; exit 1; fi
In file included from /opt/ffmpeg/include/ffmpeg/avformat.h:32,
from zm_mpeg.h:28,
from zm_event.cpp:29:
/opt/ffmpeg/include/ffmpeg/avcodec.h:2259: warning: `ImgReSampleContext' is
deprecated (declared at /opt/ffmpeg/include/ffmpeg/avcodec.h:2253)
/opt/ffmpeg/include/ffmpeg/avcodec.h:2269: warning: `ImgReSampleContext' is
deprecated (declared at /opt/ffmpeg/include/ffmpeg/avcodec.h:2253)
if g++ -DHAVE_CONFIG_H -I. -I. -I.. -I/usr/include -I/opt/ffmpeg/include -g -O2 -MT zm_zone.o -MD -MP -MF ".deps/zm_zone.Tpo" -c -o zm_zone.o zm_zone.cpp; \
then mv -f ".deps/zm_zone.Tpo" ".deps/zm_zone.Po"; else rm -f ".deps/zm_zone.Tpo"; exit 1; fi
if g++ -DHAVE_CONFIG_H -I. -I. -I.. -I/usr/include -I/opt/ffmpeg/include -g -O2 -MT zm_camera.o -MD -MP -MF ".deps/zm_camera.Tpo" -c -o zm_camera.o zm_camera.cpp; \
then mv -f ".deps/zm_camera.Tpo" ".deps/zm_camera.Po"; else rm -f ".deps/zm_camera.Tpo"; exit 1; fi
if g++ -DHAVE_CONFIG_H -I. -I. -I.. -I/usr/include -I/opt/ffmpeg/include -g -O2 -MT zm_local_camera.o -MD -MP -MF ".deps/zm_local_camera.Tpo" -c -o zm_local_camera.o zm_local_camera.cpp; \
then mv -f ".deps/zm_local_camera.Tpo" ".deps/zm_local_camera.Po"; else rm -f ".deps/zm_local_camera.Tpo"; exit 1; fi
if g++ -DHAVE_CONFIG_H -I. -I. -I.. -I/usr/include -I/opt/ffmpeg/include -g -O2 -MT zm_remote_camera.o -MD -MP -MF ".deps/zm_remote_camera.Tpo" -c -o zm_remote_camera.o zm_remote_camera.cpp; \
then mv -f ".deps/zm_remote_camera.Tpo" ".deps/zm_remote_camera.Po"; else rm -f ".deps/zm_remote_camera.Tpo"; exit 1; fi
if g++ -DHAVE_CONFIG_H -I. -I. -I.. -I/usr/include -I/opt/ffmpeg/include -g -O2 -MT zm_file_camera.o -MD -MP -MF ".deps/zm_file_camera.Tpo" -c -o zm_file_camera.o zm_file_camera.cpp; \
then mv -f ".deps/zm_file_camera.Tpo" ".deps/zm_file_camera.Po"; else rm -f ".deps/zm_file_camera.Tpo"; exit 1; fi
if g++ -DHAVE_CONFIG_H -I. -I. -I.. -I/usr/include -I/opt/ffmpeg/include -g -O2 -MT zm_monitor.o -MD -MP -MF ".deps/zm_monitor.Tpo" -c -o zm_monitor.o zm_monitor.cpp; \
then mv -f ".deps/zm_monitor.Tpo" ".deps/zm_monitor.Po"; else rm -f ".deps/zm_monitor.Tpo"; exit 1; fi
In file included from /opt/ffmpeg/include/ffmpeg/avformat.h:32,
from zm_mpeg.h:28,
from zm_monitor.cpp:25:
/opt/ffmpeg/include/ffmpeg/avcodec.h:2259: warning: `ImgReSampleContext' is
deprecated (declared at /opt/ffmpeg/include/ffmpeg/avcodec.h:2253)
/opt/ffmpeg/include/ffmpeg/avcodec.h:2269: warning: `ImgReSampleContext' is
deprecated (declared at /opt/ffmpeg/include/ffmpeg/avcodec.h:2253)
if g++ -DHAVE_CONFIG_H -I. -I. -I.. -I/usr/include -I/opt/ffmpeg/include -g -O2 -MT zm_user.o -MD -MP -MF ".deps/zm_user.Tpo" -c -o zm_user.o zm_user.cpp; \
then mv -f ".deps/zm_user.Tpo" ".deps/zm_user.Po"; else rm -f ".deps/zm_user.Tpo"; exit 1; fi
if g++ -DHAVE_CONFIG_H -I. -I. -I.. -I/usr/include -I/opt/ffmpeg/include -g -O2 -MT zm_mpeg.o -MD -MP -MF ".deps/zm_mpeg.Tpo" -c -o zm_mpeg.o zm_mpeg.cpp; \
then mv -f ".deps/zm_mpeg.Tpo" ".deps/zm_mpeg.Po"; else rm -f ".deps/zm_mpeg.Tpo"; exit 1; fi
In file included from /opt/ffmpeg/include/ffmpeg/avformat.h:32,
from zm_mpeg.h:28,
from zm_mpeg.cpp:24:
/opt/ffmpeg/include/ffmpeg/avcodec.h:2259: warning: `ImgReSampleContext' is
deprecated (declared at /opt/ffmpeg/include/ffmpeg/avcodec.h:2253)
/opt/ffmpeg/include/ffmpeg/avcodec.h:2269: warning: `ImgReSampleContext' is
deprecated (declared at /opt/ffmpeg/include/ffmpeg/avcodec.h:2253)
zm_mpeg.cpp: In member function `double VideoStream::EncodeFrame(uint8_t*, int,
bool, unsigned int)':
zm_mpeg.cpp:310: warning: `img_convert' is deprecated (declared at
/opt/ffmpeg/include/ffmpeg/avcodec.h:2421)
if gcc -DHAVE_CONFIG_H -I. -I. -I.. -I/usr/include -I/opt/ffmpeg/include -g -O2 -MT zm_jpeg.o -MD -MP -MF ".deps/zm_jpeg.Tpo" -c -o zm_jpeg.o zm_jpeg.c; \
then mv -f ".deps/zm_jpeg.Tpo" ".deps/zm_jpeg.Po"; else rm -f ".deps/zm_jpeg.Tpo"; exit 1; fi
zm_jpeg.c: In function `jpeg_mem_src':
zm_jpeg.c:392: warning: assignment discards qualifiers from pointer target type
if g++ -DHAVE_CONFIG_H -I. -I. -I.. -I/usr/include -I/opt/ffmpeg/include -g -O2 -MT zm_regexp.o -MD -MP -MF ".deps/zm_regexp.Tpo" -c -o zm_regexp.o zm_regexp.cpp; \
then mv -f ".deps/zm_regexp.Tpo" ".deps/zm_regexp.Po"; else rm -f ".deps/zm_regexp.Tpo"; exit 1; fi
if g++ -DHAVE_CONFIG_H -I. -I. -I.. -I/usr/include -I/opt/ffmpeg/include -g -O2 -MT zm_signal.o -MD -MP -MF ".deps/zm_signal.Tpo" -c -o zm_signal.o zm_signal.cpp; \
then mv -f ".deps/zm_signal.Tpo" ".deps/zm_signal.Po"; else rm -f ".deps/zm_signal.Tpo"; exit 1; fi
if g++ -DHAVE_CONFIG_H -I. -I. -I.. -I/usr/include -I/opt/ffmpeg/include -g -O2 -MT zm_buffer.o -MD -MP -MF ".deps/zm_buffer.Tpo" -c -o zm_buffer.o zm_buffer.cpp; \
then mv -f ".deps/zm_buffer.Tpo" ".deps/zm_buffer.Po"; else rm -f ".deps/zm_buffer.Tpo"; exit 1; fi
if gcc -DHAVE_CONFIG_H -I. -I. -I.. -I/usr/include -I/opt/ffmpeg/include -g -O2 -MT zm_debug.o -MD -MP -MF ".deps/zm_debug.Tpo" -c -o zm_debug.o zm_debug.c; \
then mv -f ".deps/zm_debug.Tpo" ".deps/zm_debug.Po"; else rm -f ".deps/zm_debug.Tpo"; exit 1; fi
g++ -g -O2 -L/opt/ffmpeg/lib -L/usr/lib/mysql -o zmc zmc.o zm.o zm_db.o zm_config.o zm_coord.o zm_box.o zm_poly.o zm_image.o zm_event.o zm_zone.o zm_camera.o zm_local_camera.o zm_remote_camera.o zm_file_camera.o zm_monitor.o zm_user.o zm_mpeg.o zm_jpeg.o zm_regexp.o zm_signal.o zm_buffer.o zm_debug.o -lavformat -lavcodec -lavutil -lpcre -lcrypto -lmysqlclient -ldl -lz -ljpeg
zm_mpeg.o(.text+0x74): In function `VideoStream::EncodeFrame(unsigned char*, int, bool, unsigned)':
/tmp/installs/ZoneMinder-1.22.3/src/zm_mpeg.cpp:308: undefined reference to `img_convert'
collect2: ld returned 1 exit status
make[2]: *** [zmc] Error 1
make[2]: Leaving directory `/tmp/installs/ZoneMinder-1.22.3/src'
make[1]: *** [all-recursive] Error 1
make[1]: Leaving directory `/tmp/installs/ZoneMinder-1.22.3'
make: *** [all] Error 2

Thanks for the hint for SuSe, I am already thinking about upgrade. Regardless, I dont want to disable ffmpeg. What do you think we can do else to get it compiled?

Thanks
User avatar
monex
Posts: 169
Joined: Mon Jan 22, 2007 1:10 pm

Post by monex »

hello,

this is another problem related to ffmpeg. yes i have one solution but when i can remind correct, then you might run into other troubles with an older version of autotools :/

ok you can download the patch i used for the rpms here.

unpack zoneminder copy the patch in the zoneminder directory and run

Code: Select all

patch -p1 < newffmpeg.patch
the run

Code: Select all

aclocal
autoconf
automake
but when i'm, right you get trouble because of missing macros somewhere. guess you have to install these macros manual or upgrade the atotools stuff.

hope this helps
Image
jfk26
Posts: 3
Joined: Tue Dec 04, 2007 10:20 am

Post by jfk26 »

Dear Monex,

thanks for the hints. This was the correct one. It worked and now zoneminder is running. I could open the startup web page. I will continue with the camera configuration.

Thanks a lot again
User avatar
monex
Posts: 169
Joined: Mon Jan 22, 2007 1:10 pm

Post by monex »

hi,

glad to see that you got it working now :)

have a lot of fun

monex
Image
Locked