計算機メモ目次 (目的のページと内容が一致しない場合, 目次から探してください)

Solaris8 上で日本語対応やその他の拡張機能付 gnuplot 3.7.2 + 1.2.0rc2 を構築する


用意するもの
  オリジナル gnuplot-3.7.2.tar.gz
    ftp://ftp.gnuplot.info/pub/gnuplot/gnuplot-3.7.2.tar.gz にある
  拡張パッチ gnuplot3.7.2+1.2.0rc2.patch.tar.gz
    http://www.yama-ga.com/gnuplot/ にある
  GNU readline (前もってインストールしておく)

ソースの展開とパッチあて
  gtar xvfz gnuplot-3.7.2.tar.gz
  cd gnuplot-3.7.2
  gtar xxvf gnuplot3.7.2+1.2.0rc2.patch.tar.gz
  patch -p0 < gnuplot3.7+1.2.patch

さらに plot.c を次のように変更する
  Solaris8ではこのように変更しないとヒストリファイル機能がうまく働かない


*** plot.c.orig	Wed Dec 17 13:01:03 2003
--- plot.c	Wed Dec 17 12:30:51 2003
***************
*** 104,109 ****
--- 104,112 ----
  extern char *rl_readline_name;
  extern int rl_complete_with_tilde_expansion;
  extern char *rl_terminal_name;
+ extern void read_history(const char *);
+ extern void add_history(const char *);
+ extern void history_truncate_file(const char *, int);
  #endif
  
  #ifdef X11
***************
*** 339,345 ****
  char **argv;
  {
  #if defined(HAVE_LIBREADLINE) && !defined(NO_SAVE_HIST)
!     static char *histfile, tmp[BUFSIZ];
  #ifndef GP_DEFAULT_HISTFILE
  #define GP_DEFAULT_HISTFILE ".gp_history"
  #endif /* GP_DEFAULT_HISTFILE */
--- 342,349 ----
  char **argv;
  {
  #if defined(HAVE_LIBREADLINE) && !defined(NO_SAVE_HIST)
! #define GP_HISTFILE_NAMELENGTH 256
!     static char histfile[GP_HISTFILE_NAMELENGTH], tmp[BUFSIZ];
  #ifndef GP_DEFAULT_HISTFILE
  #define GP_DEFAULT_HISTFILE ".gp_history"
  #endif /* GP_DEFAULT_HISTFILE */
***************
*** 503,513 ****
      if (interactive) {
  	show_version(stderr);
  #if defined(HAVE_LIBREADLINE) && !defined(NO_SAVE_HIST)
! 	if ( !(histfile = getenv("GP_HISTFILE")) ) {
! 	    if (getenv("HOME")) {
! 		sprintf(tmp, "%s/%s", getenv("HOME"), GP_DEFAULT_HISTFILE);
! 		histfile = tmp;
! 	    } else histfile = GP_DEFAULT_HISTFILE;
  	}
  	(void)read_history(histfile);
  #endif /* HAVE_LIBREADLINE && !NO_SAVE_HIST */
--- 507,519 ----
      if (interactive) {
  	show_version(stderr);
  #if defined(HAVE_LIBREADLINE) && !defined(NO_SAVE_HIST)
! 	if (getenv("GP_HISTFILE")) {
! 	  strncpy(histfile, getenv("GP_HISTFILE"), GP_HISTFILE_NAMELENGTH);
! 	} else {
! 	  if (getenv("HOME")) {
! 	    sprintf(histfile, "%s/%s", getenv("HOME"), GP_DEFAULT_HISTFILE);
! 	  } else
! 	    sprintf(histfile, "%s", GP_DEFAULT_HISTFILE);
  	}
  	(void)read_history(histfile);
  #endif /* HAVE_LIBREADLINE && !NO_SAVE_HIST */


コンフィギュレーション
  ./configure --with-png --with-readline=gnu --with-vflib

メーク
  gmake

インストール
  gmake install


計算機メモ目次 (目的のページと内容が一致しない場合, 目次から探してください)
海洋大循環分野
daigo@ocg.aori.u-tokyo.ac.jp