[vlc] VLC 0.5.3 questions/problems

Paul Allen allenp at nwlink.com
Sun Jun 22 02:01:31 CEST 2003


I've recently upgraded my VLC setup to 0.5.3 and have had quite an
adventure.

First, the rpm packages that are supposed to work on RedHat 7.3
don't.  They require newer libraries than come with 7.3.  For grins,
I forced the install with --nodeps.  After verifying that the
resulting vlc would not run, I removed the whole works.

OK, so the next step is to download all the source tarballs and
build from scratch.  I've got an afternoon to kill.  No problem.

After checking all the README files for any order dependencies,
I ended up just working through everything in alphabetical order.
The mpeg2dec package would not compile.  My notes don't record
the error.  I downloaded the current version from the project's
web site and it compiled.

When I built vlc, I started with a plain "./configure && make".
It built OK  I installed it and tried it out on a DVD and my
archive of mpeg and avi movies.  It played the DVD, but didn't
appear to understand the menus.  It worked fine on mpeg movies,
but refused to touch any avi files, claiming it didn't support
the format.

Looking at vlc a little more closely, I noticed that several of
its features are disabled by default.  So, I configured it again
with all of the features that seemed to be necessary:

./configure --enable-dvdread --enable-dvdplay --enable-mad --enable-faad 
--enable-flac --enable-theora --enable-ffmpeg --enable-libmpeg2

The result failed to compile.  After much thrashing, I discovered
that the ffmpeg and libmpeg2 packages were the ones causing the
trouble.  Configuring and building without them results in a vlc
that doesn't show DVD menus and doesn't know about avi files.

If I add --enable-ffmpeg to the configure command, the make fails
like this:

if gcc -DHAVE_CONFIG_H -I. -I. -I.  -I./include -D_FILE_OFFSET_BITS=64 
-D__USE_UNIX98 -D_LARGEFILE64_SOURCE -D_REENTRANT -D_T
HREAD_SAFE -D_GNU_SOURCE -DLOCALEDIR=\"/usr/local/share/locale\" 
-DDATA_PATH=\"/usr/local/share/vlc\" -DPLUGIN_PATH=\"/usr/lo
cal/lib/vlc\"     -D__VLC__ -D__BUILTIN__  -DMODULE_NAME=ffmpeg 
-DMODULE_NAME_IS_ffmpeg -DSYS_LINUX -O3 -ffast-math -funroll-
loops -mcpu=pentiumpro -fomit-frame-pointer      -I./include 
-D_FILE_OFFSET_BITS=64 -D__USE_UNIX98 -D_LARGEFILE64_SOURCE -D_R
EENTRANT -D_THREAD_SAFE -D_GNU_SOURCE 
-DLOCALEDIR=\"/usr/local/share/locale\" 
-DDATA_PATH=\"/usr/local/share/vlc\" -DPLUGIN_P
ATH=\"/usr/local/lib/vlc\"     -D__VLC__ -D__BUILTIN__ 
-DMODULE_NAME=ffmpeg -DMODULE_NAME_IS_ffmpeg -Winline -Wsign-compare
-Wall  -finline-limit-30000 -pipe -MT 
modules/codec/ffmpeg/modules_codec_ffmpeg_libffmpeg_a-ffmpeg.o -MD -MP 
-MF "modules/cod
ec/ffmpeg/.deps/modules_codec_ffmpeg_libffmpeg_a-ffmpeg.Tpo" \
   -c -o modules/codec/ffmpeg/modules_codec_ffmpeg_libffmpeg_a-ffmpeg.o 
`test -f 'modules/codec/ffmpeg/ffmpeg.c' || echo './'`
modules/codec/ffmpeg/ffmpeg.c; \
then mv 
"modules/codec/ffmpeg/.deps/modules_codec_ffmpeg_libffmpeg_a-ffmpeg.Tpo" 
"modules/codec/ffmpeg/.deps/modules_codec_ff
mpeg_libffmpeg_a-ffmpeg.Po"; \
else rm -f 
"modules/codec/ffmpeg/.deps/modules_codec_ffmpeg_libffmpeg_a-ffmpeg.Tpo"; 
exit 1; \
fi
modules/codec/ffmpeg/ffmpeg.c:41:77: avcodec.h: No such file or directory
In file included from modules/codec/ffmpeg/ffmpeg.c:45:
modules/codec/ffmpeg/ffmpeg.h:46: parse error before `AVCodecContext'
modules/codec/ffmpeg/ffmpeg.h:46: warning: no semicolon at end of struct 
or union
modules/codec/ffmpeg/ffmpeg.h:46: warning: type defaults to `int' in 
declaration of `p_codec'
modules/codec/ffmpeg/ffmpeg.h:46: warning: data definition has no type 
or storage class
modules/codec/ffmpeg/ffmpeg.h:48: parse error before `}'
modules/codec/ffmpeg/ffmpeg.h:48: warning: type defaults to `int' in 
declaration of `generic_thread_t'
modules/codec/ffmpeg/ffmpeg.h:48: warning: data definition has no type 
or storage class
In file included from modules/codec/ffmpeg/ffmpeg.c:46:
modules/codec/ffmpeg/video.h:29: parse error before `AVCodecContext'
modules/codec/ffmpeg/video.h:29: warning: no semicolon at end of struct 
or union
modules/codec/ffmpeg/video.h:29: warning: type defaults to `int' in 
declaration of `p_codec'
modules/codec/ffmpeg/video.h:29: warning: data definition has no type or 
storage class
modules/codec/ffmpeg/video.h:33: parse error before `ff_pic'
modules/codec/ffmpeg/video.h:33: warning: type defaults to `int' in 
declaration of `ff_pic'
modules/codec/ffmpeg/video.h:33: warning: type defaults to `int' in 
declaration of `p_ff_pic'
modules/codec/ffmpeg/video.h:33: warning: data definition has no type or 
storage class
modules/codec/ffmpeg/video.h:53: parse error before `}'
modules/codec/ffmpeg/video.h:53: warning: type defaults to `int' in 
declaration of `vdec_thread_t'
modules/codec/ffmpeg/video.h:53: warning: data definition has no type or 
storage class
modules/codec/ffmpeg/video.h:56: parse error before `*'
modules/codec/ffmpeg/video.h:57: parse error before `*'
modules/codec/ffmpeg/video.h:58: parse error before `*'
In file included from modules/codec/ffmpeg/ffmpeg.c:47:
modules/codec/ffmpeg/audio.h:27: parse error before `AVCodecContext'
modules/codec/ffmpeg/audio.h:27: warning: no semicolon at end of struct 
or union
modules/codec/ffmpeg/audio.h:27: warning: type defaults to `int' in 
declaration of `p_codec'
modules/codec/ffmpeg/audio.h:27: warning: data definition has no type or 
storage class
modules/codec/ffmpeg/audio.h:43: parse error before `}'
modules/codec/ffmpeg/audio.h:43: warning: type defaults to `int' in 
declaration of `adec_thread_t'
modules/codec/ffmpeg/audio.h:43: warning: data definition has no type or 
storage class
modules/codec/ffmpeg/audio.h:48: parse error before `*'
modules/codec/ffmpeg/audio.h:49: parse error before `*'
modules/codec/ffmpeg/audio.h:50: parse error before `*'
modules/codec/ffmpeg/ffmpeg.c:55: parse error before `*'
modules/codec/ffmpeg/ffmpeg.c:56: parse error before `*'
modules/codec/ffmpeg/ffmpeg.c:165: parse error before `generic_thread_t'
modules/codec/ffmpeg/ffmpeg.c:165: warning: no semicolon at end of 
struct or union
modules/codec/ffmpeg/ffmpeg.c:166: warning: type defaults to `int' in 
declaration of `audio'
modules/codec/ffmpeg/ffmpeg.c:166: warning: data definition has no type 
or storage class
modules/codec/ffmpeg/ffmpeg.c:167: parse error before `video'
modules/codec/ffmpeg/ffmpeg.c:167: warning: type defaults to `int' in 
declaration of `video'
modules/codec/ffmpeg/ffmpeg.c:167: warning: data definition has no type 
or storage class
modules/codec/ffmpeg/ffmpeg.c:169: warning: type defaults to `int' in 
declaration of `decoder_thread_t'
modules/codec/ffmpeg/ffmpeg.c:169: warning: data definition has no type 
or storage class
modules/codec/ffmpeg/ffmpeg.c: In function `RunDecoder':
modules/codec/ffmpeg/ffmpeg.c:177: `p_decoder' undeclared (first use in 
this function)
modules/codec/ffmpeg/ffmpeg.c:177: (Each undeclared identifier is 
reported only once
modules/codec/ffmpeg/ffmpeg.c:177: for each function it appears in.)
modules/codec/ffmpeg/ffmpeg.c:177: warning: statement with no effect
modules/codec/ffmpeg/ffmpeg.c:178: parse error before `int'
modules/codec/ffmpeg/ffmpeg.c:201: case label not within a switch statement
modules/codec/ffmpeg/ffmpeg.c:202: parse error before `)'
modules/codec/ffmpeg/ffmpeg.c:204: case label not within a switch statement
modules/codec/ffmpeg/ffmpeg.c:205: parse error before `)'
modules/codec/ffmpeg/ffmpeg.c:210: `b_error' undeclared (first use in 
this function)
modules/codec/ffmpeg/ffmpeg.c: At top level:
modules/codec/ffmpeg/ffmpeg.c:242: parse error before `*'
modules/codec/ffmpeg/ffmpeg.c: In function `InitThread':
modules/codec/ffmpeg/ffmpeg.c:249: warning: implicit declaration of 
function `avcodec_init'
modules/codec/ffmpeg/ffmpeg.c:250: warning: implicit declaration of 
function `avcodec_register_all'
modules/codec/ffmpeg/ffmpeg.c:253: `p_decoder' undeclared (first use in 
this function)
modules/codec/ffmpeg/ffmpeg.c:253: parse error before `LIBAVCODEC_BUILD_STR'
modules/codec/ffmpeg/ffmpeg.c:269: warning: implicit declaration of 
function `avcodec_find_decoder'
modules/codec/ffmpeg/ffmpeg.c:281: `AVCodecContext' undeclared (first 
use in this function)
modules/codec/ffmpeg/ffmpeg.c:287: case label not within a switch statement
modules/codec/ffmpeg/ffmpeg.c:288: parse error before `)'
modules/codec/ffmpeg/ffmpeg.c:289: break statement not within loop or switch
modules/codec/ffmpeg/ffmpeg.c:290: case label not within a switch statement
modules/codec/ffmpeg/ffmpeg.c:291: parse error before `)'
modules/codec/ffmpeg/ffmpeg.c:292: break statement not within loop or switch
modules/codec/ffmpeg/ffmpeg.c:293: default label not within a switch 
statement
modules/codec/ffmpeg/ffmpeg.c: At top level:
modules/codec/ffmpeg/ffmpeg.c:311: parse error before `*'
modules/codec/ffmpeg/ffmpeg.c: In function `EndThread':
modules/codec/ffmpeg/ffmpeg.c:314: `p_decoder' undeclared (first use in 
this function)
modules/codec/ffmpeg/ffmpeg.c:322: warning: implicit declaration of 
function `avcodec_close'
modules/codec/ffmpeg/ffmpeg.c:333: case label not within a switch statement
modules/codec/ffmpeg/ffmpeg.c:334: parse error before `)'
modules/codec/ffmpeg/ffmpeg.c:335: break statement not within loop or switch
modules/codec/ffmpeg/ffmpeg.c:336: case label not within a switch statement
modules/codec/ffmpeg/ffmpeg.c:337: parse error before `)'
modules/codec/ffmpeg/ffmpeg.c:338: break statement not within loop or switch
modules/codec/ffmpeg/ffmpeg.c: In function `ffmpeg_GetFfmpegCodec':
modules/codec/ffmpeg/ffmpeg.c:443: `CODEC_ID_MSMPEG4' undeclared (first 
use in this function)
modules/codec/ffmpeg/ffmpeg.c:476: `CODEC_ID_MPEG4' undeclared (first 
use in this function)
modules/codec/ffmpeg/ffmpeg.c:484: `CODEC_ID_H263' undeclared (first use 
in this function)
modules/codec/ffmpeg/ffmpeg.c:491: `CODEC_ID_H263I' undeclared (first 
use in this function)
modules/codec/ffmpeg/ffmpeg.c:496: `CODEC_ID_WMV1' undeclared (first use 
in this function)
modules/codec/ffmpeg/ffmpeg.c:502: `CODEC_ID_WMV2' undeclared (first use 
in this function)
modules/codec/ffmpeg/ffmpeg.c:512: `CODEC_ID_MJPEG' undeclared (first 
use in this function)
modules/codec/ffmpeg/ffmpeg.c:529: `CODEC_ID_DVVIDEO' undeclared (first 
use in this function)
modules/codec/ffmpeg/ffmpeg.c:567: `CODEC_ID_NONE' undeclared (first use 
in this function)
modules/codec/ffmpeg/ffmpeg.c:389: warning: `i_codec' might be used 
uninitialized in this function
make[2]: *** 
[modules/codec/ffmpeg/modules_codec_ffmpeg_libffmpeg_a-ffmpeg.o] Error 1
make[2]: Leaving directory `/home/paul/src/vlc-5.3-build/vlc-0.5.3'
make[1]: *** [all-recursive] Error 1
make[1]: Leaving directory `/home/paul/src/vlc-5.3-build/vlc-0.5.3'
make: *** [all] Error 2

If I instead add --enable-libmpeg2 to the configure command, the make
fails like this:

gcc  -Winline -Wsign-compare -Wall  -finline-limit-30000 -pipe   -o 
modules/misc/network/libipv6_plugin.so 
modules/misc/network/modules_misc_network_libipv6_plugin_a-ipv6.o 
-shared -fPIC -lpthread -shared
if gcc -DHAVE_CONFIG_H -I. -I. -I.  -I./include -D_FILE_OFFSET_BITS=64 
-D__USE_UNIX98 -D_LARGEFILE64_SOURCE -D_REENTRANT -D_THREAD_SAFE 
-D_GNU_SOURCE -DLOCALEDIR=\"/usr/local/share/locale\" 
-DDATA_PATH=\"/usr/local/share/vlc\" 
-DPLUGIN_PATH=\"/usr/local/lib/vlc\"     -D__VLC__ -D__PLUGIN__ 
-DMODULE_NAME=libmpeg2 -DMODULE_NAME_IS_libmpeg2 -DSYS_LINUX -O3 
-ffast-math -funroll-loops -mcpu=pentiumpro -fomit-frame-pointer 
-fPIC  -I./include -D_FILE_OFFSET_BITS=64 -D__USE_UNIX98 
-D_LARGEFILE64_SOURCE -D_REENTRANT -D_THREAD_SAFE -D_GNU_SOURCE 
-DLOCALEDIR=\"/usr/local/share/locale\" 
-DDATA_PATH=\"/usr/local/share/vlc\" 
-DPLUGIN_PATH=\"/usr/local/lib/vlc\"     -D__VLC__ -D__PLUGIN__ 
-DMODULE_NAME=libmpeg2 -DMODULE_NAME_IS_libmpeg2 -Winline -Wsign-compare 
-Wall  -finline-limit-30000 -pipe -MT 
modules/codec/modules_codec_liblibmpeg2_plugin_a-libmpeg2.o -MD -MP -MF 
"modules/codec/.deps/modules_codec_liblibmpeg2_plugin_a-libmpeg2.Tpo" \
   -c -o modules/codec/modules_codec_liblibmpeg2_plugin_a-libmpeg2.o 
`test -f 'modules/codec/libmpeg2.c' || echo './'`modules/codec/libmpeg2.c; \
then mv 
"modules/codec/.deps/modules_codec_liblibmpeg2_plugin_a-libmpeg2.Tpo" 
"modules/codec/.deps/modules_codec_liblibmpeg2_plugin_a-libmpeg2.Po"; \
else rm -f 
"modules/codec/.deps/modules_codec_liblibmpeg2_plugin_a-libmpeg2.Tpo"; 
exit 1; \
fi
In file included from modules/codec/libmpeg2.c:35:
/usr/local/include/mpeg2dec/mpeg2.h:72: redefinition of `struct picture_t'
/usr/local/include/mpeg2dec/mpeg2.h:81: warning: redefinition of `picture_t'
include/vlc_common.h:240: warning: `picture_t' previously declared here
modules/codec/libmpeg2.c: In function `RunDecoder':
modules/codec/libmpeg2.c:112: `mpeg2_state_t' undeclared (first use in 
this function)
modules/codec/libmpeg2.c:112: (Each undeclared identifier is reported 
only once
modules/codec/libmpeg2.c:112: for each function it appears in.)
modules/codec/libmpeg2.c:112: parse error before `state'
modules/codec/libmpeg2.c:146: `state' undeclared (first use in this 
function)
modules/codec/libmpeg2.c:150: `STATE_BUFFER' undeclared (first use in 
this function)
modules/codec/libmpeg2.c:186: case label not within a switch statement
modules/codec/libmpeg2.c:241: case label not within a switch statement
modules/codec/libmpeg2.c:251: structure has no member named `date'
modules/codec/libmpeg2.c:258: case label not within a switch statement
modules/codec/libmpeg2.c:259: case label not within a switch statement
modules/codec/libmpeg2.c:268: structure has no member named `date'
modules/codec/libmpeg2.c:304: default label not within a switch statement
modules/codec/libmpeg2.c: In function `CloseDecoder':
modules/codec/libmpeg2.c:351: structure has no member named `i_status'
modules/codec/libmpeg2.c: In function `GetNewPicture':
modules/codec/libmpeg2.c:384: structure has no member named `p'
modules/codec/libmpeg2.c:385: structure has no member named `p'
modules/codec/libmpeg2.c:386: structure has no member named `p'
make[2]: *** 
[modules/codec/modules_codec_liblibmpeg2_plugin_a-libmpeg2.o] Error 1
make[2]: Leaving directory `/home/paul/src/vlc-5.3-build/vlc-0.5.3'
make[1]: *** [all-recursive] Error 1
make[1]: Leaving directory `/home/paul/src/vlc-5.3-build/vlc-0.5.3'
make: *** [all] Error 2

Can anyone suggest what I may have done wrong or what I might do
to get avi movies working again?  What does it mean for vlc to
support DVD menus?  I don't see any difference between 0.5.3 and
any prior version, other than that this version asks if I want to
use DVD menus and then doesn't show them.

And finally, if I haven' provided enough data to describe my problems,
please let me know what's missing.

Thanks!

Paul Allen
allenp at nwlink.com

-- 
This is the vlc mailing-list, see http://www.videolan.org/vlc/
To unsubscribe, please read http://www.videolan.org/support/lists.html
If you are in trouble, please contact <postmaster at videolan.org>



More information about the vlc mailing list