投稿

8月, 2009の投稿を表示しています

Snow LeopardとMacPorts 1.8

Snow Leopardを上書きインストールすると, 一見/optが消去されたように見える. ディスクの空き領域も増えている. 実は, /optはFinderで見えなくなっているだけで, 消去されていない. ディスクに余裕ができたのは, システムのPowerPC用の部分がSnow Leopardではなくなったから.
ただし, Snow Leopardと相前後してリリースされたMacPorts 1.8は以前のバージョンと仕様が変わり, デフォルトではCPUに応じたアーキテクチャが選択される. 例えば, Core 2 Duoを使ったMacBook ProやXeonを搭載したMac Proなら, 既定ではx86_64用にコンパイルされる. 1.7以前はi386用にコンパイルされていた. そのため, この例の場合, これまでのものを引き継ぐとアーキテクチャの違いから, リンクがうまくいかなくなる.
64-bit CPUを搭載したマシンで64-bitのコード生成は, 科学技術計算にはメリットがあるので, 歓迎すべき仕様変更である. 手間となるが, コンパイルしなおすのがよさそうだ. Leopardでコンパイルしたものは32-bitだが, ディレクトリの名前を変更すれば使い続けることができる (例えば/opt/localを/opt/local_i386).
MacPortsはボランティアにより支えられているので, 一朝一夕にすべてが移行できるわけではなく, 中にはSnow Leopardでうまくコンパイルできなくなるものもある. しばらく時間がかかるかもしれないが, 徐々に移行されていくはずだ. MacPortsは現行OSとその前までをサボートするので, Tigerはlegacyとなり積極的なサポートはなくなる. TigerユーザはLeopard, Snow Leopardへの移行を迫られるか, コンパイルできなくなるパッケージが出てくるという心づもりが必要だ.
Snow Leopardでは, XCode 3.2となった. XCode 3.2は, Snow LeopardのDVDのOptional Installsにある. デフォルトのコンパイラは, gcc-4.2となったようである.

gnudatalanguage +universal

gnudatalanguageのPortfileには問題はないが, +universalが失敗することがある.
これは, python25+universalがuniversalとは言っても, i386とppcの2種類のアーキテクチャ用のバイナリをつくるため (r17501). Intel Macでsources.confのuniversal_archsにx86_64が入っていてもi386とppc用に作られてしまう.

octave-3.2

グラフィックが充実. FLTK/OpenGLを使ったものも実験的に追加されている.
MacPortsのoctaveは, ftgl, fltk, GraphicMagickのほか, fftw-3-single, arpackへの依存関係がなく, 単にバージョンアップしただけの様子. qrupdateはOctaveから分離したようなので, 別途パッケージを作った.
チケット#20648.

netcdfのmaintainer

MacPortsのnetcdfのmaintainerをすることにした. netcdfに依存するパッケージの大半は自分が管理しているので, netcdfを自由にできた方が都合が良い.
--enable-netcdf-4はvariantにまわして, netcdf3にリンクしていたgrads, grads2, gmtもnetcdfにリンクしてコンパイルできるようにした. netcdf 3は削除.
nco, cdo, wgrib2は, netcdf4にvariantで対応.

TigerでMacPorts

Mac OS X 10.4 でoctave, gnudatalanguage, ncargのコンパイルに問題があるようだ. Tigerにさらからインストールしてみる.
Ports treeはrsyncでもよいが, 更新が遅いのでここではsubversionを使うことにする. 通常はそのようにする必要はない. rsyncのports treeもしばらくすればアップデートされる.
Tigerにはsubversionは入っていないので, まずsubversionをインストールする.

sudo port -d sync
sudo port -d install subversion

/opt/local/etc/macports/sources.confを編集.

file:///Library/MacPorts/ports [default]

を追加し, rsyncのエントリをコメントアウト.
Ports treeを取得する.

mkdir /Library/MacPorts/
cd /Library/MacPorts
svn checkout http://svn.macports.org/repository/macports/trunk/dports ports

パッケージのインストール. まずはgrads.

sudo port -d install grads

途中でgcc43がビルドされるので時間がかかる. でも, port dependentsには出てこない. どこかでdepends_buildになっているのだろうか.
gradsの動作確認. TigerではX11は手動で起動. 環境変数の設定も必要.

export DISPLAY=local:0.0
export GADDIR=/opt/local/share/grads

LeopardではDISPLAYは設定しない. Xが必要になると, 自動的に起動する. ドックにX11.appをおいておく必要はないし, おくべきではない.

インストーラーでMacPortsをインストールすると, .bash_profileが書き換えられ, PATHに/opt/local/binが追加される. にもかかわらず, Tigerのxtermでは, portコマンドが見つからない. これはX11起動時も, xterm起動時も.bash_profileが読み込まれないためで…

Exif情報の消去

Exif情報も一種の個人情報. ImageMagickでExifなどを消すには, -strip strip image of all profiles and comments オプションを使う. convert -strip foo.jpg foo_strip.jpg

みんなの体操祭

イメージ
開港150周年記念イベントの一環で横浜赤レンガ倉庫広場で開催.中田市長もあいさつしたが,本番では名前がでなかった.長野先生が忘れたのか,それとも体操しないでかえったのか.ラジオ体操連盟の皆さんは,15分のために全国から集まる.