モブ沢工房

プログラミングとかLinux関連(特にOSSのグラフィックツール関連)とかレトロゲームとか3Dプリンタやら日曜大工等、色々。

新規skylakeマシンを建造しXubuntu 16.04.1をインストール & mayuをコンパイルできた!

Linuxに最新のデバイスは全く良くない… そんなふうに考えていた時期が 僕にもありました

しかしながら、あまりにも32GBメモリが安いのでついつい、まぁ、どうせ将来的にはこれも古くなるんだし…的な発想で。 ASUSのH110M-A M.2とPentium G4500で作ってみました。

今まで使ってたのがCore i5の3470Sという微妙なヤツということもありますが、実際、実家マシンのPentium G2030を使っていて、Pentiumだからおっせーわと思ったことは、ほぼ思い出せないのです。大抵忘れきってる。 つまり、おいらの用途(ネットとお絵かきとライトなプログラミング)では、i5はオーバースペックというわけです。

さらに言えば、まぁなんつーか釈迦や老子の教えに少し従ってみたというか、せめてスペックに対してだけでも、少しづつ無意味な執著を減らしていけたらなぁと…それで、i3よりPentiumを選んでみました。

貼ってみたらなんかG4500の値段が高い感。Amazonのが売り切れてるせいでマーケットプレイスのが出てるようですね。コスパ高くて人気なんですかね?

さすがにまだ新しいためグラフィック周りはデュアルモニタなど現時点では宜しくないとのことなので、HWEを待つというのもなんなので前々から欲しかったNVidiaのGTX750Tiを買ってみました。ツクモ特価で10500円ぐらい。 念願のDisplayportがついたやつなのですが、このDisplayportは4K出来ないので実質あまり意味がないという。

今時950との価格差も詰まってきて750というのも躊躇したのですが、どうも安い950はファンが煩いのばかりのようで時期尚早と判断しました。結構長い人生で、特にパソコン関連では、将来を見据えた購入がろくな結果をもたらした記憶がないのですな。 4Kについてもどうせ、それが主流になる時はインテルオンボードで十分とか、超ローエンドでデスクトップならサクサクになるわけですから。

そういう意味では32GBのDDR4とかもどうなのか?と思わなくもないのですが、まぁこれはいいだろうということで。

信頼のブランドクルーシャルを購入しました。

何よりもまず、memtestでハマる

しかしながら最近はEFIが当たり前だそうで、それでmemtestはEFIではgrub2の起動リストに出ないということを知らず。 memtestが出ないため焦りまくりました。 これは結局のところ、

  1. XubuntuのUSBブートスティックを挿してUEFIセットアップ画面に入る
  2. Boot Menu(F8) を選択してブート選択、この時USBスティックはEFIとそうでないほうがでるので、EFIでないほうの項目を選ぶ。
  3. Failed to load COM32 file menu.c32 みたいなメッセージを出してコケるので、tabキーを押して候補を出してみる。
  4. たしかこのときmemtestがあるはずなので、memtestと入力してやるとmemtestが起動する

というわけでした。個人的に2パスでokということにしているので問題なく通過。6時間かかりました…

Xubuntu 16.04.1 をインストール

ここでもハマりました。普通に起動はしてインストーラーが立ち上がるのですが、mp3のプロプラソフトとかをインストールするかという項目にチェックを入れると、延々そこで止まってしまいます。 後にlameとか入れれば不要なんでここはチェック無しで!

ここでX(U)buntuとは関係ない個人的ハマりを迎える

気分転換でユーザー名を変えてみたんですよ。そしたらもうひどいめにあいました! chown -R で大丈夫だろとか思ったら、設定各所に自分のユーザー名を決め打ちしているので全部書き直しですわ… そしてシンボリックリンクも全部張替え…何か、自動で張り直してくれる方法はあるのでしょうか… 結局、自動張り直しソフトをpythonで自作するという有様です。

最後にmayuがコンパイルできず…しかし!ついにコンパイル

さて、mayuです。これがboost絡みと言う実にどうでもいいところで./configureすらできず… ここはまずこれで回避

 ./configure --with-boost-libdir=/usr/lib/x86_64-linux-gnu/

次にmakeすると以下のようなエラーで止まります

msgstream.h:205:7: error: ‘setp’ was not declared in this scope, and no declarations were found by argument-dependent lookup at the point of instantiation [-fpermissive]
   setp(m_buf, m_buf + SIZE);

ググったら似たようなエラーを出す別のソフトのコンパイルの例があり、それではthisポインタを指定してやればいいと出たのでmsgstream.hの全部のsetpをthis->setpに書き換え。 そうしたらコンパイルが通りました。

なお、確か14.04の時も何かコンパイルが通らなくて書き換えた記憶があるんで、大元のソースからコンパイルするにはいろいろ書き換えないとダメかもですね… たしか、そういう内容の記事を以前書いたような記憶もあるのですが。

正直、OSアップグレードの度にmayuが動かなかったらどうしよう…とビビリ上がっているので、ここまで高機能でなくていいのでわかりやすいソースで自作したいという気持ちがフツフツと湧いてきたり。

あと変えたとこ

相変わらずfcitxのmozcアイコンがでかすぎるので、20x20pxぐらいにリサイズしたもので/usr/share/fcitx/mozc/icon/mozc.pngのショートカットを置き換えました。そうしないと日本語入力のたびにリサイズが毎回入るのでうざくてかなわないのです。

新マシンの感想

以前使っていたi5 3470Sと比べると、グレードダウンになるわけですから多少覚悟はしていたのですが、意に反してなかなかサクサクです。シングルスレッド性能では上回ってるっぽいのでそういうことなんでしょうか?それともメモリの速度が上がったからなのでしょうか? あるいはグラボをプロプラではなくそのままのnuveauドライバで使ってるからでしょうか。 心配していたサウンドもネットも全く問題ありません。昔は、新しいマザボなんぞにLinux入れようもんなら運良く動いても、オンボLANが使えない音が鳴らないは普通でしたけどね…いい時代になりました。

Xubuntuも日本語関連殆ど何もいじってないのですが、何も考えずとも日本語がこうしてバリバリ書けています。恐ろしい時代だ。

気が大きくなって、/tmpにtmpfsなラムディスクを1GB、ブラウザのキャッシュに2GB割り当てるという豪勢過ぎる構成。こういうことが簡単にできるからLinuxはやめられない…

ともかく、大満足の新型ローコストマシンとなりました。(今のところ)