다음 이전 차례

7. 문제점들

7.1 실행 오류들

다음은 지금까지 알려진 몇 가지 실행 시 오류(들)이다.

Illegal Instruction Error

만일 비-인텔 계열의 칩(특히 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' undeclared...

이 유틸리티 파일들을 컴파일할 때, 사람들이 가장 빈번하게 겪게되는 문제는 oms가 커널 헤더파일들을 이상한 다른 곳에서 찾기 때문에 비롯된다. oms는 기본적으로 /usr/include/[linux|asm]에 있는 헤더파일들을 사용하지만, 이들 헤더파일들은 안정커널 버젼에서나 볼 수 있는 것이다. 따라서 여러분들이 정상적인 프로그램을 검파일할 때, 안정버젼의 헤터파일들이 사용된다. oms는 비안정버젼(또는 패치버젼)의 커널 페더파일들을 필요로한다. 따라서 oms가 컴파일을 시도할 때, 많은 모듈들이 정의되어있지 못하고, 결국은 컴파일 오류가 나오게 되는 것이다. 이 문제를 해결하기위한 가장 좋은 방법은 oms의 Makefile을 수정하여 -I/usr/src/linux/include를 CFLAGS와 CXXFLAGS를 가리키게 해준다.(이 정보를 주신 Adam Powell에게 감사를 드린다)

        다음과 같이 명령을 줘서 해결한다:
        
        # 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'

또 다른 일반적인 오류는 oms/src/plugin/codec/mpeg2dec/.libs 디렉토리에 있다. 몇 가지 이유로 인하여 이 디렉토리는 존재하지 않게 되는데, 이는 컴파일에 필요하다. 이를 해결하기 위해서는 단지 이 디렉토리를 만들어주면 된다:

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

7.3 안되는 기능들

원래 의도된 대로 되어야 하는데, 현재 안되는 기능들:

7.4 그밖의 오류들

만일 여러분들이 경험한 오류들이 이곳 목록에 없다면, 현재의 CVS 코드에 버그가 존재한다고 봐야 할 것이다. 최상의 방법은 몇 일간 기다려보고, CVS로부터 업데이트하는 것이다. 여러분의 질문을 받을 수 있는 메일링 리스트가 준비되어있다. livid-dev-subscribe@linuxvideo.org로 빈 메일을 보내면 가입할 수 있다.


다음 이전 차례