Make errors

Support and queries relating to all previous versions of ZoneMinder
Locked
teabelly
Posts: 3
Joined: Tue Nov 30, 2004 11:05 pm

Make errors

Post by teabelly »

I have now got as far as the make finally after several evenings spent going round in circles trying to get zm built at all. It's taken three nights just to get to the end of zmconfig! On the make I have the following errors:

if g++ -DHAVE_CONFIG_H -I. -I. -I.. -I/usr/local/mysql417/include -I/include -g -O2 -MT zm_event.o -MD -MP -MF ".deps/zm_event.Tpo" \
-c -o zm_event.o `test -f 'zm_event.cpp' || echo './'`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 zm_event.cpp:29:
zm_mpeg.h:27:29: ffmpeg/avformat.h: No such file or directory
In file included from zm_event.cpp:29:
zm_mpeg.h:37: error: use of enum `PixelFormat' without previous declaration
zm_mpeg.h:37: error: ISO C++ forbids declaration of `pf' with no type
zm_mpeg.h:38: error: ISO C++ forbids declaration of `AVOutputFormat' with no type
zm_mpeg.h:38: error: expected `;' before '*' token
zm_mpeg.h:39: error: ISO C++ forbids declaration of `AVFormatContext' with no type
zm_mpeg.h:39: error: expected `;' before '*' token
zm_mpeg.h:40: error: ISO C++ forbids declaration of `AVStream' with no type
zm_mpeg.h:40: error: expected `;' before '*' token
zm_mpeg.h:41: error: ISO C++ forbids declaration of `AVFrame' with no type
zm_mpeg.h:41: error: expected `;' before '*' token
zm_mpeg.h:42: error: ISO C++ forbids declaration of `AVFrame' with no type
zm_mpeg.h:42: error: expected `;' before '*' token
zm_mpeg.h:43: error: ISO C++ forbids declaration of `uint8_t' with no type
zm_mpeg.h:43: error: expected `;' before '*' token
zm_mpeg.h:58: error: `uint8_t' has not been declared
zm_mpeg.h:58: error: ISO C++ forbids declaration of `buffer' with no type
zm_event.cpp: In static member function `static void Event::StreamMpeg(int, const char*, int, int, int, int)':
zm_event.cpp:636: error: no matching function for call to `VideoStream::EncodeFrame(JSAMPLE*, int, bool&, unsigned int&)'
zm_mpeg.h:58: note: candidates are: double VideoStream::EncodeFrame(int*, int, bool, unsigned int)
make[2]: *** [zm_event.o] Error 1
if g++ -DHAVE_CONFIG_H -I. -I. -I.. -I/usr/local/mysql417/include -I/include -g -O2 -MT zm_monitor.o -MD -MP -MF ".deps/zm_monitor.Tpo" \
-c -o zm_monitor.o `test -f 'zm_monitor.cpp' || echo './'`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 zm_monitor.cpp:25:
zm_mpeg.h:27:29: ffmpeg/avformat.h: No such file or directory
In file included from zm_monitor.cpp:25:
zm_mpeg.h:37: error: use of enum `PixelFormat' without previous declaration
zm_mpeg.h:37: error: ISO C++ forbids declaration of `pf' with no type
zm_mpeg.h:38: error: ISO C++ forbids declaration of `AVOutputFormat' with no type
zm_mpeg.h:38: error: expected `;' before '*' token
zm_mpeg.h:39: error: ISO C++ forbids declaration of `AVFormatContext' with no type
zm_mpeg.h:39: error: expected `;' before '*' token
zm_mpeg.h:40: error: ISO C++ forbids declaration of `AVStream' with no type
zm_mpeg.h:40: error: expected `;' before '*' token
zm_mpeg.h:41: error: ISO C++ forbids declaration of `AVFrame' with no type
zm_mpeg.h:41: error: expected `;' before '*' token
zm_mpeg.h:42: error: ISO C++ forbids declaration of `AVFrame' with no type
zm_mpeg.h:42: error: expected `;' before '*' token
zm_mpeg.h:43: error: ISO C++ forbids declaration of `uint8_t' with no type
zm_mpeg.h:43: error: expected `;' before '*' token
zm_mpeg.h:58: error: `uint8_t' has not been declared
zm_mpeg.h:58: error: ISO C++ forbids declaration of `buffer' with no type
zm_monitor.cpp: In member function `void Monitor::StreamMpeg(const char*, int, int, int)':
zm_monitor.cpp:1381: error: no matching function for call to `VideoStream::EncodeFrame(JSAMPLE*, int, bool&, long unsigned int&)'
zm_mpeg.h:58: note: candidates are: double VideoStream::EncodeFrame(int*, int, bool, unsigned int)
make[2]: *** [zm_monitor.o] Error 1
if g++ -DHAVE_CONFIG_H -I. -I. -I.. -I/usr/local/mysql417/include -I/include -g -O2 -MT zm_mpeg.o -MD -MP -MF ".deps/zm_mpeg.Tpo" \
-c -o zm_mpeg.o `test -f 'zm_mpeg.cpp' || echo './'`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 zm_mpeg.cpp:24:
zm_mpeg.h:27:29: ffmpeg/avformat.h: No such file or directory
In file included from zm_mpeg.cpp:24:
zm_mpeg.h:37: error: use of enum `PixelFormat' without previous declaration
zm_mpeg.h:37: error: ISO C++ forbids declaration of `pf' with no type
zm_mpeg.h:38: error: ISO C++ forbids declaration of `AVOutputFormat' with no type
zm_mpeg.h:38: error: expected `;' before '*' token
zm_mpeg.h:39: error: ISO C++ forbids declaration of `AVFormatContext' with no type
zm_mpeg.h:39: error: expected `;' before '*' token
zm_mpeg.h:40: error: ISO C++ forbids declaration of `AVStream' with no type
zm_mpeg.h:40: error: expected `;' before '*' token
zm_mpeg.h:41: error: ISO C++ forbids declaration of `AVFrame' with no type
zm_mpeg.h:41: error: expected `;' before '*' token
zm_mpeg.h:42: error: ISO C++ forbids declaration of `AVFrame' with no type
zm_mpeg.h:42: error: expected `;' before '*' token
zm_mpeg.h:43: error: ISO C++ forbids declaration of `uint8_t' with no type
zm_mpeg.h:43: error: expected `;' before '*' token
zm_mpeg.h:58: error: `uint8_t' has not been declared
zm_mpeg.h:58: error: ISO C++ forbids declaration of `buffer' with no type
zm_mpeg.cpp: In static member function `static void VideoStream::Initialise()':
zm_mpeg.cpp:32: error: `av_register_all' undeclared (first use this function)
zm_mpeg.cpp:32: error: (Each undeclared identifier is reported only once for each function it appears in.)
zm_mpeg.cpp: In member function `void VideoStream::SetupFormat(const char*, const char*)':
zm_mpeg.cpp:42: error: `of' undeclared (first use this function)
zm_mpeg.cpp:42: error: `guess_format' undeclared (first use this function)
zm_mpeg.cpp:54: error: `ofc' undeclared (first use this function)
zm_mpeg.cpp:54: error: `AVFormatContext' undeclared (first use this function)
zm_mpeg.cpp:54: error: expected primary-expression before ')' token
zm_mpeg.cpp:54: error: expected `;' before "av_mallocz"
zm_mpeg.cpp: In member function `void VideoStream::SetupCodec(int, int, int, int, int)':
zm_mpeg.cpp:65: error: `PIX_FMT_GRAY8' undeclared (first use this function)
zm_mpeg.cpp:65: error: `PIX_FMT_RGB24' undeclared (first use this function)
zm_mpeg.cpp:69: error: `ost' undeclared (first use this function)
zm_mpeg.cpp:70: error: `of' undeclared (first use this function)
zm_mpeg.cpp:70: error: `CODEC_ID_NONE' undeclared (first use this function)
zm_mpeg.cpp:72: error: `ofc' undeclared (first use this function)
zm_mpeg.cpp:72: error: `av_new_stream' undeclared (first use this function)
zm_mpeg.cpp:78: error: `AVCodecContext' undeclared (first use this function)
zm_mpeg.cpp:78: error: `c' undeclared (first use this function)
zm_mpeg.cpp:80: error: `CODEC_TYPE_VIDEO' undeclared (first use this function)
zm_mpeg.cpp:94: error: `CODEC_ID_MPEG1VIDEO' undeclared (first use this function)
zm_mpeg.cpp:95: error: `CODEC_ID_MPEG2VIDEO' undeclared (first use this function)
zm_mpeg.cpp: In member function `void VideoStream::SetParameters()':
zm_mpeg.cpp:107: error: `ofc' undeclared (first use this function)
zm_mpeg.cpp:107: error: `av_set_parameters' undeclared (first use this function)
zm_mpeg.cpp: In member function `void VideoStream::OpenStream()':
zm_mpeg.cpp:118: error: `ost' undeclared (first use this function)
zm_mpeg.cpp:120: error: `AVCodecContext' undeclared (first use this function)
zm_mpeg.cpp:120: error: `c' undeclared (first use this function)
zm_mpeg.cpp:123: error: `AVCodec' undeclared (first use this function)
zm_mpeg.cpp:123: error: `codec' undeclared (first use this function)
zm_mpeg.cpp:123: error: `avcodec_find_encoder' undeclared (first use this function)
zm_mpeg.cpp:130: error: `avcodec_open' undeclared (first use this function)
zm_mpeg.cpp:136: error: `opicture' undeclared (first use this function)
zm_mpeg.cpp:136: error: `avcodec_alloc_frame' undeclared (first use this function)
zm_mpeg.cpp:141: error: `avpicture_get_size' undeclared (first use this function)
zm_mpeg.cpp:142: error: `uint8_t' undeclared (first use this function)
zm_mpeg.cpp:142: error: `opicture_buf' undeclared (first use this function)
zm_mpeg.cpp:142: error: expected primary-expression before ')' token
zm_mpeg.cpp:142: error: expected `;' before "malloc"
zm_mpeg.cpp:145: error: `av_free' undeclared (first use this function)
zm_mpeg.cpp:148: error: `AVPicture' undeclared (first use this function)
zm_mpeg.cpp:148: error: expected primary-expression before ')' token
zm_mpeg.cpp:148: error: `avpicture_fill' undeclared (first use this function)
zm_mpeg.cpp:153: error: `tmp_opicture' undeclared (first use this function)
zm_mpeg.cpp:162: error: `tmp_opicture_buf' undeclared (first use this function)
zm_mpeg.cpp:162: error: expected primary-expression before ')' token
zm_mpeg.cpp:162: error: expected `;' before "malloc"
zm_mpeg.cpp:168: error: expected primary-expression before ')' token
zm_mpeg.cpp:173: error: `of' undeclared (first use this function)
zm_mpeg.cpp:173: error: `AVFMT_NOFILE' undeclared (first use this function)
zm_mpeg.cpp:175: error: `ofc' undeclared (first use this function)
zm_mpeg.cpp:175: error: `URL_WRONLY' undeclared (first use this function)
zm_mpeg.cpp:175: error: `url_fopen' undeclared (first use this function)
zm_mpeg.cpp:181: error: `video_outbuf' undeclared (first use this function)
zm_mpeg.cpp:182: error: `AVFMT_RAWPICTURE' undeclared (first use this function)
zm_mpeg.cpp:187: error: expected primary-expression before ')' token
zm_mpeg.cpp:187: error: expected `;' before "malloc"
zm_mpeg.cpp:199: error: `av_write_header' undeclared (first use this function)
zm_mpeg.cpp: In destructor `VideoStream::~VideoStream()':
zm_mpeg.cpp:218: error: `ost' undeclared (first use this function)
zm_mpeg.cpp:220: error: `avcodec_close' undeclared (first use this function)
zm_mpeg.cpp:221: error: `opicture' undeclared (first use this function)
zm_mpeg.cpp:221: error: `av_free' undeclared (first use this function)
zm_mpeg.cpp:223: error: `tmp_opicture' undeclared (first use this function)
zm_mpeg.cpp:228: error: `video_outbuf' undeclared (first use this function)
zm_mpeg.cpp:232: error: `ofc' undeclared (first use this function)
zm_mpeg.cpp:232: error: `av_write_trailer' undeclared (first use this function)
zm_mpeg.cpp:237: error: `av_freep' undeclared (first use this function)
zm_mpeg.cpp:240: error: `of' undeclared (first use this function)
zm_mpeg.cpp:240: error: `AVFMT_NOFILE' undeclared (first use this function)
zm_mpeg.cpp:243: error: `url_fclose' undeclared (first use this function)
zm_mpeg.cpp: At global scope:
zm_mpeg.cpp:250: error: `double VideoStream::EncodeFrame' is not a static member of `class VideoStream'
zm_mpeg.cpp:250: error: `uint8_t' was not declared in this scope
zm_mpeg.cpp:250: error: `buffer' was not declared in this scope
zm_mpeg.cpp:250: error: expected primary-expression before "int"
zm_mpeg.cpp:250: error: expected primary-expression before "bool"
zm_mpeg.cpp:250: error: expected primary-expression before "unsigned"
zm_mpeg.cpp:251: error: initializer expression list treated as compound expression
zm_mpeg.cpp:251: error: expected `,' or `;' before '{' token
make[2]: *** [zm_mpeg.o] Error 1
teabelly
Posts: 3
Joined: Tue Nov 30, 2004 11:05 pm

Post by teabelly »

Oops didn't mention this on fedora core 3. Libjpeg as recommended but ffmpeg 1.4.9 version as the 1.4.8 won't compile on my system. Mysql is 4.1.7 (watch out for the password gotcha with perl DBD!) latest apache & php rpm builds (with the -devels too)
bonnydeal
Posts: 2
Joined: Fri Dec 03, 2004 9:06 pm
Location: London

Make errors

Post by bonnydeal »

I had the same problem.

It appears that the compiler is looking in the wrong place for the ffmpeg header files.

I got around it by creating the directory /include/ffmpeg
then copied all the include files (*.h) from /usr/local/ffmpeg/libavcodec and /usr/local/ffmpeg/libavformat into /include/ffmpeg.

(you may have to change /usr/local/ffmpeg above to where you put your ffmpeg stuff).

Hope this helps.
teabelly
Posts: 3
Joined: Tue Nov 30, 2004 11:05 pm

Post by teabelly »

Thanks, I'll try that. I think I tried putting the libavcodec.h in the /include directory but I guess that wasn't quite what it was after :)
Locked