Hi all,
Following the Centos Wiki guide & have hit a wall. I have installed ffmpeg 0.6.3. Done the 'make instal'l & 'make install-libs'. But when I come to 'make' zoneminder I get the following barf:
[root@zm1 ZoneMinder-1.24.4]# make
make all-recursive
make[1]: Entering directory `/root/ZoneMinder-1.24.4'
Making all in src
make[2]: Entering directory `/root/ZoneMinder-1.24.4/src'
g++ -DHAVE_CONFIG_H -I. -I.. -I/usr/include -I/usr/include -Wall -Wno-sign-compare -fno-inline -I/usr/include -g -O2 -MT zmc.o -MD -MP -MF .deps/zmc.Tpo -c -o zmc.o zmc.cpp
In file included from zm_mpeg.h:23,
from zm_stream.h:27,
from zm_event.h:39,
from zm_zone.h:27,
from zm_monitor.h:26,
from zmc.cpp:28:
zm_ffmpeg.h:33:2: error: #error "No location for avutils.h found"
zm_ffmpeg.h:40:2: error: #error "No location for avcodec.h found"
zm_ffmpeg.h:47:2: error: #error "No location for avformat.h found"
zm_ffmpeg.h:55:2: error: #error "No location for swscale.h found"
zm_mpeg.h:43: error: use of enum âPixelFormatâ without previous declaration
zm_mpeg.h:44: error: ISO C++ forbids declaration of âAVOutputFormatâ with no type
zm_mpeg.h:44: error: expected â;â before â*â token
zm_mpeg.h:45: error: ISO C++ forbids declaration of âAVFormatContextâ with no type
zm_mpeg.h:45: error: expected â;â before â*â token
zm_mpeg.h:46: error: ISO C++ forbids declaration of âAVStreamâ with no type
zm_mpeg.h:46: error: expected â;â before â*â token
zm_mpeg.h:47: error: ISO C++ forbids declaration of âAVFrameâ with no type
zm_mpeg.h:47: error: expected â;â before â*â token
zm_mpeg.h:48: error: ISO C++ forbids declaration of âAVFrameâ with no type
zm_mpeg.h:48: error: expected â;â before â*â token
make[2]: *** [zmc.o] Error 1
make[2]: Leaving directory `/root/ZoneMinder-1.24.4/src'
make[1]: *** [all-recursive] Error 1
make[1]: Leaving directory `/root/ZoneMinder-1.24.4'
make: *** [all] Error 2
How do I make it work ??
Do I need to use --with-ffmpeg=<path to ffmpeg root> - but I don't know where the ffmpeg has installed itself - trying to find it now...
Is there something I should know about ?
Thanks in advance,
Mike.
Cannot make zoneminder on Centos 5.6 - ffmpeg errors
- zoneminder
- Site Admin
- Posts: 5215
- Joined: Wed Jul 09, 2003 2:07 pm
- Location: Bristol, UK
- Contact:
Re: Cannot make zoneminder on Centos 5.6 - ffmpeg errors
What does configure have to say about those headers? It should display if/where it has found them as it runs. The results should also be present (in a more verbose) form in config.log.
Phil
Re: Cannot make zoneminder on Centos 5.6 - ffmpeg errors
Hi thanks for getting back,zoneminder wrote:What does configure have to say about those headers? It should display if/where it has found them as it runs. The results should also be present (in a more verbose) form in config.log.
I have just done a find for 'ffmpeg' & seems the root is /usr/local/share/ffmpeg. Tried adding ' --with-ffmpeg=/usr/local/share/ffmpeg' to the ./configure line but still the same output.
When you ask "What does configure have to say about those headers?" do you mean 'avutils.h' , 'avcodec.h' for example ??
Not sure which file names are the headers ?
Thanks again,
Mike.
Re: Cannot make zoneminder on Centos 5.6 - ffmpeg errors
OK so I did a search for the word 'header' in config.log & here is I think what you are looking for ?
configure:7631: checking libavutil/avutil.h presence
configure:7631: g++ -E -I/usr/local/share/ffmpeg/include conftest.cpp
configure:7631: $? = 0
configure:7631: result: yes
configure:7631: WARNING: libavutil/avutil.h: present but cannot be compiled
configure:7631: WARNING: libavutil/avutil.h: check for missing prerequisite headers?
configure:7631: WARNING: libavutil/avutil.h: see the Autoconf documentation
configure:7631: WARNING: libavutil/avutil.h: section "Present But Cannot Be Compiled"
configure:7631: WARNING: libavutil/avutil.h: proceeding with the compiler's result
configure:7631: checking for libavutil/avutil.h
configure:7631: result: no
This seems to mean to me that the ffmpeg headers can't be found ? I thought I installed them when I did installed ffmpeg - 'make install-libs' as per the WiKi?
Does this post explain what I have to do perhaps? http://kb.bobcares.com/?View=entry&EntryID=252
Thanks,
Mike.
configure:7631: checking libavutil/avutil.h presence
configure:7631: g++ -E -I/usr/local/share/ffmpeg/include conftest.cpp
configure:7631: $? = 0
configure:7631: result: yes
configure:7631: WARNING: libavutil/avutil.h: present but cannot be compiled
configure:7631: WARNING: libavutil/avutil.h: check for missing prerequisite headers?
configure:7631: WARNING: libavutil/avutil.h: see the Autoconf documentation
configure:7631: WARNING: libavutil/avutil.h: section "Present But Cannot Be Compiled"
configure:7631: WARNING: libavutil/avutil.h: proceeding with the compiler's result
configure:7631: checking for libavutil/avutil.h
configure:7631: result: no
This seems to mean to me that the ffmpeg headers can't be found ? I thought I installed them when I did installed ffmpeg - 'make install-libs' as per the WiKi?
Does this post explain what I have to do perhaps? http://kb.bobcares.com/?View=entry&EntryID=252
Thanks,
Mike.
Re: Cannot make zoneminder on Centos 5.6 - ffmpeg errors
Ok tried the following & still no joy.
ffmpeg configured with:
./configure --enable-shared --enable-postproc --enable-swscale --enable-gpl
ZoneMinder-1.24.4 configured with:
./configure --with-webdir=/var/www/html/zm --with-cgidir=/var/www/cgi-bin --with-ffmpeg=/usr/local/share/ffmpeg --with-extralibs="-L/usr/local/include/libavutil -L/usr/local/include/libavcodec -L/usr/local/include/libavformat -L/usr/local/include/libswscale"
I can't seem to get the thing to build - I have trawled the web & forums & whilst there have been other instances of ' present but cannot be compiled' issues I can't seem to get any of the solutions to work for me. I have pointed ZM to the locations of the supposed missing headers but the result is always the same.
Maybe the clue is 'WARNING: libavutil/avutil.h: section "Present But Cannot Be Compiled" ' ?? I don't know what this means the headers do indeed seem to be there - at least files that match those listed in the errors such as 'avutil.h' - I assume these are the header files ? If so why don't they compile?
Or am I doing something daft in my frustration?
I don't understand - the Wiki makes it look so easy
Lastly if & when I get this to work I'd like to update that Wiki with my experience so others don't have to go through all this nonsence as well!
Mike.
ffmpeg configured with:
./configure --enable-shared --enable-postproc --enable-swscale --enable-gpl
ZoneMinder-1.24.4 configured with:
./configure --with-webdir=/var/www/html/zm --with-cgidir=/var/www/cgi-bin --with-ffmpeg=/usr/local/share/ffmpeg --with-extralibs="-L/usr/local/include/libavutil -L/usr/local/include/libavcodec -L/usr/local/include/libavformat -L/usr/local/include/libswscale"
I can't seem to get the thing to build - I have trawled the web & forums & whilst there have been other instances of ' present but cannot be compiled' issues I can't seem to get any of the solutions to work for me. I have pointed ZM to the locations of the supposed missing headers but the result is always the same.
Maybe the clue is 'WARNING: libavutil/avutil.h: section "Present But Cannot Be Compiled" ' ?? I don't know what this means the headers do indeed seem to be there - at least files that match those listed in the errors such as 'avutil.h' - I assume these are the header files ? If so why don't they compile?
Or am I doing something daft in my frustration?
I don't understand - the Wiki makes it look so easy
Lastly if & when I get this to work I'd like to update that Wiki with my experience so others don't have to go through all this nonsence as well!
Mike.
-
- Posts: 678
- Joined: Wed Dec 16, 2009 4:32 pm
- Location: Israel
Re: Cannot make zoneminder on Centos 5.6 - ffmpeg errors
Add CPPFLAGS="-D__STDC_CONSTANT_MACROS" to the end of the ./configure line for zoneminder.
mastertheknife
mastertheknife
Kfir Itzhak.
Re: Cannot make zoneminder on Centos 5.6 - ffmpeg errors
The Wiki states:
Now we need to make sure we use the lasted "tested" version of "ffmpeg".
What is the latest "tested" version of "ffmpeg" ?
Thanks,
Mike.
Now we need to make sure we use the lasted "tested" version of "ffmpeg".
What is the latest "tested" version of "ffmpeg" ?
Thanks,
Mike.
Re: Cannot make zoneminder on Centos 5.6 - ffmpeg errors
Ahh, at last it works. Thanks for that. I notice that 'CPPFLAGS="-D__STDC_CONSTANT_MACROS" ' is listed as an option on the Centos Wiki but it says it is only for use on Centos 5.5 64-bit systems. Mine is a Centos 5.6 32-bit system.mastertheknife wrote:Add CPPFLAGS="-D__STDC_CONSTANT_MACROS" to the end of the ./configure line for zoneminder.
mastertheknife
So I'll now have to find out how to edit the Wiki to add that choise bit of information (that the above flag is needed for 32-bit Centos as well as 64) ....
But for now it's on with the Wiki & lets see if I can get this thing fired up.
Many thanks again, feel much better now... Hope nothing else comes up
Mike.