« 2009年6月 | トップページ | 2009年8月 »

2009年7月の記事

2009年7月29日 (水)

Windowsユーザーの人はセキュリティアップデートを

マイクロソフトから「Microsoft Visual C++ 2005 Service Pack 1 再頒布可能パッケージのセキュリティ更新プログラム (KB973923)」と称するセキュリティアップデートが配布されています。(突然昨日から配布が始まったヤツです。)

このバグは、極端に言うと、Visual C++ 2005 SP1 でコンパイルしたほとんどすべてのプログラムにセキュリティホールができてしまうという恐ろしいもののようです。(どういうわけか、詳細な技術解説が非公開のため、よくわからないのですが。)技術的には、原因は、コンパイラが作り出すオブジェクトコードではなく、実行時ライブラリにあるようです。

さて、以前、私が「Alissa版ビューア」のバイナリを配布してテストをお願いしていたことを覚えてらっしゃるでしょうか。あのとき「必要に応じて」VC++のライブラリのインストールをお願いしていました。それが、今回問題になっている実行時ライブラリらしいのです。

そこで、当時、Alissa版ビューアを試してくださった方は、大至急Windows Updateを動かして更新することを勧めます。その他の条件との関係で、特にダウンロードの一覧に現れないかもしれません。それなら、それで結構です。上に書いた更新が利用可能として一覧に現れた場合には、即座にダウンロードして適用することを勧めます。

(ウィンドウズの更新を全自動に設定している人は、すでにダウンロードとインストールが完了しているかもしれません。それならそれで、やはり問題ありません。)

2009年7月18日 (土)

Fedora 11

今日はLinuxの開発機のOSをFedora 10から11へアップグレードしました。

まずウェブでやりかたを調べると、皆さん preupgrade を薦めている。そこで早速私も preupgrade を使いましたが … うまくいきません。パッケージを大量にダウンロードして、リブートせよと言うので再起動すると、Fedora 11 のカーネルが動いて Fedora 11 の anaconda が動いて、それで「従来のシステムの root が見つからない」と言って止まってしまう。

またウェブで調べると、この現象はかなり一広範囲に起きている模様。しかし、原因も解決方法も、よく分かっていない様子。

しかたがないので、普通にインストール媒体のISOイメージをダウンロードして、DVD+RWに焼いて起動すると、… アップグレードの選択肢が出ず、新規インストールになってしまいます。いろいろ試したところ(私のLinux機はディスクを2台つないでRAID1になっているのですが)anacondaがディスクを1台しか見つけていないのです。その1台がRAID1の一方であることまではわかっているようなのですが「RAIDを構成するにはディスクが最低2台必要です」と言い、先に進ませてくれない。いや、ディスクは2台あるんだよ。キミが気づかないだけで…。

で、しかたがないのでサポート外であることは知りつつ、ここの手順に従って yum upgradeに挑戦。そしたら、やっとアップグレードできました。

できましたが、よく見るとカーネルが i586 です。あれー、なんでかなー。またもいろいろ調べると、どうやらこういうことの様子。それで yum が kernel.i686をupgradeするときに、kernel-PAE.686じゃなくてkernel.i586にしちゃったんですね。

ということで、yum install kernel-PAE kernel-PAE-devel して解決。

あとは、例によってNVIDIAのグラフィックドライバ入れてアップグレード完了。

# 本当は、Fedora の gcc がバージョンアップしたのにあわせて、distcc 用に Windows とか MacOS とかで動かすクロスコンパイラも4.4.0にバージョンアップしないといけないのですが。そうしないとSLの開発ができない。でも、まぁ、それなりに疲れたので今日はここまで。

2009年7月11日 (土)

MacOSのdistccのことが少し分かってきた

今までに何回か(これとかこれとか)MacOSのdistccに文句を言って来ましたが、この謎が少しわかって来ました。

MacOSのdistcc/distccdというのは、BonjourというかDNS-SDを使って動くらしいのです。Linuxのdistccdにも --zeroconf というオプションがあって、DNS-SDでサービスをアドバタイズできることになっているのですが、なんと、サービス名が違うのだそうですよ。Linuxのdistccは _distcc._tcp というサービス種別になるのにMacOSのdistcc は _xcodedistcc._tcpなんだそうです。(なんだよ、それ…。)

と、いうことは、Linux側で_xcodedistcc._tcpとサービスをアドバタイズしてやればMacOSのXcodeのコンパイルをLinuxで受けられるということでしょうかねぇ。

« 2009年6月 | トップページ | 2009年8月 »