i have compiled and installed ffmpeg from svn then i have tried to ./configure zoneminder and it can't use libavcodec.a and libavformat.a i have opened config.log file and i heve found this:
### libavcodec error #####
configure:5207: checking for avcodec_init in -lavcodec
configure:5242: g++ -o conftest -g -O2 -L/usr/lib -L/usr/lib/mysql conftest.cpp -lavcodec -lavutil -lpcre -lcrypto -lmysqlclient -lpthread -ldl -lz -ljpeg >&5
/usr/lib/libavcodec.a(libxvid_rc.o)(.text+0x1fb): In function `ff_xvid_rate_control_init':
libavcodec/libxvid_rc.c:80: undefined reference to `xvid_plugin_2pass2'
/usr/lib/libavcodec.a(libxvid_rc.o)(.text+0x350): In function `ff_xvid_rate_estimate_qscale':
libavcodec/libxvid_rc.c:119: undefined reference to `xvid_plugin_2pass2'
/usr/lib/libavcodec.a(libxvid_rc.o)(.text+0x386):libavcodec/libxvid_rc.c:127: undefined reference to `xvid_plugin_2pass2'
/usr/lib/libavcodec.a(libxvid_rc.o)(.text+0x47b): In function `ff_xvid_rate_control_uninit':
libavcodec/libxvid_rc.c:146: undefined reference to `xvid_plugin_2pass2'
collect2: ld returned 1 exit status
configure:5248: $? = 1
configure: failed program was:
| /* confdefs.h. */
| #define PACKAGE_NAME "zm"
| #define PACKAGE_TARNAME "ZoneMinder"
| #define PACKAGE_VERSION "1.24.0"
| #define PACKAGE_STRING "zm 1.24.0"
| #define PACKAGE_BUGREPORT "support@zoneminder.com"
| #define PACKAGE "ZoneMinder"
| #define VERSION "1.24.0"
| #define ZM_MEM_MAPPED 0
| #define HAVE_LIBJPEG 1
| #define HAVE_LIBZ 1
| #define HAVE_LIBDL 1
| #define HAVE_LIBPTHREAD 1
| #define HAVE_LIBMYSQLCLIENT 1
| #define HAVE_LIBCRYPTO 1
| #define HAVE_LIBPCRE 1
| #define HAVE_LIBAVUTIL 1
| /* end confdefs.h. */
|
| /* Override any GCC internal prototype to avoid an error.
| Use char because int might match the return type of a GCC
| builtin and then its argument prototype would still apply. */
| #ifdef __cplusplus
| extern "C"
| #endif
| char avcodec_init ();
| int
| main ()
| {
| return avcodec_init ();
| ;
| return 0;
| }
configure:5266: result: no
configure:5276: WARNING: libavcodec.a is required for MPEG streaming
#### libavformat error #########
configure:5281: checking for av_new_stream in -lavformat
configure:5316: g++ -o conftest -g -O2 -L/usr/lib -L/usr/lib/mysql conftest.cpp -lavformat -lavcodec -lavutil -lpcre -lcrypto -lmysqlclient -lpthread -ldl -lz -ljpeg >&5
/usr/lib/libavcodec.a(libxvid_rc.o)(.text+0x1fb): In function `ff_xvid_rate_control_init':
libavcodec/libxvid_rc.c:80: undefined reference to `xvid_plugin_2pass2'
/usr/lib/libavcodec.a(libxvid_rc.o)(.text+0x350): In function `ff_xvid_rate_estimate_qscale':
libavcodec/libxvid_rc.c:119: undefined reference to `xvid_plugin_2pass2'
/usr/lib/libavcodec.a(libxvid_rc.o)(.text+0x386):libavcodec/libxvid_rc.c:127: undefined reference to `xvid_plugin_2pass2'
/usr/lib/libavcodec.a(libxvid_rc.o)(.text+0x47b): In function `ff_xvid_rate_control_uninit':
libavcodec/libxvid_rc.c:146: undefined reference to `xvid_plugin_2pass2'
collect2: ld returned 1 exit status
configure:5322: $? = 1
configure: failed program was:
| /* confdefs.h. */
| #define PACKAGE_NAME "zm"
| #define PACKAGE_TARNAME "ZoneMinder"
| #define PACKAGE_VERSION "1.24.0"
| #define PACKAGE_STRING "zm 1.24.0"
| #define PACKAGE_BUGREPORT "support@zoneminder.com"
| #define PACKAGE "ZoneMinder"
| #define VERSION "1.24.0"
| #define ZM_MEM_MAPPED 0
| #define HAVE_LIBJPEG 1
| #define HAVE_LIBZ 1
| #define HAVE_LIBDL 1
| #define HAVE_LIBPTHREAD 1
| #define HAVE_LIBMYSQLCLIENT 1
| #define HAVE_LIBCRYPTO 1
| #define HAVE_LIBPCRE 1
| #define HAVE_LIBAVUTIL 1
| /* end confdefs.h. */
|
| /* Override any GCC internal prototype to avoid an error.
| Use char because int might match the return type of a GCC
| builtin and then its argument prototype would still apply. */
| #ifdef __cplusplus
| extern "C"
| #endif
| char av_new_stream ();
| int
| main ()
| {
| return av_new_stream ();
| ;
| return 0;
| }
configure:5340: result: no
configure:5350: WARNING: libavformat.a is required for MPEG streaming
##########################
P.S. i have compiled ffmpeg with :
##########################
./configure --prefix=/usr --enable-libmp3lame --enable-libfaad --enable-libfaac --enable-libvorbis --enable-libx264 --enable-libxvid --enable-x11grab --enable-postproc --enable-gpl --enable-nonfree --enable-swscale --enable-avfilter --enable-xvmc --enable-zlib --enable-bzlib
error from ./configure of zoneminder regarding ffmpeg
I have understood that the problem was in libxvid so i have tried to download source rpms for xvidcore compile and install and then try to reconfigure zoneminer but the error persists.
So i have recompiled ffmpeg without libxvid support and now zonominder configure gives no more the error..
Maybe i have found a ffmpeg bug?? or maybe is a zoneminder bug??
The functionality of zoneminder is limited because the lack of xvid support in ffmpeg??
So i have recompiled ffmpeg without libxvid support and now zonominder configure gives no more the error..
Maybe i have found a ffmpeg bug?? or maybe is a zoneminder bug??
The functionality of zoneminder is limited because the lack of xvid support in ffmpeg??
Argh!!!!
now i have tons of errors in making zoneminder erros like:
usr/lib/libavcodec.a(libfaac.o)(.text+0x2e): In function `Faac_encode_init':
libavcodec/libfaac.c:46: undefined reference to `faacEncOpen'
/usr/lib/libavcodec.a(libfaac.o)(.text+0x38):libavcodec/libfaac.c:51: undefined reference to `faacEncGetCurrentConfiguration'
/usr/lib/libavcodec.a(libfaad.o)(.text+0x19f):libavcodec/libfaad.c:250: undefined reference to `NeAACDecClose'
/usr/lib/libavcodec.a(libfaad.o)(.text+0x1a6):libavcodec/libfaad.c:251: undefined reference to `NeAACDecGetCurrentConfiguration'
/usr/lib/libavcodec.a(libfaad.o)(.text+0x1ad):libavcodec/libfaad.c:252: undefined reference to `NeAACDecSetConfiguration'
/usr/lib/libavcodec.a(libmp3lame.o)(.text+0xcc):libavcodec/libmp3lame.c:67: undefined reference to `lame_set_disable_reservoir'
/usr/lib/libavcodec.a(libmp3lame.o)(.text+0xd4):libavcodec/libmp3lame.c:68: undefined reference to `lame_init_params'
/usr/lib/libavcodec.a(libmp3lame.o)(.text+0xe9):libavcodec/libmp3lame.c:71: undefined reference to `lame_get_framesize'
so i need to compile ffmpeg without any encoder support??
but to this point i think that i heve found a zoneminder bug!!!!
now i have tons of errors in making zoneminder erros like:
usr/lib/libavcodec.a(libfaac.o)(.text+0x2e): In function `Faac_encode_init':
libavcodec/libfaac.c:46: undefined reference to `faacEncOpen'
/usr/lib/libavcodec.a(libfaac.o)(.text+0x38):libavcodec/libfaac.c:51: undefined reference to `faacEncGetCurrentConfiguration'
/usr/lib/libavcodec.a(libfaad.o)(.text+0x19f):libavcodec/libfaad.c:250: undefined reference to `NeAACDecClose'
/usr/lib/libavcodec.a(libfaad.o)(.text+0x1a6):libavcodec/libfaad.c:251: undefined reference to `NeAACDecGetCurrentConfiguration'
/usr/lib/libavcodec.a(libfaad.o)(.text+0x1ad):libavcodec/libfaad.c:252: undefined reference to `NeAACDecSetConfiguration'
/usr/lib/libavcodec.a(libmp3lame.o)(.text+0xcc):libavcodec/libmp3lame.c:67: undefined reference to `lame_set_disable_reservoir'
/usr/lib/libavcodec.a(libmp3lame.o)(.text+0xd4):libavcodec/libmp3lame.c:68: undefined reference to `lame_init_params'
/usr/lib/libavcodec.a(libmp3lame.o)(.text+0xe9):libavcodec/libmp3lame.c:71: undefined reference to `lame_get_framesize'
so i need to compile ffmpeg without any encoder support??
but to this point i think that i heve found a zoneminder bug!!!!
No actually what you have found is that ffmpeg changes their API like we change our shorts. ffmpeg is a very heavily/actively developed project, its API changes almost every other week. So you must change the API in ZM to match the ffmpeg version you are using or get the version in SVN at the time of ZM release.
Thank you!
Oh! i'm not so good in programming
API!! what is that?
Ok, could you explain me how to get the correct version of ffmpeg that
makes zoneminder compile correctly??
API!! what is that?
Ok, could you explain me how to get the correct version of ffmpeg that
makes zoneminder compile correctly??
You may also need to tell it where ffmpeg is installed in your configure script:
./configure --with-webdir=/var/www/html/zm --with-cgidir=/var/www/cgi-bin ZM_SSL_LIB=openssl --with-ffmpeg=/usr/local
________
List of volkswagen group petrol engines
./configure --with-webdir=/var/www/html/zm --with-cgidir=/var/www/cgi-bin ZM_SSL_LIB=openssl --with-ffmpeg=/usr/local
________
List of volkswagen group petrol engines
Last edited by tdukes on Sat Mar 05, 2011 10:18 pm, edited 1 time in total.
No, the problem is another
ffmpeg is found by zoneminder, but zoneminder is not able to use correctly the development file of ffmpeg. zoneminder gives errors whrn try to use libavcodec.a and libavformat.a
Another thing I ran into was I had another ffmpeg installed besides the SVN copy. When I removed it and added the ffmpeg path to the config script it compiled.
If you are on an rpm based linux, try rpm -q ffmpeg, if not you could try, 'locate ffmpeg' or 'which ffmpeg'.
________
Sativa Strains
If you are on an rpm based linux, try rpm -q ffmpeg, if not you could try, 'locate ffmpeg' or 'which ffmpeg'.
________
Sativa Strains