LinuxSir.cn,穿越时空的Linuxsir!

 找回密码
 注册
搜索
热搜: shell linux mysql
楼主: aaccdd

手把手教你编译安装MPlayer-1.0pre5

[复制链接]
发表于 2004-9-6 14:13:28 | 显示全部楼层
编译出错了:
fv1.c: In function `encode_rgb_frame':
ffv1.c:465: internal compiler error: in find_function_data, at function.c:329
Please submit a full bug report,
with preprocessed source if appropriate.
See <URL:https://qa.mandrakesoft.com/> for instructions.
make[1]: *** [ffv1.o] 错误 1
make[1]: Leaving directory `/home/homesp/SoftWares/MPlayer/MPlayer-1.0pre5/libavcodec'
make: *** [libavcodec/libavcodec.a] 错误 2
发表于 2004-9-7 18:40:21 | 显示全部楼层
最初由 aaccdd 发表
出现这个错误的,请安装glibc-headers


修改~/.mplayer/config
vo=xv,x11,sdl


谢谢版主,但是现在又出现了新的错误:

gcc-3.3 -c -I../libvo -I../../libvo -I/usr/X11R6/include -O4 -march=athlon-4 -mc pu=athlon-4 -pipe -ffast-math -fomit-frame-pointer -D_REENTRANT -D_LARGEFILE_SOU RCE -D_FILE_OFFSET_BITS=64 -I/usr/include/gtk-1.2 -I/usr/include/glib-1.2 -I/usr /lib/glib/include -Ilibmpdemux -Iloader -Ilibvo -I/usr/include/freetype2 -I/usr/ include/gtk-1.2 -I/usr/include/glib-1.2 -I/usr/lib/glib/include   -I/usr/X11R6/i nclude       -o mplayer.o mplayer.c
In file included from mplayer.c:51:
libvo/video_out.h:65: error: parse error before "uint32_t"
libvo/video_out.h:65: warning: no semicolon at end of struct or union
libvo/video_out.h:66: warning: data definition has no type or storage class
libvo/video_out.h:67: error: parse error before '}' token
libvo/video_out.h:67: warning: data definition has no type or storage class
libvo/video_out.h:107: error: parse error before "uint32_t"
libvo/video_out.h:107: warning: no semicolon at end of struct or union
libvo/video_out.h:118: error: parse error before '*' token
libvo/video_out.h:118: error: parse error before "width"
libvo/video_out.h:120: error: `uint32_t' declared as function returning a functi on
libvo/video_out.h:120: warning: data definition has no type or storage class
libvo/video_out.h:125: error: parse error before '*' token
libvo/video_out.h:125: error: parse error before "request"
libvo/video_out.h:125: error: `uint32_t' declared as function returning a functi on
libvo/video_out.h:125: warning: data definition has no type or storage class
libvo/video_out.h:132: error: parse error before '*' token
libvo/video_out.h:132: error: parse error before '*' token
libvo/video_out.h:132: error: `uint32_t' declared as function returning a functi on
libvo/video_out.h:132: warning: data definition has no type or storage class
libvo/video_out.h:142: error: parse error before '*' token
libvo/video_out.h:142: error: parse error before '*' token
libvo/video_out.h:142: error: `uint32_t' declared as function returning a functi on
libvo/video_out.h:142: warning: data definition has no type or storage class
libvo/video_out.h:165: error: parse error before '}' token
libvo/video_out.h:165: warning: data definition has no type or storage class
libvo/video_out.h:170: error: parse error before '*' token
libvo/video_out.h:170: warning: data definition has no type or storage class
libvo/video_out.h:174: error: parse error before '*' token
libvo/video_out.h:174: warning: data definition has no type or storage class
In file included from mplayer.c:57:
libvo/x11_common.h:61: error: parse error before "vo_x11_set_equalizer"
libvo/x11_common.h:61: warning: data definition has no type or storage class
libvo/x11_common.h:62: error: parse error before "vo_x11_get_equalizer"
libvo/x11_common.h:62: warning: data definition has no type or storage class
libvo/x11_common.h:80: error: parse error before "xv_port"
libvo/x11_common.h:81: error: parse error before "xv_port"
libvo/x11_common.h:97: error: parse error before "int"
In file included from mplayer.c:73:
spudec.h:18: error: parse error before "vo_functions_t"
In file included from /usr/include/netinet/in.h:23,
                 from /usr/include/netdb.h:28,
                 from libmpdemux/network.h:16,
                 from libmpdemux/stream.h:51,
                 from Gui/interface.h:12,
                 from mplayer.c:82:
/usr/include/stdint.h:52: error: `uint32_t' redeclared as different kind of symb ol
libvo/video_out.h:142: error: previous declaration of `uint32_t'
In file included from libmpdemux/dvbin.h:5,
                 from mplayer.c:104:
libmpdemux/dvb_defaults.h:69:10: warning: #warning No DVB-T country defined in d vb_defaults.h, defaulting to UK. Ignore this if using Satellite or Cable.
mplayer.c:190: error: parse error before '*' token
mplayer.c:190: warning: data definition has no type or storage class
mplayer.c: In function `uninit_player':
mplayer.c:416: error: request for member `uninit' in something not a structure o r union
mplayer.c: In function `main':
mplayer.c:2249: error: request for member `check_events' in something not a stru cture or union
mplayer.c:2267: error: request for member `flip_page' in something not a structu re or union
mplayer.c:2278: error: request for member `control' in something not a structure  or union
mplayer.c:2432: error: request for member `control' in something not a structure  or union
mplayer.c:2438: error: request for member `check_events' in something not a stru cture or union
mplayer.c:2457: error: request for member `control' in something not a structure  or union
mplayer.c:3021: error: request for member `control' in something not a structure  or union
mplayer.c:3026: error: request for member `control' in something not a structure  or union
mplayer.c:3036: error: request for member `control' in something not a structure  or union
mplayer.c:3044: error: request for member `control' in something not a structure  or union
mplayer.c:3135: error: request for member `control' in something not a structure  or union
mplayer.c:3431: error: request for member `control' in something not a structure  or union
mplayer.c: At top level:
libvo/video_out.h:174: warning: array `video_out_drivers' assumed to have one el ement
make: *** [mplayer.o] 错误 1


我用的是debian sarge,通过网络安装的,所以有可能有些包没有安装。请指教。
 楼主| 发表于 2004-9-7 20:38:07 | 显示全部楼层
to Linuxsmile:
1,打开~/.mplayer/config
删掉最后一行
include  /home/gabucino/.mplayer/i_did_not_RTFM_carefully_enough
2,从/usr/share/local/mplayer/font/font-**/下选择一种字体,将其目录下内容复制到~/.mplayer/font/下,例如:
cp /usr/local/share/font/font-arial-18-cp1250/* ~/.mplayer/font/
 楼主| 发表于 2004-9-7 20:45:37 | 显示全部楼层
to homesp:
是否安装了gcc?
rpm -q gcc
如果安装了,版本是多少?

解决办法,
1,可以尝试升级到最新的ffmpeg
http://ffmpeg.sourceforge.net

2,自己修改代码:
找到.../libavcodec/ffv1.c
找到第465行 (the line mentioned in the error message)
修改

  


  1. sample[p][i]= sample_buffer[p][(h+i-y)%ring_size]+3;

复制代码

为:


  1. {
  2.         int tmp;
  3.         tmp=(h+i-y)%ring_size;
  4.         sample[p][i]= sample_buffer[p][tmp]+3;
  5. }
复制代码
发表于 2004-9-7 22:17:10 | 显示全部楼层
“uint32_t”是在哪个文件里面定义的?

好像大家都没遇到过这个问题哦。
 楼主| 发表于 2004-9-7 22:44:44 | 显示全部楼层
to stonecracker:
应该是mplayer.c吧,
看看gcc相关的包是否都装全了
发表于 2004-9-8 15:20:48 | 显示全部楼层

gui下字幕无法载入

按照楼主的方法装好了,挺顺利,但在gmplayer下字幕无法载入(sub,srt,都不行)
窗口下提示:Cannot load ×××××.sub/srt
控制台下提示:SUB: Could not determine file format

但在字符模式下,打命令mplayer ×××.avi -sub ×××.sub
虽然也提示SUB: Could not determine file format
但字幕是可以播放的

究竟是怎么回事阿?
发表于 2004-9-8 21:37:39 | 显示全部楼层
我下的源码包在rh AS 3 上编译成功了的,所以源码包肯定没有问题。

我就是不清楚要装哪些相关的包,不知可否提示一下。
发表于 2004-9-9 22:35:41 | 显示全部楼层
我的GCC是3.3.2-6mdk的
发表于 2004-9-12 01:00:39 | 显示全部楼层
cd etc/
cp codecs.conf gui.conf input.conf sample.conf ~/.mplayer/
mv ~/.mplayer/sample.conf ~/.mplayer/config

我这里有codecs.conf gui.conf input.conf sample.conf, 却单单没有sample.conf, 我用gmplayer则出现 致命错误提示:“ 打开/初始化所选的视频输出(-vo)设备是出错!“ 
请问怎么回事?
您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 返回顶部 返回列表