[ubuntu-jp:3208] Re: Ubuntu 10.04 LTSでOpen Source Segmenterをコンパイルするとエラー発生

大塚 哲治 teotsuka @ gmail.com
2010年 12月 11日 (土) 02:33:40 GMT


Yamaguchiさん

まとめていただいた内容の通りです。
ちなみに、Makefileはしており、
===
$ more Makefile
all:
        gcc -Wall -g segmenter.c -o segmenter -lavformat -lavcodec -lavutil
-lbz2 -lm -lz
-lfaac -lmp3lame -lx264 -lfaad
clean:
        rm segmenter
install: segmenter
        cp segmenter /usr/local/bin/
uninstall:
        rm /usr/local/bin/segmenter
===
となっております。

やはり最新版x264がsegmenterのみならずffmpeg-0.5.3にも影響を及ぼしているようですね。

(1) ffmpeg-0.5.3インストール, segmenterをコンパイル ・・・ 新環境にて実施済み
(2) <HOWTO: Install and use the latest FFmpeg and x264>
http://ubuntuforums.org/showthread.php?t=786095
に従い最新版x264, ffmpegなどインストール
(3) segmenterが動くか検証

上記の順番で試しています。色々とありがとうございます。

2010年12月11日10:51 Masahiko Yamaguchi <vineuser7 @ gmail.com>:

> なるほど。状況はなんとなくわかってきました。
>
> > segmenterを最初にコンパイルしてから<HOWTO: Install and use
> > the latest FFmpeg and x264>の手順に従いffmpegを入れ直しても
> > 大丈夫な物なのでしょうか?
>
> この点については、やってみないとわかりませんね。何らかの不具合が
> 出そうな気がしますが…。
>
>
> 状況をまとめると、以下のように考えてよいでしょうか?
>
> [Case1:gitのffmpeg-0.5.3を利用した場合]
> ffmpegとsegmenterのインストールには問題ない。
>
>
> [Case2:最新版のffmpegとx264を利用した場合]
> ffmpegのインストールには問題ないが、以下のエラーが出てsegmenterの
> コンパイルが通らない。
>
> ・・・(ずらずらと:ログは後述に添付)・・・
> /home/teotsuka/ffmpeg/libavutil/eval.c:254: undefined reference
> to `tan'
> /usr/local/lib/libavutil.a(rational.o): In function `av_d2q':
> /home/teotsuka/ffmpeg/libavutil/rational.c:99: undefined reference
> to `log'
> collect2: ld returned 1 exit status
> make: *** [all] エラー 1
>
>
> [Case3:最新版のffmpegとx264をインストールした環境でgitのffmpeg-0.5.3を
> コンパイルした場合]
> 以下のエラーが出てffmpeg-0.5.3のコンパイルが通らない。
>
> /home/teotsuka/test/ffmpeg-0.5.3/libavcodec/libx264.c:331:
> undefined reference to `x264_encoder_open_110'
>
> collect2: ld returned 1 exit status
> make: *** [ffmpeg_g] エラー 1
>
> [Case3]のエラーは、確認していただいたコマンドの結果をみるかぎり、
> x264のバージョンの違いに起因するものと考えていいでしょう。
>
>
> 再度確認しますが、[Case2]のエラーの報告の中で、下記の記述をみると、
> コンパイルオプションが変更されていない気がするのですが、Makefileの
> 変更は行ないましたか?
>
> > [コンパイルログ]
> > $ make all
> > gcc -Wall -g segmenter.c -o segmenter -lavformat -lavcodec -lavutil
> > segmenter.c: In function ‘main’:
>
> 少なくとも「-lm」が追加されていないと、数学関数(sinやlogなど)を認識
> してくれません。
>
>
> --
>  ーーーーーーーー
> Masahiko Yamaguchi
> E-Mail: vineuser7 at gmail.com
> Blog: 独学Linux http://blog.livedoor.jp/vine_user/
>
>
-------------- next part --------------
HTMLの添付ファイルを保管しました...
URL: https://lists.ubuntu.com/archives/ubuntu-jp/attachments/20101211/11ebed7b/attachment.htm 


ubuntu-jp メーリングリストの案内