読者です 読者をやめる 読者になる 読者になる

Homebrew で Leopard に Subversion を入れる

Leopard 10.5.8 上の Homebrew で Subversion を入れようとしたら、 OpenSSL まわりで失敗した。

最終的に

--- /usr/local/Library/Formula/subversion.rb.orig       2011-05-01 12:39:47.000000000 +0900
+++ /usr/local/Library/Formula/subversion.rb    2011-05-01 12:39:58.000000000 +0900
@@ -69,6 +69,9 @@
   end

   def install
+    ENV.append "LDFLAGS", "-L/usr/local/Cellar/openssl/0.9.8o/lib"
+    ENV.append "CPPFLAGS", "-I/usr/local/Cellar/openssl/0.9.8o/include"
+
     if build_java?
       unless build_universal?
         opoo "A non-Universal Java build was requested."

これで通した。 CPPFLAGS いるのかな。やや適当。

上記が示す通り、先に Homebrew の OpenSSL を入れてある。


なお、以下では解決に至らなかった。

$ export LDFLAGS=-L/usr/local/Cellar/openssl/0.9.8o/lib CPPFLAGS=-I/usr/local/Cellar/openssl/0.9.8o/include
$ brew install subversion
$ brew link openssl
$ brew install subversion


失敗した際のエラーは以下の通り。

/private/tmp/homebrew-subversion-1.6.16-YZWY/subversion-1.6.16/apr/libtool --silent --tag=CC --mode=link /usr/bin/cc  -rpath /usr/local/Cellar/subversion/1.6.16/lib -o libserf-0.la buckets/aggregate_buckets.lo buckets/request_buckets.lo context.lo buckets/buckets.lo buckets/simple_buckets.lo buckets/file_buckets.lo buckets/mmap_buckets.lo buckets/socket_buckets.lo buckets/response_buckets.lo buckets/headers_buckets.lo buckets/allocator.lo buckets/dechunk_buckets.lo buckets/deflate_buckets.lo buckets/limit_buckets.lo buckets/ssl_buckets.lo buckets/barrier_buckets.lo buckets/chunk_buckets.lo buckets/bwtp_buckets.lo incoming.lo outgoing.lo auth/auth.lo auth/auth_basic.lo auth/auth_digest.lo auth/auth_kerb.lo auth/auth_kerb_gss.lo /private/tmp/homebrew-subversion-1.6.16-YZWY/subversion-1.6.16/apr-util/libaprutil-1.la     -lexpat -liconv /private/tmp/homebrew-subversion-1.6.16-YZWY/subversion-1.6.16/apr/libapr-1.la -lpthread -lz -lssl -lcrypto
ranlib: file: .libs/libserf-0.a(auth_kerb.o) has no symbols
ranlib: file: .libs/libserf-0.a(auth_kerb_gss.o) has no symbols
ranlib: file: .libs/libserf-0.a(auth_kerb.o) has no symbols
ranlib: file: .libs/libserf-0.a(auth_kerb_gss.o) has no symbols
/private/tmp/homebrew-subversion-1.6.16-YZWY/subversion-1.6.16/apr/libtool --silent --tag=CC --mode=link /usr/bin/cc  -static -o test/serf_get libserf-0.la test/serf_get.lo /private/tmp/homebrew-subversion-1.6.16-YZWY/subversion-1.6.16/apr-util/libaprutil-1.la     -lexpat -liconv /private/tmp/homebrew-subversion-1.6.16-YZWY/subversion-1.6.16/apr/libapr-1.la -lpthread -lz -lssl -lcrypto
Undefined symbols:
  "_BIO_set_flags", referenced from:
      _bio_bucket_read in libserf-0.a(ssl_buckets.o)
      _bio_file_read in libserf-0.a(ssl_buckets.o)
      _bio_file_gets in libserf-0.a(ssl_buckets.o)
  "_BIO_clear_flags", referenced from:
      _bio_bucket_read in libserf-0.a(ssl_buckets.o)
      _bio_bucket_write in libserf-0.a(ssl_buckets.o)
      _bio_file_read in libserf-0.a(ssl_buckets.o)
      _bio_file_write in libserf-0.a(ssl_buckets.o)
      _bio_file_gets in libserf-0.a(ssl_buckets.o)
  "_SSL_CTX_set_client_cert_cb", referenced from:
      _ssl_init_context in libserf-0.a(ssl_buckets.o)
  "_BIO_test_flags", referenced from:
      _ssl_encrypt in libserf-0.a(ssl_buckets.o)
      _ssl_encrypt in libserf-0.a(ssl_buckets.o)
ld: symbol(s) not found
collect2: ld returned 1 exit status
make[1]: *** [test/serf_get] Error 1
make: *** [external-all] Error 1
make: *** Waiting for unfinished jobs....
Error: #<BuildError: Failed executing: make >
/usr/local/Library/Homebrew/formula.rb:469:in `system'
/usr/local/Library/Formula/subversion.rb:112:in `install'
/usr/local/Library/Homebrew/install.rb:92:in `install'
/usr/local/Library/Homebrew/formula.rb:246:in `brew'
/usr/local/Library/Homebrew/formula.rb:530:in `stage'
/usr/local/Library/Homebrew/formula.rb:489:in `mktemp'
/usr/local/Library/Homebrew/formula.rb:528:in `stage'
/usr/local/Library/Homebrew/formula.rb:241:in `brew'
/usr/local/Library/Homebrew/install.rb:70:in `install'
/usr/local/Library/Homebrew/install.rb:34
/usr/local/Library/Formula/subversion.rb:159
==> Rescuing build...
When you exit this shell Homebrew will attempt to finalise the installation.
If nothing is installed or the shell exits with a non-zero error code,
Homebrew will abort. The installation prefix is:
/usr/local/Cellar/subversion/1.6.16

Snow Leopard は 3.3k JPY しかしないのだし、 Snow Leopard でないと動かないものも多くなってきたので、Lion 入り Mac 待ちなんて嘯いてないで、Snow Leopard を買ってきた方が利口かもしれない。

Wanderlust on Emacs 24

久し振りに git pull して Emacs 24 を更新したら ssl.el が動かなくなっていた。

以前まで

!! File ssl uses old-style backquotes !!

と表示されつつも使えていたのが、いよいよ phase out した模様。

何とかしないと WanderlustGmail IMAP が読めない。

ssl.el に手を入れても良かったのだけど、 d:id:buzztaiki:20090715:1247619151 の方法が手軽だったので導入することにした。

diff --git a/wl/init.el b/wl/init.el
index 9a22643..c41d5fd 100644
--- a/wl/init.el
+++ b/wl/init.el
@@ -15,12 +15,16 @@
 ;;; [[ Server Setting ]]
 ;; for Gmail.
 
+;; http://d.hatena.ne.jp/buzztaiki/20090715/1247619151
+(require 'tls)
+(set-alist 'elmo-network-stream-type-alist "!opentls" '(opentls nil open-tls-stream))
+
 ;; IMAP settings.
 (setq elmo-imap4-default-server "imap.gmail.com"
       elmo-imap4-default-user user-mail-address
       elmo-imap4-default-authenticate-type 'clear
       elmo-imap4-default-port '993
-      elmo-imap4-default-stream-type 'ssl)
+      elmo-imap4-default-stream-type 'opentls)

さようなら ssl.el & ありがとう id:buzztaiki :)

日記

書きたいときに書きたいものを書ける人になりたいなあ。

「自分を検閲するのをやめなさい」

って誰の言葉だったかな。

CHORUSPICEレコ発Special Live 2010 in 札幌

彼女と choruspice のライブに行ってきた。

聴いていて幸せな気分になれる曲ばかりで行って良かったってしみじみ思った。

彼女も「ほんと良かった。誘ってくれてありがとう」って言ってくれた。

「Dear 母上」を歌っているときshin が感極まって歌えなくなったりして、ぼくももらい泣きしそうだった。

なにせぼくは今回、 shin のお母さまからライブに誘われたのであって、お母さまの人となりをそれなりに存じ上げているわけで……

shin にとってのお母さまの大切さと慕う気持ちが響くくらいに伝わってきて。

「彼女が息子にこう想ってもらえるような家庭にしたいなあ」なんて思ってしまった。

そして「息子がそう思ってくれるような家庭を目指すなら、ぼく自身もっと母親を大切に想う気持ちがないとな」と、遠回りで辿り着いて苦笑いして。

そんなことをあとで彼女に話したら「(結婚もしてないのに)まだ早いよ。」って笑われたけど。

次に聴けるのはいつになるかなあ。



いま musjc.jp で期間限定無料着うた配信してるので、聴いてくれると嬉しいです。

<無料コーナー>
1)music.jp取り放題TOP
2)ショートカット9番の無料を選択
3)無料コーナーTOP
★無料コーナーでは好評発売中の「CHORUSTYLE」から3曲
無料着うた(R)配信!
1)Love is here(期間限定無料)
2)EARTHLY PARADISE(期間限定無料)
3)僕らの道(期間限定無料)

choruspice

CD は amazon で買えます。

CHORUSTYLE

CHORUSTYLE

3 曲目に「Dear 母上」入ってます。

あるバージョン以上の Zsh か調べる

@elim % autoload -Uz is-at-least % is-at-least 3.1.6-15 && setopt NO_GLOBAL_RCS みたいな感じでできるよ #zsh

http://twitter.com/mollifier/status/11198525405

ありがとう @mollifier !!

というわけで以下は obsoleっっte.

function zsh-greater-version-p() {
  if [[ "$#" -eq 0 ]]; then
    echo Usage: zsh-grater-version-p MINIMUM_VERSION
    return 1
  fi

  local tmp zsh_version minimum_version
  tmp="$(echo $ZSH_VERSION|sed -e 's/\./ /g')"; zsh_version=(${(z)tmp})
  tmp="$(echo ${1}|sed -e 's/\./ /g')";  minimum_version=(${(z)tmp})

  if [[ ${#zsh_version} -eq ${#minimum_version} ]]; then
    local length
    length=${#zsh_version}

    for i in {1..${length}}; do
      if [[ ${${zsh_version}[$i]} -gt ${${minimum_version}[$i]} ]]; then
        return 0
      elif [[ ${${zsh_version}[$i]} -lt ${${minimum_version}[$i]} ]]; then
        return 1
      fi
    done
  fi
}
$ echo $ZSH_VERSION
4.3.10
$ if zsh-greater-version-p 4.3.9; then echo true;else echo false;fi
true
$ if zsh-greater-version-p 4.3.10; then echo true;else echo false;fi
true
$ if zsh-greater-version-p 4.3.11; then echo true;else echo false;fi
false

これも力技。

vcs_info が実装されていたら使う

for p in $fpath; do
  if [[ -e ${p}/vcs_info ]]; then
    autoload -Uz vcs_info

    zstyle ':vcs_info:*' enable git svn hg bzr
    zstyle ':vcs_info:bzr:*' use-simple true
    zstyle ':vcs_info:(svn|bzr):*' branchformat '%b:r%r'
    zstyle ':vcs_info:*' formats ' [%b]'
    zstyle ':vcs_info:*' actionformats ' [%b|%a]'

    precmd () {
      psvar=()
      LANG=en_US.UTF-8 vcs_info
      [[ -n "$vcs_info_msg_0_" ]] && psvar[1]="$vcs_info_msg_0_"
    }
  fi
done

力技。