pxa270 보드에 ffmpeg 컴파일시 오류..

htjung07의 이미지

pxa270 보드에 ffmpeg-0.4.9-prel버젼을 컴파일 중입니다.
커널 버젼은 2.6이구요.

./configure --enable-shared --cpu=arm4l --cc=arm-linux-gcc --disable-mmx --prefix=/mnt/ramdisk/root/ffmpeg
로 환경설정을 하였는데
./configure: line 683: /tmp/ffmpeg-conf-7204-28072-14133: cannot execute binary file
위와 같은 에러가 나면서 config.h가 변경되지 않았다고 뜹니다.
그냥 저 상태에서 make를 했더니 strip ffmpeg 에서 ffmpeg 포맷 형식을 알 수 없다면서 에러가 나네요.
첨부한 파일은 make시 발생한 오류 입니다.
누군가 동일한 configure 문제에 대해서 질문한 것을 찾았는데 답변이
cvs를 쓰라는 한줄만 나와있더군요-.-;; cvs 찾아보니 버젼 관련한 유틸리티 같은데 이걸 어떻게 적용해야 하는지
감이 안오네요..

고수님들 조언 부탁드립니다..

p.s mpalyer 메일링 리스트는 가입은 되고 로그인이 안되던데.. 저만 그런가요??

File attachments: 
첨부파일 크기
Image icon strip.JPG89 KB
bushi의 이미지

구리구리한 툴체인을 쓰시는 군요.

홈페이지에서 설명하고 있는 설치방법을 숙독하시고,
크로스컴파일을 하기 위해선 configure 스크립트를 실행할 때 아규먼트를 정확하게 줘야 합니다.
./configure --help 를 차근차근 보셔야겠죠.
여기저기 퍼져 있는 따라하기 식의 문서, 특히 국산은 제대로 설명하고 있는 것이 손에 꼽을 정도도 희귀하니 무시하셔도 됩니다.

홈페이지에서 하라는 대로

  git clone <a href="//git.mplayerhq.hu/ffmpeg/
" rel="nofollow">git://git.mplayerhq.hu/ffmpeg/
</a>  cd ffmpeg
  git clone <a href="//git.mplayerhq.hu/libswscale/
" rel="nofollow">git://git.mplayerhq.hu/libswscale/
</a>

다 받은 후 README, INSTALL 문서를 보니 ./configure --help 를 잘 보라고 써있네요.
잘 보고 다음처럼 했습니다.

./configure \
  --enable-cross-compile \
  --cross-prefix=/opt/host/arm-2006q3/bin/arm-none-linux-gnueabi- \
  --arch=armv5te

make 때리니 깨끗하게 만들어지는데요.

[bushi@rose ffmpeg]$ file ffmpeg ffserver
ffmpeg:   ELF 32-bit LSB executable, ARM, version 1 (SYSV), dynamically linked (uses shared libs), for GNU/Linux 2.6.14, stripped
ffserver: ELF 32-bit LSB executable, ARM, version 1 (SYSV), dynamically linked (uses shared libs), for GNU/Linux 2.6.14, stripped
[bushi@rose ffmpeg]$ 
[bushi@rose ffmpeg]$ file ffmpeg_g ffserver_g
ffmpeg_g:   ELF 32-bit LSB executable, ARM, version 1 (SYSV), dynamically linked (uses shared libs), for GNU/Linux 2.6.14, not stripped
ffserver_g: ELF 32-bit LSB executable, ARM, version 1 (SYSV), dynamically linked (uses shared libs), for GNU/Linux 2.6.14, not stripped
[bushi@rose ffmpeg]$ 

SDL 이 있으면 ffplay 도 빌드할 수 있는 것 같고,
libswscale 은 s/w scaling 을 지원하기 위한 라이브러리 같은데 --enable-swscale 을 추가해줘야만
빌드되는 모양입니다.

OTL

htjung07의 이미지

크게 한 수 배운 느낌 입니다...

감사합니다^^

bushi의 이미지

컴파일 된 놈을 차근차근 살펴보는 중인데 이거 뭔가 아니다 싶습니다.
pxa270 이니 iwmmxt 로 해보세요.

./configure \
  --enable-cross-compile \
  --cross-prefix=/opt/host/arm-2006q3/bin/arm-none-linux-gnueabi-  \
  --extra-cflags="-march=iwmmxt" \
  --arch=armv4l

(ffmpeg 빌드시스템이 좀 어색합니다)

하여간 컴파일 끝나고

nm ffmpeg_g | grep -i iwmmxt
nm ffmpeg_g | grep -i armv5te

했을 때 심볼들이 주루룩 보이면 iwmmxt, armv5te 라는 pxa270 최적의 조합이 완성된겁니다.

OTL

htjung07의 이미지

toolchain4.1 을 설치해서 arm-elf-gcc로 컴파일 해보았는데
make시 수행 할 수 없는 컴파일러라고 에러가 출력되네요...
3.4.3버젼에서도 동일하게 출력되구요..
혹시 호스트 시스템 사양이 어떻게 되는지 알 수 있을까요?

위에 써주신 컴파일러와 binutil을 cross-work라는 웹에서
찾았는데 설치방법에 대해서는 찾지 못 했습니다-_-

알려주신 것에 근접하지도 못하고 질문만 드려 민망하네요..
몇 일째 밤새 이 버젼 저 버젼 굴리고 있는데 전부 오류만 뜨고..
정말 답답한 상황입니다-.-...

bushi의 이미지

전에 http://www.codesourcery.com 에서 받은 겁니다.

2006q3 은 디폴트가 armv5t 이고 삽질을 하면 armv4t 에서도 사용할 수 있습니다.
(EABI 툴체인이기 때문에 armv4 는 안됩니다)
iwmmxt 인스트럭션을 사용하기 위해선 march=iwmmxt 라는 옵션을 줘야만합니다.

ffmpeg 의 configure 스크립트에서 행하는 iwmmxt 검사를 통과하기 위해 --extra-cflags 로 넘겼습니다.

OTL

htjung07의 이미지

꼭 성공해서 성공했다고 알려드리고 싶네요..

댓글 달기

Filtered HTML

  • 텍스트에 BBCode 태그를 사용할 수 있습니다. URL은 자동으로 링크 됩니다.
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param><hr>
  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.

BBCode

  • 텍스트에 BBCode 태그를 사용할 수 있습니다. URL은 자동으로 링크 됩니다.
  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param>
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.

Textile

  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • You can use Textile markup to format text.
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param><hr>

Markdown

  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • Quick Tips:
    • Two or more spaces at a line's end = Line break
    • Double returns = Paragraph
    • *Single asterisks* or _single underscores_ = Emphasis
    • **Double** or __double__ = Strong
    • This is [a link](http://the.link.example.com "The optional title text")
    For complete details on the Markdown syntax, see the Markdown documentation and Markdown Extra documentation for tables, footnotes, and more.
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param><hr>

Plain text

  • HTML 태그를 사용할 수 없습니다.
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.
  • 줄과 단락은 자동으로 분리됩니다.
댓글 첨부 파일
이 댓글에 이미지나 파일을 업로드 합니다.
파일 크기는 8 MB보다 작아야 합니다.
허용할 파일 형식: txt pdf doc xls gif jpg jpeg mp3 png rar zip.
CAPTCHA
이것은 자동으로 스팸을 올리는 것을 막기 위해서 제공됩니다.