.Mac

そういえば、最近 PowerBook で、.Mac が sync できなくなった。 前に、研究室の PowerMac がダメだった時期があり、いつの間にか直った。

そういえば、最近 PowerBook で、.Mac が sync できなくなった。
前に、研究室の PowerMac がダメだった時期があり、いつの間にか直った。
なんでかね?

Xcode-2.4

Xcode-2.4 が出ましたよー。

Xcode-2.4 が出ましたよー。
64bit intel な環境の開発ツールも入ったそうです。
Mac Pro developer’s note を見る限りでは、Mac Pro では x64 binary が動きそうな感じ。日本語の Mac Pro の紹介では 64bit っていう言葉は表にでてきませんが、英語のサイトでは出てますね。
Mac Pro には MacOS 10.4.7 が入ってくるから、そいつのライブラリに秘密があるのかも。
Intel Mac な人の、

% file /usr/lib/libSystem.B.dylib

の結果とか募集中。

Universal binary その後

んで、いろいろ universal binary を作ってみました。 基本的なやり方としては、setenv CC “gcc -arch i386 -isysroot /Developer/SDKs/MacOS10.4u.sdk”setenv CC “gcc -arch i386 -isysroot /Developer/SDKs/MacOS10.4u.sdk”たくさんライブラリや実行ファイルがあるものの場合は、ちょっと大変そう。

んで、いろいろ universal binary を作ってみました。
基本的なやり方としては、
% setenv CC “gcc -arch i386 -isysroot /Developer/SDKs/MacOSX10.4u.sdk”
% setenv CXX “g++ -arch i386 -isysroot /Developer/SDKs/MacOSX10.4u.sdk”
みたいに環境変数を設定しておいて、
% ./configure –host=i386-apple-darwin8.7.0
のように configure すれば、たいていうまくいく気がする。で、できたライブラリなんかをどこかにコピーしておいて、ppc と i386 (と、あるいは ppc64 も) で configure & make しておいて、最終的に
% lipo -create /path/to/i386/library.dylib /path/to/ppc/library.dylib -output /path/to/universal/library.dylib
みたいに結合すれば OK、という寸法。
で、結果がちゃんと universal になってるかどうかは、file コマンドとかを使えば簡単に確認できる。Mach ってかっこいいなぁ。こんなの、普通の a.out とか elf なんかじゃ到底できませんよ。
でも、たくさんライブラリや実行ファイルがあるものの場合は、ちょっと大変そう。

lipo

そうか、-arch i386 -arch ppc とか付けて一気にコンパイルしなくても、lipo であとでくっつけてやればいいのね。… あと、gcc -isysroot /Developer/SDKs/MacOSX10.4u.sdk というのが、つまり、僕の探し求めていたアレらしい。

Universal binary の作り方
そうか、-arch i386 -arch ppc とか付けて一気にコンパイルしなくても、
lipo であとでくっつけてやればいいのね。なるほどー。
あと、gcc -isysroot /Developer/SDKs/MacOSX10.4u.sdk というのが、つまり、僕の探し求めていたアレらしい。

reboot

ソフトウェアの更新で、久々に家の iMac を reboot した。 uptime は40日ちょっと。

ソフトウェアの更新で、久々に家の iMac を reboot した。
uptime は40日ちょっと。

GTK+-2.10.0 on Quartz

GTK+-2.10.0 で、Quartz (MacOS X の graphics backend) がサポートされたので、自分のプログラムで試してみた。 コードは1行もいじらずに、X11 で動いていたものが Quartz で動くようになったのだが、しかし、若干挙動が怪しいところがあり、まだもうちょっと待ったほうがいいのかも、という感じだ。

GTK+-2.10.0 で、Quartz (MacOS X の graphics backend) がサポートされたので、自分のプログラムで試してみた。
コードは1行もいじらずに、X11 で動いていたものが Quartz で動くようになったのだが、しかし、若干挙動が怪しいところがあり、まだもうちょっと待ったほうがいいのかも、という感じだ。
しかし、コードをいじらずに別の環境で動くようにできる、っていうのはすごいね。
今後に期待。
cairo の新しいのも試したいなあー。でも時間なし。