2010年12月14日

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

Yamaguchiさん

/usr/lib/libx264.so.85
だけをコピーして同じフォルダに置いたところ、動きました。
正しいやり方かどうかわかりませんが、求めている動きはできそうです。
またバージョンアップ時などに不具合が発生するかもしれませんが、これで使ってみたいと思います。

時間を見つけてまとめた物をブログなどにアップして共有したいと思います。

ありがとうございました。
2010年12月14日10:12 大塚 哲治 <teotsuka@xxxxx>:

> Yamaguchiさん
>
> (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が動くか検証
>
> の順番でやってみました。
>
> segmenterを動かそうとすると、
> ===
> segmenter: error while loading shared libraries: libx264.so.85: cannot open
> shared object file: No such file or directory
> ===
> の表示が・・・。オブジェクトファイルが参照できないようです。
> 強引にライブラリだけを持ってきて試してみます。
>
> 2010年12月11日11:33 大塚 哲治 <teotsuka@xxxxx>:
>
> 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@xxxxx>:
>>
>> なるほど。状況はなんとなくわかってきました。
>>>
>>> > 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/
>>>
>>>
>>
>

投稿者 xml-rpc : 2010年12月14日 10:39
役に立ちました?:
過去のフィードバック 平均:(0) 総合:(0) 投票回数:(0)
本記事へのTrackback: http://hoop.euqset.org/blog/mt-tb2006.cgi/100729
トラックバック
コメント
コメントする




画像の中に見える文字を入力してください。