slime + swank-clojureではまった
『プログラミング Clojure』を買った。
slimeが使えるらしいので環境を構築しようとしたら結構はまったので備忘をかねて記載。
基本的には
http://riddell.us/tutorial/slime_swank/slime_swank.html
ここにあるとおりに進めていけば良かったのだがいざM-x slimeすると
Clojure 1.0.0- user=> nil user=> user=> "2010-01-28" user=> user=> Connection opened on local port 57111 #<ServerSocket ServerSocket[addr=0.0.0.0/0.0.0.0,port=0,localport=57111]> user=> user=>
こんな感じでどうも接続できていない。
google先生に聞きつつバージョンを変えたりいろいろ試行錯誤してみたが、うまくいかず。
で、最後にたどり着いたのがこれ。
Yes, it was because Debian netbase package had an issue. It by default listens on an IPv6 address.The solution is to do either of the following:
1. open /etc/sysctl.d/bindv6only.conf and make net.ipv6.bindv6only=0
2. Start Java with -Djava.net.preferIPv4Stack=trueEither of this will work fine
書いてあるとおりに/etc/sysctl.d/bindv6only.confを書き換え。
あと.emacsに
(setq swank-clojure-extra-vm-args (list "-Djava.net.preferIPv4Stack=true"))
を書いたらなんとか動き出した。