ラベル Linux の投稿を表示しています。 すべての投稿を表示
ラベル Linux の投稿を表示しています。 すべての投稿を表示

2016年10月17日月曜日

Logstash+Elasticsearch+Kibinaで自宅への不正アクセス状況を可視化してみる

Elasticが流行り始めて久しいですが、自分も使ってみたい。
と言っても、よくあるようなsyslogの監視とかTwitterの解析とかつまらないので
あまり他にやっていないものを読み込ませようと思いました。

と言うことで、勉強にもなるかと思い、サイバー攻撃関連のデータを可視化してみようと思います。
自宅にFWとかProxyとかあれば、それぞれのログを突っ込んでみたいけど、そんな大層なことはやっていないので、外と繋がっている普通の無線LANルータにあるアクセスログを取り込もうと思います。
ちなみに、無線LANルータのログの取り出し方は別にまとめます。一気に書くと内容が多くなりすぎちゃうので。。


事前準備

Elasticで公開されている手順どおりにインストールを進めていく。

まずは必須なパッケージである、JavaとApacheをインストール

# yum install java

# yum install httpd

ちなみに、Web画面でApacheを使うので、 Firewallのポート空けるのを忘れずに。

Logstash,Elasticsearch,Kibanaのインストール

yumでインストールするため、リポジトリを追加する。
以下2ファイルを作成。

# cat /etc/yum.repos.d/Elastic.repo 
[elasticsearch-2.x]
name=Elasticsearch repository for 2.x packages
baseurl=https://packages.elastic.co/elasticsearch/2.x/centos
gpgcheck=1
gpgkey=https://packages.elastic.co/GPG-KEY-elasticsearch
enabled=1

# cat /etc/yum.repos.d/Logstash.repo 
[logstash-2.3]
name=Logstash repository for 2.3.x packages
baseurl=https://packages.elastic.co/logstash/2.3/centos
gpgcheck=1
gpgkey=https://packages.elastic.co/GPG-KEY-elasticsearch
enabled=1

まずは、ElasticsearchとLogstashパッケージをインストールする。
# yum install elasticsearch
# yum install logstash


Kibanaはインストール不要のため、yumは使わず、Webページから圧縮ファイルをダウンロードしてくる。
# curl -O https://download.elastic.co/kibana/kibana/kibana-4.5.4-linux-x64.tar.gz
% Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
Dload  Upload   Total   Spent    Left  Speed
100 31.7M  100 31.7M    0     0  1013k      0  0:00:32  0:00:32 --:--:-- 2611k

解凍し、公開Webのフォルダに格納する。
# tar -zvxf kibana-4.5.4-linux-x64.tar.gz
# mv kibana-4.5.4-linux-x64 /var/www/html/
# mv /var/www/html/kibana-4.5.4-linux-x64 /var/www/html/kibana

セットアップ

まずは、Elasticsearchの設定をする。設定ファイルは以下。
# vi /etc/elasticsearch/elasticsearch.yml 

以下の2箇所を修正、追記。
普通は0.0.0.0で公開されるので設定不要なのだが、VMなど接続するIPアドレスが変わる場合は、きちんと接続可能なIPアドレスを明記する必要あり。
# network.host: 192.168.0.1network.host: ***.***.***.***

# enable cross-origin resource sharing
http.cors.enabled: true

次にKibanaの設定。設定ファイルは以下。
# vi /var/www/html/kibana/config/kibana.yml 

こちらもIPアドレスを記載。
server.host: "192.168.56.101"
elasticsearch.url: "http://192.168.56.101:9200"

最後にLogstashの設定。
ElasticsearchとKibanaはただ連携する設定しかしていないけど、
Logstashは対象のログファイルの読み込み設定とフォーマット、
Elasticsearchと連携する設定を行う。

以下ファイルを作成。
# vi /etc/logstash/conf.d/Security.conf

中身はこんな感じです。
input {
  file{
    path="/var/log/PR500MI/rSecurity.log"
    start_position = "beginning"
  }
}

filter {
  grok{
    match={
      "message" = "%{DATA:logdate} SRC=%{IP:srcip}/%{NUMBER:srcport} DST=%{IP:dstip}/%{NUMBER:dstport} %{WORD:protocol} %{DATA:action}\[%{DATA:actiondetail}\]"
    }
  }
  date {
    match = ["logdate", "YYYY/MM/dd HH:mm:ss"]
    locale = "en"
  }
  geoip {
    source = ["srcip"]
  }
}

output { elasticsearch {
    hosts = [  "192.168.56.101:9200" ]
  }
} 

解説を入れておくと、
input{ file{ pathで指定するのが読み込む対象のファイル(今回は別で取り込んでいる無線LANルータのアクセスログ)
start_position〜の記載は、ファイルの読み込みを先頭から行うように指定。
(デフォルトだと末尾から読み込む?らしいので)

また、
filter{ grok{ matchは、読み込むログのフォーマットを指定する。
フォーマットは以下にまとまっている。
https://github.com/elastic/logstash/blob/v1.4.2/patterns/grok-patterns

また、フォーマットをチェックするために、以下のサイトを活用した。
http://grokdebug.herokuapp.com/

ここまででとりあえずはセットアップ完了。

起動

実際に起動してみる。
順番は、Logstash -> Elasticsearch -> Kibanaの順(なはず)

Logstashの起動
# service logstash start

設定ファイルの誤りでログの読み込みに失敗している、などの情報はログに残る。
 /var/log/logstash配下に出てるので確認する。

次にElasticsearchの起動
# service elasticsearch start
こちらも同様にログをチェックして、エラーが出ていないか確認する。
こちらは/var/log/elasticsearch配下です。

最後のKibanaの起動
# /var/www/html/kibana/bin/kibana

Kibanaでログデータを確認

長かった準備はここまででKibanaでログデータが参照できるか確認してみる。
KibanaのURL(http://***.***.***.***:5601/)へアクセスする。
こんな画面が出てくるはず。


書いてある通り、ここではIndexを指定する。
Kibanaでは分析するログデータのIndexとなる列を指定することで、柔軟な分析が可能となる。

本来、ここのページではログデータ内のカラムを参照し、Indexとなる列を選択させる画面である。
こんな風に選択する画面が出てくるのが正しいはず。

じゃあ、今回は何故違ったかと言うと、ログデータが正しく読み込めていないためだった。
色々ログファイルを見てみると、Elasticsearchのエラーログに以下のエラーが出ていた。(一部いじっています)
[2016-09-23 23:40:03,346][DEBUG][action.bulk              ] [Cobalt Man] [logstash-2016.09.23][4] failed to execute bulk item (index) index {[logstash-2016.09.23][logs][AVdXfSraUEBq1amZMjWs], source[{"message":"/09/23 13:56:48 SRC=119.93.79.167/35125 DST=***.***.***.***/23 TCP 廃棄[パケットフィルタ]","@version":"1","@timestamp":"2016-09-23T14:40:02.635Z","path":"/var/log/PR500MI/Security.log","host":"centos.localdomain","logdate":"/09/23 13:56:48","srcip":"119.93.79.167","srcport":"35125","dstip":"***.***.***.***","dstport":"23","protocol":"TCP","action":"廃棄","actiondetail":"パケットフィルタ","tags":["_dateparsefailure"],"geoip":{"ip":"119.93.79.167","country_code2":"PH","country_code3":"PHL","country_name":"Philippines","continent_code":"AS","region_name":"53","city_name":"Muntinlupa","latitude":14.390299999999996,"longitude":121.04750000000001,"timezone":"Asia/Manila","real_region_name":"Rizal","location":[121.04750000000001,14.390299999999996]}}]}
MapperParsingException[failed to parse [logdate]]; nested: IllegalArgumentException[Invalid format: "/09/23 13:56:48"];
 at org.elasticsearch.index.mapper.FieldMapper.parse(FieldMapper.java:329)
 at org.elasticsearch.index.mapper.DocumentParser.parseObjectOrField(DocumentParser.java:309)
 at org.elasticsearch.index.mapper.DocumentParser.parseValue(DocumentParser.java:436)
 at org.elasticsearch.index.mapper.DocumentParser.parseObject(DocumentParser.java:262)
 at org.elasticsearch.index.mapper.DocumentParser.parseDocument(DocumentParser.java:122)
 at org.elasticsearch.index.mapper.DocumentMapper.parse(DocumentMapper.java:309)
 at org.elasticsearch.index.shard.IndexShard.prepareCreate(IndexShard.java:529)
 at org.elasticsearch.index.shard.IndexShard.prepareCreateOnPrimary(IndexShard.java:506)
 at org.elasticsearch.action.index.TransportIndexAction.prepareIndexOperationOnPrimary(TransportIndexAction.java:215)
 at org.elasticsearch.action.index.TransportIndexAction.executeIndexRequestOnPrimary(TransportIndexAction.java:224)
 at org.elasticsearch.action.bulk.TransportShardBulkAction.shardIndexOperation(TransportShardBulkAction.java:327)
 at org.elasticsearch.action.bulk.TransportShardBulkAction.shardOperationOnPrimary(TransportShardBulkAction.java:120)
 at org.elasticsearch.action.bulk.TransportShardBulkAction.shardOperationOnPrimary(TransportShardBulkAction.java:68)
 at org.elasticsearch.action.support.replication.TransportReplicationAction$PrimaryPhase.doRun(TransportReplicationAction.java:639)
 at org.elasticsearch.common.util.concurrent.AbstractRunnable.run(AbstractRunnable.java:37)
 at org.elasticsearch.action.support.replication.TransportReplicationAction$PrimaryOperationTransportHandler.messageReceived(TransportReplicationAction.java:279)
 at org.elasticsearch.action.support.replication.TransportReplicationAction$PrimaryOperationTransportHandler.messageReceived(TransportReplicationAction.java:271)
 at org.elasticsearch.transport.RequestHandlerRegistry.processMessageReceived(RequestHandlerRegistry.java:75)
 at org.elasticsearch.transport.TransportService$4.doRun(TransportService.java:376)
 at org.elasticsearch.common.util.concurrent.AbstractRunnable.run(AbstractRunnable.java:37)
 at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
 at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
 at java.lang.Thread.run(Thread.java:745)
Caused by: java.lang.IllegalArgumentException: Invalid format: "/09/23 13:56:48"
 at org.joda.time.format.DateTimeParserBucket.doParseMillis(DateTimeParserBucket.java:187)
 at org.joda.time.format.DateTimeFormatter.parseMillis(DateTimeFormatter.java:826)
 at org.elasticsearch.index.mapper.core.DateFieldMapper$DateFieldType.parseStringValue(DateFieldMapper.java:362)
 at org.elasticsearch.index.mapper.core.DateFieldMapper.innerParseCreateField(DateFieldMapper.java:528)
 at org.elasticsearch.index.mapper.core.NumberFieldMapper.parseCreateField(NumberFieldMapper.java:241)
 at org.elasticsearch.index.mapper.FieldMapper.parse(FieldMapper.java:321)
 ... 22 more

"[Invalid format: "/09/23 13:56:48"]"なんてのを見ると分かるけど、無線LANルータのログファイルのデータが正しく読み込めていないことが原因で、パースエラーが起こっている様子だった。
ログファイルには、ちゃんと"2016/09/23 13:56:48 ..."と記載されていたが、なぜかElasticsearchで読み込まれるときには"/09/23 13:56:48"となってしまっていました。。

まとめ

実は、この原因が解決せず、Elasticは諦めました。誰か原因わかれば教えてください。
次回、同じことをSplunkで行った結果をまとめます。

2016年8月28日日曜日

VirtualBoxのCentOS7入れて、sshでログインできるようにするまで

今までVMware使ってたけど、Mac環境なのでVirtualBoxを入れてみた。
そして、CentOS7をインストールして環境準備したけど。。

ホスト→ゲストに繋がらない。。
WindowsでVMware使ってたときは、ゲストOSのネットワーク設定をブリッジにしたら、ちゃんと別のIPアドレスが割り当てられたのに、VirtualBoxだと別セグメントのIPアドレスが割り当てられている。


色々調べてみると、2種類のNICを準備する必要があることが判明。
  • NAT
  • ホストオンリーアダプター(ネットワーク)
NATのNICで、【VMゲスト(CentOS)】ー【インターネット】との通信を行う。
ホストオンリー〜のNICで、【VMゲスト(CentOS)】ー【VMホスト(Mac)】の通信を行う。
詳細は以下で行うが、ネットワークのイメージはこんな感じ。
(IPアドレス、NIC名はウチで試した結果なので、環境によって異なります)



ホストオンリーアダプターの作成

まずVirtualBoxの設定で、ホストオンリーアダプターを準備する。

  1. VirtualBoxの「環境設定」メニューを選択
  2. 「ネットワーク」⇒「ホストオンリーネットワーク(H)」をクリック
  3. 右側にある一番上のボタンをクリックし、ホストオンリーネットワークを作成



仮想マシンにNICを割り当てる

次に、VMゲストの設定で、NICを2つ割り当てる。
  1. VirtualBoxで作成したVMを選択し、「設定」ボタンをクリック
  2. 「ネットワーク」をクリック
    (デフォルトでアダプター1にNATが割り当てられていることを確認、なければNATを割り当てる)
  3. アダプター2を選択し、ネットワークアダプターを有効化を選択。名前は先程作成したホストオンリーネットワークを選ぶ



仮想マシン上のOSでNICを有効化


最後に、VMゲストのOS上の設定で、NICを有効化する。
ただ、うまく行ってれば、自動的に認識され、有効化されているはず。
確認はifconfigを実行してみる。

# ifconfig
enp0s3: flags=4163  mtu 1500
        ether 08:00:27:4c:ef:c2  txqueuelen 1000  (Ethernet)
        RX packets 0  bytes 0 (0.0 B)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 0  bytes 0 (0.0 B)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

enp0s8: flags=4163  mtu 1500
        inet 192.168.56.101  netmask 255.255.255.0  broadcast 192.168.56.255
        inet6 fe80::a00:27ff:fe8e:fbd2  prefixlen 64  scopeid 0x20
        ether 08:00:27:8e:fb:d2  txqueuelen 1000  (Ethernet)
        RX packets 48  bytes 7479 (7.3 KiB)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 42  bytes 7737 (7.5 KiB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

lo: flags=73  mtu 65536
        inet 127.0.0.1  netmask 255.0.0.0
        inet6 ::1  prefixlen 128  scopeid 0x10
        loop  txqueuelen 0  (Local Loopback)
        RX packets 0  bytes 0 (0.0 B)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 0  bytes 0 (0.0 B)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0


一瞬、3つ認識されているから大丈夫かと思ったが、インターネットへの通信に失敗している。
よくみると、NATのNIC(enp0s3)がIPアドレス割り当てられていない。
NICの設定を見る。

# vi /etc/sysconfig/network-scripts/ifcfg-enp0s3

 すると、「ONBOOT=no」となっており、有効化されていなかった。
「ONBOOT=yes」に書き換えてネットワークを再起動。

すると、今度はちゃんとIPアドレスが割り当てられており、インターネットへの接続も成功した。

# ifconfig
enp0s3: flags=4163  mtu 1500
        inet 10.0.2.15  netmask 255.255.255.0  broadcast 10.0.2.255
        inet6 fe80::a00:27ff:fe4c:efc2  prefixlen 64  scopeid 0x20
        ether 08:00:27:4c:ef:c2  txqueuelen 1000  (Ethernet)
        RX packets 2  bytes 1180 (1.1 KiB)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 9  bytes 1254 (1.2 KiB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

enp0s8: flags=4163  mtu 1500
        inet 192.168.56.101  netmask 255.255.255.0  broadcast 192.168.56.255
        inet6 fe80::a00:27ff:fe8e:fbd2  prefixlen 64  scopeid 0x20
        ether 08:00:27:8e:fb:d2  txqueuelen 1000  (Ethernet)
        RX packets 578  bytes 51817 (50.6 KiB)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 334  bytes 57715 (56.3 KiB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

lo: flags=73  mtu 65536
        inet 127.0.0.1  netmask 255.0.0.0
        inet6 ::1  prefixlen 128  scopeid 0x10
        loop  txqueuelen 0  (Local Loopback)
        RX packets 0  bytes 0 (0.0 B)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 0  bytes 0 (0.0 B)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

ちなみに、ルーティングテーブルはこんな感じになってるはず。

# netstat -rn
Kernel IP routing table
Destination     Gateway         Genmask         Flags   MSS Window  irtt Iface
0.0.0.0         10.0.2.2        0.0.0.0         UG        0 0          0 enp0s3
10.0.2.0        0.0.0.0         255.255.255.0   U         0 0          0 enp0s3
192.168.56.0    0.0.0.0         255.255.255.0   U         0 0          0 enp0s8


以上、VirtualBoxでVM作った際のネットワーク設定についてでした。

2016年6月18日土曜日

ubuntuに/var/wwwディレクトリがない

今までRedHat系ばっかり使っていてubuntuを食わず嫌いしてたので、最近触っています(大学生の頃には使ってたけど、そこまでOSに詳しくなかったし)

でもっていきなりはまったのが、「/var/www」ディレクトリが見つからない件。
デフォルトでapacheとかインストールされたりしないんだっけ。。

って思って調べてたら、やっぱりきちんとインストールが必要だったみたい。
デスクトップ版なせいか標準では入らないのかな。

$ sudo apt-get install apache2
パッケージリストを読み込んでいます... 完了
依存関係ツリーを作成しています 
状態情報を読み取っています... 完了
以下の追加パッケージがインストールされます:
apache2-bin apache2-data apache2-utils libapr1 libaprutil1 libaprutil1-dbd-sqlite3 libaprutil1-ldap
liblua5.1-0
提案パッケージ:
apache2-doc apache2-suexec-pristine | apache2-suexec-custom
以下のパッケージが新たにインストールされます:
apache2 apache2-bin apache2-data apache2-utils libapr1 libaprutil1 libaprutil1-dbd-sqlite3
libaprutil1-ldap liblua5.1-0
アップグレード: 0 個、新規インストール: 9 個、削除: 0 個、保留: 82 個。
1,532 kB のアーカイブを取得する必要があります。
この操作後に追加で 6,350 kB のディスク容量が消費されます。
続行しますか? [Y/n] y
取得:1 http://jp.archive.ubuntu.com/ubuntu xenial/main amd64 libapr1 amd64 1.5.2-3 [86.0 kB]
取得:2 http://jp.archive.ubuntu.com/ubuntu xenial/main amd64 libaprutil1 amd64 1.5.4-1build1 [77.1 kB]
取得:3 http://jp.archive.ubuntu.com/ubuntu xenial/main amd64 libaprutil1-dbd-sqlite3 amd64 1.5.4-1build1 [10.6 kB]
取得:4 http://jp.archive.ubuntu.com/ubuntu xenial/main amd64 libaprutil1-ldap amd64 1.5.4-1build1 [8,720 B]
取得:5 http://jp.archive.ubuntu.com/ubuntu xenial/main amd64 liblua5.1-0 amd64 5.1.5-8ubuntu1 [102 kB]
取得:6 http://jp.archive.ubuntu.com/ubuntu xenial/main amd64 apache2-bin amd64 2.4.18-2ubuntu3 [918 kB]
取得:7 http://jp.archive.ubuntu.com/ubuntu xenial/main amd64 apache2-utils amd64 2.4.18-2ubuntu3 [81.1 kB]
取得:8 http://jp.archive.ubuntu.com/ubuntu xenial/main amd64 apache2-data all 2.4.18-2ubuntu3 [162 kB]
取得:9 http://jp.archive.ubuntu.com/ubuntu xenial/main amd64 apache2 amd64 2.4.18-2ubuntu3 [86.6 kB]
1,532 kB を 1秒 で取得しました (1,484 kB/s)
以前に未選択のパッケージ libapr1:amd64 を選択しています。
(データベースを読み込んでいます ... 現在 244131 個のファイルとディレクトリがインストールされています。)
.../libapr1_1.5.2-3_amd64.deb を展開する準備をしています ...
libapr1:amd64 (1.5.2-3) を展開しています...
以前に未選択のパッケージ libaprutil1:amd64 を選択しています。
.../libaprutil1_1.5.4-1build1_amd64.deb を展開する準備をしています ...
libaprutil1:amd64 (1.5.4-1build1) を展開しています...
以前に未選択のパッケージ libaprutil1-dbd-sqlite3:amd64 を選択しています。
.../libaprutil1-dbd-sqlite3_1.5.4-1build1_amd64.deb を展開する準備をしています ...
libaprutil1-dbd-sqlite3:amd64 (1.5.4-1build1) を展開しています...
以前に未選択のパッケージ libaprutil1-ldap:amd64 を選択しています。
.../libaprutil1-ldap_1.5.4-1build1_amd64.deb を展開する準備をしています ...
libaprutil1-ldap:amd64 (1.5.4-1build1) を展開しています...
以前に未選択のパッケージ liblua5.1-0:amd64 を選択しています。
.../liblua5.1-0_5.1.5-8ubuntu1_amd64.deb を展開する準備をしています ...
liblua5.1-0:amd64 (5.1.5-8ubuntu1) を展開しています...
以前に未選択のパッケージ apache2-bin を選択しています。
.../apache2-bin_2.4.18-2ubuntu3_amd64.deb を展開する準備をしています ...
apache2-bin (2.4.18-2ubuntu3) を展開しています...
以前に未選択のパッケージ apache2-utils を選択しています。
.../apache2-utils_2.4.18-2ubuntu3_amd64.deb を展開する準備をしています ...
apache2-utils (2.4.18-2ubuntu3) を展開しています...
以前に未選択のパッケージ apache2-data を選択しています。
.../apache2-data_2.4.18-2ubuntu3_all.deb を展開する準備をしています ...
apache2-data (2.4.18-2ubuntu3) を展開しています...
以前に未選択のパッケージ apache2 を選択しています。
.../apache2_2.4.18-2ubuntu3_amd64.deb を展開する準備をしています ...
apache2 (2.4.18-2ubuntu3) を展開しています...
libc-bin (2.23-0ubuntu3) のトリガを処理しています ...
man-db (2.7.5-1) のトリガを処理しています ...
systemd (229-4ubuntu6) のトリガを処理しています ...
ureadahead (0.100.0-19) のトリガを処理しています ...
ufw (0.35-0ubuntu2) のトリガを処理しています ...
libapr1:amd64 (1.5.2-3) を設定しています ...
libaprutil1:amd64 (1.5.4-1build1) を設定しています ...
libaprutil1-dbd-sqlite3:amd64 (1.5.4-1build1) を設定しています ...
libaprutil1-ldap:amd64 (1.5.4-1build1) を設定しています ...
liblua5.1-0:amd64 (5.1.5-8ubuntu1) を設定しています ...
apache2-bin (2.4.18-2ubuntu3) を設定しています ...
apache2-utils (2.4.18-2ubuntu3) を設定しています ...
apache2-data (2.4.18-2ubuntu3) を設定しています ...
apache2 (2.4.18-2ubuntu3) を設定しています ...
Enabling module mpm_event.
Enabling module authz_core.
Enabling module authz_host.
Enabling module authn_core.
Enabling module auth_basic.
Enabling module access_compat.
Enabling module authn_file.
Enabling module authz_user.
Enabling module alias.
Enabling module dir.
Enabling module autoindex.
Enabling module env.
Enabling module mime.
Enabling module negotiation.
Enabling module setenvif.
Enabling module filter.
Enabling module deflate.
Enabling module status.
Enabling conf charset.
Enabling conf localized-error-pages.
Enabling conf other-vhosts-access-log.
Enabling conf security.
Enabling conf serve-cgi-bin.
Enabling site 000-default.
libc-bin (2.23-0ubuntu3) のトリガを処理しています ...
systemd (229-4ubuntu6) のトリガを処理しています ...
ureadahead (0.100.0-19) のトリガを処理しています ...
ufw (0.35-0ubuntu2) のトリガを処理しています ...


ちゃんとブラウザでも見れることをチェック。

2015年3月25日水曜日

Ajaxplorer(Pydi)のアップグレードに失敗したはなし

アップグレードしたら、ブラウザで何も表示されなくなった。

原因を調べるために、Pydiのログを…ってどこにあるかわからん!w

なので、普通にApacheのログを見ると、怪しい文章が。

[Sun Feb 22 14:43:10 2015] [error] [client ***.***.***.***] PHP Parse error:  syntax error, unexpected T_STRING, expecting T_CONSTANT_ENCAPSED_STRING or '(' in /var/www/html/***/plugins/access.s3/class.s3AccessWrapper.php on line 23

なんだろうと思いぐぐってみると、以下の情報が出てきた。
(参考:http://stackoverflow.com/questions/13960277/error-parse-error-syntax-error-unexpected-t-string-expecting-t-constant-encap

Make sure they are running PHP 5.3 or later. If they are running an earlier version they won't have support for namespaces.

ということで、PHPをアップグレードしてみる。今までは5.2だった。

アップグレードはどうやるんだろうとググると、これまたすぐに情報が出てきた。
(参考:http://blog.ybbo.net/2013/07/09/centos-5-%E3%81%ABphp5-3%E7%B3%BB%E3%82%92yum%E3%81%A7%E3%82%A4%E3%83%B3%E3%82%B9%E3%83%88%E3%83%BC%E3%83%AB/

というわけで、一度アンインストール後に、PHPのバージョンも指定してインストールする。(バージョンを指定しないとデフォルト?の5.1系がインストールされてしまった)

これでApacheを起動後、ブラウザからアクセスすると無事に表示された。

しかもちゃんとアップグレードできてた。まぁ、結果よかった。

2015年3月1日日曜日

cronでRubyから呼び出しているコマンドが実行できなくなった

cronに登録していたRubyスクリプトがうまく実行されなくなってことがあったので、メモ。

cronに登録したコマンドの実行に失敗した場合、実行ユーザー宛にメールが届く。
(定義ファイル自身に誤りがあれば、/var/log/cronに書かれる。)

メールの内容を見ると、以下のようになっていた。(一部省略)
X-Cron-Env: <SHELL=/bin/sh>
X-Cron-Env: <HOME=/root>
X-Cron-Env: <PATH=/usr/bin:/bin>
X-Cron-Env: <LOGNAME=root>
X-Cron-Env: <USER=root>

/usr/local/lib/ruby/site_ruby/1.8/rubygems/custom_require.rb:60: command not found: pcsensor -c
'pcsensor'というコマンドをRubyから実行しているが、これが見つからないよう。
直接、Rubyスクリプトを実行したときには問題なく実行できるのに。。

PATHが/usr/bin, /bin しかないので、それ以外のパスに格納されたコマンドが実行されないと推測。
Rubyスクリプトの呼び出し方法を以下のように修正。

# result =  `pcsensor -c`
result =  `/usr/local/bin/pcsensor -c`

この後は問題なく上記スクリプトが正しく動作し、cronのエラーも表示されなくなった。

しかし、なぜ急に実行されなくなったか不明。なにかいじったかな。。

2014年3月1日土曜日

Linux環境で室温を定期的にツイートする

以前、USB温度計を使ってMRTGに表示する設定をしました。
MRTGの画面を見れば、家の外にいても室内の気温が見れるけど…ずっとHTTPのポート開放しておくのもメンドクサイし…

せっかくなので気温を定期的にtweetしてみる。
つぶやくためのTwitter側の設定と、つぶやく用の環境の設定がそれぞれ必要。

twitterのアカウントの準備

当たり前ですがtwitterのアカウントを準備する。

そして、外部APIからつぶやけるように、アカウントの設定を行う。
1. Twitter Appsにアクセスして、Twitterのアカウントでログイン。
2. 『Create an application』画面で各項目を入力し、アプリケーションを作成する。

アプリケーション名: 任意の名称
アプリケーションの説明: 説明を10文字以上
アプリケーションのウェブサイトURL: 自分のTwitterのURLなど
アプリケーションの種類: クライアントアプリケーションを選択
標準のアクセスタイプ: Read & Writeを選択
Twitterでログインする: チェックをつける

3. 表示される「Consumer key」と「Consumer secret」をメモする。

tweetできる環境を構築

rubyでつぶやきます。
この辺を参考にしました。↓
http://ramtiga.hatenablog.jp/entry/20110409/p1

TwitterのOAuth登録として、以下を実行する。
このとき、表示されるOAuthの「token」と「token_secret」をメモする。

# gem install oauth get-twitter-oauth-token
# get-twitter-oauth-token
Consumer Key: *****
Consumer Secret: *****
...
...
...
Token: *****    # ←tokenとしてメモ
Secret: *****   # ←token_secretとしてメモ

これで環境でつぶやけるようになった。
あとはRubyでつぶやくようのソースコードを準備する。
それほど難しくないけど。
#!/usr/local/bin/ruby
require 'rubygems'
require 'twitter'

CONSUMER_KEY       = "*****"  # Twitter Appsでメモした「Consumer key」の値
CONSUMER_SECRET    = "*****"  # Twitter Appsでメモした「Consumer secret」の値
ACCESS_TOKEN        = "*****" # OAuth登録でメモした「token」の値
ACCESS_TOKEN_SECRET = "*****" # OAuth登録でメモした「token_secret」の値

Twitter.configure do |config|
  config.consumer_key       = CONSUMER_KEY
  config.consumer_secret    = CONSUMER_SECRET
  config.oauth_token        = ACCESS_TOKEN
  config.oauth_token_secret = ACCESS_TOKEN_SECRET
end

# temperコマンド実行
result = `temper`
temp = result.split(",")[1]

# 日時取得
time = Time.now.strftime("%Y-%m-%d %H:%M:%S")

MSG1 = "["
MSG2 = "] の気温 : "

MSG = MSG1 + time + MSG2 + temp

Twitter.update(MSG)

これでつぶやけるようになりました。

cronに登録

あとはこのスクリプトを定期的に実行されるように設定する。
Linux環境なのでcronに登録しました。

# cat /etc/cron.d/tweetTemper
1,21,41 * * * * root /usr/local/bin/tweetTemper.rb

毎時1,21,41分につぶやくように設定。(0,20,40にすると、MRTGのupdateと重複してしまうため、わざと)

2013年6月25日火曜日

MRTGで「ERROR: I guess another mrtg is running.」のメッセージ

ちょっとトラブったときの対処をまとめる。

MRTGのWebページが表示されているが、データは更新されなくなった。
まずサーバにログインすると、mailがどんどん送られてた。
中身を確認すると、以下のメッセージが。

...
Tuesday, 25 June 2013 at 18:00: ERROR: I guess another mrtg is running. A lockfile (/var/lock/mrtg/mrtg_l) aged
300 seconds is hanging around. If you are sure that no other mrtg
is running you can remove the lockfile
...

lockfileが残っていたため、MRTGの起動に失敗していたらしい。
なので、/var/lock/mrtg/配下のファイルを全て削除してみたが、現象は解消しない。

気になったのでMRTGの状態を確認してみた。

# ps ax | grep mrtg
 3547 ?        Ss     0:00 /usr/bin/perl -w /usr/bin/mrtg /etc/mrtg/mrtg.cfg --lock-file /var/lock/mrtg/mrtg_l -
 3550 ?        S      0:00 /bin/sh /etc/mrtg/temper_mrtg.sh
 3551 ?        S      0:00 /bin/sh /etc/mrtg/temper_mrtg.sh
 3733 ?        Ss     0:00 /usr/bin/perl -w /usr/bin/mrtg /etc/mrtg/mrtg.cfg --lock-file /var/lock/mrtg/mrtg_l -
 3736 ?        S      0:00 /bin/sh /etc/mrtg/temper_mrtg.sh
 3737 ?        S      0:00 /bin/sh /etc/mrtg/temper_mrtg.sh
...

mrtgはcrontabで定義されていたため、10分毎にコマンドが実行されており、実行されたプロセスが消えずにどんどん残っていったらしい。
なんでプロセスが残ってるのか分からず、crontabに定義されてたプロセスを実行したら…確かに無応答になった。

中の処理を確認したら、前に組み込んだ温度測定のコマンド[/usr/local/bin/temper]が無応答になってたことが判明!
よくよく見てみると…USB温度計が接続されてなかった。
接続されていないとコマンドが無応答になるらしい。

マシンを再起動して接続したら、ちゃんと動くようになりました。
もちろん、MRTGも正しく更新されるようになりました。
よかった、よかった。

2013年4月10日水曜日

sshを公開鍵暗号方式で接続できるようにする

いまさら書くネタでもないのですが、今日ひさびさに設定しようとしたらハマりました。
自分が過去にまとめたwikiに書いといた情報で解決できたので、まとめます。

SSH の公開鍵認証とは

公開鍵暗号方式は...Wikipediaでも読んで下さいw
ヒマなときにでも書き足します。


SSH環境の構築

SSHサーバとSSHクライアントの設定方法をまとめる。
他サイトを読んでて分かりにくかったのが、「どのマシンで何ファイルの設定をしているか」ということ。そこを分かりやすくまとめます。
説明の前に用語を定義。

  • SSHサーバ:SSHで接続先マシン。Unix系なら「sshd」が動作してる環境。
  • SSHクライアント:SSHで接続元マシン。Windowsだと「Tera Term」とか「Putty」とか、Unix系なら「ssh」コマンドを実行する環境。

また、今回はSSHサーバSSHクライアントともにUnix系マシンを前提にします。なので
SSHサーバは「sshd」、では「ssh」を使います。(OSはSSHサーバがCentOS、SSHクライアントがMac OS Xです)

まず、SSHサーバの設定ファイル(sshd_config)を更新する。
Centosでは「/etc/ssh/sshd_config」にあります。

PasswordAuthentication no # パスワードではなくカギでログインする
PermitEmptyPassword no # パスワードなしのログインは許可しない

次に、SSHサーバで鍵を作成するコマンドを実行します。
こんな感じで出力される。ここで入力するパスフレーズは、SSHクライアントからssh接続するときに使うので覚えておくように。
# ssh-keygen -t rsa
Generating public/private rsa key pair.
Enter file in which to save the key (/root/.ssh/id_rsa): 
Enter passphrase (empty for no passphrase): 
Enter same passphrase again: 
Your identification has been saved in /root/.ssh/id_rsa.
Your public key has been saved in /root/.ssh/id_rsa.pub.


次に、SSHサーバで公開鍵の名前を変更します。
# mv ~/.ssh/id_rsa.pub ~/.ssh/authorized_keys 

次に、SSHサーバの秘密鍵(id_rsa)をSSHクライアントの~/.sshディレクトリに格納する。
(例えばscpコマンドを使う例。ユーザー名がhogehogeでマシンのIPアドレスが192.168.1.10)
# scp ./ssh/id_rsa hogehoge@192.168.1.10:/Users/hogehoge/.ssh

次に、SSHサーバの秘密鍵の権限を600、.sshディレクトリを700に変更
# chmod 600 .ssh/id_rsa
# chmod 700 .ssh

これで準備完了。SSHクライアントで以下コマンド実行すると、パスフレーズを入力するダイアログが出てくる。入力してOKボタンを押せば接続される。
$ ssh root@192.168.1.1


2013年3月24日日曜日

zshをアップグレードする

他作業をやってるときに見つけたのでメモ

現在のバージョンを確認すると、以下になってる。
# zsh --version
zsh 4.2.6 (i386-redhat-linux-gnu)

他の作業でzshを4.3.10以上にしろ!って書いてあったので、アップグレードしてみる。
叩いたのは以下コマンド(全部くっついてるから長い…)
# version="4.3.10" ; mkdir -p ~/.src && cd ~/.src && \curl -O -L --create-dirs -C - "http://downloads.sourceforge.net/project/zsh/zsh-dev/$version/zsh-$version.tar.bz2?use_mirror=voxel" && tar jxf zsh-$version.tar.bz2* && cd zsh-$version && ./configure --prefix=/ && make && sudo make install

見やすく書くと、こんな感じでしょうかね。
#!/usr/bin/zsh
version="4.3.10" ;
mkdir -p ~/.src &&
cd ~/.src &&
\curl -O -L --create-dirs -C - "http://downloads.sourceforge.net/project/zsh/zsh-dev/$version/zsh-$version.tar.bz2?use_mirror=voxel" &&
tar jxf zsh-$version.tar.bz2* &&
cd zsh-$version &&
./configure --prefix=/ && make && sudo make install

実行したら、こうなりました。
# zsh --version
zsh 4.3.10 (i686-pc-linux-gnu)

要らない気がするけど、出てきたログ。長い。。
% Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
100 2671k  100 2671k    0     0  2807k      0 --:--:-- --:--:-- --:--:-- 2807k
configuring for zsh 4.3.10
checking build system type... i686-pc-linux-gnu
checking host system type... i686-pc-linux-gnu
checking for gcc... gcc
checking for C compiler default output file name... a.out
checking whether the C compiler works... yes
checking whether we are cross compiling... no
checking for suffix of executables... 
checking for suffix of object files... o
checking whether we are using the GNU C compiler... yes
checking whether gcc accepts -g... yes
checking for gcc option to accept ISO C89... none needed
checking for special C compiler options needed for large files... no
checking for _FILE_OFFSET_BITS value needed for large files... 64
checking how to run the C preprocessor... gcc -E
checking for grep that handles long lines and -e... /bin/grep
checking for egrep... /bin/grep -E
checking whether gcc needs -traditional... no
checking for an ANSI C-conforming const... yes
checking for gcc option to accept ANSI C... 
checking whether to use prototypes... yes
checking for ANSI C header files... yes
checking for sys/types.h... yes
checking for sys/stat.h... yes
checking for stdlib.h... yes
checking for string.h... yes
checking for memory.h... yes
checking for strings.h... yes
checking for inttypes.h... yes
checking for stdint.h... yes
checking for unistd.h... yes
checking for working alloca.h... yes
checking for alloca... yes
checking if the compiler supports union initialisation... yes
checking if signed to unsigned casting is broken... no
checking if the compiler supports variable-length arrays... yes
checking whether make sets $(MAKE)... yes
checking for a BSD-compatible install... /usr/bin/install -c
checking for gawk... gawk
checking whether ln works... yes
checking for egrep... (cached) /bin/grep -E
checking for yodl... no
checking for pdfetex... no
checking for texi2pdf... no
checking for texi2html... no
checking for ansi2knr... no
checking for dirent.h that defines DIR... yes
checking for library containing opendir... none required
checking for ANSI C header files... (cached) yes
checking whether time.h and sys/time.h may both be included... yes
checking whether stat file-mode macros are broken... no
checking for sys/wait.h that is POSIX.1 compatible... yes
checking sys/time.h usability... yes
checking sys/time.h presence... yes
checking for sys/time.h... yes
checking sys/times.h usability... yes
checking sys/times.h presence... yes
checking for sys/times.h... yes
checking sys/select.h usability... yes
checking sys/select.h presence... yes
checking for sys/select.h... yes
checking termcap.h usability... no
checking termcap.h presence... no
checking for termcap.h... no
checking termio.h usability... yes
checking termio.h presence... yes
checking for termio.h... yes
checking termios.h usability... yes
checking termios.h presence... yes
checking for termios.h... yes
checking sys/param.h usability... yes
checking sys/param.h presence... yes
checking for sys/param.h... yes
checking sys/filio.h usability... no
checking sys/filio.h presence... no
checking for sys/filio.h... no
checking for string.h... (cached) yes
checking for memory.h... (cached) yes
checking limits.h usability... yes
checking limits.h presence... yes
checking for limits.h... yes
checking fcntl.h usability... yes
checking fcntl.h presence... yes
checking for fcntl.h... yes
checking libc.h usability... no
checking libc.h presence... no
checking for libc.h... no
checking sys/utsname.h usability... yes
checking sys/utsname.h presence... yes
checking for sys/utsname.h... yes
checking sys/resource.h usability... yes
checking sys/resource.h presence... yes
checking for sys/resource.h... yes
checking locale.h usability... yes
checking locale.h presence... yes
checking for locale.h... yes
checking errno.h usability... yes
checking errno.h presence... yes
checking for errno.h... yes
checking stdio.h usability... yes
checking stdio.h presence... yes
checking for stdio.h... yes
checking stdarg.h usability... yes
checking stdarg.h presence... yes
checking for stdarg.h... yes
checking varargs.h usability... no
checking varargs.h presence... no
checking for varargs.h... no
checking for stdlib.h... (cached) yes
checking for unistd.h... (cached) yes
checking sys/capability.h usability... no
checking sys/capability.h presence... no
checking for sys/capability.h... no
checking utmp.h usability... yes
checking utmp.h presence... yes
checking for utmp.h... yes
checking utmpx.h usability... yes
checking utmpx.h presence... yes
checking for utmpx.h... yes
checking for sys/types.h... (cached) yes
checking pwd.h usability... yes
checking pwd.h presence... yes
checking for pwd.h... yes
checking grp.h usability... yes
checking grp.h presence... yes
checking for grp.h... yes
checking poll.h usability... yes
checking poll.h presence... yes
checking for poll.h... yes
checking sys/mman.h usability... yes
checking sys/mman.h presence... yes
checking for sys/mman.h... yes
checking netinet/in_systm.h usability... yes
checking netinet/in_systm.h presence... yes
checking for netinet/in_systm.h... yes
checking pcre.h usability... no
checking pcre.h presence... no
checking for pcre.h... no
checking langinfo.h usability... yes
checking langinfo.h presence... yes
checking for langinfo.h... yes
checking wchar.h usability... yes
checking wchar.h presence... yes
checking for wchar.h... yes
checking stddef.h usability... yes
checking stddef.h presence... yes
checking for stddef.h... yes
checking sys/stropts.h usability... yes
checking sys/stropts.h presence... yes
checking for sys/stropts.h... yes
checking iconv.h usability... yes
checking iconv.h presence... yes
checking for iconv.h... yes
checking ncurses.h usability... yes
checking ncurses.h presence... yes
checking for ncurses.h... yes
checking ncursesw/ncurses.h usability... yes
checking ncursesw/ncurses.h presence... yes
checking for ncursesw/ncurses.h... yes
checking ncurses/ncurses.h usability... yes
checking ncurses/ncurses.h presence... yes
checking for ncurses/ncurses.h... yes
checking dlfcn.h usability... yes
checking dlfcn.h presence... yes
checking for dlfcn.h... yes
checking dl.h usability... no
checking dl.h presence... no
checking for dl.h... no
checking for conflicts in sys/time.h and sys/select.h... no
checking TIOCGWINSZ in termios.h... no
checking TIOCGWINSZ in sys/ioctl.h... yes
checking for streams headers including struct winsize... no
checking for printf in -lc... yes
checking for pow in -lm... yes
checking if _XOPEN_SOURCE_EXTENDED should not be defined... no
checking for library containing tigetflag... -lncursesw
checking for library containing tgetent... none required
checking curses.h usability... yes
checking curses.h presence... yes
checking for curses.h... yes
checking if we need to ignore ncurses... no
checking for library containing getpwnam... none required
checking for dlopen in -ldl... yes
checking for socket in -lsocket... no
checking for library containing gethostbyname2... none required
checking for iconv... yes
checking whether _libiconv_version is declared... no
checking for iconv declaration... 
checking if an include file defines ospeed... no
checking if you must define ospeed... yes
checking gdbm.h usability... no
checking gdbm.h presence... no
checking for gdbm.h... no
checking for gdbm_open in -lgdbm... no
checking sys/xattr.h usability... yes
checking sys/xattr.h presence... yes
checking for sys/xattr.h... yes
checking return type of signal handlers... void
checking for pid_t... yes
checking for off_t... yes
checking for ino_t... yes
checking for mode_t... yes
checking for uid_t in sys/types.h... yes
checking for size_t... yes
checking if long is 64 bits... no
checking if off_t is 64 bit... yes
checking if ino_t is 64 bit... yes
checking if compiler has a 64 bit type... long long
checking for a corresponding unsigned 64 bit type... unsigned long long
checking for sigset_t... yes
checking for struct stat.st_atim.tv_nsec... yes
checking for struct stat.st_atimespec.tv_nsec... no
checking for struct stat.st_atimensec... no
checking for struct stat.st_mtim.tv_nsec... yes
checking for struct stat.st_mtimespec.tv_nsec... no
checking for struct stat.st_mtimensec... no
checking for struct stat.st_ctim.tv_nsec... yes
checking for struct stat.st_ctimespec.tv_nsec... no
checking for struct stat.st_ctimensec... no
checking for struct timezone... yes
checking for struct utmp... yes
checking for struct utmpx... yes
checking for ut_host in struct utmp... yes
checking for ut_host in struct utmpx... yes
checking for ut_xtime in struct utmpx... no
checking for ut_tv in struct utmpx... yes
checking for d_ino in struct dirent... yes
checking for d_stat in struct dirent... no
checking for d_ino in struct direct... no
checking for d_stat in struct direct... no
checking for sin6_scope_id in struct sockaddr_in6... yes
checking if we need our own h_errno... yes
checking for strftime... yes
checking for strptime... yes
checking for mktime... yes
checking for timelocal... yes
checking for difftime... yes
checking for gettimeofday... yes
checking for select... yes
checking for poll... yes
checking for readlink... yes
checking for faccessx... no
checking for fchdir... yes
checking for ftruncate... yes
checking for fstat... yes
checking for lstat... yes
checking for lchown... yes
checking for fchown... yes
checking for fchmod... yes
checking for fseeko... yes
checking for ftello... yes
checking for mkfifo... yes
checking for _mktemp... no
checking for mkstemp... yes
checking for waitpid... yes
checking for wait3... yes
checking for sigaction... yes
checking for sigblock... yes
checking for sighold... yes
checking for sigrelse... yes
checking for sigsetmask... yes
checking for sigprocmask... yes
checking for killpg... yes
checking for setpgid... yes
checking for setpgrp... yes
checking for tcsetpgrp... yes
checking for tcgetattr... yes
checking for nice... yes
checking for gethostname... yes
checking for gethostbyname2... yes
checking for getipnodebyname... no
checking for inet_aton... yes
checking for inet_pton... yes
checking for inet_ntop... yes
checking for getlogin... yes
checking for getpwent... yes
checking for getpwnam... yes
checking for getpwuid... yes
checking for getgrgid... yes
checking for getgrnam... yes
checking for initgroups... yes
checking for nis_list... no
checking for setuid... yes
checking for seteuid... yes
checking for setreuid... yes
checking for setresuid... yes
checking for setsid... yes
checking for memcpy... yes
checking for memmove... yes
checking for strstr... yes
checking for strerror... yes
checking for strtoul... yes
checking for getrlimit... yes
checking for getrusage... yes
checking for setlocale... yes
checking for uname... yes
checking for signgam... yes
checking for putenv... yes
checking for getenv... yes
checking for setenv... yes
checking for unsetenv... yes
checking for xw... no
checking for brk... yes
checking for sbrk... yes
checking for pathconf... yes
checking for sysconf... yes
checking for tgetent... yes
checking for tigetflag... yes
checking for tigetnum... yes
checking for tigetstr... yes
checking for setupterm... yes
checking for initscr... yes
checking for getcchar... yes
checking for setcchar... yes
checking for waddwstr... yes
checking for wget_wch... yes
checking for win_wch... yes
checking for use_default_colors... yes
checking for pcre_compile... no
checking for pcre_study... no
checking for pcre_exec... no
checking for nl_langinfo... yes
checking for erand48... yes
checking for open_memstream... yes
checking for wctomb... yes
checking for iconv... (cached) yes
checking for grantpt... yes
checking for unlockpt... yes
checking for ptsname... yes
checking for htons... yes
checking for ntohs... yes
checking for regcomp... yes
checking for regexec... yes
checking for regerror... yes
checking for regfree... yes
checking for gdbm_open... no
checking for getxattr... yes
checking for realpath... yes
checking for canonicalize_file_name... yes
checking for working strcoll... yes
checking if tgetent accepts NULL... yes
checking if tgetent returns 0 on success... no
checking for stdlib.h... (cached) yes
checking for unistd.h... (cached) yes
checking for getpagesize... yes
checking for working mmap... yes
checking for munmap... yes
checking for msync... yes
checking whether getpgrp requires zero arguments... yes
checking for dlopen... yes
checking for dlerror... yes
checking for dlsym... yes
checking for dlclose... yes
checking for load... no
checking for loadquery... no
checking for loadbind... no
checking for unload... no
checking for shl_load... no
checking for shl_unload... no
checking for shl_findsym... no
checking if getxattr etc. are Linux-like... yes
checking if getxattr etc. are usable... yes
checking what style of signals to use... POSIX_SIGNALS
checking where signal.h is located... /usr/include/bits/signum.h
checking where error names are located...  /usr/include/asm-generic/errno.h /usr/include/bits/errno.h /usr/include/asm-generic/errno-base.h
checking location of curses header... ncursesw/ncurses.h
checking where curses key definitions are located... /usr/include/ncursesw/curses.h
checking for ncursesw/term.h... yes
checking for ncurses/term.h... yes
checking for term.h... yes
checking where term.h is located... ncursesw/term.h
checking if boolcodes is available... yes
checking if numcodes is available... yes
checking if strcodes is available... yes
checking if boolnames is available... yes
checking if numnames is available... yes
checking if strnames is available... yes
checking where the RLIMIT macros are located... /usr/include/bits/resource.h
checking if rlim_t is longer than a long... yes
checking if rlim_t is a quad... yes
checking for rlim_t... yes
checking for limit RLIMIT_AIO_MEM... no
checking for limit RLIMIT_AIO_OPS... no
checking for limit RLIMIT_AS... yes
checking for limit RLIMIT_LOCKS... yes
checking for limit RLIMIT_MEMLOCK... yes
checking for limit RLIMIT_NPROC... yes
checking for limit RLIMIT_NOFILE... yes
checking for limit RLIMIT_PTHREAD... no
checking for limit RLIMIT_RSS... yes
checking for limit RLIMIT_SBSIZE... no
checking for limit RLIMIT_TCACHE... no
checking for limit RLIMIT_VMEM... no
checking for limit RLIMIT_SIGPENDING... yes
checking for limit RLIMIT_MSGQUEUE... yes
checking for limit RLIMIT_NICE... yes
checking for limit RLIMIT_RTPRIO... yes
checking if RLIMIT_VMEM and RLIMIT_RSS are the same... no
checking if RLIMIT_VMEM and RLIMIT_AS are the same... no
checking if RLIMIT_RSS and RLIMIT_AS are the same... no
checking for struct rusage.ru_maxrss... yes
checking for struct rusage.ru_ixrss... yes
checking for struct rusage.ru_idrss... yes
checking for struct rusage.ru_isrss... yes
checking for struct rusage.ru_minflt... yes
checking for struct rusage.ru_majflt... yes
checking for struct rusage.ru_nswap... yes
checking for struct rusage.ru_inblock... yes
checking for struct rusage.ru_oublock... yes
checking for struct rusage.ru_msgsnd... yes
checking for struct rusage.ru_msgrcv... yes
checking for struct rusage.ru_nsignals... yes
checking for struct rusage.ru_nvcsw... yes
checking for struct rusage.ru_nivcsw... yes
checking for /dev/fd filesystem... /proc/self/fd
checking for RFS superroot directory... no
checking whether we should use the native getcwd... no
checking for setproctitle... no
checking for library containing setproctitle... no
checking for NIS... no
checking for NIS+... no
checking for utmp file... /var/run/utmp
checking for wtmp file... /var/log/wtmp
checking for utmpx file... no
checking for wtmpx file... no
checking for brk() prototype in ... yes
checking for sbrk() prototype in ... yes
checking for mknod prototype in ... yes
checking for ioctl prototype in  or ... no
checking for ioctl prototype in ... yes
checking if named FIFOs work... yes
checking if echo in /bin/sh interprets escape sequences... no
checking if link() works... yes
checking if kill(pid, 0) returns ESRCH correctly... yes
checking if POSIX sigsuspend() works... yes
checking if tcsetpgrp() actually works... yes
checking if getpwnam() is faked... no
checking base type of the third argument to accept... socklen_t
checking if your system has /dev/ptmx... yes
checking if /dev/ptmx is usable... yes
configure: checking for functions supporting multibyte characters
checking for iswalnum... yes
checking for iswcntrl... yes
checking for iswdigit... yes
checking for iswgraph... yes
checking for iswlower... yes
checking for iswprint... yes
checking for iswpunct... yes
checking for iswspace... yes
checking for iswupper... yes
checking for iswxdigit... yes
checking for mbrlen... yes
checking for mbrtowc... yes
checking for towupper... yes
checking for towlower... yes
checking for wcschr... yes
checking for wcscpy... yes
checking for wcslen... yes
checking for wcsncmp... yes
checking for wcsncpy... yes
checking for wcrtomb... yes
checking for wcwidth... yes
checking for wmemchr... yes
checking for wmemcmp... yes
checking for wmemcpy... yes
checking for wmemmove... yes
checking for wmemset... yes
configure: all functions found, multibyte support enabled
checking if the wcwidth() function is broken... no
checking if your system uses ELF binaries... yes
checking if we can use -rdynamic... yes
checking if your dlsym() needs a leading underscore... no
checking if environ is available in shared libraries... yes
checking if tgetent is available in shared libraries... yes
checking if tigetstr is available in shared libraries... yes
checking if name clashes in shared objects are OK... yes
checking for working RTLD_GLOBAL... yes
checking whether symbols in the executable are available... yes
checking whether executables can be stripped... yes
checking whether libraries can be stripped... yes
configure: creating ./config.status
config.status: creating Config/defs.mk
config.status: creating Makefile
config.status: creating Doc/Makefile
config.status: creating Etc/Makefile
config.status: creating Src/Makefile
config.status: creating Test/Makefile
config.status: creating config.h
config.status: executing config.modules commands
creating ./config.modules
config.status: executing stamp-h commands

zsh configuration
-----------------
zsh version               : 4.3.10
host operating system     : i686-pc-linux-gnu
source code location      : .
compiler                  : gcc
preprocessor flags        : 
executable compiler flags :  -Wall -Wmissing-prototypes -O2
module compiler flags     :  -Wall -Wmissing-prototypes -O2 -fPIC
executable linker flags   :   -s -rdynamic
module linker flags       :   -s -shared
library flags             : -ldl -lncursesw -lm  -lc
installation basename     : zsh
binary install path       : //bin
man page install path     : ${prefix}/share/man
info install path         : ${prefix}/share/info
functions install path    : ${prefix}/share/zsh/4.3.10/functions
See config.modules for installed modules and functions.

make[1]: ディレクトリ `/root/.src/zsh-4.3.10/Src' に入ります
cd .. && /bin/sh $top_srcdir/Src/mkmakemod.sh Src Makemod
creating Src/Makemod.in
config.status: creating Src/Makemod
make[2]: ディレクトリ `/root/.src/zsh-4.3.10/Src' に入ります
echo 'timestamp for *.mdd files' > ../Src/modules.stamp
creating Src/Builtins/Makefile.in
config.status: creating Src/Builtins/Makefile
make[3]: ディレクトリ `/root/.src/zsh-4.3.10/Src/Builtins' に入ります
make[3]: ディレクトリ `/root/.src/zsh-4.3.10/Src/Builtins' から出ます
creating Src/Modules/Makefile.in
config.status: creating Src/Modules/Makefile
make[3]: ディレクトリ `/root/.src/zsh-4.3.10/Src/Modules' に入ります
make[3]: ディレクトリ `/root/.src/zsh-4.3.10/Src/Modules' から出ます
creating Src/Zle/Makefile.in
config.status: creating Src/Zle/Makefile
make[3]: ディレクトリ `/root/.src/zsh-4.3.10/Src/Zle' に入ります
make[3]: ディレクトリ `/root/.src/zsh-4.3.10/Src/Zle' から出ます
make[2]: ディレクトリ `/root/.src/zsh-4.3.10/Src' から出ます
make[2]: ディレクトリ `/root/.src/zsh-4.3.10/Src' に入ります
gawk -f ./signames1.awk /usr/include/bits/signum.h >sigtmp.c
gcc -E sigtmp.c >sigtmp.out
gawk -f ./signames2.awk sigtmp.out > signames.c
rm -f sigtmp.c sigtmp.out
grep 'define.*SIGCOUNT' signames.c > sigcount.h
make[3]: ディレクトリ `/root/.src/zsh-4.3.10/Src' に入ります
make[3]: ディレクトリ `/root/.src/zsh-4.3.10/Src' から出ます
Updated `zsh.mdh'.
echo 'timestamp for zsh.mdh against zsh.mdd' > zsh.mdhs
gawk -f ../Src/makepro.awk builtin.c Src > builtin.syms
(echo '/* Generated automatically */'; sed -n '/^E/{s/^E//;p;}' < builtin.syms) \
  > builtin.epro
(echo '/* Generated automatically */'; sed -n '/^L/{s/^L//;p;}' < builtin.syms) \
  > `echo builtin.epro | sed 's/\.epro$/.pro/'`
gawk -f ../Src/makepro.awk compat.c Src > compat.syms
(echo '/* Generated automatically */'; sed -n '/^E/{s/^E//;p;}' < compat.syms) \
  > compat.epro
(echo '/* Generated automatically */'; sed -n '/^L/{s/^L//;p;}' < compat.syms) \
  > `echo compat.epro | sed 's/\.epro$/.pro/'`
gawk -f ../Src/makepro.awk cond.c Src > cond.syms
(echo '/* Generated automatically */'; sed -n '/^E/{s/^E//;p;}' < cond.syms) \
  > cond.epro
(echo '/* Generated automatically */'; sed -n '/^L/{s/^L//;p;}' < cond.syms) \
  > `echo cond.epro | sed 's/\.epro$/.pro/'`
gawk -f ../Src/makepro.awk exec.c Src > exec.syms
(echo '/* Generated automatically */'; sed -n '/^E/{s/^E//;p;}' < exec.syms) \
  > exec.epro
(echo '/* Generated automatically */'; sed -n '/^L/{s/^L//;p;}' < exec.syms) \
  > `echo exec.epro | sed 's/\.epro$/.pro/'`
gawk -f ../Src/makepro.awk glob.c Src > glob.syms
(echo '/* Generated automatically */'; sed -n '/^E/{s/^E//;p;}' < glob.syms) \
  > glob.epro
(echo '/* Generated automatically */'; sed -n '/^L/{s/^L//;p;}' < glob.syms) \
  > `echo glob.epro | sed 's/\.epro$/.pro/'`
gawk -f ../Src/makepro.awk hashtable.c Src > hashtable.syms
(echo '/* Generated automatically */'; sed -n '/^E/{s/^E//;p;}' < hashtable.syms) \
  > hashtable.epro
(echo '/* Generated automatically */'; sed -n '/^L/{s/^L//;p;}' < hashtable.syms) \
  > `echo hashtable.epro | sed 's/\.epro$/.pro/'`
gawk -f ../Src/makepro.awk hist.c Src > hist.syms
(echo '/* Generated automatically */'; sed -n '/^E/{s/^E//;p;}' < hist.syms) \
  > hist.epro
(echo '/* Generated automatically */'; sed -n '/^L/{s/^L//;p;}' < hist.syms) \
  > `echo hist.epro | sed 's/\.epro$/.pro/'`
gawk -f ../Src/makepro.awk init.c Src > init.syms
(echo '/* Generated automatically */'; sed -n '/^E/{s/^E//;p;}' < init.syms) \
  > init.epro
(echo '/* Generated automatically */'; sed -n '/^L/{s/^L//;p;}' < init.syms) \
  > `echo init.epro | sed 's/\.epro$/.pro/'`
gawk -f ../Src/makepro.awk input.c Src > input.syms
(echo '/* Generated automatically */'; sed -n '/^E/{s/^E//;p;}' < input.syms) \
  > input.epro
(echo '/* Generated automatically */'; sed -n '/^L/{s/^L//;p;}' < input.syms) \
  > `echo input.epro | sed 's/\.epro$/.pro/'`
gawk -f ../Src/makepro.awk jobs.c Src > jobs.syms
(echo '/* Generated automatically */'; sed -n '/^E/{s/^E//;p;}' < jobs.syms) \
  > jobs.epro
(echo '/* Generated automatically */'; sed -n '/^L/{s/^L//;p;}' < jobs.syms) \
  > `echo jobs.epro | sed 's/\.epro$/.pro/'`
gawk -f ../Src/makepro.awk lex.c Src > lex.syms
(echo '/* Generated automatically */'; sed -n '/^E/{s/^E//;p;}' < lex.syms) \
  > lex.epro
(echo '/* Generated automatically */'; sed -n '/^L/{s/^L//;p;}' < lex.syms) \
  > `echo lex.epro | sed 's/\.epro$/.pro/'`
gawk -f ../Src/makepro.awk linklist.c Src > linklist.syms
(echo '/* Generated automatically */'; sed -n '/^E/{s/^E//;p;}' < linklist.syms) \
  > linklist.epro
(echo '/* Generated automatically */'; sed -n '/^L/{s/^L//;p;}' < linklist.syms) \
  > `echo linklist.epro | sed 's/\.epro$/.pro/'`
gawk -f ../Src/makepro.awk loop.c Src > loop.syms
(echo '/* Generated automatically */'; sed -n '/^E/{s/^E//;p;}' < loop.syms) \
  > loop.epro
(echo '/* Generated automatically */'; sed -n '/^L/{s/^L//;p;}' < loop.syms) \
  > `echo loop.epro | sed 's/\.epro$/.pro/'`
gawk -f ../Src/makepro.awk math.c Src > math.syms
(echo '/* Generated automatically */'; sed -n '/^E/{s/^E//;p;}' < math.syms) \
  > math.epro
(echo '/* Generated automatically */'; sed -n '/^L/{s/^L//;p;}' < math.syms) \
  > `echo math.epro | sed 's/\.epro$/.pro/'`
gawk -f ../Src/makepro.awk mem.c Src > mem.syms
(echo '/* Generated automatically */'; sed -n '/^E/{s/^E//;p;}' < mem.syms) \
  > mem.epro
(echo '/* Generated automatically */'; sed -n '/^L/{s/^L//;p;}' < mem.syms) \
  > `echo mem.epro | sed 's/\.epro$/.pro/'`
gawk -f ../Src/makepro.awk module.c Src > module.syms
(echo '/* Generated automatically */'; sed -n '/^E/{s/^E//;p;}' < module.syms) \
  > module.epro
(echo '/* Generated automatically */'; sed -n '/^L/{s/^L//;p;}' < module.syms) \
  > `echo module.epro | sed 's/\.epro$/.pro/'`
gawk -f ../Src/makepro.awk options.c Src > options.syms
(echo '/* Generated automatically */'; sed -n '/^E/{s/^E//;p;}' < options.syms) \
  > options.epro
(echo '/* Generated automatically */'; sed -n '/^L/{s/^L//;p;}' < options.syms) \
  > `echo options.epro | sed 's/\.epro$/.pro/'`
gawk -f ../Src/makepro.awk params.c Src > params.syms
(echo '/* Generated automatically */'; sed -n '/^E/{s/^E//;p;}' < params.syms) \
  > params.epro
(echo '/* Generated automatically */'; sed -n '/^L/{s/^L//;p;}' < params.syms) \
  > `echo params.epro | sed 's/\.epro$/.pro/'`
gawk -f ../Src/makepro.awk parse.c Src > parse.syms
(echo '/* Generated automatically */'; sed -n '/^E/{s/^E//;p;}' < parse.syms) \
  > parse.epro
(echo '/* Generated automatically */'; sed -n '/^L/{s/^L//;p;}' < parse.syms) \
  > `echo parse.epro | sed 's/\.epro$/.pro/'`
gawk -f ../Src/makepro.awk pattern.c Src > pattern.syms
(echo '/* Generated automatically */'; sed -n '/^E/{s/^E//;p;}' < pattern.syms) \
  > pattern.epro
(echo '/* Generated automatically */'; sed -n '/^L/{s/^L//;p;}' < pattern.syms) \
  > `echo pattern.epro | sed 's/\.epro$/.pro/'`
gawk -f ../Src/makepro.awk prompt.c Src > prompt.syms
(echo '/* Generated automatically */'; sed -n '/^E/{s/^E//;p;}' < prompt.syms) \
  > prompt.epro
(echo '/* Generated automatically */'; sed -n '/^L/{s/^L//;p;}' < prompt.syms) \
  > `echo prompt.epro | sed 's/\.epro$/.pro/'`
gawk -f ../Src/makepro.awk signals.c Src > signals.syms
(echo '/* Generated automatically */'; sed -n '/^E/{s/^E//;p;}' < signals.syms) \
  > signals.epro
(echo '/* Generated automatically */'; sed -n '/^L/{s/^L//;p;}' < signals.syms) \
  > `echo signals.epro | sed 's/\.epro$/.pro/'`
gawk -f ../Src/makepro.awk signames.c Src > signames.syms
(echo '/* Generated automatically */'; sed -n '/^E/{s/^E//;p;}' < signames.syms) \
  > signames.epro
(echo '/* Generated automatically */'; sed -n '/^L/{s/^L//;p;}' < signames.syms) \
  > `echo signames.epro | sed 's/\.epro$/.pro/'`
gawk -f ../Src/makepro.awk sort.c Src > sort.syms
(echo '/* Generated automatically */'; sed -n '/^E/{s/^E//;p;}' < sort.syms) \
  > sort.epro
(echo '/* Generated automatically */'; sed -n '/^L/{s/^L//;p;}' < sort.syms) \
  > `echo sort.epro | sed 's/\.epro$/.pro/'`
gawk -f ../Src/makepro.awk string.c Src > string.syms
(echo '/* Generated automatically */'; sed -n '/^E/{s/^E//;p;}' < string.syms) \
  > string.epro
(echo '/* Generated automatically */'; sed -n '/^L/{s/^L//;p;}' < string.syms) \
  > `echo string.epro | sed 's/\.epro$/.pro/'`
gawk -f ../Src/makepro.awk subst.c Src > subst.syms
(echo '/* Generated automatically */'; sed -n '/^E/{s/^E//;p;}' < subst.syms) \
  > subst.epro
(echo '/* Generated automatically */'; sed -n '/^L/{s/^L//;p;}' < subst.syms) \
  > `echo subst.epro | sed 's/\.epro$/.pro/'`
gawk -f ../Src/makepro.awk text.c Src > text.syms
(echo '/* Generated automatically */'; sed -n '/^E/{s/^E//;p;}' < text.syms) \
  > text.epro
(echo '/* Generated automatically */'; sed -n '/^L/{s/^L//;p;}' < text.syms) \
  > `echo text.epro | sed 's/\.epro$/.pro/'`
gawk -f ../Src/makepro.awk utils.c Src > utils.syms
(echo '/* Generated automatically */'; sed -n '/^E/{s/^E//;p;}' < utils.syms) \
  > utils.epro
(echo '/* Generated automatically */'; sed -n '/^L/{s/^L//;p;}' < utils.syms) \
  > `echo utils.epro | sed 's/\.epro$/.pro/'`
gawk -f ../Src/makepro.awk watch.c Src > watch.syms
(echo '/* Generated automatically */'; sed -n '/^E/{s/^E//;p;}' < watch.syms) \
  > watch.epro
(echo '/* Generated automatically */'; sed -n '/^L/{s/^L//;p;}' < watch.syms) \
  > `echo watch.epro | sed 's/\.epro$/.pro/'`
make[3]: ディレクトリ `/root/.src/zsh-4.3.10/Src' に入ります
make[3]: ディレクトリ `/root/.src/zsh-4.3.10/Src' から出ます
Updated `zsh.mdh'.
make[3]: ディレクトリ `/root/.src/zsh-4.3.10/Src/Builtins' に入ります
make[4]: ディレクトリ `/root/.src/zsh-4.3.10/Src/Builtins' に入ります
make[4]: ディレクトリ `/root/.src/zsh-4.3.10/Src/Builtins' から出ます
Updated `rlimits.mdh'.
echo 'timestamp for rlimits.mdh against rlimits.mdd' > rlimits.mdhs
gawk -f ../../Src/makepro.awk rlimits.c Src/Builtins > rlimits.syms
(echo '/* Generated automatically */'; sed -n '/^E/{s/^E//;p;}' < rlimits.syms) \
  > rlimits.epro
(echo '/* Generated automatically */'; sed -n '/^L/{s/^L//;p;}' < rlimits.syms) \
  > `echo rlimits.epro | sed 's/\.epro$/.pro/'`
make[4]: ディレクトリ `/root/.src/zsh-4.3.10/Src/Builtins' に入ります
make[4]: ディレクトリ `/root/.src/zsh-4.3.10/Src/Builtins' から出ます
Updated `rlimits.mdh'.
make[4]: ディレクトリ `/root/.src/zsh-4.3.10/Src/Builtins' に入ります
make[4]: ディレクトリ `/root/.src/zsh-4.3.10/Src/Builtins' から出ます
Updated `sched.mdh'.
echo 'timestamp for sched.mdh against sched.mdd' > sched.mdhs
gawk -f ../../Src/makepro.awk sched.c Src/Builtins > sched.syms
(echo '/* Generated automatically */'; sed -n '/^E/{s/^E//;p;}' < sched.syms) \
  > sched.epro
(echo '/* Generated automatically */'; sed -n '/^L/{s/^L//;p;}' < sched.syms) \
  > `echo sched.epro | sed 's/\.epro$/.pro/'`
make[4]: ディレクトリ `/root/.src/zsh-4.3.10/Src/Builtins' に入ります
make[4]: ディレクトリ `/root/.src/zsh-4.3.10/Src/Builtins' から出ます
Updated `sched.mdh'.
make[3]: ディレクトリ `/root/.src/zsh-4.3.10/Src/Builtins' から出ます
make[3]: ディレクトリ `/root/.src/zsh-4.3.10/Src/Modules' に入ります
make[4]: ディレクトリ `/root/.src/zsh-4.3.10/Src/Modules' に入ります
make[4]: ディレクトリ `/root/.src/zsh-4.3.10/Src/Modules' から出ます
Updated `attr.mdh'.
echo 'timestamp for attr.mdh against attr.mdd' > attr.mdhs
gawk -f ../../Src/makepro.awk attr.c Src/Modules > attr.syms
(echo '/* Generated automatically */'; sed -n '/^E/{s/^E//;p;}' < attr.syms) \
  > attr.epro
(echo '/* Generated automatically */'; sed -n '/^L/{s/^L//;p;}' < attr.syms) \
  > `echo attr.epro | sed 's/\.epro$/.pro/'`
make[4]: ディレクトリ `/root/.src/zsh-4.3.10/Src/Modules' に入ります
make[4]: ディレクトリ `/root/.src/zsh-4.3.10/Src/Modules' から出ます
Updated `attr.mdh'.
make[4]: ディレクトリ `/root/.src/zsh-4.3.10/Src/Modules' に入ります
make[4]: ディレクトリ `/root/.src/zsh-4.3.10/Src/Modules' から出ます
Updated `cap.mdh'.
echo 'timestamp for cap.mdh against cap.mdd' > cap.mdhs
gawk -f ../../Src/makepro.awk cap.c Src/Modules > cap.syms
(echo '/* Generated automatically */'; sed -n '/^E/{s/^E//;p;}' < cap.syms) \
  > cap.epro
(echo '/* Generated automatically */'; sed -n '/^L/{s/^L//;p;}' < cap.syms) \
  > `echo cap.epro | sed 's/\.epro$/.pro/'`
make[4]: ディレクトリ `/root/.src/zsh-4.3.10/Src/Modules' に入ります
make[4]: ディレクトリ `/root/.src/zsh-4.3.10/Src/Modules' から出ます
Updated `cap.mdh'.
make[4]: ディレクトリ `/root/.src/zsh-4.3.10/Src/Modules' に入ります
make[4]: ディレクトリ `/root/.src/zsh-4.3.10/Src/Modules' から出ます
Updated `clone.mdh'.
echo 'timestamp for clone.mdh against clone.mdd' > clone.mdhs
gawk -f ../../Src/makepro.awk clone.c Src/Modules > clone.syms
(echo '/* Generated automatically */'; sed -n '/^E/{s/^E//;p;}' < clone.syms) \
  > clone.epro
(echo '/* Generated automatically */'; sed -n '/^L/{s/^L//;p;}' < clone.syms) \
  > `echo clone.epro | sed 's/\.epro$/.pro/'`
make[4]: ディレクトリ `/root/.src/zsh-4.3.10/Src/Modules' に入ります
make[4]: ディレクトリ `/root/.src/zsh-4.3.10/Src/Modules' から出ます
Updated `clone.mdh'.
make[4]: ディレクトリ `/root/.src/zsh-4.3.10/Src/Modules' に入ります
make[4]: ディレクトリ `/root/.src/zsh-4.3.10/Src/Modules' から出ます
Updated `curses.mdh'.
echo 'timestamp for curses.mdh against curses.mdd' > curses.mdhs
gawk -f ../../Src/makepro.awk curses.c Src/Modules > curses.syms
(echo '/* Generated automatically */'; sed -n '/^E/{s/^E//;p;}' < curses.syms) \
  > curses.epro
(echo '/* Generated automatically */'; sed -n '/^L/{s/^L//;p;}' < curses.syms) \
  > `echo curses.epro | sed 's/\.epro$/.pro/'`
make[4]: ディレクトリ `/root/.src/zsh-4.3.10/Src/Modules' に入ります
make[4]: ディレクトリ `/root/.src/zsh-4.3.10/Src/Modules' から出ます
Updated `curses.mdh'.
make[4]: ディレクトリ `/root/.src/zsh-4.3.10/Src/Modules' に入ります
make[4]: ディレクトリ `/root/.src/zsh-4.3.10/Src/Modules' から出ます
Updated `datetime.mdh'.
echo 'timestamp for datetime.mdh against datetime.mdd' > datetime.mdhs
gawk -f ../../Src/makepro.awk datetime.c Src/Modules > datetime.syms
(echo '/* Generated automatically */'; sed -n '/^E/{s/^E//;p;}' < datetime.syms) \
  > datetime.epro
(echo '/* Generated automatically */'; sed -n '/^L/{s/^L//;p;}' < datetime.syms) \
  > `echo datetime.epro | sed 's/\.epro$/.pro/'`
make[4]: ディレクトリ `/root/.src/zsh-4.3.10/Src/Modules' に入ります
make[4]: ディレクトリ `/root/.src/zsh-4.3.10/Src/Modules' から出ます
Updated `datetime.mdh'.
make[4]: ディレクトリ `/root/.src/zsh-4.3.10/Src/Modules' に入ります
make[4]: ディレクトリ `/root/.src/zsh-4.3.10/Src/Modules' から出ます
Updated `example.mdh'.
echo 'timestamp for example.mdh against example.mdd' > example.mdhs
gawk -f ../../Src/makepro.awk example.c Src/Modules > example.syms
(echo '/* Generated automatically */'; sed -n '/^E/{s/^E//;p;}' < example.syms) \
  > example.epro
(echo '/* Generated automatically */'; sed -n '/^L/{s/^L//;p;}' < example.syms) \
  > `echo example.epro | sed 's/\.epro$/.pro/'`
make[4]: ディレクトリ `/root/.src/zsh-4.3.10/Src/Modules' に入ります
make[4]: ディレクトリ `/root/.src/zsh-4.3.10/Src/Modules' から出ます
Updated `example.mdh'.
make[4]: ディレクトリ `/root/.src/zsh-4.3.10/Src/Modules' に入ります
make[4]: ディレクトリ `/root/.src/zsh-4.3.10/Src/Modules' から出ます
Updated `files.mdh'.
echo 'timestamp for files.mdh against files.mdd' > files.mdhs
gawk -f ../../Src/makepro.awk files.c Src/Modules > files.syms
(echo '/* Generated automatically */'; sed -n '/^E/{s/^E//;p;}' < files.syms) \
  > files.epro
(echo '/* Generated automatically */'; sed -n '/^L/{s/^L//;p;}' < files.syms) \
  > `echo files.epro | sed 's/\.epro$/.pro/'`
make[4]: ディレクトリ `/root/.src/zsh-4.3.10/Src/Modules' に入ります
make[4]: ディレクトリ `/root/.src/zsh-4.3.10/Src/Modules' から出ます
Updated `files.mdh'.
make[4]: ディレクトリ `/root/.src/zsh-4.3.10/Src/Modules' に入ります
make[4]: ディレクトリ `/root/.src/zsh-4.3.10/Src/Modules' から出ます
Updated `langinfo.mdh'.
echo 'timestamp for langinfo.mdh against langinfo.mdd' > langinfo.mdhs
gawk -f ../../Src/makepro.awk langinfo.c Src/Modules > langinfo.syms
(echo '/* Generated automatically */'; sed -n '/^E/{s/^E//;p;}' < langinfo.syms) \
  > langinfo.epro
(echo '/* Generated automatically */'; sed -n '/^L/{s/^L//;p;}' < langinfo.syms) \
  > `echo langinfo.epro | sed 's/\.epro$/.pro/'`
make[4]: ディレクトリ `/root/.src/zsh-4.3.10/Src/Modules' に入ります
make[4]: ディレクトリ `/root/.src/zsh-4.3.10/Src/Modules' から出ます
Updated `langinfo.mdh'.
make[4]: ディレクトリ `/root/.src/zsh-4.3.10/Src/Modules' に入ります
make[4]: ディレクトリ `/root/.src/zsh-4.3.10/Src/Modules' から出ます
Updated `mapfile.mdh'.
echo 'timestamp for mapfile.mdh against mapfile.mdd' > mapfile.mdhs
gawk -f ../../Src/makepro.awk mapfile.c Src/Modules > mapfile.syms
(echo '/* Generated automatically */'; sed -n '/^E/{s/^E//;p;}' < mapfile.syms) \
  > mapfile.epro
(echo '/* Generated automatically */'; sed -n '/^L/{s/^L//;p;}' < mapfile.syms) \
  > `echo mapfile.epro | sed 's/\.epro$/.pro/'`
make[4]: ディレクトリ `/root/.src/zsh-4.3.10/Src/Modules' に入ります
make[4]: ディレクトリ `/root/.src/zsh-4.3.10/Src/Modules' から出ます
Updated `mapfile.mdh'.
make[4]: ディレクトリ `/root/.src/zsh-4.3.10/Src/Modules' に入ります
make[4]: ディレクトリ `/root/.src/zsh-4.3.10/Src/Modules' から出ます
Updated `mathfunc.mdh'.
echo 'timestamp for mathfunc.mdh against mathfunc.mdd' > mathfunc.mdhs
gawk -f ../../Src/makepro.awk mathfunc.c Src/Modules > mathfunc.syms
(echo '/* Generated automatically */'; sed -n '/^E/{s/^E//;p;}' < mathfunc.syms) \
  > mathfunc.epro
(echo '/* Generated automatically */'; sed -n '/^L/{s/^L//;p;}' < mathfunc.syms) \
  > `echo mathfunc.epro | sed 's/\.epro$/.pro/'`
make[4]: ディレクトリ `/root/.src/zsh-4.3.10/Src/Modules' に入ります
make[4]: ディレクトリ `/root/.src/zsh-4.3.10/Src/Modules' から出ます
Updated `mathfunc.mdh'.
make[4]: ディレクトリ `/root/.src/zsh-4.3.10/Src/Modules' に入ります
make[4]: ディレクトリ `/root/.src/zsh-4.3.10/Src/Modules' から出ます
Updated `newuser.mdh'.
echo 'timestamp for newuser.mdh against newuser.mdd' > newuser.mdhs
gawk -f ../../Src/makepro.awk newuser.c Src/Modules > newuser.syms
(echo '/* Generated automatically */'; sed -n '/^E/{s/^E//;p;}' < newuser.syms) \
  > newuser.epro
(echo '/* Generated automatically */'; sed -n '/^L/{s/^L//;p;}' < newuser.syms) \
  > `echo newuser.epro | sed 's/\.epro$/.pro/'`
make[4]: ディレクトリ `/root/.src/zsh-4.3.10/Src/Modules' に入ります
make[4]: ディレクトリ `/root/.src/zsh-4.3.10/Src/Modules' から出ます
Updated `newuser.mdh'.
make[4]: ディレクトリ `/root/.src/zsh-4.3.10/Src/Modules' に入ります
make[4]: ディレクトリ `/root/.src/zsh-4.3.10/Src/Modules' から出ます
Updated `parameter.mdh'.
echo 'timestamp for parameter.mdh against parameter.mdd' > parameter.mdhs
gawk -f ../../Src/makepro.awk parameter.c Src/Modules > parameter.syms
(echo '/* Generated automatically */'; sed -n '/^E/{s/^E//;p;}' < parameter.syms) \
  > parameter.epro
(echo '/* Generated automatically */'; sed -n '/^L/{s/^L//;p;}' < parameter.syms) \
  > `echo parameter.epro | sed 's/\.epro$/.pro/'`
make[4]: ディレクトリ `/root/.src/zsh-4.3.10/Src/Modules' に入ります
make[4]: ディレクトリ `/root/.src/zsh-4.3.10/Src/Modules' から出ます
Updated `parameter.mdh'.
make[4]: ディレクトリ `/root/.src/zsh-4.3.10/Src/Modules' に入ります
make[4]: ディレクトリ `/root/.src/zsh-4.3.10/Src/Modules' から出ます
Updated `regex.mdh'.
echo 'timestamp for regex.mdh against regex.mdd' > regex.mdhs
gawk -f ../../Src/makepro.awk regex.c Src/Modules > regex.syms
(echo '/* Generated automatically */'; sed -n '/^E/{s/^E//;p;}' < regex.syms) \
  > regex.epro
(echo '/* Generated automatically */'; sed -n '/^L/{s/^L//;p;}' < regex.syms) \
  > `echo regex.epro | sed 's/\.epro$/.pro/'`
make[4]: ディレクトリ `/root/.src/zsh-4.3.10/Src/Modules' に入ります
make[4]: ディレクトリ `/root/.src/zsh-4.3.10/Src/Modules' から出ます
Updated `regex.mdh'.
make[4]: ディレクトリ `/root/.src/zsh-4.3.10/Src/Modules' に入ります
make[4]: ディレクトリ `/root/.src/zsh-4.3.10/Src/Modules' から出ます
Updated `socket.mdh'.
echo 'timestamp for socket.mdh against socket.mdd' > socket.mdhs
gawk -f ../../Src/makepro.awk socket.c Src/Modules > socket.syms
(echo '/* Generated automatically */'; sed -n '/^E/{s/^E//;p;}' < socket.syms) \
  > socket.epro
(echo '/* Generated automatically */'; sed -n '/^L/{s/^L//;p;}' < socket.syms) \
  > `echo socket.epro | sed 's/\.epro$/.pro/'`
make[4]: ディレクトリ `/root/.src/zsh-4.3.10/Src/Modules' に入ります
make[4]: ディレクトリ `/root/.src/zsh-4.3.10/Src/Modules' から出ます
Updated `socket.mdh'.
make[4]: ディレクトリ `/root/.src/zsh-4.3.10/Src/Modules' に入ります
make[4]: ディレクトリ `/root/.src/zsh-4.3.10/Src/Modules' から出ます
Updated `stat.mdh'.
echo 'timestamp for stat.mdh against stat.mdd' > stat.mdhs
gawk -f ../../Src/makepro.awk stat.c Src/Modules > stat.syms
(echo '/* Generated automatically */'; sed -n '/^E/{s/^E//;p;}' < stat.syms) \
  > stat.epro
(echo '/* Generated automatically */'; sed -n '/^L/{s/^L//;p;}' < stat.syms) \
  > `echo stat.epro | sed 's/\.epro$/.pro/'`
make[4]: ディレクトリ `/root/.src/zsh-4.3.10/Src/Modules' に入ります
make[4]: ディレクトリ `/root/.src/zsh-4.3.10/Src/Modules' から出ます
Updated `stat.mdh'.
if [ x" /usr/include/asm-generic/errno.h /usr/include/bits/errno.h /usr/include/asm-generic/errno-base.h" = x ]; then \
  touch errtmp.out; \
    else \
  gawk -f ./errnames1.awk  /usr/include/asm-generic/errno.h /usr/include/bits/errno.h /usr/include/asm-generic/errno-base.h >errtmp.c; \
  gcc -E errtmp.c >errtmp.out; \
    fi
gawk -f ./errnames2.awk errtmp.out > errnames.c
rm -f errtmp.c errtmp.out
grep 'define.*ERRCOUNT' errnames.c > errcount.h
make[4]: ディレクトリ `/root/.src/zsh-4.3.10/Src/Modules' に入ります
make[4]: ディレクトリ `/root/.src/zsh-4.3.10/Src/Modules' から出ます
Updated `system.mdh'.
echo 'timestamp for system.mdh against system.mdd' > system.mdhs
gawk -f ../../Src/makepro.awk system.c Src/Modules > system.syms
(echo '/* Generated automatically */'; sed -n '/^E/{s/^E//;p;}' < system.syms) \
  > system.epro
(echo '/* Generated automatically */'; sed -n '/^L/{s/^L//;p;}' < system.syms) \
  > `echo system.epro | sed 's/\.epro$/.pro/'`
gawk -f ../../Src/makepro.awk errnames.c Src/Modules > errnames.syms
(echo '/* Generated automatically */'; sed -n '/^E/{s/^E//;p;}' < errnames.syms) \
  > errnames.epro
(echo '/* Generated automatically */'; sed -n '/^L/{s/^L//;p;}' < errnames.syms) \
  > `echo errnames.epro | sed 's/\.epro$/.pro/'`
make[4]: ディレクトリ `/root/.src/zsh-4.3.10/Src/Modules' に入ります
make[4]: ディレクトリ `/root/.src/zsh-4.3.10/Src/Modules' から出ます
Updated `system.mdh'.
make[4]: ディレクトリ `/root/.src/zsh-4.3.10/Src/Modules' に入ります
make[4]: ディレクトリ `/root/.src/zsh-4.3.10/Src/Modules' から出ます
Updated `tcp.mdh'.
echo 'timestamp for tcp.mdh against tcp.mdd' > tcp.mdhs
gawk -f ../../Src/makepro.awk tcp.c Src/Modules > tcp.syms
(echo '/* Generated automatically */'; sed -n '/^E/{s/^E//;p;}' < tcp.syms) \
  > tcp.epro
(echo '/* Generated automatically */'; sed -n '/^L/{s/^L//;p;}' < tcp.syms) \
  > `echo tcp.epro | sed 's/\.epro$/.pro/'`
make[4]: ディレクトリ `/root/.src/zsh-4.3.10/Src/Modules' に入ります
make[4]: ディレクトリ `/root/.src/zsh-4.3.10/Src/Modules' から出ます
Updated `tcp.mdh'.
make[4]: ディレクトリ `/root/.src/zsh-4.3.10/Src/Modules' に入ります
make[4]: ディレクトリ `/root/.src/zsh-4.3.10/Src/Modules' から出ます
Updated `termcap.mdh'.
echo 'timestamp for termcap.mdh against termcap.mdd' > termcap.mdhs
gawk -f ../../Src/makepro.awk termcap.c Src/Modules > termcap.syms
(echo '/* Generated automatically */'; sed -n '/^E/{s/^E//;p;}' < termcap.syms) \
  > termcap.epro
(echo '/* Generated automatically */'; sed -n '/^L/{s/^L//;p;}' < termcap.syms) \
  > `echo termcap.epro | sed 's/\.epro$/.pro/'`
make[4]: ディレクトリ `/root/.src/zsh-4.3.10/Src/Modules' に入ります
make[4]: ディレクトリ `/root/.src/zsh-4.3.10/Src/Modules' から出ます
Updated `termcap.mdh'.
make[4]: ディレクトリ `/root/.src/zsh-4.3.10/Src/Modules' に入ります
make[4]: ディレクトリ `/root/.src/zsh-4.3.10/Src/Modules' から出ます
Updated `terminfo.mdh'.
echo 'timestamp for terminfo.mdh against terminfo.mdd' > terminfo.mdhs
gawk -f ../../Src/makepro.awk terminfo.c Src/Modules > terminfo.syms
(echo '/* Generated automatically */'; sed -n '/^E/{s/^E//;p;}' < terminfo.syms) \
  > terminfo.epro
(echo '/* Generated automatically */'; sed -n '/^L/{s/^L//;p;}' < terminfo.syms) \
  > `echo terminfo.epro | sed 's/\.epro$/.pro/'`
make[4]: ディレクトリ `/root/.src/zsh-4.3.10/Src/Modules' に入ります
make[4]: ディレクトリ `/root/.src/zsh-4.3.10/Src/Modules' から出ます
Updated `terminfo.mdh'.
make[4]: ディレクトリ `/root/.src/zsh-4.3.10/Src/Modules' に入ります
make[4]: ディレクトリ `/root/.src/zsh-4.3.10/Src/Modules' から出ます
Updated `zftp.mdh'.
echo 'timestamp for zftp.mdh against zftp.mdd' > zftp.mdhs
gawk -f ../../Src/makepro.awk zftp.c Src/Modules > zftp.syms
(echo '/* Generated automatically */'; sed -n '/^E/{s/^E//;p;}' < zftp.syms) \
  > zftp.epro
(echo '/* Generated automatically */'; sed -n '/^L/{s/^L//;p;}' < zftp.syms) \
  > `echo zftp.epro | sed 's/\.epro$/.pro/'`
make[4]: ディレクトリ `/root/.src/zsh-4.3.10/Src/Modules' に入ります
make[4]: ディレクトリ `/root/.src/zsh-4.3.10/Src/Modules' から出ます
Updated `zftp.mdh'.
make[4]: ディレクトリ `/root/.src/zsh-4.3.10/Src/Modules' に入ります
make[4]: ディレクトリ `/root/.src/zsh-4.3.10/Src/Modules' から出ます
Updated `zprof.mdh'.
echo 'timestamp for zprof.mdh against zprof.mdd' > zprof.mdhs
gawk -f ../../Src/makepro.awk zprof.c Src/Modules > zprof.syms
(echo '/* Generated automatically */'; sed -n '/^E/{s/^E//;p;}' < zprof.syms) \
  > zprof.epro
(echo '/* Generated automatically */'; sed -n '/^L/{s/^L//;p;}' < zprof.syms) \
  > `echo zprof.epro | sed 's/\.epro$/.pro/'`
make[4]: ディレクトリ `/root/.src/zsh-4.3.10/Src/Modules' に入ります
make[4]: ディレクトリ `/root/.src/zsh-4.3.10/Src/Modules' から出ます
Updated `zprof.mdh'.
make[4]: ディレクトリ `/root/.src/zsh-4.3.10/Src/Modules' に入ります
make[4]: ディレクトリ `/root/.src/zsh-4.3.10/Src/Modules' から出ます
Updated `zpty.mdh'.
echo 'timestamp for zpty.mdh against zpty.mdd' > zpty.mdhs
gawk -f ../../Src/makepro.awk zpty.c Src/Modules > zpty.syms
(echo '/* Generated automatically */'; sed -n '/^E/{s/^E//;p;}' < zpty.syms) \
  > zpty.epro
(echo '/* Generated automatically */'; sed -n '/^L/{s/^L//;p;}' < zpty.syms) \
  > `echo zpty.epro | sed 's/\.epro$/.pro/'`
make[4]: ディレクトリ `/root/.src/zsh-4.3.10/Src/Modules' に入ります
make[4]: ディレクトリ `/root/.src/zsh-4.3.10/Src/Modules' から出ます
Updated `zpty.mdh'.
make[4]: ディレクトリ `/root/.src/zsh-4.3.10/Src/Modules' に入ります
make[4]: ディレクトリ `/root/.src/zsh-4.3.10/Src/Modules' から出ます
Updated `zselect.mdh'.
echo 'timestamp for zselect.mdh against zselect.mdd' > zselect.mdhs
gawk -f ../../Src/makepro.awk zselect.c Src/Modules > zselect.syms
(echo '/* Generated automatically */'; sed -n '/^E/{s/^E//;p;}' < zselect.syms) \
  > zselect.epro
(echo '/* Generated automatically */'; sed -n '/^L/{s/^L//;p;}' < zselect.syms) \
  > `echo zselect.epro | sed 's/\.epro$/.pro/'`
make[4]: ディレクトリ `/root/.src/zsh-4.3.10/Src/Modules' に入ります
make[4]: ディレクトリ `/root/.src/zsh-4.3.10/Src/Modules' から出ます
Updated `zselect.mdh'.
make[4]: ディレクトリ `/root/.src/zsh-4.3.10/Src/Zle' に入ります
( \
     echo '/** thingies.list                            **/'; \
     echo '/** thingy structures for the known thingies **/'; \
     echo; \
     echo '/* format: T("name", TH_FLAGS, w_widget, t_nextthingy) */'; \
     echo; \
     sed -e 's/#.*//; /^$/d; s/" *,.*/"/' \
  -e 's/^"/T("/; s/$/, 0,/; h' \
  -e 's/-//g; s/^.*"\(.*\)".*/w_\1, t_D\1)/' \
  -e 'H; g; s/\n/ /' \
  < ./iwidgets.list; \
     sed -e 's/#.*//; /^$/d; s/" *,.*/"/' \
  -e 's/^"/T("./; s/$/, TH_IMMORTAL,/; h' \
  -e 's/-//g; s/^.*"\.\(.*\)".*/w_\1, t_\1)/' \
  -e 'H; g; s/\n/ /' \
  < ./iwidgets.list; \
 ) > thingies.list
( \
     echo '/** zle_things.h                              **/'; \
     echo '/** indices of and pointers to known thingies **/'; \
     echo; \
     echo 'enum {'; \
     sed -n -f ./zle_things.sed < thingies.list; \
     echo '    ZLE_BUILTIN_THINGY_COUNT'; \
     echo '};'; \
 ) > zle_things.h
make[5]: ディレクトリ `/root/.src/zsh-4.3.10/Src/Zle' に入ります
make[5]: ディレクトリ `/root/.src/zsh-4.3.10/Src/Zle' から出ます
Updated `zle.mdh'.
echo 'timestamp for zle.mdh against zle.mdd' > zle.mdhs
gawk -f ../../Src/makepro.awk zle_bindings.c Src/Zle > zle_bindings.syms
(echo '/* Generated automatically */'; sed -n '/^E/{s/^E//;p;}' < zle_bindings.syms) \
  > zle_bindings.epro
(echo '/* Generated automatically */'; sed -n '/^L/{s/^L//;p;}' < zle_bindings.syms) \
  > `echo zle_bindings.epro | sed 's/\.epro$/.pro/'`
gawk -f ../../Src/makepro.awk zle_hist.c Src/Zle > zle_hist.syms
(echo '/* Generated automatically */'; sed -n '/^E/{s/^E//;p;}' < zle_hist.syms) \
  > zle_hist.epro
(echo '/* Generated automatically */'; sed -n '/^L/{s/^L//;p;}' < zle_hist.syms) \
  > `echo zle_hist.epro | sed 's/\.epro$/.pro/'`
gawk -f ../../Src/makepro.awk zle_keymap.c Src/Zle > zle_keymap.syms
(echo '/* Generated automatically */'; sed -n '/^E/{s/^E//;p;}' < zle_keymap.syms) \
  > zle_keymap.epro
(echo '/* Generated automatically */'; sed -n '/^L/{s/^L//;p;}' < zle_keymap.syms) \
  > `echo zle_keymap.epro | sed 's/\.epro$/.pro/'`
gawk -f ../../Src/makepro.awk zle_main.c Src/Zle > zle_main.syms
(echo '/* Generated automatically */'; sed -n '/^E/{s/^E//;p;}' < zle_main.syms) \
  > zle_main.epro
(echo '/* Generated automatically */'; sed -n '/^L/{s/^L//;p;}' < zle_main.syms) \
  > `echo zle_main.epro | sed 's/\.epro$/.pro/'`
gawk -f ../../Src/makepro.awk zle_misc.c Src/Zle > zle_misc.syms
(echo '/* Generated automatically */'; sed -n '/^E/{s/^E//;p;}' < zle_misc.syms) \
  > zle_misc.epro
(echo '/* Generated automatically */'; sed -n '/^L/{s/^L//;p;}' < zle_misc.syms) \
  > `echo zle_misc.epro | sed 's/\.epro$/.pro/'`
gawk -f ../../Src/makepro.awk zle_move.c Src/Zle > zle_move.syms
(echo '/* Generated automatically */'; sed -n '/^E/{s/^E//;p;}' < zle_move.syms) \
  > zle_move.epro
(echo '/* Generated automatically */'; sed -n '/^L/{s/^L//;p;}' < zle_move.syms) \
  > `echo zle_move.epro | sed 's/\.epro$/.pro/'`
gawk -f ../../Src/makepro.awk zle_params.c Src/Zle > zle_params.syms
(echo '/* Generated automatically */'; sed -n '/^E/{s/^E//;p;}' < zle_params.syms) \
  > zle_params.epro
(echo '/* Generated automatically */'; sed -n '/^L/{s/^L//;p;}' < zle_params.syms) \
  > `echo zle_params.epro | sed 's/\.epro$/.pro/'`
gawk -f ../../Src/makepro.awk zle_refresh.c Src/Zle > zle_refresh.syms
(echo '/* Generated automatically */'; sed -n '/^E/{s/^E//;p;}' < zle_refresh.syms) \
  > zle_refresh.epro
(echo '/* Generated automatically */'; sed -n '/^L/{s/^L//;p;}' < zle_refresh.syms) \
  > `echo zle_refresh.epro | sed 's/\.epro$/.pro/'`
gawk -f ../../Src/makepro.awk zle_thingy.c Src/Zle > zle_thingy.syms
(echo '/* Generated automatically */'; sed -n '/^E/{s/^E//;p;}' < zle_thingy.syms) \
  > zle_thingy.epro
(echo '/* Generated automatically */'; sed -n '/^L/{s/^L//;p;}' < zle_thingy.syms) \
  > `echo zle_thingy.epro | sed 's/\.epro$/.pro/'`
gawk -f ../../Src/makepro.awk zle_tricky.c Src/Zle > zle_tricky.syms
(echo '/* Generated automatically */'; sed -n '/^E/{s/^E//;p;}' < zle_tricky.syms) \
  > zle_tricky.epro
(echo '/* Generated automatically */'; sed -n '/^L/{s/^L//;p;}' < zle_tricky.syms) \
  > `echo zle_tricky.epro | sed 's/\.epro$/.pro/'`
gawk -f ../../Src/makepro.awk zle_utils.c Src/Zle > zle_utils.syms
(echo '/* Generated automatically */'; sed -n '/^E/{s/^E//;p;}' < zle_utils.syms) \
  > zle_utils.epro
(echo '/* Generated automatically */'; sed -n '/^L/{s/^L//;p;}' < zle_utils.syms) \
  > `echo zle_utils.epro | sed 's/\.epro$/.pro/'`
gawk -f ../../Src/makepro.awk zle_vi.c Src/Zle > zle_vi.syms
(echo '/* Generated automatically */'; sed -n '/^E/{s/^E//;p;}' < zle_vi.syms) \
  > zle_vi.epro
(echo '/* Generated automatically */'; sed -n '/^L/{s/^L//;p;}' < zle_vi.syms) \
  > `echo zle_vi.epro | sed 's/\.epro$/.pro/'`
gawk -f ../../Src/makepro.awk zle_word.c Src/Zle > zle_word.syms
(echo '/* Generated automatically */'; sed -n '/^E/{s/^E//;p;}' < zle_word.syms) \
  > zle_word.epro
(echo '/* Generated automatically */'; sed -n '/^L/{s/^L//;p;}' < zle_word.syms) \
  > `echo zle_word.epro | sed 's/\.epro$/.pro/'`
make[5]: ディレクトリ `/root/.src/zsh-4.3.10/Src/Zle' に入ります
make[5]: ディレクトリ `/root/.src/zsh-4.3.10/Src/Zle' から出ます
Updated `zle.mdh'.
make[5]: ディレクトリ `/root/.src/zsh-4.3.10/Src/Zle' に入ります
make[5]: ディレクトリ `/root/.src/zsh-4.3.10/Src/Zle' から出ます
Updated `complete.mdh'.
echo 'timestamp for complete.mdh against complete.mdd' > complete.mdhs
gawk -f ../../Src/makepro.awk complete.c Src/Zle > complete.syms
(echo '/* Generated automatically */'; sed -n '/^E/{s/^E//;p;}' < complete.syms) \
  > complete.epro
(echo '/* Generated automatically */'; sed -n '/^L/{s/^L//;p;}' < complete.syms) \
  > `echo complete.epro | sed 's/\.epro$/.pro/'`
gawk -f ../../Src/makepro.awk compcore.c Src/Zle > compcore.syms
(echo '/* Generated automatically */'; sed -n '/^E/{s/^E//;p;}' < compcore.syms) \
  > compcore.epro
(echo '/* Generated automatically */'; sed -n '/^L/{s/^L//;p;}' < compcore.syms) \
  > `echo compcore.epro | sed 's/\.epro$/.pro/'`
gawk -f ../../Src/makepro.awk compmatch.c Src/Zle > compmatch.syms
(echo '/* Generated automatically */'; sed -n '/^E/{s/^E//;p;}' < compmatch.syms) \
  > compmatch.epro
(echo '/* Generated automatically */'; sed -n '/^L/{s/^L//;p;}' < compmatch.syms) \
  > `echo compmatch.epro | sed 's/\.epro$/.pro/'`
gawk -f ../../Src/makepro.awk compresult.c Src/Zle > compresult.syms
(echo '/* Generated automatically */'; sed -n '/^E/{s/^E//;p;}' < compresult.syms) \
  > compresult.epro
(echo '/* Generated automatically */'; sed -n '/^L/{s/^L//;p;}' < compresult.syms) \
  > `echo compresult.epro | sed 's/\.epro$/.pro/'`
make[5]: ディレクトリ `/root/.src/zsh-4.3.10/Src/Zle' に入ります
make[5]: ディレクトリ `/root/.src/zsh-4.3.10/Src/Zle' から出ます
Updated `complete.mdh'.
make[4]: ディレクトリ `/root/.src/zsh-4.3.10/Src/Zle' から出ます
make[4]: ディレクトリ `/root/.src/zsh-4.3.10/Src/Modules' に入ります
make[4]: ディレクトリ `/root/.src/zsh-4.3.10/Src/Modules' から出ます
Updated `zutil.mdh'.
echo 'timestamp for zutil.mdh against zutil.mdd' > zutil.mdhs
gawk -f ../../Src/makepro.awk zutil.c Src/Modules > zutil.syms
(echo '/* Generated automatically */'; sed -n '/^E/{s/^E//;p;}' < zutil.syms) \
  > zutil.epro
(echo '/* Generated automatically */'; sed -n '/^L/{s/^L//;p;}' < zutil.syms) \
  > `echo zutil.epro | sed 's/\.epro$/.pro/'`
make[4]: ディレクトリ `/root/.src/zsh-4.3.10/Src/Modules' に入ります
make[4]: ディレクトリ `/root/.src/zsh-4.3.10/Src/Modules' から出ます
Updated `zutil.mdh'.
make[3]: ディレクトリ `/root/.src/zsh-4.3.10/Src/Modules' から出ます
make[3]: ディレクトリ `/root/.src/zsh-4.3.10/Src/Zle' に入ります
make[4]: ディレクトリ `/root/.src/zsh-4.3.10/Src/Zle' に入ります
make[4]: ディレクトリ `/root/.src/zsh-4.3.10/Src/Zle' から出ます
Updated `compctl.mdh'.
echo 'timestamp for compctl.mdh against compctl.mdd' > compctl.mdhs
gawk -f ../../Src/makepro.awk compctl.c Src/Zle > compctl.syms
(echo '/* Generated automatically */'; sed -n '/^E/{s/^E//;p;}' < compctl.syms) \
  > compctl.epro
(echo '/* Generated automatically */'; sed -n '/^L/{s/^L//;p;}' < compctl.syms) \
  > `echo compctl.epro | sed 's/\.epro$/.pro/'`
make[4]: ディレクトリ `/root/.src/zsh-4.3.10/Src/Zle' に入ります
make[4]: ディレクトリ `/root/.src/zsh-4.3.10/Src/Zle' から出ます
Updated `compctl.mdh'.
make[4]: ディレクトリ `/root/.src/zsh-4.3.10/Src/Zle' に入ります
make[4]: ディレクトリ `/root/.src/zsh-4.3.10/Src/Zle' から出ます
Updated `complist.mdh'.
echo 'timestamp for complist.mdh against complist.mdd' > complist.mdhs
gawk -f ../../Src/makepro.awk complist.c Src/Zle > complist.syms
(echo '/* Generated automatically */'; sed -n '/^E/{s/^E//;p;}' < complist.syms) \
  > complist.epro
(echo '/* Generated automatically */'; sed -n '/^L/{s/^L//;p;}' < complist.syms) \
  > `echo complist.epro | sed 's/\.epro$/.pro/'`
make[4]: ディレクトリ `/root/.src/zsh-4.3.10/Src/Zle' に入ります
make[4]: ディレクトリ `/root/.src/zsh-4.3.10/Src/Zle' から出ます
Updated `complist.mdh'.
make[4]: ディレクトリ `/root/.src/zsh-4.3.10/Src/Zle' に入ります
make[4]: ディレクトリ `/root/.src/zsh-4.3.10/Src/Zle' から出ます
Updated `computil.mdh'.
echo 'timestamp for computil.mdh against computil.mdd' > computil.mdhs
gawk -f ../../Src/makepro.awk computil.c Src/Zle > computil.syms
(echo '/* Generated automatically */'; sed -n '/^E/{s/^E//;p;}' < computil.syms) \
  > computil.epro
(echo '/* Generated automatically */'; sed -n '/^L/{s/^L//;p;}' < computil.syms) \
  > `echo computil.epro | sed 's/\.epro$/.pro/'`
make[4]: ディレクトリ `/root/.src/zsh-4.3.10/Src/Zle' に入ります
make[4]: ディレクトリ `/root/.src/zsh-4.3.10/Src/Zle' から出ます
Updated `computil.mdh'.
make[4]: ディレクトリ `/root/.src/zsh-4.3.10/Src/Zle' に入ります
make[4]: ディレクトリ `/root/.src/zsh-4.3.10/Src/Zle' から出ます
Updated `deltochar.mdh'.
echo 'timestamp for deltochar.mdh against deltochar.mdd' > deltochar.mdhs
gawk -f ../../Src/makepro.awk deltochar.c Src/Zle > deltochar.syms
(echo '/* Generated automatically */'; sed -n '/^E/{s/^E//;p;}' < deltochar.syms) \
  > deltochar.epro
(echo '/* Generated automatically */'; sed -n '/^L/{s/^L//;p;}' < deltochar.syms) \
  > `echo deltochar.epro | sed 's/\.epro$/.pro/'`
make[4]: ディレクトリ `/root/.src/zsh-4.3.10/Src/Zle' に入ります
make[4]: ディレクトリ `/root/.src/zsh-4.3.10/Src/Zle' から出ます
Updated `deltochar.mdh'.
make[4]: ディレクトリ `/root/.src/zsh-4.3.10/Src/Zle' に入ります
make[4]: ディレクトリ `/root/.src/zsh-4.3.10/Src/Zle' から出ます
Updated `zleparameter.mdh'.
echo 'timestamp for zleparameter.mdh against zleparameter.mdd' > zleparameter.mdhs
gawk -f ../../Src/makepro.awk zleparameter.c Src/Zle > zleparameter.syms
(echo '/* Generated automatically */'; sed -n '/^E/{s/^E//;p;}' < zleparameter.syms) \
  > zleparameter.epro
(echo '/* Generated automatically */'; sed -n '/^L/{s/^L//;p;}' < zleparameter.syms) \
  > `echo zleparameter.epro | sed 's/\.epro$/.pro/'`
make[4]: ディレクトリ `/root/.src/zsh-4.3.10/Src/Zle' に入ります
make[4]: ディレクトリ `/root/.src/zsh-4.3.10/Src/Zle' から出ます
Updated `zleparameter.mdh'.
make[3]: ディレクトリ `/root/.src/zsh-4.3.10/Src/Zle' から出ます
make[2]: ディレクトリ `/root/.src/zsh-4.3.10/Src' から出ます
rm -f stamp-modobjs.tmp
make[2]: ディレクトリ `/root/.src/zsh-4.3.10/Src' に入ります
gcc -c -I.  -DHAVE_CONFIG_H -Wall -Wmissing-prototypes -O2  -o builtin.o builtin.c
gcc -c -I.  -DHAVE_CONFIG_H -Wall -Wmissing-prototypes -O2  -o compat.o compat.c
gcc -c -I.  -DHAVE_CONFIG_H -Wall -Wmissing-prototypes -O2  -o cond.o cond.c
gcc -c -I.  -DHAVE_CONFIG_H -Wall -Wmissing-prototypes -O2  -o exec.o exec.c
gcc -c -I.  -DHAVE_CONFIG_H -Wall -Wmissing-prototypes -O2  -o glob.o glob.c
gcc -c -I.  -DHAVE_CONFIG_H -Wall -Wmissing-prototypes -O2  -o hashtable.o hashtable.c
gcc -c -I.  -DHAVE_CONFIG_H -Wall -Wmissing-prototypes -O2  -o hist.o hist.c
srcdir='.' CFMOD='../config.modules' \
   /bin/sh ./mkbltnmlst.sh bltinmods.list
Updated `zshpaths.h'.
Creating `zshxmods.h'.
echo '#define ZSH_VERSION "'4.3.10'"' > version.h
gcc -c -I.  -DHAVE_CONFIG_H -Wall -Wmissing-prototypes -O2  -o init.o init.c
gcc -c -I.  -DHAVE_CONFIG_H -Wall -Wmissing-prototypes -O2  -o input.o input.c
gcc -c -I.  -DHAVE_CONFIG_H -Wall -Wmissing-prototypes -O2  -o jobs.o jobs.c
gcc -c -I.  -DHAVE_CONFIG_H -Wall -Wmissing-prototypes -O2  -o lex.o lex.c
gcc -c -I.  -DHAVE_CONFIG_H -Wall -Wmissing-prototypes -O2  -o linklist.o linklist.c
gcc -c -I.  -DHAVE_CONFIG_H -Wall -Wmissing-prototypes -O2  -o loop.o loop.c
gcc -c -I.  -DHAVE_CONFIG_H -Wall -Wmissing-prototypes -O2  -o math.o math.c
gcc -c -I.  -DHAVE_CONFIG_H -Wall -Wmissing-prototypes -O2  -o mem.o mem.c
gcc -c -I.  -DHAVE_CONFIG_H -Wall -Wmissing-prototypes -O2  -o module.o module.c
gcc -c -I.  -DHAVE_CONFIG_H -Wall -Wmissing-prototypes -O2  -o options.o options.c
sed -ne \
 's/^\* *\$''Revision: \(.*\) ''\$/#define ZSH_PATCHLEVEL "\1"/p' \
 ../ChangeLog >patchlevel.h
gcc -c -I.  -DHAVE_CONFIG_H -Wall -Wmissing-prototypes -O2  -o params.o params.c
gcc -c -I.  -DHAVE_CONFIG_H -Wall -Wmissing-prototypes -O2  -o parse.o parse.c
gcc -c -I.  -DHAVE_CONFIG_H -Wall -Wmissing-prototypes -O2  -o pattern.o pattern.c
gcc -c -I.  -DHAVE_CONFIG_H -Wall -Wmissing-prototypes -O2  -o prompt.o prompt.c
gcc -c -I.  -DHAVE_CONFIG_H -Wall -Wmissing-prototypes -O2  -o signals.o signals.c
gcc -c -I.  -DHAVE_CONFIG_H -Wall -Wmissing-prototypes -O2  -o signames.o signames.c
gcc -c -I.  -DHAVE_CONFIG_H -Wall -Wmissing-prototypes -O2  -o sort.o sort.c
gcc -c -I.  -DHAVE_CONFIG_H -Wall -Wmissing-prototypes -O2  -o string.o string.c
gcc -c -I.  -DHAVE_CONFIG_H -Wall -Wmissing-prototypes -O2  -o subst.o subst.c
gcc -c -I.  -DHAVE_CONFIG_H -Wall -Wmissing-prototypes -O2  -o text.o text.c
gcc -c -I.  -DHAVE_CONFIG_H -Wall -Wmissing-prototypes -O2  -o utils.o utils.c
gcc -c -I.  -DHAVE_CONFIG_H -Wall -Wmissing-prototypes -O2  -o watch.o watch.c
echo '' builtin.o compat.o cond.o exec.o glob.o hashtable.o hist.o init.o input.o jobs.o lex.o linklist.o loop.o math.o mem.o module.o options.o params.o parse.o pattern.o prompt.o signals.o signames.o sort.o string.o subst.o text.o utils.o watch.o >> ../Src/stamp-modobjs.tmp
make[3]: ディレクトリ `/root/.src/zsh-4.3.10/Src/Builtins' に入ります
make[3]: ディレクトリ `/root/.src/zsh-4.3.10/Src/Builtins' から出ます
make[3]: ディレクトリ `/root/.src/zsh-4.3.10/Src/Modules' に入ります
make[3]: ディレクトリ `/root/.src/zsh-4.3.10/Src/Modules' から出ます
make[3]: ディレクトリ `/root/.src/zsh-4.3.10/Src/Zle' に入ります
make[3]: ディレクトリ `/root/.src/zsh-4.3.10/Src/Zle' から出ます
make[2]: ディレクトリ `/root/.src/zsh-4.3.10/Src' から出ます
Updated `stamp-modobjs'.
make[2]: ディレクトリ `/root/.src/zsh-4.3.10/Src' に入ります
gawk -f ../Src/makepro.awk main.c Src > main.syms
(echo '/* Generated automatically */'; sed -n '/^E/{s/^E//;p;}' < main.syms) \
  > main.epro
(echo '/* Generated automatically */'; sed -n '/^L/{s/^L//;p;}' < main.syms) \
  > `echo main.epro | sed 's/\.epro$/.pro/'`
gcc -c -I.  -DHAVE_CONFIG_H -Wall -Wmissing-prototypes -O2 -o main.o ./main.c
make[2]: ディレクトリ `/root/.src/zsh-4.3.10/Src' から出ます
make[2]: ディレクトリ `/root/.src/zsh-4.3.10/Src' に入ります
( echo '#!'; cat builtin.syms compat.syms cond.syms exec.syms glob.syms hashtable.syms hist.syms init.syms input.syms jobs.syms lex.syms linklist.syms loop.syms math.syms mem.syms module.syms options.syms params.syms parse.syms pattern.syms prompt.syms signals.syms signames.syms sort.syms string.syms subst.syms text.syms utils.syms watch.syms  | sed -n '/^X/{s/^X//;p;}' | sort -u ) > zsh.export
make[2]: ディレクトリ `/root/.src/zsh-4.3.10/Src' から出ます
rm -f zsh
gcc  -s -rdynamic -o zsh main.o  `cat stamp-modobjs`   -ldl -lncursesw -lm  -lc
utils.o: In function `gettempname':
utils.c:(.text+0x4346): warning: the use of `mktemp' is dangerous, better use `mkstemp'
make[2]: ディレクトリ `/root/.src/zsh-4.3.10/Src' に入ります
make[3]: ディレクトリ `/root/.src/zsh-4.3.10/Src/Builtins' に入ります
gawk -f ./rlimits.awk /usr/include/bits/resource.h /dev/null > rlimits.h
gcc -c -I.  -DHAVE_CONFIG_H -DMODULE -Wall -Wmissing-prototypes -O2 -fPIC -o rlimits..o rlimits.c
( echo '#!'; cat rlimits.syms  | sed -n '/^X/{s/^X//;p;}' | sort -u ) > rlimits.export
rm -f rlimits.so
gcc  -s -shared -o rlimits.so   rlimits..o    -ldl -lncursesw -lm  -lc 
gcc -c -I.  -DHAVE_CONFIG_H -DMODULE -Wall -Wmissing-prototypes -O2 -fPIC -o sched..o sched.c
( echo '#!'; cat sched.syms  | sed -n '/^X/{s/^X//;p;}' | sort -u ) > sched.export
rm -f sched.so
gcc  -s -shared -o sched.so   sched..o    -ldl -lncursesw -lm  -lc 
make[3]: ディレクトリ `/root/.src/zsh-4.3.10/Src/Builtins' から出ます
make[3]: ディレクトリ `/root/.src/zsh-4.3.10/Src/Modules' に入ります
gcc -c -I.  -DHAVE_CONFIG_H -DMODULE -Wall -Wmissing-prototypes -O2 -fPIC -o attr..o attr.c
( echo '#!'; cat attr.syms  | sed -n '/^X/{s/^X//;p;}' | sort -u ) > attr.export
rm -f attr.so
gcc  -s -shared -o attr.so   attr..o    -ldl -lncursesw -lm  -lc 
gcc -c -I.  -DHAVE_CONFIG_H -DMODULE -Wall -Wmissing-prototypes -O2 -fPIC -o cap..o cap.c
( echo '#!'; cat cap.syms  | sed -n '/^X/{s/^X//;p;}' | sort -u ) > cap.export
rm -f cap.so
gcc  -s -shared -o cap.so   cap..o    -ldl -lncursesw -lm  -lc 
gcc -c -I.  -DHAVE_CONFIG_H -DMODULE -Wall -Wmissing-prototypes -O2 -fPIC -o clone..o clone.c
( echo '#!'; cat clone.syms  | sed -n '/^X/{s/^X//;p;}' | sort -u ) > clone.export
rm -f clone.so
gcc  -s -shared -o clone.so   clone..o    -ldl -lncursesw -lm  -lc 
gawk -f ./curses_keys.awk /usr/include/ncursesw/curses.h /dev/null >curses_keys.h
gcc -c -I.  -DHAVE_CONFIG_H -DMODULE -Wall -Wmissing-prototypes -O2 -fPIC -o curses..o curses.c
( echo '#!'; cat curses.syms  | sed -n '/^X/{s/^X//;p;}' | sort -u ) > curses.export
rm -f curses.so
gcc  -s -shared -o curses.so   curses..o    -ldl -lncursesw -lm  -lc 
gcc -c -I.  -DHAVE_CONFIG_H -DMODULE -Wall -Wmissing-prototypes -O2 -fPIC -o datetime..o datetime.c
( echo '#!'; cat datetime.syms  | sed -n '/^X/{s/^X//;p;}' | sort -u ) > datetime.export
rm -f datetime.so
gcc  -s -shared -o datetime.so   datetime..o    -ldl -lncursesw -lm  -lc 
gcc -c -I.  -DHAVE_CONFIG_H -DMODULE -Wall -Wmissing-prototypes -O2 -fPIC -o example..o example.c
( echo '#!'; cat example.syms  | sed -n '/^X/{s/^X//;p;}' | sort -u ) > example.export
rm -f example.so
gcc  -s -shared -o example.so   example..o    -ldl -lncursesw -lm  -lc 
gcc -c -I.  -DHAVE_CONFIG_H -DMODULE -Wall -Wmissing-prototypes -O2 -fPIC -o files..o files.c
( echo '#!'; cat files.syms  | sed -n '/^X/{s/^X//;p;}' | sort -u ) > files.export
rm -f files.so
gcc  -s -shared -o files.so   files..o    -ldl -lncursesw -lm  -lc 
gcc -c -I.  -DHAVE_CONFIG_H -DMODULE -Wall -Wmissing-prototypes -O2 -fPIC -o langinfo..o langinfo.c
( echo '#!'; cat langinfo.syms  | sed -n '/^X/{s/^X//;p;}' | sort -u ) > langinfo.export
rm -f langinfo.so
gcc  -s -shared -o langinfo.so   langinfo..o    -ldl -lncursesw -lm  -lc 
gcc -c -I.  -DHAVE_CONFIG_H -DMODULE -Wall -Wmissing-prototypes -O2 -fPIC -o mapfile..o mapfile.c
( echo '#!'; cat mapfile.syms  | sed -n '/^X/{s/^X//;p;}' | sort -u ) > mapfile.export
rm -f mapfile.so
gcc  -s -shared -o mapfile.so   mapfile..o    -ldl -lncursesw -lm  -lc 
gcc -c -I.  -DHAVE_CONFIG_H -DMODULE -Wall -Wmissing-prototypes -O2 -fPIC -o mathfunc..o mathfunc.c
( echo '#!'; cat mathfunc.syms  | sed -n '/^X/{s/^X//;p;}' | sort -u ) > mathfunc.export
rm -f mathfunc.so
gcc  -s -shared -o mathfunc.so   mathfunc..o    -ldl -lncursesw -lm  -lc 
gcc -c -I.  -DHAVE_CONFIG_H -DMODULE -Wall -Wmissing-prototypes -O2 -fPIC -o newuser..o newuser.c
( echo '#!'; cat newuser.syms  | sed -n '/^X/{s/^X//;p;}' | sort -u ) > newuser.export
rm -f newuser.so
gcc  -s -shared -o newuser.so   newuser..o    -ldl -lncursesw -lm  -lc 
gcc -c -I.  -DHAVE_CONFIG_H -DMODULE -Wall -Wmissing-prototypes -O2 -fPIC -o parameter..o parameter.c
( echo '#!'; cat parameter.syms  | sed -n '/^X/{s/^X//;p;}' | sort -u ) > parameter.export
rm -f parameter.so
gcc  -s -shared -o parameter.so   parameter..o    -ldl -lncursesw -lm  -lc 
gcc -c -I.  -DHAVE_CONFIG_H -DMODULE -Wall -Wmissing-prototypes -O2 -fPIC -o regex..o regex.c
( echo '#!'; cat regex.syms  | sed -n '/^X/{s/^X//;p;}' | sort -u ) > regex.export
rm -f regex.so
gcc  -s -shared -o regex.so   regex..o    -ldl -lncursesw -lm  -lc 
gcc -c -I.  -DHAVE_CONFIG_H -DMODULE -Wall -Wmissing-prototypes -O2 -fPIC -o socket..o socket.c
( echo '#!'; cat socket.syms  | sed -n '/^X/{s/^X//;p;}' | sort -u ) > socket.export
rm -f socket.so
gcc  -s -shared -o socket.so   socket..o    -ldl -lncursesw -lm  -lc 
gcc -c -I.  -DHAVE_CONFIG_H -DMODULE -Wall -Wmissing-prototypes -O2 -fPIC -o stat..o stat.c
( echo '#!'; cat stat.syms  | sed -n '/^X/{s/^X//;p;}' | sort -u ) > stat.export
rm -f stat.so
gcc  -s -shared -o stat.so   stat..o    -ldl -lncursesw -lm  -lc 
gcc -c -I.  -DHAVE_CONFIG_H -DMODULE -Wall -Wmissing-prototypes -O2 -fPIC -o system..o system.c
gcc -c -I.  -DHAVE_CONFIG_H -DMODULE -Wall -Wmissing-prototypes -O2 -fPIC -o errnames..o errnames.c
( echo '#!'; cat system.syms errnames.syms  | sed -n '/^X/{s/^X//;p;}' | sort -u ) > system.export
rm -f system.so
gcc  -s -shared -o system.so   system..o errnames..o    -ldl -lncursesw -lm  -lc 
gcc -c -I.  -DHAVE_CONFIG_H -DMODULE -Wall -Wmissing-prototypes -O2 -fPIC -o tcp..o tcp.c
( echo '#!'; cat tcp.syms  | sed -n '/^X/{s/^X//;p;}' | sort -u ) > tcp.export
rm -f tcp.so
gcc  -s -shared -o tcp.so   tcp..o    -ldl -lncursesw -lm  -lc 
gcc -c -I.  -DHAVE_CONFIG_H -DMODULE -Wall -Wmissing-prototypes -O2 -fPIC -o termcap..o termcap.c
( echo '#!'; cat termcap.syms  | sed -n '/^X/{s/^X//;p;}' | sort -u ) > termcap.export
rm -f termcap.so
gcc  -s -shared -o termcap.so   termcap..o    -ldl -lncursesw -lm  -lc 
gcc -c -I.  -DHAVE_CONFIG_H -DMODULE -Wall -Wmissing-prototypes -O2 -fPIC -o terminfo..o terminfo.c
( echo '#!'; cat terminfo.syms  | sed -n '/^X/{s/^X//;p;}' | sort -u ) > terminfo.export
rm -f terminfo.so
gcc  -s -shared -o terminfo.so   terminfo..o    -ldl -lncursesw -lm  -lc 
gcc -c -I.  -DHAVE_CONFIG_H -DMODULE -Wall -Wmissing-prototypes -O2 -fPIC -o zftp..o zftp.c
( echo '#!'; cat zftp.syms  | sed -n '/^X/{s/^X//;p;}' | sort -u ) > zftp.export
rm -f zftp.so
gcc  -s -shared -o zftp.so   zftp..o    -ldl -lncursesw -lm  -lc 
gcc -c -I.  -DHAVE_CONFIG_H -DMODULE -Wall -Wmissing-prototypes -O2 -fPIC -o zprof..o zprof.c
( echo '#!'; cat zprof.syms  | sed -n '/^X/{s/^X//;p;}' | sort -u ) > zprof.export
rm -f zprof.so
gcc  -s -shared -o zprof.so   zprof..o    -ldl -lncursesw -lm  -lc 
gcc -c -I.  -DHAVE_CONFIG_H -DMODULE -Wall -Wmissing-prototypes -O2 -fPIC -o zpty..o zpty.c
( echo '#!'; cat zpty.syms  | sed -n '/^X/{s/^X//;p;}' | sort -u ) > zpty.export
rm -f zpty.so
gcc  -s -shared -o zpty.so   zpty..o    -ldl -lncursesw -lm  -lc 
gcc -c -I.  -DHAVE_CONFIG_H -DMODULE -Wall -Wmissing-prototypes -O2 -fPIC -o zselect..o zselect.c
( echo '#!'; cat zselect.syms  | sed -n '/^X/{s/^X//;p;}' | sort -u ) > zselect.export
rm -f zselect.so
gcc  -s -shared -o zselect.so   zselect..o    -ldl -lncursesw -lm  -lc 
make[4]: ディレクトリ `/root/.src/zsh-4.3.10/Src/Zle' に入ります
make[4]: `complete.mdh' は更新済みです
make[4]: ディレクトリ `/root/.src/zsh-4.3.10/Src/Zle' から出ます
gcc -c -I.  -DHAVE_CONFIG_H -DMODULE -Wall -Wmissing-prototypes -O2 -fPIC -o zutil..o zutil.c
( echo '#!'; cat zutil.syms  | sed -n '/^X/{s/^X//;p;}' | sort -u ) > zutil.export
make[4]: ディレクトリ `/root/.src/zsh-4.3.10/Src/Zle' に入ります
( echo '#!'; cat complete.syms compcore.syms compmatch.syms compresult.syms  | sed -n '/^X/{s/^X//;p;}' | sort -u ) > complete.export
make[4]: ディレクトリ `/root/.src/zsh-4.3.10/Src/Zle' から出ます
rm -f zutil.so
gcc  -s -shared -o zutil.so   zutil..o    -ldl -lncursesw -lm  -lc 
make[3]: ディレクトリ `/root/.src/zsh-4.3.10/Src/Modules' から出ます
make[3]: ディレクトリ `/root/.src/zsh-4.3.10/Src/Zle' に入ります
gcc -c -I.  -DHAVE_CONFIG_H -DMODULE -Wall -Wmissing-prototypes -O2 -fPIC -o compctl..o compctl.c
( echo '#!'; cat compctl.syms  | sed -n '/^X/{s/^X//;p;}' | sort -u ) > compctl.export
( echo '#!'; cat zle_bindings.syms zle_hist.syms zle_keymap.syms zle_main.syms zle_misc.syms zle_move.syms zle_params.syms zle_refresh.syms zle_thingy.syms zle_tricky.syms zle_utils.syms zle_vi.syms zle_word.syms  | sed -n '/^X/{s/^X//;p;}' | sort -u ) > zle.export
rm -f compctl.so
gcc  -s -shared -o compctl.so   compctl..o    -ldl -lncursesw -lm  -lc 
gcc -c -I.  -DHAVE_CONFIG_H -DMODULE -Wall -Wmissing-prototypes -O2 -fPIC -o complete..o complete.c
gcc -c -I.  -DHAVE_CONFIG_H -DMODULE -Wall -Wmissing-prototypes -O2 -fPIC -o compcore..o compcore.c
gcc -c -I.  -DHAVE_CONFIG_H -DMODULE -Wall -Wmissing-prototypes -O2 -fPIC -o compmatch..o compmatch.c
gcc -c -I.  -DHAVE_CONFIG_H -DMODULE -Wall -Wmissing-prototypes -O2 -fPIC -o compresult..o compresult.c
rm -f complete.so
gcc  -s -shared -o complete.so   complete..o compcore..o compmatch..o compresult..o    -ldl -lncursesw -lm  -lc 
gcc -c -I.  -DHAVE_CONFIG_H -DMODULE -Wall -Wmissing-prototypes -O2 -fPIC -o complist..o complist.c
( echo '#!'; cat complist.syms  | sed -n '/^X/{s/^X//;p;}' | sort -u ) > complist.export
rm -f complist.so
gcc  -s -shared -o complist.so   complist..o    -ldl -lncursesw -lm  -lc 
gcc -c -I.  -DHAVE_CONFIG_H -DMODULE -Wall -Wmissing-prototypes -O2 -fPIC -o computil..o computil.c
( echo '#!'; cat computil.syms  | sed -n '/^X/{s/^X//;p;}' | sort -u ) > computil.export
rm -f computil.so
gcc  -s -shared -o computil.so   computil..o    -ldl -lncursesw -lm  -lc 
gcc -c -I.  -DHAVE_CONFIG_H -DMODULE -Wall -Wmissing-prototypes -O2 -fPIC -o deltochar..o deltochar.c
( echo '#!'; cat deltochar.syms  | sed -n '/^X/{s/^X//;p;}' | sort -u ) > deltochar.export
rm -f deltochar.so
gcc  -s -shared -o deltochar.so   deltochar..o    -ldl -lncursesw -lm  -lc 
( \
     echo '/** widgets.list                               **/'; \
     echo '/** widget structures for the internal widgets **/'; \
     echo; \
     echo '/* format: W(ZLE_FLAGS, t_firstname, functionname) */'; \
     echo; \
     sed -e 's/#.*//; /^$/d; s/-//g' \
  -e 's/^"\(.*\)" *, *\([^ ]*\) *, *\(.*\)/W(\3, t_\1, \2)/' \
  < ./iwidgets.list; \
 ) > widgets.list
( \
     echo '/** zle_widget.h                                **/'; \
     echo '/** indices of and pointers to internal widgets **/'; \
     echo; \
     echo 'enum {'; \
     sed -n -f ./zle_widget.sed < widgets.list; \
     echo '    ZLE_BUILTIN_WIDGET_COUNT'; \
     echo '};'; \
 ) > zle_widget.h
gcc -c -I.  -DHAVE_CONFIG_H -DMODULE -Wall -Wmissing-prototypes -O2 -fPIC -o zle_bindings..o zle_bindings.c
gcc -c -I.  -DHAVE_CONFIG_H -DMODULE -Wall -Wmissing-prototypes -O2 -fPIC -o zle_hist..o zle_hist.c
gcc -c -I.  -DHAVE_CONFIG_H -DMODULE -Wall -Wmissing-prototypes -O2 -fPIC -o zle_keymap..o zle_keymap.c
gcc -c -I.  -DHAVE_CONFIG_H -DMODULE -Wall -Wmissing-prototypes -O2 -fPIC -o zle_main..o zle_main.c
gcc -c -I.  -DHAVE_CONFIG_H -DMODULE -Wall -Wmissing-prototypes -O2 -fPIC -o zle_misc..o zle_misc.c
gcc -c -I.  -DHAVE_CONFIG_H -DMODULE -Wall -Wmissing-prototypes -O2 -fPIC -o zle_move..o zle_move.c
gcc -c -I.  -DHAVE_CONFIG_H -DMODULE -Wall -Wmissing-prototypes -O2 -fPIC -o zle_params..o zle_params.c
gcc -c -I.  -DHAVE_CONFIG_H -DMODULE -Wall -Wmissing-prototypes -O2 -fPIC -o zle_refresh..o zle_refresh.c
gcc -c -I.  -DHAVE_CONFIG_H -DMODULE -Wall -Wmissing-prototypes -O2 -fPIC -o zle_thingy..o zle_thingy.c
gcc -c -I.  -DHAVE_CONFIG_H -DMODULE -Wall -Wmissing-prototypes -O2 -fPIC -o zle_tricky..o zle_tricky.c
gcc -c -I.  -DHAVE_CONFIG_H -DMODULE -Wall -Wmissing-prototypes -O2 -fPIC -o zle_utils..o zle_utils.c
gcc -c -I.  -DHAVE_CONFIG_H -DMODULE -Wall -Wmissing-prototypes -O2 -fPIC -o zle_vi..o zle_vi.c
gcc -c -I.  -DHAVE_CONFIG_H -DMODULE -Wall -Wmissing-prototypes -O2 -fPIC -o zle_word..o zle_word.c
rm -f zle.so
gcc  -s -shared -o zle.so   zle_bindings..o zle_hist..o zle_keymap..o zle_main..o zle_misc..o zle_move..o zle_params..o zle_refresh..o zle_thingy..o zle_tricky..o zle_utils..o zle_vi..o zle_word..o    -ldl -lncursesw -lm  -lc 
gcc -c -I.  -DHAVE_CONFIG_H -DMODULE -Wall -Wmissing-prototypes -O2 -fPIC -o zleparameter..o zleparameter.c
( echo '#!'; cat zleparameter.syms  | sed -n '/^X/{s/^X//;p;}' | sort -u ) > zleparameter.export
rm -f zleparameter.so
gcc  -s -shared -o zleparameter.so   zleparameter..o    -ldl -lncursesw -lm  -lc 
make[3]: ディレクトリ `/root/.src/zsh-4.3.10/Src/Zle' から出ます
make[2]: ディレクトリ `/root/.src/zsh-4.3.10/Src' から出ます
make[1]: ディレクトリ `/root/.src/zsh-4.3.10/Src' から出ます
make[1]: ディレクトリ `/root/.src/zsh-4.3.10/Doc' に入ります
make[1]: `all' に対して行うべき事はありません.
make[1]: ディレクトリ `/root/.src/zsh-4.3.10/Doc' から出ます
make[1]: ディレクトリ `/root/.src/zsh-4.3.10/Src' に入ります
make[2]: ディレクトリ `/root/.src/zsh-4.3.10/Src' に入ります
make[3]: ディレクトリ `/root/.src/zsh-4.3.10/Src/Builtins' に入ります
make[3]: ディレクトリ `/root/.src/zsh-4.3.10/Src/Builtins' から出ます
make[3]: ディレクトリ `/root/.src/zsh-4.3.10/Src/Modules' に入ります
make[4]: ディレクトリ `/root/.src/zsh-4.3.10/Src/Zle' に入ります
make[4]: `complete.mdh' は更新済みです
make[4]: ディレクトリ `/root/.src/zsh-4.3.10/Src/Zle' から出ます
make[3]: ディレクトリ `/root/.src/zsh-4.3.10/Src/Modules' から出ます
make[3]: ディレクトリ `/root/.src/zsh-4.3.10/Src/Zle' に入ります
make[3]: ディレクトリ `/root/.src/zsh-4.3.10/Src/Zle' から出ます
make[2]: ディレクトリ `/root/.src/zsh-4.3.10/Src' から出ます
rm -f stamp-modobjs.tmp
make[2]: ディレクトリ `/root/.src/zsh-4.3.10/Src' に入ります
echo '' builtin.o compat.o cond.o exec.o glob.o hashtable.o hist.o init.o input.o jobs.o lex.o linklist.o loop.o math.o mem.o module.o options.o params.o parse.o pattern.o prompt.o signals.o signames.o sort.o string.o subst.o text.o utils.o watch.o >> ../Src/stamp-modobjs.tmp
make[3]: ディレクトリ `/root/.src/zsh-4.3.10/Src/Builtins' に入ります
make[3]: ディレクトリ `/root/.src/zsh-4.3.10/Src/Builtins' から出ます
make[3]: ディレクトリ `/root/.src/zsh-4.3.10/Src/Modules' に入ります
make[3]: ディレクトリ `/root/.src/zsh-4.3.10/Src/Modules' から出ます
make[3]: ディレクトリ `/root/.src/zsh-4.3.10/Src/Zle' に入ります
make[3]: ディレクトリ `/root/.src/zsh-4.3.10/Src/Zle' から出ます
make[2]: ディレクトリ `/root/.src/zsh-4.3.10/Src' から出ます
`stamp-modobjs' is up to date.
/bin/sh ../mkinstalldirs //bin
/usr/bin/install -c  zsh //bin/zsh-4.3.10
if test -f //bin/zsh; then \
     rm -f //bin/zsh.old; \
     ln //bin/zsh //bin/zsh.old; \
 else :; fi
rm -f //bin/zsh.new
ln //bin/zsh-4.3.10 //bin/zsh.new
mv //bin/zsh.new //bin/zsh
make[1]: ディレクトリ `/root/.src/zsh-4.3.10/Src' から出ます
make[1]: ディレクトリ `/root/.src/zsh-4.3.10/Src' に入ります
make[2]: ディレクトリ `/root/.src/zsh-4.3.10/Src' に入ります
make[3]: ディレクトリ `/root/.src/zsh-4.3.10/Src/Builtins' に入ります
/bin/sh ../../mkinstalldirs //lib/zsh/4.3.10/zsh
mkdir -p -- //lib/zsh/4.3.10/zsh
/usr/bin/install -c  rlimits.so //lib/zsh/4.3.10/zsh/rlimits.so
/bin/sh ../../mkinstalldirs //lib/zsh/4.3.10/zsh
/usr/bin/install -c  sched.so //lib/zsh/4.3.10/zsh/sched.so
make[3]: ディレクトリ `/root/.src/zsh-4.3.10/Src/Builtins' から出ます
make[3]: ディレクトリ `/root/.src/zsh-4.3.10/Src/Modules' に入ります
/bin/sh ../../mkinstalldirs //lib/zsh/4.3.10/zsh
/usr/bin/install -c  attr.so //lib/zsh/4.3.10/zsh/attr.so
/bin/sh ../../mkinstalldirs //lib/zsh/4.3.10/zsh
/usr/bin/install -c  cap.so //lib/zsh/4.3.10/zsh/cap.so
/bin/sh ../../mkinstalldirs //lib/zsh/4.3.10/zsh
/usr/bin/install -c  clone.so //lib/zsh/4.3.10/zsh/clone.so
/bin/sh ../../mkinstalldirs //lib/zsh/4.3.10/zsh
/usr/bin/install -c  curses.so //lib/zsh/4.3.10/zsh/curses.so
/bin/sh ../../mkinstalldirs //lib/zsh/4.3.10/zsh
/usr/bin/install -c  datetime.so //lib/zsh/4.3.10/zsh/datetime.so
/bin/sh ../../mkinstalldirs //lib/zsh/4.3.10/zsh
/usr/bin/install -c  example.so //lib/zsh/4.3.10/zsh/example.so
/bin/sh ../../mkinstalldirs //lib/zsh/4.3.10/zsh
/usr/bin/install -c  files.so //lib/zsh/4.3.10/zsh/files.so
/bin/sh ../../mkinstalldirs //lib/zsh/4.3.10/zsh
/usr/bin/install -c  langinfo.so //lib/zsh/4.3.10/zsh/langinfo.so
/bin/sh ../../mkinstalldirs //lib/zsh/4.3.10/zsh
/usr/bin/install -c  mapfile.so //lib/zsh/4.3.10/zsh/mapfile.so
/bin/sh ../../mkinstalldirs //lib/zsh/4.3.10/zsh
/usr/bin/install -c  mathfunc.so //lib/zsh/4.3.10/zsh/mathfunc.so
/bin/sh ../../mkinstalldirs //lib/zsh/4.3.10/zsh
/usr/bin/install -c  newuser.so //lib/zsh/4.3.10/zsh/newuser.so
/bin/sh ../../mkinstalldirs //lib/zsh/4.3.10/zsh
/usr/bin/install -c  parameter.so //lib/zsh/4.3.10/zsh/parameter.so
/bin/sh ../../mkinstalldirs //lib/zsh/4.3.10/zsh
/usr/bin/install -c  regex.so //lib/zsh/4.3.10/zsh/regex.so
/bin/sh ../../mkinstalldirs //lib/zsh/4.3.10/zsh/net
mkdir -p -- //lib/zsh/4.3.10/zsh/net
/usr/bin/install -c  socket.so //lib/zsh/4.3.10/zsh/net/socket.so
/bin/sh ../../mkinstalldirs //lib/zsh/4.3.10/zsh
/usr/bin/install -c  stat.so //lib/zsh/4.3.10/zsh/stat.so
/bin/sh ../../mkinstalldirs //lib/zsh/4.3.10/zsh
/usr/bin/install -c  system.so //lib/zsh/4.3.10/zsh/system.so
/bin/sh ../../mkinstalldirs //lib/zsh/4.3.10/zsh/net
/usr/bin/install -c  tcp.so //lib/zsh/4.3.10/zsh/net/tcp.so
/bin/sh ../../mkinstalldirs //lib/zsh/4.3.10/zsh
/usr/bin/install -c  termcap.so //lib/zsh/4.3.10/zsh/termcap.so
/bin/sh ../../mkinstalldirs //lib/zsh/4.3.10/zsh
/usr/bin/install -c  terminfo.so //lib/zsh/4.3.10/zsh/terminfo.so
/bin/sh ../../mkinstalldirs //lib/zsh/4.3.10/zsh
/usr/bin/install -c  zftp.so //lib/zsh/4.3.10/zsh/zftp.so
/bin/sh ../../mkinstalldirs //lib/zsh/4.3.10/zsh
/usr/bin/install -c  zprof.so //lib/zsh/4.3.10/zsh/zprof.so
/bin/sh ../../mkinstalldirs //lib/zsh/4.3.10/zsh
/usr/bin/install -c  zpty.so //lib/zsh/4.3.10/zsh/zpty.so
/bin/sh ../../mkinstalldirs //lib/zsh/4.3.10/zsh
/usr/bin/install -c  zselect.so //lib/zsh/4.3.10/zsh/zselect.so
make[4]: ディレクトリ `/root/.src/zsh-4.3.10/Src/Zle' に入ります
make[4]: `complete.mdh' は更新済みです
make[4]: ディレクトリ `/root/.src/zsh-4.3.10/Src/Zle' から出ます
make[4]: ディレクトリ `/root/.src/zsh-4.3.10/Src/Zle' に入ります
make[4]: `complete.export' は更新済みです
make[4]: ディレクトリ `/root/.src/zsh-4.3.10/Src/Zle' から出ます
/bin/sh ../../mkinstalldirs //lib/zsh/4.3.10/zsh
/usr/bin/install -c  zutil.so //lib/zsh/4.3.10/zsh/zutil.so
make[3]: ディレクトリ `/root/.src/zsh-4.3.10/Src/Modules' から出ます
make[3]: ディレクトリ `/root/.src/zsh-4.3.10/Src/Zle' に入ります
/bin/sh ../../mkinstalldirs //lib/zsh/4.3.10/zsh
/usr/bin/install -c  compctl.so //lib/zsh/4.3.10/zsh/compctl.so
/bin/sh ../../mkinstalldirs //lib/zsh/4.3.10/zsh
/usr/bin/install -c  complete.so //lib/zsh/4.3.10/zsh/complete.so
/bin/sh ../../mkinstalldirs //lib/zsh/4.3.10/zsh
/usr/bin/install -c  complist.so //lib/zsh/4.3.10/zsh/complist.so
/bin/sh ../../mkinstalldirs //lib/zsh/4.3.10/zsh
/usr/bin/install -c  computil.so //lib/zsh/4.3.10/zsh/computil.so
/bin/sh ../../mkinstalldirs //lib/zsh/4.3.10/zsh
/usr/bin/install -c  deltochar.so //lib/zsh/4.3.10/zsh/deltochar.so
/bin/sh ../../mkinstalldirs //lib/zsh/4.3.10/zsh
/usr/bin/install -c  zle.so //lib/zsh/4.3.10/zsh/zle.so
/bin/sh ../../mkinstalldirs //lib/zsh/4.3.10/zsh
/usr/bin/install -c  zleparameter.so //lib/zsh/4.3.10/zsh/zleparameter.so
make[3]: ディレクトリ `/root/.src/zsh-4.3.10/Src/Zle' から出ます
make[2]: ディレクトリ `/root/.src/zsh-4.3.10/Src' から出ます
make[1]: ディレクトリ `/root/.src/zsh-4.3.10/Src' から出ます
if test x//share/zsh/4.3.10/functions != x && test x//share/zsh/4.3.10/functions != xno; then \
   test x//share/zsh/site-functions != xno && \
     /bin/sh ./mkinstalldirs //share/zsh/site-functions; \
   sdir_top="." fndir="//share/zsh/4.3.10/functions" dir_top="." \
   scriptdir="//share/zsh/4.3.10/scripts" \
   FUNCTIONS_SUBDIRS="no" \
   INSTALL_DATA="/usr/bin/install -c -m 644" \
   INSTALL_PROGRAM="/usr/bin/install -c" \
   DESTDIR="" VERSION="4.3.10" \
   /bin/sh ./Config/installfns.sh || exit 1; \
 fi; \
 exit 0
mkdir -p -- //share/zsh/site-functions
mkdir -p -- //share/zsh/4.3.10/functions
mkdir -p -- //share/zsh/4.3.10/scripts
make[1]: ディレクトリ `/root/.src/zsh-4.3.10/Doc' に入ります
/bin/sh ../mkinstalldirs //share/man/man1
mkdir -p -- //share/man/man1
for file in zsh.1 zshbuiltins.1 zshcalsys.1 zshcompctl.1 zshcompwid.1 zshcompsys.1 zshcontrib.1 zshexpn.1 zshmisc.1 zshmodules.1 zshoptions.1 zshparam.1 zshroadmap.1 zshtcpsys.1 zshzftpsys.1 zshzle.1 zshall.1; do \
     test -s ./$file || exit 1; \
     /usr/bin/install -c -m 644 ./$file //share/man/man1/`echo $file | sed 's|zsh|zsh|'` || exit 1; \
 done
make[1]: ディレクトリ `/root/.src/zsh-4.3.10/Doc' から出ます

参考:https://rvm.io/integration/zsh/