2015年7月アーカイブ

最近の出来事

procps-ng は PREFIX=/usr とすると /usr/usr/bin にps以外をインストールしに行く変態だった。Linux From Scratch間違ってね?

gdbはなぜaarch64のcpsrレジスタを32bit扱いするのだろう。Linuxはkgdbでcpsrを64bit扱いするので、最新のLinuxとgdbはつながらない。 → bdc144174bcb11e808b4e73089b850cf9620a7ee

configure の --disable-rpathはうまく働かない模様。世界中のいろんなところでみんな文句垂れている。

rpath/rpath問題(DT_RPATHとDT_RUNPATH)は根が深く、仕様がドキュメント化されてなかったりlibtoolのバグがあったりld.soのDT_RPATHとDT_RUNPATHの扱いが微妙に違ったりしてうざいからオレがルールだ、ってDebian Wikiに専用ページができるくらいだった。DT_RPATH,DT_RUNPATHを作るのはリンカの仕事だったり、リンカにオプション渡すのは開発者の責任だったり、オプション渡しを楽にしてくれるはずのlibtoolにバグがあったり、libtoolはautomakeで自動生成することが多いのでlibtool単体バージョンアップされにくかったり、DT_RPATH,DT_RUNPATHを解釈するのはld.soだったり、と責任と役割の分担がさらに問題を根深くしている。そしてユーザは結局chrpath(1)を使って解決したり。

util-linuxはmountをinstallするときにファイルのsetuidビットを立てる。なのでownerが間違ってると実行時に昇格ならぬ降格が起こり予測不能の挙動をする。libmount.soがないとか怒られたり、./mountだと動かないのに./ld.so mountとすると動くという謎の挙動に泣いたりして、ld.soのデバッグをし出してしまい丸一日以上棒に振るワナに落ちる。Cross-Compiled Linux From Scratchに書いてある通り、クロス環境なら configure で --disable-makeinstall-chown --disable-makeinstall-setuid はセットで使うべき。

このアーカイブについて

このページには、2015年7月に書かれたブログ記事が新しい順に公開されています。

前のアーカイブは2015年6月です。

次のアーカイブは2015年9月です。

最近のコンテンツはインデックスページで見られます。過去に書かれたものはアーカイブのページで見られます。

月別 アーカイブ

ウェブページ

Powered by Movable Type 7.9.0