Linux DVD HOWTO: Problems

Next Previous Contents

## 7. Problems

## 7.1 Run time errors

This is a (small) list of known run-time errors.

### Illegal Instruction Error

If you use a non-Intel chip (K6 especially), and you are getting this error when you try to run mpeg2video, try editing nist/configure.in, lines 129 and 130:

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

replace "-march=i686" in both with "-march=i586", and then recompile and reinstall.

## 7.2 Compilation errors

This is a running list of common compilation errors that have known fixes.

### `dvd_struct' undeclared...

The most frequent problem people have when trying to compile these utilities stems from oms looking in the wrong place for the kernel headers. By default, it uses /usr/include/[linux|asm], but those headers are from a stable kernel so that when you compile a normal program, it will be using older headers. OMS needs to use headers with dvd ioctl support. If things are set up wrong many things are undeclared and compilation fails. The best way to fix this is to use the configure option --with-kernel-headers=(path to headers). Another way is to adjust which headers are in the default location.

            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

### Can't determine absolute dir of '../../../../src/plugin/codec/mpeg2dec/.libs'

Another common error is with the oms/src/plugin/codec/mpeg2dec/.libs directory. For some reason or another, this directory does not exist, and it needs to for compilation. To fix it, just make the directory:

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

### Can't find libXv.so or libXxf86dga.so

Xfree86 4.x doesn't build shared libs for Xv and Xxf86dga. However, the shared lib setup OMS uses needs them. Build them as follows in your favorite lib dir:

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

### Failure via segfault for no apparent reason

Sometime you have old libraries laying around that are used by mistake. This will cause unwanted behavior such as crashing. Get rid of old libraries from /usr/local/lib or wherever you put them and things should work.

## 7.3 Broken stuff

Features that don't currently work as intended:

- The chapter seek buttons may fail.
- The play/pause/stop buttons may fail to work.
- Audio/video may skip or sound "choppy". This is due to proper syncronization and framedropping not being implemented yet.

## 7.4 Other errors

If your problem isn't listed here, then likely the current CVS code has a bug in it or is missing a feature. You can either hope it will be fixed and update CVS every so often or subscribe to the mailing lists and report the bug or request a feature. To subscribe send a blank email to livid-user-subscribe@linuxvideo.org.

Next Previous Contents