たまに18歳未満の人や心臓の弱い人にはお勧めできない情報が含まれることもあるかもしれない、甘くなくて酸っぱくてしょっぱいチラシの裏。RSSによる簡単な更新情報を利用したりすると、ハッピーになるかも知れませんしそうでないかも知れません。
の動向はもえじら組ブログで。
宣伝。日経LinuxにてLinuxの基礎?を紹介する漫画「シス管系女子」を連載させていただいています。 以下の特設サイトにて、単行本まんがでわかるLinux シス管系女子の試し読みが可能!
しばらくぶりに帰宅して、さあ外出先で行った開発の結果を取ってきましょうと思ってgit pullしようとしたら、bashが起動しなくなってた。
背景を説明すると、僕は自宅ではWindowsを使ってて、Gitを使った開発にはTortoiseGitとmsysGitの組み合わせを使用しているのですが、普段は全然普通に使えてるのに今日になって急にそれが動かなくなってたという状況でした。どうもTortoiseGitが内部的に呼び出してるCygwinのbashが動いてないようで、bash単体で起動しようとしてもこんな風なエラーが出てしまってすぐにプロセスが落ちてしまいます。
0 [main] us 0 init_cheap: VirtualAlloc pointer is null, Win32 error 487 AllocationBase 0x0, BaseAddress 0x68540000, RegionSize 0x70000, State 0x10000 C:\Program Files\Git\bin\bash.exe: *** Couldn't reserve space for cygwin's heap, Win32 error 0
で、エラーメッセージを頼りに何か情報が無いかとGoogle先生に聞いてみた所、同じようなエラーが起こって困ってる人が結構いるみたいだったんですが、そこで紹介されてた以下の2つの対処法は僕の環境では効果がありませんでした。
諦めずにさらに探してたら、MSYSの謎のエラー - メモ@wantoraというエントリで紹介されてた方法でうまくいきました。
>cd "c:\program files\git\bin" >rebase -b 0x30000000 msys-1.0.dll
rebaseというのはひょっとしたら普通は入ってないかもしれません。自分はFirefoxのビルドのためにWindows SDKというのを入れてましたが、それに付いてきてたのかもしれません。リンク先のエントリによるとWindows SDK for Windows Server 2008 and .NET Framework 3.5を入れると付いてくるようです。
rebaseってなんやねん、git rebaseとは違うのか、と思って検索してみたら以下のような記事が出てきましたが、読んでもよくわかりませんでした。
Windows Vista以降では C:\Users\ユーザ名 が、Windows XPでは C:\Documents and Settings\ユーザ名 がホームなんだけど、Cygwinをインストールした時に作られるショートカットから起動したbashでは、ホームが別の位置になってる。Cygwinインストール先のCygwin.batを編集すると、この問題を解消できるようだ。
@echo off
C:
chdir C:\cygwin\bin
set HOME=C:\Users\%USERNAME%
bash --login -i
うちの環境だとこんなん(C:\cygwin以下にCygwinが入ってる)。%USERNAME%
と書いておけば現在のユーザのホームディレクトリが勝手に選ばれる。
Windows Vista以降では C:\Users\ユーザ名 が、Windows XPでは C:\Documents and Settings\ユーザ名 がホームなんだけど、Cygwinをインストールした時に作られるショートカットから起動したbashでは、ホームが別の位置になってる。Cygwinインストール先のCygwin.batを編集すると、この問題を解消できるようだ。
@echo off
C:
chdir C:\cygwin\bin
set HOME=C:\Users\%USERNAME%
bash --login -i
うちの環境だとこんなん(C:\cygwin以下にCygwinが入ってる)。%USERNAME%
と書いておけば現在のユーザのホームディレクトリが勝手に選ばれる。
Windows Vista以降では C:\Users\ユーザ名 が、Windows XPでは C:\Documents and Settings\ユーザ名 がホームなんだけど、Cygwinをインストールした時に作られるショートカットから起動したbashでは、ホームが別の位置になってる。Cygwinインストール先のCygwin.batを編集すると、この問題を解消できるようだ。
@echo off
C:
chdir C:\cygwin\bin
set HOME=C:\Users\%USERNAME%
bash --login -i
うちの環境だとこんなん(C:\cygwin以下にCygwinが入ってる)。%USERNAME%
と書いておけば現在のユーザのホームディレクトリが勝手に選ばれる。
Windows Vista以降では C:\Users\ユーザ名 が、Windows XPでは C:\Documents and Settings\ユーザ名 がホームなんだけど、Cygwinをインストールした時に作られるショートカットから起動したbashでは、ホームが別の位置になってる。Cygwinインストール先のCygwin.batを編集すると、この問題を解消できるようだ。
@echo off
C:
chdir C:\cygwin\bin
set HOME=C:\Users\%USERNAME%
bash --login -i
うちの環境だとこんなん(C:\cygwin以下にCygwinが入ってる)。%USERNAME%
と書いておけば現在のユーザのホームディレクトリが勝手に選ばれる。
Windows Vista以降では C:\Users\ユーザ名 が、Windows XPでは C:\Documents and Settings\ユーザ名 がホームなんだけど、Cygwinをインストールした時に作られるショートカットから起動したbashでは、ホームが別の位置になってる。Cygwinインストール先のCygwin.batを編集すると、この問題を解消できるようだ。
@echo off
C:
chdir C:\cygwin\bin
set HOME=C:\Users\%USERNAME%
bash --login -i
うちの環境だとこんなん(C:\cygwin以下にCygwinが入ってる)。%USERNAME%
と書いておけば現在のユーザのホームディレクトリが勝手に選ばれる。
Windows Vista以降では C:\Users\ユーザ名 が、Windows XPでは C:\Documents and Settings\ユーザ名 がホームなんだけど、Cygwinをインストールした時に作られるショートカットから起動したbashでは、ホームが別の位置になってる。Cygwinインストール先のCygwin.batを編集すると、この問題を解消できるようだ。
@echo off
C:
chdir C:\cygwin\bin
set HOME=C:\Users\%USERNAME%
bash --login -i
うちの環境だとこんなん(C:\cygwin以下にCygwinが入ってる)。%USERNAME%
と書いておけば現在のユーザのホームディレクトリが勝手に選ばれる。
Windows Vista以降では C:\Users\ユーザ名 が、Windows XPでは C:\Documents and Settings\ユーザ名 がホームなんだけど、Cygwinをインストールした時に作られるショートカットから起動したbashでは、ホームが別の位置になってる。Cygwinインストール先のCygwin.batを編集すると、この問題を解消できるようだ。
@echo off
C:
chdir C:\cygwin\bin
set HOME=C:\Users\%USERNAME%
bash --login -i
うちの環境だとこんなん(C:\cygwin以下にCygwinが入ってる)。%USERNAME%
と書いておけば現在のユーザのホームディレクトリが勝手に選ばれる。
Windows Vista以降では C:\Users\ユーザ名 が、Windows XPでは C:\Documents and Settings\ユーザ名 がホームなんだけど、Cygwinをインストールした時に作られるショートカットから起動したbashでは、ホームが別の位置になってる。Cygwinインストール先のCygwin.batを編集すると、この問題を解消できるようだ。
@echo off
C:
chdir C:\cygwin\bin
set HOME=C:\Users\%USERNAME%
bash --login -i
うちの環境だとこんなん(C:\cygwin以下にCygwinが入ってる)。%USERNAME%
と書いておけば現在のユーザのホームディレクトリが勝手に選ばれる。
Windows Vista以降では C:\Users\ユーザ名 が、Windows XPでは C:\Documents and Settings\ユーザ名 がホームなんだけど、Cygwinをインストールした時に作られるショートカットから起動したbashでは、ホームが別の位置になってる。Cygwinインストール先のCygwin.batを編集すると、この問題を解消できるようだ。
@echo off
C:
chdir C:\cygwin\bin
set HOME=C:\Users\%USERNAME%
bash --login -i
うちの環境だとこんなん(C:\cygwin以下にCygwinが入ってる)。%USERNAME%
と書いておけば現在のユーザのホームディレクトリが勝手に選ばれる。