So-net無料ブログ作成

【Ubuntu】 Ubuntu 64bit版 で 32bitのライブラリやアプリをコンパイルする環境設定(覚書) [ubuntu]

Ubuntu 64bit版を使用していて、32bit版のライブラリやアプリ(例えば:32bit版 libGL.so)を作成(コンパイル)する場合の基本的な環境設定の覚書です。自分のための覚書なので、読まれても意味不明かもしれません。さらに、32bit版を使用されている方は、読む必要は全くありません。

コンパイルするものによっては、他にもライブラリが必要になるかもしれません。

<32bit用ライブラリ関係>

sudo apt-get install ia32-libs lib32gcc1 lib32stdc++6 libc6-dev-i386 gcc-multilib

それと、shared libraryにはsoname(最後が.soで終わるシンボリックリンクファイル)とrealname(最後が.so.数字.数字 のように終わる実態のあるファイル)というのがあります。つい最近、知りました。

Ubuntu 10.04ではlib32stdc++6をインストールしたにもかかわらずlibstdc++のsonameを/usr/lib32のディレクトリに作成してくれませんでした。応急処置として、

cd /usr/lib32

ln -s  libstdc++.so libstdc++.so.6

としました。

上記は一例で、ライブラリをインストールしたはずなのにリンケージの際に、

/usr/bin/ld: skipping incompatible /usr/lib/gcc/x86_64-linux-gnu/4.x.x/libfoo.so

の様なエラーが出たら、libfoo.so.x.x のsonameであるlibfoo.soが無い可能性があるので、 上記と同様にシンボリックリンクを張るとエラーが解消される可能性があります。

それでもダメならライブラリパスが設定されていない可能性があるので、Makefile、もしくはMakefile内でinclude宣言されてるファイルに必要なパスがLD_FLAGS = -L/usr/lib32 の様に入っているかチェックする。

 

<コンパイルオプション>

32bitの実行ファイルをgccで作成する場合は、CFLAGSに "-m32" が入っているはず。

gcc -m32 -o hello32 hello.c

で、32bit版が作成出来ます。ちなみに64bit版を明示的に作成する場合は、

gcc -m64 -o hello64 hello.c

です。

 ← Notepod メモ帳

   私はメモを取ることをほとんどしない。
   でも、忘れっぽい。やはりメモは必要。
   で、調べてたら・・・
   某、携帯電話そっくりのメモ帳
   見れば分かるか・・・
   オーストラリア製だそうです。

 

 

 

 

 

<愚痴>

なんでこんなことしてるかというと、Google Earth 5.2を入れたら、過去に行った対策[参考:【Ubuntu 9.10】Google Earth 5.1 インストール (起動時エラー&お気に入り書き込み不可)対処]などをしても全く日本語が出なくなってしまいまし た。対策をすると下記のエラーが出てしまいます。(6/18現在)

Fontconfig error: line 1: unknown encoding
Fontconfig error: Cannot load default config file
Google Earth has caught signal 11.

OpenGLに64bit版はmesa 7.8.xを使用しているのですが、32bit版の方はリポジトリの7.7.1なので、ミスマッチを直してバージョンをあげたら動くかな?という期待で作 成しました。

結果はダメでした。

通常通り(過去の対策をせず)インストールした状態で、LANG=C;export $LANG とすれば、メニューが英語で動くのですが・・・ UTF-8はダメなのかな?

Google Earthのオプション設定で3D画面のフォントを選ぶところがあるのですが、そのフォントプレビューが

”ぐだグダ”

だっ て。。こっちが (´Д`|||) グダグダ になったよ~

あと、今(6/18)Flash Playerの64bit linux版もAdobe Labsからダウンロード出来ない。どうやら、今までのはperrelease版で、正式リリースに向けてセキュリティの改良をするみたいです。セキュリ ティ部分はユーザテストする分けにいかないからダウンロード出来なくなったのかな?

いずれにしても、正式版が出てくるまで(出してくれるんだよね~) prerelease版を大切に持ってなきゃ。

 


nice!(0)  コメント(2) 
共通テーマ:パソコン・インターネット

nice! 0

コメント 2

わだ

円周率計算プログラムで、64ビット環境で32ビット用をコンパイル、実行するのに大変参考になりました。有難う御座います。
by わだ (2010-09-23 22:00) 

あんきょ

☆わださん☆
参考になって良かったです。

コンパイル環境を整えるのって意外と大変ですよね。
by あんきょ (2010-10-05 20:23) 

コメントを書く

お名前:
URL:
コメント:
画像認証:
下の画像に表示されている文字を入力してください。

Facebook コメント

この広告は前回の更新から一定期間経過したブログに表示されています。更新すると自動で解除されます。

この広告は180日新規投稿のないブログに表示されます