Page 1 of 1

ZM 1.24.1 make failure on CentOS 5.2

Posted: Thu Mar 05, 2009 11:15 pm
by Blazer
Fresh install of CentOS 5.2 (install + yum update). After the configure make reports:

Code: Select all

]# make
cd . && /bin/sh /root/trunk/missing --run autoconf
configure.ac:1: error: Autoconf version 2.61 or higher is required
configure.ac:1: the top level
autom4te: /usr/bin/m4 failed with exit status: 63
make: *** [configure] Error 1
Here are the versions of autoconf/automake that came with the distro:
rpm -qa |grep auto
automake14-1.4p6-13
automake-1.9.6-2.1
autoconf-2.59-12
autofs-5.0.1-0.rc2.88
automake16-1.6.3-8
automake15-1.5-16
automake17-1.7.9-7

The configure goes fine, except for some error with "dirname"

Code: Select all

# ./configure --with-webdir=/var/www/html/zm --with-cgidir=/var/www/cgi-bin --with-ffmpeg=/usr/local ZM_DB_HOST=localhost ZM_DB_NAME=zm ZM_DB_USER=zmuser ZM_DB_PASS=zmpass --enable-debug=no --with-webgroup=apache --with-webuser=apache ZM_SSL_LIB=openssl
checking for a BSD-compatible install... /usr/bin/install -c
checking whether build environment is sane... yes
checking for a thread-safe mkdir -p... /bin/mkdir -p
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-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 correctly then you should probably disable this feature.
    e.g. --enable-crashtrace=yes or --disable-crashtrace
configure: WARNING: You can call configure with the --enable-mmap=<yes|no> or --disable-mmap option.
    This tells configure whether to compile ZoneMinder with mmap support rather than IPC shared
    memory. This is an experimental feature that uses memory mapped into files which all processes
    can share. Memory mapping requires less configuration and is more flexible than shared memory
    but may slow down your system unless the mapped files are configured to reside on a fast or
    RAM based filesystem.
    e.g. --enable-mmap=yes or --disable-mmap
checking for g++... g++
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 g++ accepts -g... yes
checking for style of include used by make... GNU
checking dependency style of g++... gcc3
checking for gcc... gcc
checking whether we are using the GNU C compiler... yes
checking whether gcc accepts -g... yes
checking for gcc option to accept ISO C89... none needed
checking dependency style of gcc... gcc3
checking for a BSD-compatible install... /usr/bin/install -c
checking whether ln -s works... yes
checking for ranlib... ranlib
checking whether make sets $(MAKE)... (cached) yes
checking how to run the C++ preprocessor... g++ -E
checking for grep that handles long lines and -e... /bin/grep
checking for egrep... /bin/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 stdbool.h that conforms to C99... yes
checking for _Bool... no
checking for an ANSI C-conforming const... yes
checking for uid_t in sys/types.h... yes
checking for inline... inline
checking for mode_t... yes
checking for size_t... yes
checking for ssize_t... yes
checking whether time.h and sys/time.h may both be included... yes
checking whether struct tm is in sys/time.h or time.h... time.h
checking for uint8_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 whether gcc needs -traditional... no
checking for stdlib.h... (cached) yes
checking for GNU libc compatible malloc... yes
checking for stdlib.h... (cached) yes
checking for unistd.h... (cached) yes
checking for getpagesize... yes
checking for working mmap... yes
checking sys/select.h usability... yes
checking sys/select.h presence... yes
checking for sys/select.h... yes
checking sys/socket.h usability... yes
checking sys/socket.h presence... yes
checking for sys/socket.h... yes
checking types of arguments for select... int,fd_set *,struct timeval *
checking whether lstat dereferences a symlink specified with a trailing slash... yes
checking whether stat accepts an empty string... no
checking for strftime... yes
checking for working strtod... yes
checking for vprintf... yes
checking for _doprnt... no
checking for gethostbyname... yes
checking for gethostname... yes
checking for gettimeofday... yes
checking for memmove... yes
checking for memset... yes
checking for mkdir... yes
checking for munmap... yes
checking for putenv... yes
checking for select... yes
checking for socket... yes
checking for sqrt... yes
checking for strcasecmp... yes
checking for strchr... yes
checking for strcspn... yes
checking for strerror... yes
checking for strncasecmp... yes
checking for strrchr... yes
checking for strsignal... yes
checking for strspn... yes
checking for strstr... yes
checking for strtol... yes
checking for strtoull... yes
checking for ffmpeg... yes
checking for ffmpeg... /usr/local/bin/ffmpeg
checking for pnmscale... no
checking for pnmscale... no
dirname: missing operand
Try `dirname --help' for more information.
checking for jpeg_start_compress in -ljpeg... yes
checking for compress in -lz... yes
checking for dlsym in -ldl... yes
checking for pthread_create in -lpthread... yes
checking for mysql_init in -lmysqlclient... yes
checking for MD5 in -lcrypto... yes
checking for pcre_compile in -lpcre... yes
checking for av_malloc in -lavutil... yes
checking for avcodec_init in -lavcodec... yes
checking for av_new_stream in -lavformat... yes
checking for sws_scale in -lswscale... yes
checking for BZ2_bzCompress in -lbz2... yes
checking for working alloca.h... yes
checking for alloca... yes
checking for ANSI C header files... (cached) yes
checking fcntl.h usability... yes
checking fcntl.h presence... yes
checking for fcntl.h... yes
checking limits.h usability... yes
checking limits.h presence... yes
checking for limits.h... yes
checking for memory.h... (cached) yes
checking netdb.h usability... yes
checking netdb.h presence... yes
checking for netdb.h... yes
checking netinet/in.h usability... yes
checking netinet/in.h presence... yes
checking for netinet/in.h... yes
checking stddef.h usability... yes
checking stddef.h presence... yes
checking for stddef.h... yes
checking for stdlib.h... (cached) yes
checking for string.h... (cached) yes
checking for strings.h... (cached) yes
checking sys/ioctl.h usability... yes
checking sys/ioctl.h presence... yes
checking for sys/ioctl.h... yes
checking sys/param.h usability... yes
checking sys/param.h presence... yes
checking for sys/param.h... yes
checking for sys/socket.h... (cached) yes
checking sys/time.h usability... yes
checking sys/time.h presence... yes
checking for sys/time.h... yes
checking syslog.h usability... yes
checking syslog.h presence... yes
checking for syslog.h... yes
checking for unistd.h... (cached) yes
checking values.h usability... yes
checking values.h presence... yes
checking for values.h... yes
checking linux/videodev.h usability... yes
checking linux/videodev.h presence... yes
checking for linux/videodev.h... yes
checking linux/videodev2.h usability... yes
checking linux/videodev2.h presence... yes
checking for linux/videodev2.h... yes
checking mysql/mysql.h usability... yes
checking mysql/mysql.h presence... yes
checking for mysql/mysql.h... yes
checking libavutil/avutil.h usability... yes
checking libavutil/avutil.h presence... yes
checking for libavutil/avutil.h... yes
checking ffmpeg/avutil.h usability... no
checking ffmpeg/avutil.h presence... no
checking for ffmpeg/avutil.h... no
checking libavcodec/avcodec.h usability... yes
checking libavcodec/avcodec.h presence... yes
checking for libavcodec/avcodec.h... yes
checking ffmpeg/avcodec.h usability... no
checking ffmpeg/avcodec.h presence... no
checking for ffmpeg/avcodec.h... no
checking libavformat/avformat.h usability... yes
checking libavformat/avformat.h presence... yes
checking for libavformat/avformat.h... yes
checking ffmpeg/avformat.h usability... no
checking ffmpeg/avformat.h presence... no
checking for ffmpeg/avformat.h... no
checking libswscale/swscale.h usability... yes
checking libswscale/swscale.h presence... yes
checking for libswscale/swscale.h... yes
checking ffmpeg/swscale.h usability... no
checking ffmpeg/swscale.h presence... no
checking for ffmpeg/swscale.h... no
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 sys/ipc.h usability... yes
checking sys/ipc.h presence... yes
checking for sys/ipc.h... yes
checking sys/shm.h usability... yes
checking sys/shm.h presence... yes
checking for sys/shm.h... yes
checking whether round is declared... yes
checking whether MD5 is declared... yes
checking whether backtrace is declared... 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 PHP::Serialization... ok
checking for perl module Module::Load... 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... ok
checking for perl module X10::ActiveHome... ok
configure: creating ./config.status
config.status: creating Makefile
config.status: creating zm.conf
config.status: creating db/Makefile
config.status: creating db/zm_create.sql
config.status: creating scripts/Makefile
config.status: creating scripts/zm
config.status: creating scripts/zmdbbackup
config.status: creating scripts/zmdbrestore
config.status: creating scripts/zmeventdump
config.status: creating scripts/zmlogrotate.conf
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/Memory.pm
config.status: creating scripts/ZoneMinder/lib/ZoneMinder/ConfigAdmin.pm
config.status: creating src/Makefile
config.status: creating src/zm_config.h
config.status: creating web/Makefile
config.status: creating web/ajax/Makefile
config.status: creating web/css/Makefile
config.status: creating web/graphics/Makefile
config.status: creating web/includes/Makefile
config.status: creating web/includes/config.php
config.status: creating web/js/Makefile
config.status: creating web/lang/Makefile
config.status: creating web/skins/Makefile
config.status: creating web/skins/classic/Makefile
config.status: creating web/skins/classic/ajax/Makefile
config.status: creating web/skins/classic/css/Makefile
config.status: creating web/skins/classic/graphics/Makefile
config.status: creating web/skins/classic/includes/Makefile
config.status: creating web/skins/classic/js/Makefile
config.status: creating web/skins/classic/lang/Makefile
config.status: creating web/skins/classic/views/Makefile
config.status: creating web/skins/classic/views/css/Makefile
config.status: creating web/skins/classic/views/js/Makefile
config.status: creating web/skins/mobile/Makefile
config.status: creating web/skins/mobile/ajax/Makefile
config.status: creating web/skins/mobile/css/Makefile
config.status: creating web/skins/mobile/graphics/Makefile
config.status: creating web/skins/mobile/includes/Makefile
config.status: creating web/skins/mobile/lang/Makefile
config.status: creating web/skins/mobile/views/Makefile
config.status: creating web/skins/mobile/views/css/Makefile
config.status: creating web/tools/Makefile
config.status: creating web/tools/mootools/Makefile
config.status: creating web/views/Makefile
config.status: creating config.h
config.status: config.h is unchanged
config.status: executing depfiles commands
checking for scripts/ZoneMinder/Makefile... yes

Posted: Fri Mar 06, 2009 2:32 am
by tdukes
I ran configure with these options on my 5.2 system and didn't have a problem,

# ./configure --with-webdir=/var/www/html/zm --with-cgidir=/var/www/cgi-bin --with-ffmpeg=/usr ZM_SSL_LIB=openssl

Just had too many problems with 1.24.0 and 1.24.1 that I went back to 1.23.3. Also, I believe I had to put /usr/local/lib in etc/ldconf and then run ldconfig.

Did ffmpeg make OK?
________
Jason Castriota

Posted: Fri Mar 06, 2009 4:03 am
by Blazer
I think you misunderstood my post. configure runs fine, its the "make" afterwards that fails. ffmpeg configured and made with no problem at all.

This is a fresh install of CentOS 5.2. Doing a yum update to get latest kernel and update packages didn't help.

I used your exact configure just for fun, again configure worked fine, but the make fails. Did you try doing a "make" after your configure?

What problems were you experiencing? I still have not got 1.24.x to work reliably on my Fedora Core 10 system. 1.23.3 worked fine but 1.24.1 randomly gets jpeg decode errors or shared memory issues, which is main reason I built a whole new server with CentOS 5.2, and now can't get it to work on there either :(

Posted: Fri Mar 06, 2009 5:45 pm
by Blazer
I installed a newer ver of autoconf:

Code: Select all

# rpm -qa |grep autoconf
autoconf-2.61-9
But still cannot build:

Code: Select all

]# make
cd . && /bin/sh /root/trunk/missing --run aclocal-1.10 
/root/trunk/missing: line 46: aclocal-1.10: command not found
WARNING: `aclocal-1.10' is missing on your system.  You should only need it if
         you modified `acinclude.m4' or `configure.ac'.  You might want
         to install the `Automake' and `Perl' packages.  Grab them from
         any GNU archive site.
 cd . && /bin/sh /root/trunk/missing --run automake-1.10 --gnu 
/root/trunk/missing: line 46: automake-1.10: command not found
WARNING: `automake-1.10' is missing on your system.  You should only need it if
         you modified `Makefile.am', `acinclude.m4' or `configure.ac'.
         You might want to install the `Automake' and `Perl' packages.
         Grab them from any GNU archive site.
cd . && /bin/sh /root/trunk/missing --run autoconf
configure.ac:3: error: possibly undefined macro: AM_INIT_AUTOMAKE
      If this token and others are legitimate, please use m4_pattern_allow.
      See the Autoconf documentation.
configure.ac:5: error: possibly undefined macro: AM_CONFIG_HEADER
configure.ac:293: error: possibly undefined macro: AC_PROG_PERL_VERSION
configure.ac:296: error: possibly undefined macro: AC_PROG_PERL_MODULES
configure.ac:319: error: possibly undefined macro: AC_DEFINE_DIR
make: *** [configure] Error 1

Posted: Fri Mar 06, 2009 7:09 pm
by Blazer
I finally got it to build, but had to "trick" it :-)

I basically did the configure and make on my Fedora Core 10 machine, which created the proper Makefiles. I then copied that whole dir to the CentOS5 machine, and ran "make" again, which recompiled everything.

Very kludgy way to do it, but it worked. Once I verify that it works 100% and I get some time perhaps I will make a CentOS rpm so that others will not have to go through what I did.

Posted: Fri Mar 06, 2009 11:51 pm
by tdukes
Blazer wrote:I think you misunderstood my post. configure runs fine, its the "make" afterwards that fails. ffmpeg configured and made with no problem at all.

This is a fresh install of CentOS 5.2. Doing a yum update to get latest kernel and update packages didn't help.

I used your exact configure just for fun, again configure worked fine, but the make fails. Did you try doing a "make" after your configure?

What problems were you experiencing? I still have not got 1.24.x to work reliably on my Fedora Core 10 system. 1.23.3 worked fine but 1.24.1 randomly gets jpeg decode errors or shared memory issues, which is main reason I built a whole new server with CentOS 5.2, and now can't get it to work on there either :(
Yes, I ran make after ./configure. Everything here compiled fine just had the same problems you experienced. I mainly had apache freezing, cameras with -300+ FPS, the 'DVR' controls for viewing the events didn't work and some other things here and there.

I think 1.23.3 actually runs better with the 'current' svn of ffmpeg. The cameras seem much clearer.
________
Medical Marijuana Grow

Posted: Sun Mar 08, 2009 2:53 pm
by zoneminder
Blazer wrote:I think you misunderstood my post. configure runs fine, its the "make" afterwards that fails. ffmpeg configured and made with no problem at all.

This is a fresh install of CentOS 5.2. Doing a yum update to get latest kernel and update packages didn't help.

I used your exact configure just for fun, again configure worked fine, but the make fails. Did you try doing a "make" after your configure?

What problems were you experiencing? I still have not got 1.24.x to work reliably on my Fedora Core 10 system. 1.23.3 worked fine but 1.24.1 randomly gets jpeg decode errors or shared memory issues, which is main reason I built a whole new server with CentOS 5.2, and now can't get it to work on there either :(
I think you can usually avoid this by 'touch'ing configure and then all the Makefiles so it thinks all the dependencies are satisified. Sometimes svn seems to check things out so the dependant files are older.