2005年05月31日

いつかソースからビルドする日の為に。その貳(lame)

 まずは教科書のとおり、lame mp3から。

 たぶんこいつが他との依存関係が薄いだろうから、当方でも成功確率が高いと踏んだ。枯れたソフトってやつだ。

・まず、Xcodeは最初っからインストールしてある。OK。
こいつを落とす。
・念のためstiffitとかOSXの解凍は使わない。

3.96.1ってのが最新版のようだ。stableだよなこれ。
、、、そういえばこいつも特許とかなんとか騒ぎになってたけど、しぶとく、、、どころか最強のMP3エンコーダの名を恣にしてるよなぁ、、などとx264やxvidの行く末に希望をもちつつターミナルを立ち上げ、教科書を見る。

# tar xvfz lame-3.96.1.tar.gz
# cd lame-3.96.1
# ./configure
# make && make install


これを順にやっていけば良いわけだ。
ターミナルはこうなっている。(Tigerクリーンインストール。10.4.01。ターミナル環境設定デフォルト)
Last login: Sun May 29 XX:XX:XX on ttyp1
Welcome to Darwin!
Macの名前:~ ユーザ名$


 もうね、今回、当方は初めてパソコン教室に来たご老人になったつもりで。いや、CUI時代を知らん当方はそれそのものだ。成功した試しも無い事だし、逐一確認しながらやっていこう。
で、上の状態ではホームディレクトリに居る。
落としたファイルをデスクトップに置いとくと見えないので、ファインダでホームに移動させておく。
いやもういっこ念を入れてフォルダを作ってそこに入れとこう。名前は「050529_lame」。
ターミナルに「cd 050529_lame 」と打ってリターン。
するとこうなる。
Macの名前:~/050529_lame ユーザ名$


続けて「ls -v」と打ってリターン
Macの名前:~/050529_lame ユーザ名$cd ls -v
lame-3.96.1.tar.gz

と出たらOK。
lsはカレントディレクトリ(ターミナル上での自分の現在位置)の内容表示。-vは付けないと日本語ファイル/フォルダ名称が「??????」になる。カレントディレクトリのどこに日本語があるというのか。いいや決してありはしない。しかしやってしまうのが手癖というものじゃ。(老人化の方向性が違う)

ここで再び教科書を見る。

# tar xvfz lame-3.96.1.tar.gz

tarは解凍。xvfzはtarコマンドのオプション。最後が対象ファイル名。UNIXはスペース一個がコマンドやら引数やらの「区切り」という重要な意味を持つ。
アタマの#は、たぶんターミナルの$の代わりだろう。リターン。
lame-3.96.1とゆうフォルダが一個できた。
「050529_lame」を作ったのは解凍時に圧縮ファイルの中身をフォルダを作らずにそのままぶちまける奴がタマに有るから。多くはないけどうっかりババ引くと後で往生する。疑ってスマンかった。次。

# cd lame-3.96.1

cd(チェンジ・ディレクトリ)はフォルダの移動。フォルダじゃなくて自分の方が、今解凍した「lame-3.96.1」に移動する。

# ./configure

「./」でカレントディレクトリ(UNIXでいう「今居るフォルダ」)の中のコマンド実行。ここではconfigureというコマンドを実行する。
こいつはただの下準備だ。
必要なファイルがちゃんと揃ってるかとか、ビルドを担当するソフトがちゃんとMacに入ってるかとか、そういうのを調べる。重要なのはCPUを調べて、可能ならそのCPUに最適化したビルドするよう準備もしてくれる事だ。ここじゅーよー。
事前にXcodeを入れとかないとここでコケる。え〜っとWinの人はgccをどっかで入手する必要があるかも。推測だけど。
この次のmake段階でgccというコンパイラ(C言語のソースコードを機械語に翻訳するソフト。mmx2が無ければmmx2にしか理解できない言葉は使わない。altivecがあればaltivecでないと理解できない単語をがんがん使う。そういう単語がソースにあれば。)を使うのだが、Tigerのgccは4.0、Pantherは3.3だったと思う。そこで一句。

、、、バージョンが、一桁あがってカンマ0。

注意しとくべきかな。しといたからってなにかあってもなにもできないんだが、、、、、。
一応
「 ./configure --help」と打つ。
これで、ヘルプが出る。
ところで、大概のものは「/usr/local/bin/」以下にインストールされるようになってる。なんかの団体がそう推奨してるんだけど、そこはMacOSXのファインダでは行く事のできない夢の国なわけで。しくじったりしてあとで消したい時とか、、ねえさん、オレ、どうしたらいいですか。と黄昏れなくて済むように手許のpanther本とヘルプを見比べ、、、

「 ./configure --prefix=$HOME/適当な英文名」

で行く事にする。これでホームフォルダの可視領域「適当な英文名のフォルダ」にインストールできる筈だ。これ打ってリターン。少し時間がかかる。
過去にコケた(成功した事がないのだが)のはここが最も多い。

閑話休題。

ビルド過程で最もキツいのは初期段階と言う。
トラブル対処に必要な知恵と知識と勇気(疲労してるな)が初期段階ほど多岐にわたるからだ。
CPUの型番、altivecの有無、システムのどこに何があってそいつがどんな機能を果たすものか、このフォルダには何がなくちゃいけないとかなにがあっちゃダメとか、どこそこのファイルのアクセス権限がありませんとかそんなディレクトリねぇでがすとか、このソースコードはどのコンパイラだとコケるから使っちゃイヤンとか、あ、そう言えばソースコードのRead meと添付文書にしっかり目を通すのは最低限だってサイトもあったな。読んでないや。読まぬまま実行しちゃったよ。なんか上の方で逐一確認とか書いたような気もするが、エラーらしき表示も吐かずに終わった。OK。
ここを超えれば、固有環境の問題はあらかたパスしたと思って、、いいと思う。
後は依存関係とかリンクとか、〜まぁそれはそれでややこしいけど〜、添付文書で手がかりが得られる問題しか残ってない筈だ。

# make && make install

makeはビルド本番。
make installはビルドしたもののインストール。
&&は意味不明。連続してやっちゃえって事かな。手許のpanther本では個別に実行してるのでそっちに従う。
make、完了。
make install、完了。
ファインダで「~/USERNAME/適当な英文名」を確認!。ある!。なんか怪しいフォルダが5つも!(冷汗)
■内訳
/bin/以下 :lame本体
/include/以下:lame.hというCヘッダソースファイル。なにするもんだこれわ
/lib/以下 :libmp3lame.0.0.0.dylibとかなんとかが5個。エイリアス(シンボリックリンクってやつか?)
/man/以下 :lame.1。ターミナルで見るマニュアル。.1はたしか、一般ユーザ向けのマニュアルって意味だったか。
/share/以下 :奥深くにhtmlマニュアル。これわ嬉しい。


最後の仕上げ〜パスを通す〜

このままターミナルで「lame」と打ってもなにもおこらない。
「 ./configure --prefix=$HOME/適当な英文名」でも、定石通りの「 ./configure 」でも起こらない。
普通のUNIXは知らないが、MacOSXはそういうふうにできている。
そこで、先日入手のa match in her pocket様に、照らして頂きましょう足下を!
 こいつを起動して"configuration only"を押すと「/usr/local/binを つくってパスを通し」てくれる。終わったら、picoで~/.bash_profile
を開いて中身をメモり、文法を真似して「HOME/適当な英文名」に書き換える。(/usr/local/binに入れた場合は書き換え無用)冒頭の初めてパソコン教室に来たご老人になったつもりはどこへいったのかという気が少しするが、ご老人は夜に弱いのであった。
 とっとと保存してターミナルで「lame」と叩く。
用もないのに呼ぶんじゃねぇと怒られる。OK.
続いて「man lame」.ずらずらと英文マニュアルが出てくる。OK。
、、、、、おっけ〜。

次回予告 いつかソースからビルドする日の為に。その参

 「man 画面のただしい抜け方。」
posted by ばる at 01:28| Comment(0) | TrackBack(0) | mencoder[ビルド] | このブログの読者になる | 更新情報をチェックする
この記事へのコメント
コメントを書く
お名前: [必須入力]

メールアドレス: [必須入力]

ホームページアドレス: [必須入力]

コメント: [必須入力]

認証コード: [必須入力]


※画像の中の文字を半角で入力してください。

この記事へのトラックバック
×

この広告は1年以上新しい記事の投稿がないブログに表示されております。