t-nissieの日記: rootになることができないsiteでのgnuplot-4.0.0のコンパイル
日記 by
t-nissie
rootになることができないsiteでのgnuplot-4.0.0のコンパイル with readline-4.3
○AIX,OSF1,IRIX64
●GNU readline-4.3のコンパイル
gnuplot-4.0.0/INSTALL を読むとreadlineのバグを直す必要があるとのこと:
http://sourceforge.net/tracker/index.php?func=detail&aid=608874&group_id=2055&atid=102055
% cd ~/COMMON/work/readline/readline-4.3/
% diff -uw /home/t-nissie/COMMON/work/readline/readline-4.3/signals.c\~
/home/t-nissie/COMMON/work/readline/readline-4.3/signals.c
--- /home/t-nissie/COMMON/work/readline/readline-4.3/signals.c~ Fri Jan 25 01:23:37 2002
+++ /home/t-nissie/COMMON/work/readline/readline-4.3/signals.c Thu May 6 15:06:26 2004
@@ -233,7 +233,7 @@
struct sigaction act;
act.sa_handler = handler;
- act.sa_flags = 0; /* XXX - should we set SA_RESTART for SIGWINCH? */
+ act.sa_flags = (sig == SIGWINCH) ? SA_RESTART : 0;
sigemptyset (&act.sa_mask);
sigemptyset (&ohandler->sa_mask);
sigaction (sig, &act, &old_handler);
% pwd
/home/t-nissie/COMMON/work/readline/readline-4.3/AIX
% env CC=cc ../configure --prefix=/home/t-nissie/AIX
% make
% make install
●gnuplot-4.0.0のコンパイル
gnuplotはreadlineのconfigureのときにprefixとしたディレクトリを--with-readlineに
指定してconfigure.
% pwd
/home/t-nissie/COMMON/work/gnuplot/gnuplot-4.0.0/AIX
% env CC=cc ../configure --prefix=/home/t-nissie/AIX --with-readline=/home/t-nissie/AIX --enable-history-file
.
.
.
** Configuration summary for gnuplot 4.0.0:
Where is the help file? ${prefix}/share/gnuplot/4.0/gnuplot.gih
Use GNU readline library
with -lcurses
enable history file
configure: WARNING: Please see INSTALL for a required readline bugfix.
using old driver
Build gnuplot-mode for X/Emacs
Build LaTeX tutorial
Use the X Window System
Enable mouse for X11
Enable pm3d
Enable filledboxes
Enable relative boxwidths
Enable defined(variable) test
Enable fitting error variables
% make
% make install
●OSF1でも同様にコンパイルできる
V5.0 上でコンパイルしたものは V5.1A (Compaq Tru64 UNIX V5.1A) で動く.
逆は必ずしも真ならず. おそらく必要とされるライブラリ, またはそのバージョンのせい.
% ldd gnuplot
Main => gnuplot
libreadline.so.4 => /home/t-nissie/OSF1/lib/libreadline.so.4
libcurses.so => /usr/shlib/libcurses.so
libm.so => /usr/shlib/libm.so
libc.so => /usr/shlib/libc.so
%
●IRIX64は-n32を付けた. -64, -32 は試していない.
for readline
% env CC=cc CFLAGS=-n32 ../configure --prefix=/home/t-nissie/IRIX64
for gnuplot
% env CC=cc CFLAGS=-n32 ../configure --prefix=/home/t-nissie/IRIX64 --with-readline=/home/t-nissie/IRIX64 --enable-history-file
% elfdump -Dl ~/IRIX64/bin/gnuplot
/home/t-nissie/IRIX64/bin/gnuplot:
**** MIPS LIBLIST INFORMATION ****
.liblist :
[INDEX] Timestamp Checksum Flags Name Version
[1] May 19 11:07:08 2004 0x3b47a2c ----- libreadline.so.4 0
[2] Jul 29 16:10:05 2002 0x963f9428 ----- libcurses.so sgi1.0
[3] Jul 29 16:10:08 2002 0xc991b37d ----- libz.so sgi1.0
[4] Jul 29 16:10:57 2002 0x3cb97445 ----- libpng.so sgi1.0
[5] Jul 29 16:10:14 2002 0xa74005b5 ----- libm.so sgi1.0
[6] Feb 7 02:11:34 2002 0x87f14e18 ----- libc.so.1 sgi1.0
%
○Linux
readlineがインストールされていれば:
% ../configure --prefix=/home/t-nissie/Linux --enable-history-file
readlineのbugをfixしていなくても, 特にXのときにcrashするというようなことはない(ひどい日本語だな).
○AIX,OSF1,IRIX64
●GNU readline-4.3のコンパイル
gnuplot-4.0.0/INSTALL を読むとreadlineのバグを直す必要があるとのこと:
http://sourceforge.net/tracker/index.php?func=detail&aid=608874&group_id=2055&atid=102055
% cd ~/COMMON/work/readline/readline-4.3/
% diff -uw /home/t-nissie/COMMON/work/readline/readline-4.3/signals.c\~
/home/t-nissie/COMMON/work/readline/readline-4.3/signals.c
--- /home/t-nissie/COMMON/work/readline/readline-4.3/signals.c~ Fri Jan 25 01:23:37 2002
+++ /home/t-nissie/COMMON/work/readline/readline-4.3/signals.c Thu May 6 15:06:26 2004
@@ -233,7 +233,7 @@
struct sigaction act;
act.sa_handler = handler;
- act.sa_flags = 0; /* XXX - should we set SA_RESTART for SIGWINCH? */
+ act.sa_flags = (sig == SIGWINCH) ? SA_RESTART : 0;
sigemptyset (&act.sa_mask);
sigemptyset (&ohandler->sa_mask);
sigaction (sig, &act, &old_handler);
% pwd
/home/t-nissie/COMMON/work/readline/readline-4.3/AIX
% env CC=cc ../configure --prefix=/home/t-nissie/AIX
% make
% make install
●gnuplot-4.0.0のコンパイル
gnuplotはreadlineのconfigureのときにprefixとしたディレクトリを--with-readlineに
指定してconfigure.
% pwd
/home/t-nissie/COMMON/work/gnuplot/gnuplot-4.0.0/AIX
% env CC=cc ../configure --prefix=/home/t-nissie/AIX --with-readline=/home/t-nissie/AIX --enable-history-file
.
.
.
** Configuration summary for gnuplot 4.0.0:
Where is the help file? ${prefix}/share/gnuplot/4.0/gnuplot.gih
Use GNU readline library
with -lcurses
enable history file
configure: WARNING: Please see INSTALL for a required readline bugfix.
using old driver
Build gnuplot-mode for X/Emacs
Build LaTeX tutorial
Use the X Window System
Enable mouse for X11
Enable pm3d
Enable filledboxes
Enable relative boxwidths
Enable defined(variable) test
Enable fitting error variables
% make
% make install
●OSF1でも同様にコンパイルできる
V5.0 上でコンパイルしたものは V5.1A (Compaq Tru64 UNIX V5.1A) で動く.
逆は必ずしも真ならず. おそらく必要とされるライブラリ, またはそのバージョンのせい.
% ldd gnuplot
Main => gnuplot
libreadline.so.4 => /home/t-nissie/OSF1/lib/libreadline.so.4
libcurses.so => /usr/shlib/libcurses.so
libm.so => /usr/shlib/libm.so
libc.so => /usr/shlib/libc.so
%
●IRIX64は-n32を付けた. -64, -32 は試していない.
for readline
% env CC=cc CFLAGS=-n32 ../configure --prefix=/home/t-nissie/IRIX64
for gnuplot
% env CC=cc CFLAGS=-n32 ../configure --prefix=/home/t-nissie/IRIX64 --with-readline=/home/t-nissie/IRIX64 --enable-history-file
% elfdump -Dl ~/IRIX64/bin/gnuplot
/home/t-nissie/IRIX64/bin/gnuplot:
**** MIPS LIBLIST INFORMATION ****
.liblist :
[INDEX] Timestamp Checksum Flags Name Version
[1] May 19 11:07:08 2004 0x3b47a2c ----- libreadline.so.4 0
[2] Jul 29 16:10:05 2002 0x963f9428 ----- libcurses.so sgi1.0
[3] Jul 29 16:10:08 2002 0xc991b37d ----- libz.so sgi1.0
[4] Jul 29 16:10:57 2002 0x3cb97445 ----- libpng.so sgi1.0
[5] Jul 29 16:10:14 2002 0xa74005b5 ----- libm.so sgi1.0
[6] Feb 7 02:11:34 2002 0x87f14e18 ----- libc.so.1 sgi1.0
%
○Linux
readlineがインストールされていれば:
% ../configure --prefix=/home/t-nissie/Linux --enable-history-file
readlineのbugをfixしていなくても, 特にXのときにcrashするというようなことはない(ひどい日本語だな).
rootになることができないsiteでのgnuplot-4.0.0のコンパイル More ログイン