Fedora19でgeditが落ちる問題
シンタックスハイライトの色つきの場所で, ibus使った補完とかするとgtkがSegmentation Faultで落ちる問題が発生してた.
日本語使う時だけkateにしたりして回避してたけど, パッチ が公開されてたのでこれ使うとうまくいく. まだrpmに反映されてないっぽいので我慢ならない人どうぞ.
1. ビルドするディレクトリを確保
mkdir -p ~/rpm
cd ~/rpm
mkdir BUILD RPMS SOURCES SPECS SRPMS
2. SRPM を落としてインストール
cd SRPMS
yumdownloader --source gtk3
rpm -ivh gtk3-3.8.4-1.fc19.src.rpm
3. パッチを保存
cd ../SOURCE
nano gtk+-3.8.4-gettextlayout.patch
# Attachment 248359 のパッチをコピペ
4. spec を編集
cd ..
nano SPECS/gtk3.spec
24行目
Patch0: gtk+-3.8.4-gettextlayout.patch
125行目
%patch0 -p1
5. ビルド&インストール
rpmbuild -ba SPECS/gtk3.spec
rpm -ivh --force RPMS/x86_64/gtk3-3.8.4-1.fc19.x86_64.rpm
プロコン合宿
2週間近く経ってしまいましたが. 3/11〜13 の 3 日間の合宿を開催しました.
北は北海道から南は沖縄まで各地から足を運んでいただき本当にありがとうございました.
Day1
会津大の 3 時間セット. @cos65535 さんと @lyoz さんと組ませていただきました.
A 問題で時間どころか cos さんのリソースまで使ってしまいかなり足を引っ張りました. 申し訳なかったです….
Day2
@WinField95 さんと @denkounezumi さんで阪大の 5 時間セット.
B, D を担当しました. D の goto busters は最初,強連結成分を見つけてどうにかするのかとか考えててハマってしまってひどかった. 結局最後は何度も更新してベルマンフォードみたいな感じになった. 後でよく考えると類題が結構あったのでもうちょっとうまくできればよかったなぁと.
Day3
そして立命の 3 時間セット. C, D を作成して Clar が飛んでこないかビクビクしながら見てました.
C 問題で想定解法の 1 / 3 ぐらいの長さのコードが速攻 AC されて「あっ…」と思わず声を上げてしまった. そりゃぁそうだよなぁ…と.たぶん B より簡単では.
D は立命セットおなじみのアレです.
出,出〜,解法導出容易然実装面倒奴〜
ただこれまでの立命セットの中ではひどくないはず.
終了 3 分前の全完はかなり熱かったです.
問題作成の話
12 月ぐらいに開始して 2 月の時点で 1 問ぐらいしか完成してなくていろいろとやばかった.
前回までは Subversion + pukiwiki + rime で作業していたのですが, 卒業してしまう先輩のサーバに頼るのを止められないかなと思い Dropbox + Sphinx + rime 環境を提案. 結果的に Dropbox が衝突しまくったり生成物まで共有したりでひどかったです.
Sphinx も数式が書けたりHTMLが簡単に吐けたりできるのは良かったけど, 箇条書きの細かいルールやインライン要素がネストできない [1] あたりがちょっと不評でした. AOJ 用テーマがあったらプレビューできて楽かもしれない. wikify の代替で rstfy も作ったけど crontab とかで自動化しないと誰も叩きませんよね. うーん,次問題作成の機会があったらどうしようかな…….
1: 後から思えば raw html を差しこめばできるじゃん.
パーフェクトPythonを読んだ
関数型言語始めようかと思って本屋行ってパーフェクトPython衝動買いした.
— Tsushimaさん (@utisam) 2013年3月15日
な… 何を言ってるのか わからねーと思うが(ry
基本的な文法紹介するだけとかWebアプリに偏ってたりしてなくておもしろそうと思ったので買ってしまった.
1章の概要で特徴とか思想とかが解説されててすごく良い. そういうのって開発言語を選ぶときにとても重要だし.
あと言語仕様も意外と知らなかったところがいろいろ. 特にイミュータブルの intern とか,空のコレクションや len で 0 を返すと偽になるあたりとか. あと関数アノテーションも初めて見た.
メタクラスはまだ必要に迫られたことないよなー. 必要なときって?と思って探すとあるんだけど,そんな状況滅多に無いし.
それに distribute のあたりが解説されてるのはとてもありがたい. もうすぐ置き換わっちゃいそうだけど.
Linuxはデスクトップ環境の2.x依存が解消されたあたりで移行が進むのではと見ているんですが, その頃には packaging とかの少し残念だったあたりも解消されて良い感じになってくれるといいなー.
新デスクトップとディストリと最適化
大学の研究室でデスクトップPC割り当ててもらったので早速Linuxをインストールすることに.
要望としては:
- gnome3系(gnome-shell, Unity, Cinnamon)が簡単に入る
- 長く使いたい(半年とかですぐインストールするの面倒)
- python2.7がメイン
- python3.3がパッケージにある
Gentooを試してみる
2の観点から TLでよく見る某OS を試してみた.
昔ちょっと遊びで入れてみたこともあるし大丈夫だろうと思ってインストール開始. しかしNVIDIAとかRealtekのドライバで苦戦.
そして python3 を入れたら 3.2 が….
うーん、Gentoo、Xを入れるところまで来たけど使い勝手が良くなるイメージがわかない。止めようか迷う。
— Tsushimaさん (@utisam) 2013年2月27日
Fedora
Python3.3とgnome3が良い感じに使えるディストリ…って探すと今はFedoraに落ち着くのか。
— Tsushimaさん (@utisam) 2013年2月27日
デフォルトでGalliumが動くのですごく楽
やっぱり比較的メジャーなディストリは楽で良いなぁ。
— Tsushimaさん (@utisam) 2013年2月27日
一通り必要なものを整えて一応最後に yum -y update っと…
そしてドライバが動かなくなる
なぜかカーネルアップデートからのGallium死亡. NVIDIAから公式ドライバをインストールすることに.
カーネルが新しすぎてチェック時に引っかかるのでコメントアウトして解決.
一通り終わって最後に yum -y update ってしたら nvidia のドライバ動かなくなってしまった.全部やり直しかと思って焦った.
— Tsushimaさん (@utisam) 2013年2月28日
PyCUDAも入って一安心.
そうだ,最適化しよう
Gentooでコンパイルオプションつけてマシンに最適化できるのいいなーと思ったのでfedoraでもやってみた.
:::sh
$ yumdownloader --source zsh
$ rpmdev-extract zsh-5.0.2-1.fc18.src.rpm
$ cd zsh-5.0.2-1.fc18.src
$ tar xvf zsh-5.0.2/
$ cd zsh-5.0.2/
$ patch -p1 < ../いろいろ.patch
$ ./configure --prefix=/usr/ --libdir=/usr/lib64 CFLAGS="-march=native -O3 -pipe"
$ make -j4
$ sudo make install
たぶんrpmbuildとか使ったらパッチ当てるあたりをもっと簡単にできるのかな.
さらにbash, nautilus, gedit等も-march=native -O3で…
zsh, bash, nautilus を-march=native -O3 でコンパイルしてみたけど速くなったかどうかはオカルトの世界か。
— Tsushimaさん (@utisam) 2013年3月3日
体感速度的にはzshの補完が速くなったような気がする.
オーディオマニアに言わせると再生ソフトのコンパイルオプションで音質が変わるとか……
— Tsushimaさん (@utisam) 2013年3月3日
そして調子に乗ってpython2.7をビルドしてインストール.
あ、yum動かなくなった。
— Tsushimaさん (@utisam) 2013年3月3日
はい死んだー
なんとか直せた。Python2.7を自前でビルドすると/usr/lib64/に入ってくれないのでいろいろと死んでしまう。危険。
— Tsushimaさん (@utisam) 2013年3月3日
LiveCDからpython持ってきてなんとか回復.
Fedora 18 を入れてみた
Python3 が 2.7 を超えてきたらしい ので移行したいなと思い,どうせならディストリごと変更してみました.
Ubuntu12.10 は Unity の依存関係だろうと思うけど python3 は 3.2 で python3.3 が別に用意されています. 他にもハードの相性とかが悪くていろいろと使い勝手が悪かった.
Arch は python が既に 3 系に置き換わってるけど,そこまではちょっと行き過ぎかなと思ったので保留 (デスクトップ環境まで整えるの面倒だし).
というわけで Fedora.
Alan Cox 氏 がインストーラが不安定と言っていたのでちょっとビビってましたが結構大丈夫な気がします.日本語表記ちょっとおかしかったけど. それよりも mozc の導入が少し難しかった.インプットメソッドの切り替えが,iBusの設定からGnomeの設定に移動して統一感あるかなと思ったけど,全角・半角キーが何故か効かないので mozc のショートカットキーに On/Off を割り当ててどうにかしました.
あと,今まで Ubuntu が適当に面倒を見てくれていた MP3 とかのコーデック関係とか, シェルに認識されるキーコードが違って(?)今までの zshrc がうまく動かなかったり.
去年あたり Mint を使っていた時は gnome shell が落ちまくって散々な目にあったけど, 今のところそのようなことは無いです.