Page 1 of 1

Compile issues on YDL 5.0.2

Posted: Thu Jul 05, 2007 10:20 pm
by phiberop
I posted this on another thread, but the topic header did not go with the issue, so I'm breaking it out into its own topic. I'm trying to compile ZM on my YDL 5.0.2 PS3 machine and I get the following compilation error after I run the ./configure:

Code: Select all

[root@localhost ZoneMinder-1.22.3]# ./configure --with-mysql=/usr --with-webdir=/var/www/html/zm --with-cgidir=/var/www/cgi-bin --with-ffmpeg=/usr/bin  --with-lame=/usr/lib --with-webuser=apache --with-webgroup=apache
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-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... no
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... ok
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... no
configure: WARNING: MIME::Entity may be required for automatic event email notification
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: 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 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... yes
Then I run the "make" command and get the following error:

Code: Select all

[root@localhost ZoneMinder-1.22.3]# make
make  all-recursive
make[1]: Entering directory `/root/ZoneMinder-1.22.3'
Making all in src
make[2]: Entering directory `/root/ZoneMinder-1.22.3/src'
if g++ -DHAVE_CONFIG_H -I. -I. -I..  -I/usr/include -I/usr/bin/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/usr/bin/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/usr/bin/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/usr/bin/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/usr/bin/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/usr/bin/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/usr/bin/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/usr/bin/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/usr/bin/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
if g++ -DHAVE_CONFIG_H -I. -I. -I..  -I/usr/include -I/usr/bin/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/usr/bin/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/usr/bin/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/usr/bin/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/usr/bin/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/usr/bin/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
if g++ -DHAVE_CONFIG_H -I. -I. -I..  -I/usr/include -I/usr/bin/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/usr/bin/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
if g++ -DHAVE_CONFIG_H -I. -I. -I..  -I/usr/include -I/usr/bin/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/usr/bin/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
zm_signal.cpp: In function ‘void zm_die_handler(int, sigcontext)’:
zm_signal.cpp:95: error: ‘struct sigcontext’ has no member named ‘cr2’
make[2]: *** [zm_signal.o] Error 1
make[2]: Leaving directory `/root/ZoneMinder-1.22.3/src'
make[1]: *** [all-recursive] Error 1
make[1]: Leaving directory `/root/ZoneMinder-1.22.3'
make: *** [all] Error 2
Are there any packages or dependancies that I'm missing? I'm really stumped as to what might be causing this to fail out. I would be greatful to any help someone could lend!

Posted: Fri Jul 06, 2007 10:46 pm
by phiberop
Anyone have any ideas??

I did have another thought...has anyone compiled ZM on a system with PowerPC architecture? The PS3 is based off the IBM CELL architecture, which is most similar to the PPC builds. I have recently run into problems with other applications that will not work properly with the PS3 because of the PPC requirement.

If anyone has installed ZM on a PPC based system please post so that I know to cross that off my list of things to consider as the source of the issues I'm having!

Posted: Sat Jul 07, 2007 12:49 am
by cordel
zm_signal.cpp: In function ‘void zm_die_handler(int, sigcontext)’:
zm_signal.cpp:95: error: ‘struct sigcontext’ has no member named ‘cr2’
This result is that on of the header files is missing a function and usualy shows up with non standard kernel headers or you have a modified/slimed glibc.

Posted: Sat Jul 07, 2007 3:50 pm
by phiberop
Is there a way for me to fix the problem with my kernel headers or with glibc?

Posted: Wed Jan 02, 2008 5:14 am
by MILxDOT
This is what I did to get it working on PS3:

http://www.zoneminder.com/forums/viewtopic.php?t=10948