2012年2月10日金曜日
【購読】 「行っとけ! Ubuntu道場!」に出演させていただきました【御礼】
ってあらためて名乗ってもしょうがない部分もございますが、今回「ASCII.JP x デジタル」さんの人気 Ubuntu コンテンツ「行っとけ! Ubuntu道場!」に出演させていただきました。道場からおまわりいただいた方、ありがとうございます。影響とかよく把握しているわけではないのですが、ちょっとこのblog記事でひとり反省会開いてみたいと思います。
行っとけ! Ubuntu道場! ― 第53回 ~師範、Ubuntuのヘビーユーザーってどんな感じでしょう?~
Ubuntu の Japanese Team の皆さんとは主に twitter 方面で楽しくバカな発言を繰り返して、道場の記事が公開されたら無茶ぶり tweet を飛ばしつつキャッキャウフフしていたのですが、気がついたらなぜか道場に出演する流れになってしまいました。どうしてこんなことになった感が充満しているような気がしますが、ネタ的に面白いので深く追求はしないことにします。
私としては、あまりネタを狙わずに自然体で臨んだつもりだったのですが、皆様より「濃ゆい」とお褒めのお言葉をいただいて恐縮しているところです。
ufw は感動して以前このblogでも取り上げましたし、分野にもよるんでしょうけど、コンピュータでクリエイティブなことやろうとすると、コード書くためにエディタとか、文章書くためにエディタとか、その裏でコンパイルとか tex 整形するんでターミナルとか、そういったことやるわけですし、最近のマシンは(仮想でも実体でも)CPUたくさん詰んでるので同時にバンバン仕事させることができてハッピーだよねーって日常を吐き出しただけだったりするのですが、その辺が「濃ゆ」いように見えたんでしょうか。
あとこれは避けては通れないのですが「元Solarisユーザ」という紹介のされ方にかなり困惑された方がおらっしゃったようです。どうしても「なぜ宗旨変えしたんですか」的なことになるのは仕方ないのかなと思います。あとデスクトップ画像については収録後ネタ追加でということでリクエストもらってネタ追加という流れだったのですが、昔Solarisでのデスクトップ画像ねたを書いたことを思い出してちょっと再掲してみたいと思います。
いつもどんな環境で作業してるかというと… ~ ハレとケガレの weblog 本店 ( 2007/3/20 )
Solaris のスクリーンショットのネタは 2007 年の画像で何を狙って取ったのか忘れかけましたが、標準で Flash プレイヤーとか StarSuite とか ATOK とか Wnn あたりが入っててスゴイんだぜみたいなことを狙っていたような気がします。音が出ないのは自分でドライバでっちあげて音出るようにしたのでネギまわしの元ネタ動画も再生できるぜとか、vi ではなく emacs の画面が出ているのは IRC チャットの画面出したかったんではないかと思います。
その当時の Linux デスクトップはまだここまでキテる状況ではなかったのですが、今現在の状況をみると、普通に Flash 再生できるようになったというか HTML5 がキつつある状況だし、今のUbuntu なら IRC とか twitter はデスクトップ右上の Me Menu から扱うことができるようになったし、日本語入力の mozc はかなり優秀だし、最新ブラウザの Chrome だってちょっとした手間で導入できるし、オフィススイートが必要なら LibreOffice 導入して使えばいいしということで、少なくとも普段使いの道具としては商用ソフトの黄金打線だった当時のSolaris環境を完全に凌駕している感があります。
もちろんOSの優劣を語るのにデスクトップ環境というのは単なる要素にすぎないし、歳晩期の OpenSolaris でも色々な努力が続けられてきた点や、ZFS、dtrace といった要素や UNIX の本流を担う気概を垣間見ることがあったりしたわけですが、今の体制でそれがあるのかということになるとちょっと厳しすぎる点があるのではないかと率直に思います。
ちなみに方向性が全然ちがうけども今回の記事のターミナルばんばんなスクリーンショットも再掲します。
行っとけ! Ubuntu道場! ― 第53回 ~師範、Ubuntuのヘビーユーザーってどんな感じでしょう?~
こっちは最近の作業環境に近い部分をということを狙ったのですが、ターミナルに出ている文字に秘密にしとかなきゃいけないものが入ってたりするとヤバそうだということで、あたりさわりのなさそうなネタを仕込んだ感じです。
右上のやつとその背後のものはITとは全く無関係のしかも没原稿とそのPDFプレビュー、左上は tex のソースファイルから pdf ファイル生成するまでのやっつけ Makefile、左下は GCJ の練習問題を解くコードを編集している風、右下は Project Euler あたりのやつというネタ構成なはずです。競技プログラミングと非ITな日本語の文章を同時に編集するのはなかなかシュールなのですが、そこはご愛嬌ということにしていただければと思います。実際扱うネタが違うだけでいつものデスクトップっぽい感じではあります。
今後 Ubuntu 道場のネタがどうなっていくのかは誰にも予想できない部分がありますが、私が出ても出なくてもネタの仕込みはぬかりなく進んでいくのではないかと思います。
最後に、道場の収録と記事の間のギャップ、すなわちネタ化がどのくらいなのかということが気になる人がいるのではないかと思いますが、これは
「次は君が出演して確かめよう!」
と華麗に逃げを打っておきたいと思います。自分はまだまだヌルいユーザーなのに「ヘビーユーザー」って看板負けしてるよなーとか思う今日この頃でございました。
2011年12月24日土曜日
Solaris 11 のカーネルソースコードが Bittorrent に流出
流出が発覚したのは、 Phoronix のフォーラムに投稿された書き込みで、Google で "solaris11.tar.bz2" と検索すると 100MB ほどのファイルがヒットし、その内容はカーネルのソースコード(いわいる onnv 相当)だったということのようです。これを受けて投稿されたフォーラムを運営する Phoronix はこのような記事を起こし、Softpedia も追従して記事を書く状況となりました。
この状況について現在は第一報が投稿されたフォーラムと OpenIndiana-Discuss ML で活発な議論が展開されています。流出したソースコードは TRUNKID が 175, zpool のバージョンが 33 だということで確かに先日リリースされた Solaris 11 でのバージョンと一致します。
今回の流出が何を意味するのかを推し量るのかは非常に難しい部分があるのですが、ただひとつ言えることがあるとするならばそれは 「Oracle 公式のソース配布ではない」ということだと思います。単に内部の人間がソースコードを持ちだして Bittorrent に流したのか、Illumos や OpenIndiana といった派生プロジェクトを牽制するためにあえて流出させたのか疑いだすとキリがない状況です。
変に近づかないほうがいい毒饅頭が放たれたということなのかもしれません。
2011年9月25日日曜日
Solaris についての個人的な展望
"I don't care if our commodity x86 business goes to zero,"
"We don't make any money selling those things. We have no interest in selling other people's IP, and commodity x86 includes Intel IP and Microsoft IP."
思い起こせば旧 Sun の製品でコモディティ色のあるものやオープンソース化したものはそれぞれ波乱の時代を迎えています( OpenOffice.org は結局 Apache 財団に、Java では訴訟、Solaris はサーバ志向へ )。
OracleSolaris まわりの展望
そういった事情を踏まえて OracleSolaris がどうなるのかという展望を考えてみたいのですが、現在 OTN ライセンスでプレビュー版ともいえる Solaris 11 EA が提供されて ( 要OTNアカウント ) いますが、対応システムは x86-64 と M もしくは T シリーズの SPARC システムに絞られています。 32bit x86 については Solaris 11 Express からサポートされなくなりましたが、 あらためて Solaris 11 EA を見てみると /kernel 以下の 32bit バイナリが全部粛清されている状況です。
なるほど徹底しているなと感じてユーザランドを見てみると /usr/bin 以下などには相変わらず 32bit のバイナリがそれなりに存在します。
ソースツリーの中でどうなっているのかは憶測するよりほかないのですが、 /kernel 以下のディレクトリ構造が変わっているわけではないので、32bit バイナリが生成されないようにビルドシステムが変更されたのではないかと思います。 これは x86 アーキテクチャの中でもよりコモディティ化している 32bit システムについて戦略的にサポートを落としたということができます。
Solaris 11 EA を見る限りで推測すると、Solaris 11 はリリース当初において x86-64 はサポートされるようですが、中長期的に見た場合には x86-64 もサポートが切られSPARC システム専用になるか、専用のアプライアンスのみサポートするという形になるのではないかと思います。
コミュニティベース Solaris については?
このことはコミュニティベース Solaris にも間接的に影響することで、いわいる「リークメモ」ではOracle Solaris リリース後半年後を目安にソースを公開する方針が謳われていますが、そもそもソースが開示されるのか、開示されたとして SPARC 専用のものになるのではないのかという懸念が考えられます。またライセンス回りについても、Oracle がその気になれば Illumos も OpenIndiana も訴訟でつぶされる可能性を常にはらんでいます。また仮に CDDL ライセンスでパッチなどの貢献を行った場合には Oracle が自身の財産として無制限に使うことができてしまうという問題も生じます。
OpenIndiana ディストリビューションについても同じようなことが言うことができて、 OracleSolaris 互換を目指しているという目標のために、Oracle の動向に足を引っ張られるという事情があります。端的な例は Apache2 についての脆弱性のついての対応で、Bug Ticket が登録されているものの、その内実は
CVE-2011-3192 is a major security problem affecting Apache 2.2. Oracle may have packaged 2.2.21 in Userland or added patches, we should pull this in or update it ourselves.という状況で登録されたままの状態になっています(脆弱性が報告されて何日経過しましたっけ?)。
「OpenSolaris」 という幻想
では、OpenSolaris とはなんだったのかという議論が生じるのですが、あえていえば
Sun が残した最後の花。しかしもうすでに枯れている
ということができるのではないでしょうか。よく言われる OpenSolaris の三要素「ディストリビューション」「コードベース」「コミュニティ」で見ても、「ディストリビューション」はすでに終了、コードベースについても Oracle が持っているものは公開どころか知的所有権として囲い込み、「コミュニティ」に至っては OGB 解散以降再編の動き無しということで、何ひとつ機能していないことになります。
見かけ上 Illumos/OpenIndiana を「OpenSolarisの後継」と位置づける見方もありますが、Oracle が知的所有権の囲い込みで収益をあげる施策をとるかぎり、Illumos/OpenIndiana が OracleSolaris 互換を維持するのは非常に難しいものになると思います。 結局のところ、これから Solaris を追いかけるということは、プロプライエタリ・ソフトウェアの OracleSolaris を追いかけるということにならざるを得ない状況です。端的に言えば
Solaris が Oracle によって closed にされた以上、 OpenSolaris という言葉は概念的にありえない
ということができましょう。Oracle が Sun 買収後に Solaris に対して起こした(そしてコミュニティを無視し続けた)行動はまさにこの Larry の言葉に集約されているといっても過言はないでしょう。私自身 LiveUSB Creator を書いたりしてそれなりにかかわってきましたが主が変わるとここまで変わってしまうという教訓をだったのかもしれません。
再掲しますが、
"I don't care if our commodity x86 business goes to zero,"
"We don't make any money selling those things. We have no interest in selling other people's IP, and commodity x86 includes Intel IP and Microsoft IP."この言葉、Larry の ( そして Oracle の ) 本音なのではないでしょうか。国内にも "OpenSolaris" のユーザグループが存在しますが、そろそろ真面目に身の振り先を考えたほうがよいかもしれません(私のような「不良会員」が言うことではありませんが...) 。さもないと「OpenSolaris は Oracle の商標だけど、もう closed にしたからその名前使わないでくれ」とか言われそうな気がします。
2010年8月24日火曜日
OpenSolaris OGB 総辞職動議可決
この会議に先立って公開された Agenda や各方面の状況を総合すると OGB の解散は不可避な状況にあるのではないかと個人的に感じていましたが、やはりその方向に進んでしまいました。
[ogb-discuss] Motion concerning dissolution of the OGB
http://mail.opensolaris.org/pipermail/ogb-discuss/2010-August/008012.html
( 以下拙訳を掲げます )
今朝のOGBの会議で、Plocher が作成しPhipps が賛同した以下の動議が、全会一致で (悲しいことであるが) 採択された。これにより、現在 OGB のメンバーは誰一人として存在しない状況となりました。決議文後半の部分については、 OpenSolaris 憲章や規約において、 OGB の定員が 3~7 名であり、欠員が生じたり OGB 選挙が 14 か月実施されなかったり OGB そのものへの不信任等といった事態が生じた場合には、Oracle(Sun) が一時的に補填メンバーを指名し、臨時選挙を実施する旨の条項があることを踏まえた形となっています。
-John Plocher
(前) OGB 議長
OGB の解散に関する動議
(Whereas) Oracleは、OGB と共に OpenSolaris の開発とコミュニティの将来について働く連絡役を指名するという要求を無視し続けており、
(Whereas) Oracleは、 2010 年 8 月 13 日に従業員に対して、Oracle と OpenSolaris コミュニティの間の開発パートナーシップを一方的に終結させるというOracleの決定を強いる内容のメールを配布し、
(Whereas) OpenSolaris の開かれた開発 に対して Oracle の継続した支持と参加がない限り、OGB と Sun/Oracle が作ったコミュニティが開かれた Solaris 開発パートナーシップを支持するということは意味をなさなく、
(Whereas) OpenSolaris コードベースの開かれた開発を続けることについての願望と熱狂は明らかにOracleの (述べてきたように、このコミュニティの) 手から離れ、他のコミュニティに渡された。
(決議文) OpenSolaris Govering Board はここに一括して辞任し、OpenSolaris 憲章 1.1 ( および規約 1.3.5 ) の規定により OGB を選任する責務が Oracle に渡ることを示す。
今後、現在と同じ形での OGB や OpenSolaris コミュニティを維持するためには、Oracle が OGB 補填員を指名し、臨時選挙を行い新しい OGB 体制を構築する必要がありますが、現在までの経過を見る限り現在の Oracle がそういった行動をとることは想像できなく、事実上の OGB の解散・解体ということになるかと思われます。また OGB は OpenSolaris の色々なコミュニティを統括してまとめあげる位置づけの組織ですので、残念ながらこの決議は OpenSolaris コミュニティの解体をも意味するのものであると受け取らざるをえない状況となっています。
ここにきて、OpenSolaris を構成するとされている 3 つの要素について
- コードベース - onnv-gate の更新が停止される ( 先のリークメモを裏打ちする内容 )
- ディストリビューション- リークメモによれば OpenSolaris としてのディストリビューションは公開されない
- コミュニティ - OGB 総辞職動議により事実上解体
2009年5月12日火曜日
OpenSolaris Live USB Creator v0.03
相変わらず英語のUIですが、exeファイル一発でインストーラーもレジストリも不要となっておりますので、OpenSolaris に興味があるという方はぜひ genunix.org などの USB イメージと共にお試しください。
OpenSolaris Live USB Creator (Windows/.NET)
今回のバージョンアップの目玉は "USB Stick template" の廃止です。
v0.02では実はMBRやdisklabelといったパーティションやスライスの情報を作る機能は実装されていなく、OpenSolaris実機でfdiskやformatコマンドを使って先頭からパーティション0スライス0の開始位置までを切り出してデータとして用意し、"USB Stick template" の選択に応じて先頭部分のデータを使い分けていました。ですので、あえて言えば「劣化版dd」ということができるかと思います。
HDDなどでは、シリンダ・ヘッダ・セクタといった物理的な構造に合わせてこういった情報を生成するのですが、USBメモリの場合物理的にそういったものがないのと、デバイスが報告するパラメータはさておいて、1シリンダ=4096セクタでパーティション構造を作り、現実的にはLBAでストレージ内の位置を示すようでしたので、「それならばいっそのこと何種類かパターンを作っておいて、適宜使い分ければddもどきでもLiveUSBメモリを作ることができるだろう」というねらいがありました。
そういった意味では非常にインスタントなネタツールというつもりだったのですが、意外にも多くの方に使ってもらい大きな反響を呼ぶことになり、この "USB Stick template" がなぜ必要なのかといった問い合わせももらったこともあり、真面目にてこ入れをしようということで今回のバージョンアップとなりました。
v0.03 では usbcopy スクリプトで実行されている fdisk および format コマンドの中で必要な部分を実装し、USBメモリ全体についてパーティションとスライスを作成し、その後にUSBイメージを書き込む流れになっています。またパーティションを設定するだけではブートできませんので、OpenSolaris で配布されている GRUB の stage1 stage2 のイメージをファイルリソースとして埋め込んでいます。また、"USB Stick template" を廃止したのでその分配布サイズが小さくなるという効果もありました。
今回のバージョンアップでようやく usbcopy スクリプト相当の働きとなってなんとか「ネタツール」から脱却した格好ですが、次のバージョンの構想も固まりつつあります。リリース時期は約束できませんが、近いうちにお見せできるのではないかと思います。
2009年4月11日土曜日
OpenSolaris Live USB Creator (Windows/.NET)
OpenSolaris Live USB Creator (Windows/.NET)

OpenSolaris でブート可能なUSBメモリを作る方法はあるにはあるのですが、そのためにはまずOpenSolarisやSolarisの環境を用意して、その上で usbcopy なるスクリプトを走らせる必要がありました。常にSolarisに囲まれている環境であればそれほど苦にもならないのでしょうけれども、手元にWindowsしかないような方には敷居が高く、今時のUMPCのような光学ドライブをもたないPCではどうにもならない状況でした。
LiveUSBをどうやって作るかという問題は実は OpenSolaris に限ったことではなく、各LinuxディストリビューションやWindowsでもいろいろな工夫をされている分野で、特に Fedora では Fedora LiveUSB Creator というツールが存在します。これと似たようなモノをOpenSolarisでも作れないかというのと、個人的に最近ハマってる EeePC で簡単に作る方法を模索してできたのがこのツールというわけです。今のところUIは英語ですけど、フィーリングで使うことができるのではないでしょうか。
実際の USB イメージは OpenSolaris の 場合 genunix.org から最新スナップショットをダウンロードすることができます。また純粋な OpenSolaris だけでなく、各派生OSの USB イメージも書き込むことができるかと思います。
ということで、OpenSolarisに興味があるけどイマイチ踏み込めないという方はこのツールでLiveUSBを作って体験してみてはいかがでしょうか。
2009年3月19日木曜日
Project Jaris のプレスリリース
そんなJarisなのですが、突如3/10にプレスリリースを発表し、それを受けて/.Jでトピックに採用された模様なのですが、プレスリリースそのものは3/19時点で公式サイトに掲載されておらず、ライセンスについても
ただ今Jarisライセンス改定を行っておりライセンス規定確定次第公開させていただきますのでもうしばらくお待ちいただけますようお願い申し上げます。となっており、万全を期してプレスリリースを発表したとは到底思えない状況となっています。また、プレスリリースにおいても、「2009年03月10日 15時 配信」とされているのにもかかわらず、本文中の公開予定の項目に2008年10月の項目があるというお粗末な状況で、よっぽど急いでプレスリリースを一般ユーザではなく、マスコミ向けに発表したかったのではないかと思われます。その動機についても同じプレスリリースにて書かれているようで、
この部分をアピールしたかったのではないかと思われます。実際のところ、晋遊舎のLinux100%3月号でかなり大きく飛ばし気味に取り上げられていることから、プレスリリースで触れられているのはこの事であろうと思います。
■追記事項
当プロジェクトが評価版を公開している期間中に承諾なしにJarisを調査し3月発行の雑誌に記事掲載されることになっているようです。
当方と致しましては、皆様マスコミ各位におかれましては、公平を期し、発表させて頂くことでお取扱いただく所存でしたが、結果的に残念に思います。今後ともよろしくお願い申し上げます。
ここで問題としたいのは、「Jarisを調査するのに承諾なんてものが必要なのか」ということ、そして「調査するのに承諾が必要なソフトウェアなんて馬鹿馬鹿しいだけなのではないのか」ということです。Jarisそのものについては数ヶ月前から活動されていて、関係者にとっては周知の事実なのにもかかわらず、飛ばし気味に雑誌に掲載されることに目くじらをたてるのはいかがなものかと思います。そんなに嫌なら評価版といえども時期が来るまで公開しなければいいだけの話なのではないでしょうか。ソフトウェアを公開するということ、ましてや「OpenSolaris派生」という看板を背負うことを甘く見すぎていたのではないのかと思います。
プレスリリースを出したことで、ますます後に引けなくなった部分はあろうかと思いますが、同属のOS使いとして今後の奮闘に期待したいところです。さしあたって突如音が出るトップページをなんとかしてもらえないでしょうか?
2008年9月24日水曜日
Solaris の audiohd ドライバが大幅に改良
audiohd ドライバといば、先日紹介したPhenomマシンに搭載されているオンボードサウンドチップのIDT 92HD206について、これを使えるようにするパッチを寄贈したのですが、今回の改良では Codec Parser が実装され、大部分の Intel HD Audio 準拠チップがサポートされることになります。最近のマザーボードやEeePCなどでIntel HD Audio準拠チップが載っているものをよく見かけますので、恩恵を受けるひとは多そうです。ぶっちゃけ私が書いたパッチなどもう用済みです!
ということで、心当たりのある人はいますぐ onnv99 以降へアップデートしましょう! SXCE待ちな人も SXCE99 まであと少しの辛抱ですね。
2008年5月1日木曜日
Solaris Tips on A780GM-A
皆様おひさしぶりです。正直マザーボード特定して Tip もないような気もしますが、ECS A780GM-A で Solaris10 を動かすためのちょっとした Tips を紹介したいと思います。
このマザーボードのオンボードデバイスでSolarisから上手く扱えないものは、オンボードグラフィックのRADEON HD 3200、オンボードサウンドのIDT 92HD206、オンボードGbEのAtheros L1、オンボードHDMI出力といったところなのではないかと思います。この手の作業の常道としてはすでに動作確認がとれているカードなどを接続してしのぎ、その間に新しいデバイスを何とかすることなのですが、おかげさまで現在の手元の環境ではRADEON HD 3200 と IDT 92HD206 が動作しています。
RADEON HD 3200
RADEON 3200 HD は AMD 780G チップセットのグラフィック統合型チップセットなのですが、現在のSXCE(b87)ではこのデバイスを認識しない状況です。とはいっても最新のxf86-video-atiドライバではアクセラレーションが効かない状況ではありますが、動作させることができます。現状では開発環境を整えた上で、gitで最新のソースを取得しコンパイルする必要があります。
また、xf86-video-radeonhd ドライバでは最新の v1.2.1 でも、もう少しのところで動作していないようです。
IDT 92HD206
IDT 92HD206 は ECS A780GM-A のオンボードサウンドデバイスで、Intel HD Audio ( Azalia ) 準拠の codec デバイスです。 Intel HD Audio そのものについては最新の onnvでサポートされているのですが、この 92HD206 チップについては unsupported HD codec と怒られてattachされない状況です。
audiohd ドライバについてはすでに基本的な機能が実装されているので、データシートを参考にこのデバイスを使えるようにデバイス依存部分を書き足し、とりあえず音が鳴る状況までもっていきました。
具体的なコードについてはこちらで公開すると共に、機能拡張リクエスト(RFE)としてOpenSolarisコミュニティにコミットしてみましたので、将来的に92HD206がサポートされる日がくるのではないかと思います。
2008年3月28日金曜日
ついカッとなってPhenomマシン組んでみた
今回はK6II-400Mhzのマシンをリプレース(交換)してみました。新CPUはPhenom9600BEということで、実際のCPU周波数では5.75倍、4コア搭載で 5.75倍のさらに4倍で当社比23倍という訳の分からない状況になっています。
マザーボードは今旬らしいAMD 780Gチップセット搭載のECS製A780GM-A、メモリ2GB、HDDはストックしているものを流用しました。OSは64bitマルチコアCPUのメリットを最大限に活用するために Solaris Express Developer Edition、オンボードのサウンド・ネットワークデバイスは使えるドライバがないことを想定して、先代マシンから移植、VGAは内蔵のものでがんばるという方針です。
OSインストールの前にKNOPPIXを起動して本当にペンギンが4体並ぶのを見たところで、SXDE(b84)インストール、予想通りオンボードのデバイスが微妙に使えてない状況ですがインストールが完了しました。psrinfo コマンドで確認すると
% psrinfo -v -p
The physical processor has 4 virtual processors (0-3)
x86 (AuthenticAMD 100F22 family 16 model 2 step 2 clock 2300 MHz)
AMD Phenom(tm) 9600 Quad-Core Processor
という具合に認識されています。prstat コマンドでみても STATUS の欄に cpu0 ~ cpu3 がそれぞれ割当られている様子が確認できました。
一昔前であればこんな計算機なんてどんなに安くても100万単位のシステム価格ですから、いかにPhenom+780Gの組み合わせが安いのかが分かります。世間では Errataがどうのとか、Hybrid Graphics がとうのとかベンチマークがどうのとか言われていますが、amd64アーキテクチャで一日の長がある Solaris が最適なのではないでしょうか。
次回(?)はそんなPhenomマシンのマザーボード内蔵デバイスを何とかするネタを書いてみたいと思います。
2008年1月22日火曜日
SolarisでMicropolis(OSS版初代SimCity)
ソース公開はOLPCで動かすために働きかけがあったようですが、Python と C++ で移植が進められているOLPC版に加えて、Tcl/Tk版も公開されました。ちなみに"SimCity"を名乗れるのは、本家Electronic Artsの品質チェックを受けたものに限られ、今回ソースが公開されたのものには"Micropolis"と名前が付けられています。
せっかく公開された、この "Micropolis" ですがやはり Solaris でも動かしたいというのが人情。悪戦苦闘しながらコンパイルして、なんとか遊べる状況になりました。

とりあえずコンパイルできることを目標に作業し、なんとかSunStudioコンパイラを使ってamd64バイナリを作ることができたのですが、関数のプロトタイプ宣言があったりなかったり、下の画像のように unsigned なのか signed なのかよくわからない(笑)表記があったりして、コンパイラが大量にWarningを吐き出す状況で苦労させられました。
しかしながら、できたものをちょっと動かしてみるとやはりそれはSimCityそのもので、昔PC-9801で猿のように遊んだ記憶がよみがえりました。
まだ手元で作業しているものは、怪しさてんこ盛りの状況なので公開できないのですが、コンパイルするためのコツとしては- Michael Gernoth(MacOS X 用パッチ作成者)さんのgitレポジトリから最新のスナップショットをとってくる
- コンパイラが出すWarningはとりあえず気にしないけど、念のため最適化は控えめに
