2013-07-15 Mon

boost と scons, mongodb のパッケージをアップデート はてぶ

最近、zone を host server 間で移動させることが多く、
ドキュメントの更新が面倒臭くなってきて、
どの zone がどの host server 上にいるかなどの情報を
自動的に取得したくなっていたところ、
July Tech Festa 2013 ( #techfesta ) で @netmarkjp
LT していた nouka が使えそうなので試してみることに。

- https://bitbucket.org/netmarkjp/nouka
- http://www.slideshare.net/toshiak_netmark/nouka-inventry-manager

nouka は収集した情報を fluentd に投げて、
fluentd から mongodb へ格納しているので、
まずは環境の準備として、
- boost
- scons
- mongodb
の Solaris のパッケージをアップデート。

boost と scons のアップデートはとくに問題なく完了。

mongodb のパッケージは 2.0.6 からのアップデート。
2.4.5 だと configure でひっかかったので、
とりあえず、2.2.5 にアップデート。

ソースからビルドしているけど、Solaris 用のバイナリが用意されているし、
それを適当にパッケージにするのもいいかもしれない。

あと、mongodb の SMF マニフェストを用意していなかったので、
これを書かないといけない。

2013-07-14 Sun

mconnect はてぶ

serverspec の Solaris 10 対応をちょこちょこやっていて、
port の確認に使われている nc (netcat) が標準で入らないということで、
変わりに使えるものがないか探していたところ、
mconnect というものが使えそう。

mconnect は man を見ると

NAME
     mconnect - connect to SMTP mail server socket


ということで、SMTP の接続確認用のコマンド。

mconnect [-p port] [-r] [hostname]


のように接続先ポートを指定でき、

mconnect -p 80 localhost


などとすれば、port 80 で待ち受けている httpd に接続することもできる。

引数なしで mconnect を実行すると以下のようになる。

$ mconnect
connecting to host localhost (127.0.0.1), port 25
connection open
220 localhost.localdomain ESMTP Sendmail 8.14.4+Sun/8.14.4; Sun, 14 Jul 2013 06:17:47 +0900 (JST)
quit                      # 入力
221 2.0.0 localhost.localdomain closing connection


ユーザからの入力待ちになるが、ユーザからの入力を受け付けるのは 1 回のみなので、
ここで smtp のコマンドを叩いてメールを送ったりはできない。

上のままだと入力待ちになってしまうので、serverspec のテストに使えないので、
パイプで quit を送ってみる。

$ echo 'quit' | mconnect ; echo $?
connecting to host localhost (127.0.0.1), port 25
connection open
220 localhost.localdomain ESMTP Sendmail 8.14.4+Sun/8.14.4; Sun, 14 Jul 2013 06:21:18 +0900 (JST)
221 2.0.0 localhost.localdomain closing connection
0


また、使われていない適当なポートを指定して、
接続できない場合は 0 以外の exit status が返ってくることを確認する。

$ echo 'quit' | mconnect -p 9999; echo $?
connecting to host localhost (127.0.0.1), port 9999
connect: Connection refused
255


255 が返ってきているので、テストに使える。

同じように port 80 (http) に接続すると以下のようになる。

$ echo 'quit' | mconnect -p 80; echo $?
connecting to host localhost (127.0.0.1), port 80
connection open
<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 2.0//EN">
<html><head>
<title>501 Method Not Implemented</title>
</head><body>
<h1>Method Not Implemented</h1>
<p>quit to /index.html not supported.<br />
</p>
</body></html>
0


quit なんてメソッドはないって言われるけど、
ポートに接続できているので exit code は 0 が返ってきていて
テスト上は問題ないので気にしない方向で。

2013-06-28 Fri

Solaris Internals - Solaris 10 and OpenSolaris Kernel Architecture (2nd Edition) はてぶ

まだ買っていなかったのでポチった。

Solaris Internals: Solaris 10 and OpenSolaris Kernel Architecture (2nd Edition) [Kindle版]

2013-06-25 Tue

serverspec の Solaris 対応について はてぶ


自分以外に Solaris で serverspec を使いたい人がいるとは思わず、
とりあえず、Oracle Solaris 11 だけを考えて Solaris 対応としてきたけど、
そろそろ Solaris のバージョン違い、
OpenIndiana などのディストリビューションを考えた方がよさげ。

仕事で Solaris 10 な環境もあるし。

Solaris 10 と Oracle Solaris 11 は uname で区別できるとして、
OpenIndiana なんかはどう区別すればいいんだろ。

#jposug のパッケージビルド用に OpenIndiana の環境も作った方がよいし、
環境を作ってみるか。

2013-06-25 Tue

Solaris 上の serversepc で be_installed.with_version はてぶ

@netmarkjp さんが
add feature package installed with version
https://github.com/mizzy/serverspec/pull/164
という pull request を投げていて、
0.6.8 で
"Support with_version chain with be_installed matcher without by chain (But currently supported only on Red Hat family)"
と取り込まれたので、Solaris 対応して pull request を送ってみた
(0.6.10 で取り込まれた)。

https://github.com/mizzy/serverspec/pull/166

Solaris の場合、以下のように、いろいろなバージョンがくっついてくるので、
もっと厳格にチェックした方がいい気はしているけど、とりあえず。

% pkg list -H entire
entire (solaris)                                  0.5.11-0.175.1.8.0.4.0     i--
% pkg list -Hv entire
pkg://solaris/[email protected],5.11-0.175.1.8.0.4.0:20130531T203415Z            i--


2013-06-25 Tue

Solaris 上の serverspec で be_reachable はてぶ

あるホストへの到達性をチェックする be_reachable が
Solaris で動かなかったので Solaris 用のコマンドを書いて
pull request を送った(0.6.9 で取り込まれている)。

be_reachable は
- ping によるチェック
- nc によるポートチェック
の 2 種類のチェックを行なえる

describe host('target.example.jp') do
  # ping
  it { should be_reachable }
  # port
  it { should be_reachable.with( :port => 22, :proto => 'tcp' ) }
end


lib/serverspec/commands/base.rb で

      def check_reachable(host, port, proto, timeout)
        if port.nil?
          "ping -n #{escape(host)} -w #{escape(timeout)} -c 2"
        else
          "nc -vvvvz#{escape(proto[0].chr)} #{escape(host)} #{escape(port)} -w #{escape(timeout)}"
        end
      end


Solaris の ping は '-w' がなく、
'-c' は traffic_class の指定で count ではないので動かない。

nc の方は host と port を最後に書かなくてはいけないので、
'-w #{escape(timeout)} が最後にきている上のものでは動かない。

ということで、lib/serverspec/commands/solaris.rb で以下のように定義してみた。

      def check_reachable(host, port, proto, timeout)
        if port.nil?
          "ping -n #{escape(host)} #{escape(timeout)}"
        else
          "nc -vvvvz#{escape(proto[0].chr)} -w #{escape(timeout)} #{escape(host)} #{escape(port)}"
        end
      end


2013-06-13 Thu

sshd の file descriptor の制限を変更する はてぶ

serverspec が sshd の file descriptor の制限にひっかかった件([2013-06-13-2])の
対応として、sshd の file descriptor の制限を変更する方法を考える。

一番簡単なのは、/lib/svc/method/sshd の start 部分に ulimit を追加する方法。

'start')
        #
        # If host keys don't exist when the service is started, create
        # them; sysidconfig is not run in every situation (such as on
        # the install media).
        #
        create_key $SSHDIR/ssh_host_rsa_key rsa
        create_key $SSHDIR/ssh_host_dsa_key dsa

        ulimit -n 8192
        /usr/lib/ssh/sshd
        ;;


これはお手軽だけど、パッケージの管理下にあるファイルを変更したくない。

@nsloop 先生によると



ということなので、この辺りを調べてみる。

一時的に変更したければ、


contract 経由で PID を調べることで、目的の sshd のプロセスを特定できるのは便利。

2013-06-04 Tue

Oracle Solaris に SmartOS のパッケージは流用できなかった はてぶ

- OpenIndianaにSmartOSのパッケージを流用する | Gehirn News(ゲヒルンニュース)
  http://news.gehirn.jp/dev/309/

を見て、流用しようとは思わないけど、
どんなパッケージがあるかは気になったので、
Oracle Solaris 上に pkgin という zone を作成。

手順にしたがって、pkg_admin rebuild を実行したところ、
下記のようなエラーが。

root@pkgin:/# pkg_admin rebuild
ld.so.1: pkg_admin: fatal: libc.so.1: version 'ILLUMOS_0.1' not found (required by file /opt/local/sbin/pkg_admin)
ld.so.1: pkg_admin: fatal: libc.so.1: open failed: No such file or directory
Killed


libc.so.1 が ILLUMOS の物かチェックしているので、
Oracle Solaris では流用できないということに。

2013-05-29 Wed

pkgbuild での version 指定 はてぶ

自分でビルドしたパッケージ(以下 pkg-A)が新しすぎたので、
古いバージョンに下げたところ、それに依存するパッケージ(以下 pkg-B)によって
version が古いことを理由に reject されインストールできなかった。

http://pkgbuild.sourceforge.net/spec-files.txt の Requires の項目を見ると

When creating IPS packages, by default, pkgbuild automatically
adds a minimum version specification to all dependencies. The
minimum version used is the version of the package currently
installed on the system.

ということで、ビルドしているホスト上にインストールされているバージョンが
minimum version として指定されるらしい。

'>=' で minimun バージョンを指定するか、
'= *' で "any version" と指定をしたほうがよさげ
と思い、指定して rebuild したが、
やっぱり reject される。

ビルド環境にインストールしている pkg-B のバージョンに依存しているようなので、
ビルド環境から pkg-B をアンインストールする。

で、rebuild するが、これでも reject。

pkg-A をビルドした時の pkgbuild のログを眺めると、
pkg-B がローカルにインストールされていない場合、
publisher に見にいっているっぽい。

ということで、pkg-B を pkgrepo remove で publisher から消して
pkg-A を rebuild。

これでインストールできた。

また、Requires なパッケージが
- ローカルにインストールされていない
- publisher にない
場合、生成したパッケージに該当する Requires は適用されないので注意。

必要なパッケージ pkg-A を作って、それから依存するパッケージ pkg-B を作る場合は、
パッケージ pkg-B を作った後にパッケージ pkg-A を rebuild すること。

2013-05-26 Sun

facet を変更して古いバージョンのパッケージをインストールする はてぶ

Solaris 11 で古いバージョンのパッケージをインストールしようとした時などに
以下のように怒られる。

$ sudo pkg update -vn pkg://build2/web/php-53/extension/[email protected],5.11-0.0.175.1.0.0.24.3:20130114T113315Z
Creating Plan (Solver setup): \
pkg update: No matching version of web/php-53/extension/php-memcache can be installed:
  Reject:  pkg://build2/web/php-53/extension/[email protected],5.11-0.0.175.1.0.0.24.3:20130114T113315Z
  Reason:  This version is excluded by installed incorporation pkg://solaris/consolidation/userland/[email protected],5.11-0.175.1.3.0.4.0:20130102T192845Z


user-land-incorporation によってバージョンがロックされているので、
以下のようにロックを外してからインストールすればよい。

まず、facet の確認

$ pkg facet facet.version-lock.web/php-53/extension/php-memcache
FACETS                                               VALUE
facet.version-lock.web/php-53/extension/php-memcache True


version-lock が true になっているので、これを false にしてロックを外す。

$ sudo pkg change-facet facet.version-lock.web/php-53/extension/php-memcache=false
            Packages to update: 1257
     Variants/Facets to change:    1
       Create boot environment:   No
Create backup boot environment:  Yes

PHASE                                          ITEMS
Removing old actions                             1/1
Updating image state                            Done
Creating fast lookup database                   Done
Reading search index                            Done
Building new search index                  1257/1257


これで version-lock が外れたので、バージョンを指定してパッケージを入れ替え。

$ sudo pkg update -v pkg://work-spec/web/php-53/extension/[email protected],5.11-0.11.1:20130123T010822Z
            Packages to update:         1
     Estimated space available: 850.69 GB
Estimated space to be consumed:  40.98 MB
       Create boot environment:        No
Create backup boot environment:       Yes
          Rebuild boot archive:        No

Changed packages:
solaris -> work-spec
  web/php-53/extension/php-memcache
    3.0.6,5.11-0.175.1.0.0.24.0:20120904T174925Z -> 2.2.7,5.11-0.11.1:20130123T010822Z
DOWNLOAD                                PKGS         FILES    XFER (MB)   SPEED
Completed                                1/1           2/2      0.0/0.0  4.7M/s

PHASE                                          ITEMS
Removing old actions                           16/16
Installing new actions                         11/11
Updating modified actions                        4/4
Updating package state database                 Done
Updating package cache                           1/1
Updating image state                            Done
Creating fast lookup database                   Done
Reading search index                            Done
Updating search index                            1/1


古いバージョンを入れるだけでなく、
自分でビルドした新しいバージョンのパッケージのインストールも
同じ方法でいけるはずです。

2013-05-17 Fri

tmux 1.8 の Solaris 上でのビルド はてぶ

tmux 1.8 がでていたので、
jposug のパッケージを 1.7 からアップデートしようとしたところ、
以下のようなエラー。

pkgbuild: DEPDIR=.deps depmode=none /bin/bash ./etc/depcomp \
pkgbuild: /opt/solarisstudio12.3/bin/cc -DPACKAGE_NAME=\"tmux\" -DPACKAGE_TARNAME=\"tmux\" -DPACKAGE_VERSION=\"1.8\" -DPACKAGE_STRING=\"tmux\ 1.8\" -DPACKAGE_BUGREPORT=\"\" -DPACKAGE_URL=\"\" -DPACKAGE=\"tmux\" -DVERSION=\"1.8\" -DSTDC_HEADERS=1 -DHAVE_SYS_TYPES_H=1 -DHAVE_SYS_STAT_H=1 -DHAVE_STDLIB_H=1 -DHAVE_STRING_H=1 -DHAVE_MEMORY_H=1 -DHAVE_STRINGS_H=1 -DHAVE_INTTYPES_H=1 -DHAVE_STDINT_H=1 -DHAVE_UNISTD_H=1 -DHAVE_CURSES_H=1 -DHAVE_DIRENT_H=1 -DHAVE_FCNTL_H=1 -DHAVE_INTTYPES_H=1 -DHAVE_PATHS_H=1 -DHAVE_STDINT_H=1 -DHAVE_SYS_TREE_H=1 -DHAVE_B64_NTOP=1 -DHAVE_LIBXNET=1 -DHAVE_CLOSEFROM=1 -DHAVE_DAEMON=1 -DHAVE_SETENV=1 -DHAVE_STRLCPY=1 -DHAVE_STRLCAT=1 -DHAVE_ASPRINTF=1 -DHAVE_STRCASESTR=1 -DHAVE_STRSEP=1 -DHAVE_DECL_OPTARG=0 -DHAVE_DECL_OPTIND=0 -DHAVE_DECL_OPTRESET=0 -DHAVE_BZERO=1 -DHAVE_DIRFD=1 -DHAVE_SYSCONF=1 -DHAVE___PROGNAME=1 -DHAVE_PROC_PID=1 -I.   -D_XOPEN_SOURCE -D_XOPEN_SOURCE_EXTENDED    -D_XPG4_2 -D__EXTENSIONS__ -D_POSIX_PTHREAD_SEMANTICS  -i -xO4 -xspace -xstrconst -xarch=pentium_pro -mr -xregs=no%frameptr  -I/usr/gnu/include      -erroff=E_EMPTY_DECLARATION -c server-fn.c
pkgbuild: "server-client.c", line 544: undefined symbol: errno
pkgbuild: "server-client.c", line 544: undefined symbol: EINVAL
pkgbuild: cc: acomp failed for server-client.c
pkgbuild: make: *** [server-client.o] Error 2
pkgbuild: make: *** Waiting for unfinished jobs....
pkgbuild: Bad exit status from /var/tmp/pkgbuild-tonaka/pkgbuild-tmp-2.11467 (%build)


で、ググると以下が見つかった

- tmux 1.8 fails to compile on Solaris due to missing header file
  http://comments.gmane.org/gmane.comp.terminal-emulators.tmux.user/4387

Fix:
Include the header file errno.h in the source file server-client.c

ということなので、server-client.c に errno.h を追加する patch を作ってビルド。

--- tmux-1.8.orig/server-client.c     2013-05-17 13:55:53.977004498 +0900
+++ tmux-1.8/server-client.c    2013-05-17 13:56:10.128686261 +0900
@@ -25,6 +25,7 @@
 #include <string.h>
 #include <time.h>
 #include <unistd.h>
+#include <errno.h>

 #include "tmux.h"


関連
- Solaris 上で tmux 1.7 をビルドする [2013-03-09-1]

2013-05-14 Tue

NGROUPS_MAX はてぶ

usermod: WARNING: more than NGROUPS_MAX(16) groups specified.


これはあるユーザが所属するグループが多すぎるというエラー。

http://l-w-i.net/t/solaris/account_003.txt

によると Solaris では /etc/system に

set ngroups_max = 32


のように設定すれば所属するグループを増やせるらしい。

Solaris 11 では ngroups_max の上限は 1024。
http://docs.oracle.com/cd/E26924_01/html/E25892/chapter2-4.html#gjmtw

ある特定のユーザーに 17 以上のグループが割り当てられている場合は、NFS 環境で AUTH_SYS 資格に関する問題が発生する可能性があることに留意してください。

ということなので注意が必要。

各 OS の上限はここにまとまっている
http://www.j3e.de/ngroups.html

2013-04-14 Sun

serverspec にいくつかの matcher を merge してもらった はてぶ

serverspec を Solaris に対応([2013-03-25-1])させてから、
いくつかの matcher を書いて merge してもらったのでメモ。

merge してもらったのは以下の 4 つ。
- be_zfs
- have_svcprop / have_svcprops
- have_ipfilter_rule
- have_ipnat_rule

[ Read More... ]

2013-03-30 Sat

arcstat.pl で l2arc の統計をみる はてぶ

arcstat.pl updated for L2ARC statistics | Mike Harsch's Blog
http://blog.harschsystems.com/2010/09/08/arcstat-pl-updated-for-l2arc-statistics/
mharsch/arcstat · GitHub
https://github.com/mharsch/arcstat

こんな感じで l2arc の情報を表示できる。

$ ./arcstat.pl -f \
read,hits,miss,hit%,l2read,l2hits,l2miss,l2hit%,arcsz,l2size


mharsch/arcstat は zfs:0:arcstats:l2_size の存在を確認して、
l2arc 関連の処理をしているが、
Oracle Solaris 11 以降、kstat の zfs:0:arcstats:l2_size がなくなっているため、
Oracle Solaris 11 以降では l2arc に関する情報がとれない。

この問題に対応した fork は以下の 2 つ

DrOwl/arcstat · GitHub
https://github.com/DrOwl/arcstat

carsonoid/arcstat · GitHub
https://github.com/carsonoid/arcstat

DrOwl / arcstat は l2_size のかわりに l2_hdr_size を使うようにしている。

carsonoid/arcstat は l2_size の確認をつぶしている。

2013-03-25 Mon

serverspec を Solaris に対応させた はてぶ

昨日メモした serverspec [2013-03-24-3] を Solaris に対応させた。

https://github.com/ftnk/serverspec/tree/add-solaris-support

日中に mizzy さんのところ https://github.com/mizzy/serverspec
multi OS 対応が merge されていたので、mizzy さんのところから fork して、
対応させてみた。

とりあえず、以下のような spec を書いて、このあたりが通ることは確認。

pull request をしたことがないので、
ちゃんとした方法かわからないけど、
いちおう、pull request を送っておいた。

(追記)
無事に merge された
https://github.com/mizzy/serverspec/commit/96d4c0f1acf77ce828d920d2cca5ba14524f49ef

Referrer (Inside):
[2013-04-14-1] serverspec にいくつかの matcher を merge してもらった

2013-03-24 Sun

Solaris で Rabbit を動かす はてぶ

[rabbit-shocker:1091] Rabbitを使ったファイルビューアを作りました
http://www.cozmixng.org/~w3ml/index.rb/rabbit-shocker/msg/1091

という話が流れてきたので、
Solaris 上で Rabbit が動く環境を作ってなかったと思い出し、
週末に作業してみた。

とりあえず、必要な gem をインストールすれば動きます。

はまるのは Ruby/poppler くらいかも。

Oracle Solaris 11.1 では poppler は evince に含まれているので、
evince をインストールしておく必要がある。

poppler をビルドする場合は、古いけど 0.12.4 がビルドできる。
poppler 0.15 以降は cairo 1.10.0 以降を必要とするので、
cairo 1.8.10 な Oracle Solaris 11.1 では
cairo のアップデートが必要になって面倒臭い。

Rabbit と必要な gem はパッケージにしているので、
整理したあと #jposug につっこむ。

2013-03-24 Sun

Solaris ZFS Mailing Lists はてぶ

zfs-discuss が以下に移動したので subscribe

http://java.net/projects/solaris-zfs/lists

Java.net のアカウントが必要

2013-03-23 Sat

Oracle Solaris で pycrypto をビルドする はてぶ

#A君 が Shizuoka.py (http://atnd.org/events/38088) で fabric について話すようなので、
fabric のパッケージを作ろうとしたところ、

fabric -> paramiko -> pycrypto


という依存関係のため、pycrypto を作ることに。

いつも通り spec file を作って specbuild すると
src/_fastmath.c で warning がでまくり

pkgbuild: "src/_fastmath.c", line 1652: cannot dereference non-pointer type
pkgbuild: "src/_fastmath.c", line 1653: cannot dereference non-pointer type
pkgbuild: "src/_fastmath.c", line 1654: cannot dereference non-pointer type
pkgbuild: "src/_fastmath.c", line 1655: cannot dereference non-pointer type
pkgbuild: "src/_fastmath.c", line 1661: undefined symbol: X
pkgbuild: "src/_fastmath.c", line 1662: undefined symbol: X


というところで止まる。

ググると、
- an enthusiastic austrian solaris user: Compiling pycrypto 2.3 and paramiko 1.7.7.1 on OpenIndiana/Solaris
http://ewaldertl.blogspot.jp/2011/06/compiling-pycrypto-23-and-paramiko-1771.html

というのが見つかったので、これにしたがって、_fastmath.c を書き換え。

--- src/_fastmath.c.orig        2013年  3月 23日 (土)
+++ src/_fastmath.c     2013年  3月 23日 (土)
@@ -33,7 +33,7 @@
#include <longintrepr.h>                               /* for conversions */
#include "config.h"
#if HAVE_LIBGMP
-# include <gmp.h>
+# include <gmp/gmp.h>
#elif HAVE_LIBMPIR
# include <mpir.h>
#else


これでビルドできた。

動作確認は fabric の使い方を確認しつつやるつもり。

2013-03-22 Fri

古い BE (Boot Environment) を削除する はてぶ

古い be (Boot Environment) を削除するいくつかのパターン。

環境は Oracle Solaris 11.1。

1. beadm destroy

基本的な方法で、man beadm にあるように、

beadm destroy beName


すればよい。

2. BE が zfs clone の元になっている場合

削除したい BE が zfs clone の元になっている場合、
依存している BE (ZFS?) が存在するため、
beadm destroy で削除できない
(なんて言われるかメモしていなかったので、あとで確認する)。

この場合、zfs promote で現在起動している BE にでも clone 元を移行すればよい。

zfs promote clone-filesystem


なので、現在起動している BE が solaris-2 という名前だったら、

zfs promte rpool/ROOT/solaris-2


とすればよい。
rpool/ROOT/solaris-2 以下があれば、それに対しても zfs promote を実行する。

これで、zfs clone 元が現在起動している BE に移るので、
それ以外の BE は削除できるはず
(BE の zfs clone の関係がこれ以外のパターンがあるか未確認)。

3. Active が !R となっている Zone の BE を削除する

Oracle Solaris に SRU をあて、古い BE を削除していくと、
Zone の BE が以下のような状態になる。

$ beadm list
BE                      Active Mountpoint Space   Policy Created
--                      ------ ---------- -----   ------ -------
solaris-1               !R     -          190.92M static 2012-11-22 12:10
solaris-2               NR     /          15.27G  static 2012-12-22 13:13


この solaris-1 を削除しようとすると以下のようになり、削除できない。

% sudo beadm destroy solaris-1
Are you sure you want to destroy solaris-1?  This action cannot be undone(y/[n]): y
be_destroy: Operation not supported on active unbootable BE
Unable to destroy solaris-1.
Operation not supported for zone BE


この場合、正しい方法かはわからないが、

zfs destroy -r rpool/ROOT/solaris-1


すると、beadm list の一覧から消える。

2013-03-09 Sat

Solaris 上で tmux 1.7 をビルドする はてぶ

縦分割が欲しかったので、tmux を使ってみようと、
SFE の spec でビルドしてみた。

1.5 なら SFE の spec でビルドできるが、
1.7 ではビルドできない。

ググったら以下のサイトを見つけたので、
ここの patch を利用。

- Compile tmux on Solaris 10 / Solaris 11 | s!mplex
  http://simplex.swordsaint.net/?p=103

これでビルドできたので、#jposug にコミットしておいた。

Referrer (Inside):
[2013-05-17-1] tmux 1.8 の Solaris 上でのビルド
ChangeLog 最新ページ / カテゴリ最新ページ / 前ページ 1 2 3 4 5 6 / page 3 (6)