MacOSX+PowerBookG4プログラミングメモ

すでにPowerBookG4 12"を利用し始めて3週間ほどたっている。MacOSXへは2度目のアプローチである。前回はOSXがでてすぐであった。今回は、X.2で使い勝手がよい。環境整備、プログラミングのメモをここに置いておく。

なぜMacOSX.2か

TeX環境の構築

  1. MacOSX上の日本語pTeXを開発しているのはつぎのサイトである。MacpTeXとその周辺 (内山氏)
  2. これのPowerBook(OSX)のバイナリのパッケージとしては井上浩一 先生(武蔵工業大学)のパッケージが利用できる。このパッケージを利用して、xdvi,Ghoastscriptまで実装できる。
  3. 内山氏はmxdviというdviのプレビュアーをつくられていてる。これもよい。
  4. ここまでで、Tex環境が整備される。井上浩一 先生のメモがアプリケーションをコマンドラインから呼び出すのに参考になる。

SLABの移植

readlineの最新のソースをダウンロードして途中でエラーがでるが、コンパイルインストールする。

ATLASとLAPACKをインストールする。

round.cを変更する。そのためにはIEEE754の丸めのモードを変更する方法が重要となる:(PowerBook G4のGCC compilerと
compatible librariesはISO C 99 標準をサポートしており, header
fenv.h
をインクルードする。そして、丸めの関数は


int fesetround (int __rounding_direction)

で与えられる。ただし、__rounding_direction はつぎのうちの一つ:
FE_TONEAREST
FE_UPWARD
FE_DOWNWARD
FE_TOWARDZERO

補足:
int fegetround (void)
はcurrent rounding modeを返す。また、このヘッダーの中にはFP exceptions and FP environments 扱う次のような関数がある。
int feclearexcept (int __excepts)
int fegetexcept (fexcept_t *__flagp, int __excepts)
int feraiseexcept (int __excepts)
int fesetexcept (__const fexcept_t *__flagp, int __excepts)
int fetestexcept (int __excepts)
int fegetenv (fenv_t *__envp)
int feholdexcept (fenv_t *__envp)
int fesetenv (__const fenv_t *__envp)
int feupdateenv (__const fenv_t *__envp)

(Hermann Schichl教授により情報提供を受ける)

もう一つの方法は

#ifdef __ppc__
/* set rounding to round toward - infinity*/
#define rounddn __asm__ ("mtfsfi 7,3") ;
/* set rounding to round toward +infinity*/
#define roundup __asm__ ("mtfsfi 7,2") ;
/* set rounding to round toward nearest */
#define roundnr __asm__ ("mtfsfi 7,0") ;
#endif /* def ppc */

である。これはDavid Wittenberg博士よりお教えいただいた。

OpenGLプログラミング

若干の方言がある。

  1. ソース中で#include <GLUT/glut.h>とインクルードする点。
  2. コンパイルオプションとして、gcc -framework OpenGL -framework GLUT -framework Foundation $@.c -o $@ -O3 -I/usr/X11R6/include -L/usr/X11R6/lib -lGLU -lGL -lXmu -lXext -lX11 -lmとする点。

がポイントである。

モバイル

PowerBookG4 12"にはカードスロットがない。そこで、SUNTAC SlipperX miniによりbmobile CFカードを利用することにした。ただし、「MacOS X 10.2で通信カードをご利用いただいた際に通信できない場合の対応CCLファイル」が必要になった。


©Shin'ichi OISHI

このページのURIはhttp://www.oishi.info.waseda.ac.jp/~oishi/osx/mac.html

最終更新 2003/5/16