Windows10にgnupackを導入してEmacsを使っているが、Diredを開こうとする(C-x d)と 「Doing vfork: resource temporarily unavailable」というエラーが出る症状に見舞われた。
ググると下記の記事を発見したので試して見ようと思ったが、記事に記載されているstartup_rebaseallが無い!
gnupack EmacsのDoing Vfork: resource temporarily unavailableを解決する
rebaseallについて再び調べてみると、gnupackの開発者のメモをはけーん!
これによると「Can't fork」問題などに対処するツールがgnupack 13.00-2015.05.02 リリースにバンドルされているらしい。
- cygwinトラブル対応のユーティリティツールをバンドル
- 「Can't fork」問題などでよく使われる「rebaseall」「peflagsall」、権限設定の変更に使われる「takeown」「icacls」を実行するためのユーティリティツールをバンドルしました。
ユーティリティツールの使い方も掲載されている。
ユーティリティ ツールの使い方
今回追加したユーティリティ ツールは以下の3つです。実行する際には、gnupackに関連するすべてのプログラム、プロセスを終了してから一つずつ実行してください。処理は環境によっては数分かかる可能性があるので、注意してください。
- run_rebaseall.exe
startup_config.ini中の [run_rebaseall.exe] Cmdline_Imageに記載されているパスに対して rebaseallを行います。デフォルトでは、「/app/cygwin」「/home」を指定しています。ロジック本体は /app/script/run_rebaseall.shに実装しています。
- run_peflagsall.exe
- run_rebaseall.exeと基本的な動作は同じで、peflagsallを行います。ロジック本体は /app/script/run_peflagsall.shに実装しています。
- run_takeown_icacls.exe
- cygwin関連ファイルの所有者権限、アクセス権限を修正します。ツールを実行すると、所有者はログインユーザ、アクセス権限はフルコントロールに設定します。対象のフォルダは /app/cygwin配下すべてになります。
それぞれ1つずつ試してみたが症状は変わらず。 念のため「管理者として実行」してもみたがダメだった。。。と思いきや、いつの間にか治っていた。
思い当たる節としては、再起動したくらいだろうか。 もし、同じ症状が出ているならお試しあれ。
環境:
- OS:Windows10(32bit)
- gnupack:gnupack_devel-13.06-2015.11.08
- gnupack同梱のEmacsバージョン:GNU Emacs 24.5.1 (i686-pc-cygwin) of 2015-11-08 on gnupack