Home > 2011年05月

2011年05月 Archive

スポンサーサイト

上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。
  • Comments (Close): -
  • TrackBack (Close): -

Cygwinのrlwrapで余計な改行が出力される件

  • Posted by: Nakunaru
  • 2011-05-23 Mon 22:50:04
  • メモ
Cygwinでrlwrap
http://hitai.blog72.fc2.com/blog-entry-78.html

という記事を以前に書きました。
この時は特に問題は発生していなかったのですが、この度会社のPCが新しくなり、もう一度Cygwinのセットアップをしたらちょっと困った現象が発生しました。
というのは、rlwrapをかませてsqlplusなりCLPなりを起動すると、改行するたびに余計な改行が1つ出力されるというものです。
例えばこんな感じ。


sqlplus /nolog
SQL > ※カーソルはいまここ



この状態で改行すると


sqlplus /nolog

SQL >
SQL > ※カーソルはいまここ



で、さらに改行すると


sqlplus /nolog

SQL >

SQL >
SQL > ※カーソルはいまここ



というように、余計な改行が出力されるため、複数行に渡るSQLを書いているととっても見にくくなってしまいます。

これはCygwinのキャラセットの設定のせいなのかとか、色々調べていたらsourceforgeのrlwrapのプロジェクトで、0.37に


A compilation problem with gcc on armel has been fixed. Programs that emit status lines with lots of carriage returns (like darcs) will no longer confuse rlwrap.


こんなコメントがあり、バグだったようです。
Cygwinで提供されているrlwrapの最新が0.24なので、どうも昔からあるバグを踏んだっぽいです。

そんなわけで、Cygwinプロジェクトにあるパッケージがフルすぎるので、sourceforgeから最新版のソースをダウンロードしてビルドするのですが、configureのあとmakeするとtputsが定義されてないとかいうエラーが出力されます。
0.24のビルドでは出力されないエラーなので、ちょいとソースを見比べてみたところ、
0.24では
define tputs(a,b,c) なんて行があり、0.37にはありません。
なんかよくわかんないけど、これコピペしときゃ通るだろwwwとか考えてリトライしたら、こんどは別の関数が無いと言われます。
というところで小一時間はまったのですが、なんてことはないncursesというパッケージがインストールされていないせいでした。
ということで、Cygwinパッケージからncursesを入れてリトライすると今度は通りました。

ちなみに、rlwrap 0.35, 0.06, 0.37それぞれのダンロードリンクが全て0.35へのリンクになってしまっているので、wgetするときに間違えないように正しいバージョン番号を指定してください。
これもちょっと無駄にハマリました。
http://sourceforge.jp/projects/freshmeat_rlwrap/releases/196417/


これでまた快適なCygwin環境が戻ってきました。
めでたし。


[関連]
http://hitai.blog72.fc2.com/blog-entry-78.html

http://hitai.blog72.fc2.com/blog-entry-76.html

Index of all entries

Home > 2011年05月

タグクラウド
Categories
Monthly
Recent Entries
Recent Comments
Recent Trackbacks
Appendix

Nakunaru

    Author:Nakunaru

    データベース(ORACLEとかSQL ServerとかDB2とかMySQLとか)とか技術者教育とかプログラムとか。
    気になる技術を少しずつ勉強していきます。


Return to page top

上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。