Vine Linux バグトラッキングシステム - Vine Linux
課題の詳細を表示
0000985Vine Linux1 バグ公開2010-05-06 22:072011-01-21 02:31
anonymous 
 
不明 
完了不明 
5.1 
 
x86
なし
0000985: libncurses_g.a が不完全
次のような簡単なncursesを使ったプログラムのデバッグを行うために libncurses_g.a
を使ってみたところ trace, _tracef関数が無いために libncurses_g.a が利用できません。
ncurses-5.6.tar.gz から作成した libncurses_g.a は 150個ほどのファイルがアーカイブ
されておりますが、vine の libncurses_g.a は90個ほどのファイルがアーカイブされてい
るだけです。SRPM中のどのパッチが悪いのかまでは追跡しておりません。

#include <ncurses.h>
#include <unistd.h>

int main(int argc, char **argv) {
  int x, y, x_max, y_max;
  int delay = 500; /* 500 ミリ秒 = 0.5秒 */
  char ch = 'o', c;
  
#ifdef DEBUG
  trace(TRACE_MAXIMUM);
#endif
  initscr();
  getmaxyx(stdscr, y_max, x_max);
  
#ifdef DEBUG
  _tracef("y_max = %d, x_max = %d\n", y_max, x_max);
#endif
  noecho();
  curs_set(0); /* カーソルの削除 */
  timeout(delay);
  for(y = 0; y < y_max; y++) {
    for(x = 0; x < x_max; x++) {
      mvprintw(y, x, "%c", ch);
      c = getch();
#ifdef DEBUG
      _tracef("c = %c\n", c);
#endif
      if (c == 'q'){ endwin(); return 0; }
      if (c != ERR) { ch = c; }
    }
  }
  endwin();

  return 0;
}

ちなみに上のプログラムは、通常であれば、以下のようなオプションでコンパイルできるはずです。
% gcc -DDEBUG -o sample sample.c -lncurses_g
設定されていません。
課題の履歴
2010-05-06 22:07anonymous新規課題
2010-09-25 23:12daisuke状態新規 => テスト待ち
2010-09-25 23:12daisukeコメント追加: 0004151
2011-01-21 02:31munepi状態テスト待ち => 完了
2011-01-21 02:31munepiコメント追加: 0004152

コメント
(0004151)
daisuke   
2010-09-25 23:12   
ncurses の trace は libtinfo_g.a を link してください。
提示されたコードもコンパイルできtracelogも取得できました。
(0004152)
munepi   
2011-01-21 02:31   
確認待ちになってからリプライが無いまま3ヶ月が経過しましたので、
状態を「完了」とします。
何かありましたら、こちらへご投稿下さい。