screen を 4.0.3 + 非公式パッチに入れ替え。
$ env CFLAGS=-O3 configure --prefix=/opt/sfw --with-socket-dir=/var/run
misc.c で error が。
gcc -c -I. -I. -O3 resize.c
misc.c: In function `xsetenv':
misc.c:619: error: too few arguments to function `setenv'
gmake: *** [misc.o] Error 1
gmake: *** Waiting for unfinished jobs....
phantom(SUNW,Ultra-60):/var/tmp/Sunfish/screen-4.0.3
setenv() の引数が足りないらしい。
なので、以下のように書き換えますた。
$ diff -c misc.c.orig misc.c
*** misc.c.orig Tue Feb 27 11:11:07 2007
--- misc.c Tue Feb 27 11:11:25 2007
***************
*** 616,622 ****
# if defined(linux) || defined(__convex__) || (BSD >= 199103)
setenv(var, value, 1);
# else
! setenv(var, value);
# endif /* linux || convex || BSD >= 199103 */
#endif /* USESETENV */
}
--- 616,622 ----
# if defined(linux) || defined(__convex__) || (BSD >= 199103)
setenv(var, value, 1);
# else
! setenv(var, value,1);
# endif /* linux || convex || BSD >= 199103 */
#endif /* USESETENV */
}
非公式パッチは、以下の URL から入手できます。(4.0.2 用とのことですが、4.0.3 に適用できました) http://www.dekaino.net/screen/01install.html
一つの session に、複数の screen から attach して使う利用法っていいかもしんない。
http://opentechpress.jp/developer/06/09/11/088249.shtml
http://www.gnu.org/software/screen/
こっちのほうが、いいYO!とのご連絡が。
defined(__sun__) は gcc で、defined(__sun) は SunCC で true になるので、ちゃんとするならこうしなさいとのこと。
めんどくさがりでずみばぜん。
*** misc.c.orig Tue Feb 27 16:20:14 2007
--- misc.c Tue Feb 27 15:50:40 2007
***************
*** 613,619 ****
*/
# endif /* NEEDSETENV */
#else /* USESETENV */
! # if defined(linux) || defined(__convex__) || (BSD >= 199103)
setenv(var, value, 1);
# else
setenv(var, value);
--- 613,619 ----
*/
# endif /* NEEDSETENV */
#else /* USESETENV */
! # if defined(linux) || defined(__convex__) || (BSD >= 199103) || defined(__sun__) || defined(__sun)
setenv(var, value, 1);
# else
setenv(var, value);
