下一页 上一页 目录

7. 问题

7.1 运行时错误

这是一个(小的)已知运行时错误的列表。

非法指令错误

如果你使用非英特尔芯片(特别是 K6),并且在尝试运行 mpeg2video 时遇到此错误,请尝试编辑 nist/configure.in 文件,第 129 行和 130 行

        
               CFLAGS="$CFLAGS -DHAVE_MMX -DLINUX -march=i686 -fschedule-insns2 -malign-doub
               CXXFLAGS="$CXXFLAGS -DHAVE_MMX -DLINUX -march=i686 -fschedule-insns2 -malign- 

将两处的 “-march=i686” 替换为 “-march=i586”,然后重新编译并重新安装。

7.2 编译错误

这是一个包含已知修复方法的常见编译错误的列表。

`dvd_struct' 未声明...

人们在尝试编译这些实用程序时遇到的最常见问题源于 oms 在错误的位置查找内核头文件。默认情况下,它使用 /usr/include/[linux|asm],但这些头文件来自稳定的内核,因此当您编译普通程序时,它将使用较旧的头文件。OMS 需要使用具有 dvd ioctl 支持的头文件。如果设置错误,许多东西将未声明,并且编译失败。解决此问题的最佳方法是使用配置选项 --with-kernel-headers=(头文件路径)。另一种方法是调整默认位置中的头文件。

        These commands should do it:
        
        # mkdir /usr/include/old
        # mv /usr/include/linux /usr/include/old/linux
        # mv /usr/include/asm /usr/include/old/asm
        # mv /usr/include/scsi /usr/include/old/scsi
        # ln -s /usr/src/linux/include/linux /usr/include/linux
        # ln -s /usr/src/linux/include/scsi /usr/include/scsi
        # ln -s /usr/src/linux/include/asm /usr/include/asm

无法确定 '../../../../src/plugin/codec/mpeg2dec/.libs' 的绝对路径

另一个常见错误与 oms/src/plugin/codec/mpeg2dec/.libs 目录有关。由于某些原因,此目录不存在,但编译需要它。要修复它,只需创建该目录

        # mkdir src/plugin/codec/mpeg2dec/.libs

找不到 libXv.so 或 libXxf86dga.so

Xfree86 4.x 不为 Xv 和 Xxf86dga 构建共享库。但是,OMS 使用的共享库设置需要它们。在您喜欢的 lib 目录中按如下方式构建它们

        # ld --whole-archive -shared -o libXv.so libXv.a
        # ld --whole-archive -shared -o libXxf86dga.so libXxf86dga.a

由于段错误而失败,原因不明

有时您会遗留一些旧库,这些库被错误地使用。这将导致不良行为,例如崩溃。删除 /usr/local/lib 或您放置它们的任何位置的旧库,问题应该会解决。

7.3 故障功能

目前无法按预期工作的功能

7.4 其他错误

如果你的问题未在此处列出,则可能是当前 CVS 代码中存在错误或缺少功能。您可以希望它将被修复并每隔一段时间更新 CVS,或者订阅邮件列表并报告错误或请求功能。要订阅,请发送一封空白电子邮件至 livid-user-subscribe@linuxvideo.org


下一页 上一页 目录