Page 1 of 1

error in linking ffmpeg during vlc compilation

Posted: 26 Dec 2009 19:11
by tech_enc24
I want to compile ffmpeg with few code changes and plugin it into vlc contrib packages. I'm following this wiki for vlc compilation:
http://wiki.videolan.org/Win32CompileCygwin
According to this wiki third party libraries are installed in /usr/win32 folder.

For ffmpeg compilation following is what I tried:

./configure --disable-debug --prefix=/usr/win32
make
make install

After these steps vlc compilation is failing with following error:

/usr/win32/lib/libavcodec.a(utils.o):utils.c:(.text+0x1752): undefined reference to `__imp___ctype_'
/usr/win32/lib/libavcodec.a(utils.o):utils.c:(.text+0x1cf3): undefined reference to `_mkstemp'
/usr/win32/lib/libavcodec.a(utils.o):utils.c:(.text+0x1d31): undefined reference to `_mkstemp'
/usr/win32/lib/libavcodec.a(snow.o):snow.c:(.text+0x11e): undefined reference to `___assert'
/usr/win32/lib/libavcodec.a(snow.o):snow.c:(.text+0x145): undefined reference to `___assert'
/usr/win32/lib/libavcodec.a(snow.o):snow.c:(.text+0x1d79): undefined reference to `___assert'
/usr/win32/lib/libavcodec.a(snow.o):snow.c:(.text+0x1d9b): undefined reference to `___assert'
/usr/win32/lib/libavcodec.a(snow.o):snow.c:(.text+0x202f): undefined reference to `___assert'
/usr/win32/lib/libavcodec.a(snow.o):snow.c:(.text+0x2058): more undefined references to `___assert' follow
/usr/win32/lib/libavcodec.a(nellymoserenc.o):nellymoserenc.c:(.text+0x661): undefined reference to `_isinf'
/usr/win32/lib/libavcodec.a(qcelpdec.o):qcelpdec.c:(.text+0xbc): undefined reference to `___assert'
/usr/win32/lib/libavcodec.a(qcelpdec.o):qcelpdec.c:(.text+0x5ae): undefined reference to `___assert'
/usr/win32/lib/libavcodec.a(qcelpdec.o):qcelpdec.c:(.text+0xf5d): undefined reference to `___assert'
/usr/win32/lib/libavcodec.a(vorbis_enc.o):vorbis_enc.c:(.text+0x2a18): undefined reference to `___assert'
/usr/win32/lib/libavcodec.a(vorbis_enc.o):vorbis_enc.c:(.text+0x2e0e): undefined reference to `___assert'
/usr/win32/lib/libavcodec.a(vorbis_enc.o):vorbis_enc.c:(.text+0x2e45): more undefined references to `___assert' follow
/usr/win32/lib/libavcodec.a(mpegvideo.o):mpegvideo.c:(.text+0xacfe): undefined reference to `__imp___ctype_'
/usr/win32/lib/libavcodec.a(mpegvideo.o):mpegvideo.c:(.text+0xad70): undefined reference to `__imp___ctype_'
/usr/win32/lib/libavcodec.a(motion_est.o):motion_est.c:(.text+0x56a): undefined reference to `___assert'
/usr/win32/lib/libavcodec.a(motion_est.o):motion_est.c:(.text+0xaca): undefined reference to `___assert'
/usr/win32/lib/libavcodec.a(motion_est.o):motion_est.c:(.text+0xb07): undefined reference to `___assert'
/usr/win32/lib/libavcodec.a(motion_est.o):motion_est.c:(.text+0xb4a): undefined reference to `___assert'
/usr/win32/lib/libavcodec.a(motion_est.o):motion_est.c:(.text+0xb77): undefined reference to `___assert'
/usr/win32/lib/libavcodec.a(motion_est.o):motion_est.c:(.text+0xf15): more undefined references to `___assert' follow
/usr/win32/lib/libavcodec.a(eval.o):eval.c:(.text+0x147b): undefined reference to `__imp___ctype_'
/usr/win32/lib/libavcodec.a(eval.o):eval.c:(.text+0x15bb): undefined reference to `__imp___ctype_'
/usr/win32/lib/libavutil.a(log.o):log.c:(.text+0x183): undefined reference to `___getreent'
/usr/win32/lib/libavutil.a(log.o):log.c:(.text+0x1ae): undefined reference to `___getreent'
/usr/win32/lib/libavutil.a(mem.o):mem.c:(.text+0x1d): undefined reference to `_memalign'
/usr/win32/lib/libavutil.a(mem.o):mem.c:(.text+0xd3): undefined reference to `_memalign'
/usr/win32/lib/libavutil.a(mem.o):mem.c:(.text+0x162): undefined reference to `_memalign'
/usr/win32/lib/libavutil.a(avstring.o):avstring.c:(.text+0x64): undefined reference to `__imp___ctype_'
Creating library file: .libs/libavcodec_plugin.dll.a
collect2: ld returned 1 exit status
make[6]: *** [libavcodec_plugin.la] Error 1
make[6]: Leaving directory `/cygdrive/c/vlc/vlc-1.0.4/modules/codec/avcodec'
make[5]: *** [all] Error 2
make[5]: Leaving directory `/cygdrive/c/vlc/vlc-1.0.4/modules/codec/avcodec'
make[4]: *** [all-recursive] Error 1
make[4]: Leaving directory `/cygdrive/c/vlc/vlc-1.0.4/modules/codec'
make[3]: *** [all] Error 2
make[3]: Leaving directory `/cygdrive/c/vlc/vlc-1.0.4/modules/codec'
make[2]: *** [all-recursive] Error 1
make[2]: Leaving directory `/cygdrive/c/vlc/vlc-1.0.4/modules'
make[1]: *** [all-recursive] Error 1
make[1]: Leaving directory `/cygdrive/c/vlc/vlc-1.0.4'
make: *** [all] Error 2

Please let me know what am I doing wrong on? Thanks!!!

Re: error in linking ffmpeg during vlc compilation

Posted: 26 Dec 2009 21:48
by VLC_help
Could you try VLC 1.1.0 sources? Or if that doesn't work, then MSYS
http://wiki.videolan.org/Win32CompileMSYSNew

Re: error in linking ffmpeg during vlc compilation

Posted: 27 Dec 2009 15:25
by tech_enc24
Ok this got fixed by configuring and recompiling ffmpeg using (info from ffmpeg docs):

./configure --target-os=mingw32 --enable-memalign-hack --enable-static --disable-shared --extra-cflags=-mno-cygwin --extra-libs=-mno-cygwin --prefix=/usr/win32

But now I am facing strange compilation error in QT4 :(

make[5]: Entering directory `/cygdrive/c/vlc/vlc-1.0.4/modules/gui/qt4'
/usr/win32/bin/moc -DHAVE_CONFIG_H -I../../../include -I../../../include -I/usr/
win32/include -I/usr/win32/include/ebml -D__USE_MINGW_ANSI_STDIO=1 -DSYS_MINGW32
-I../../.. `top_srcdir="../../.." top_builddir="../../.." ../../../vlc-config -
-cppflags plugin qt4` -o main_interface.moc.cpp main_interface.hpp
make[5]: *** [main_interface.moc.cpp] Error 53
make[5]: Leaving directory `/cygdrive/c/vlc/vlc-1.0.4/modules/gui/qt4'
make[4]: *** [all-recursive] Error 1
make[4]: Leaving directory `/cygdrive/c/vlc/vlc-1.0.4/modules/gui'
make[3]: *** [all] Error 2
make[3]: Leaving directory `/cygdrive/c/vlc/vlc-1.0.4/modules/gui'
make[2]: *** [all-recursive] Error 1
make[2]: Leaving directory `/cygdrive/c/vlc/vlc-1.0.4/modules'
make[1]: *** [all-recursive] Error 1
make[1]: Leaving directory `/cygdrive/c/vlc/vlc-1.0.4'
make: *** [all] Error 2

No solution yet. Is there something wrong with cygwin?
Note: I've deleted linux moc etc binaries from /usr/win32/bin and I'm not getting Error 126