偶遇到过和你一模一样的问题,后来仔细检查了一番,
发现问题出在共享内存使用的键值UTMP_SHMKEY这个参数上
首先检查conftest.s1文件,在相应的出错行有如下语句:
s%@UTMPSHMKEY@%50020
30020%g
然后检查config.status文件,也发现有同样语句
(不过要想看见conftest.s1文件,首先要修改此文件)
因config.status是执行configure时产生,于是检查configure文件,
发现两条与UTMPSHMKEY有关的语句:
1 UTMPSHMKEY=`awk '/UTMP_SHMKEY/ { print $3 }' $shmkeyfile
2 s%@UTMPSHMKEY@%$UTMPSHMKEY%g
至此原因已经知道,是因为执行configure时,取得UTMPSHMKEY参数有2个:
50020和30020,于是在生成的config.status文件里,
本来应该是一条语句的命令行s%@UTMPSHMKEY@%*****%g却分成了两句:
s%@UTMPSHMKEY@%50020
30020%g
所以系统提示第一句命令有“Unterminated 's' command”
解决的办法是首先执行configure文件,然后修改config.status文件,
把以上语句修改成s%@UTMPSHMKEY@%30020%g
然后直接执行./config.status就OK了
至于为什么UTMPSHMKEY会出现2个值,就要到FB2000v1126的源文件里去找原因了
在/home/bbssrc/include/bbs.h文件里有如下定义:
/* edwardc.990706 move shmkeys from sysconf.ini */
struct _shmkey {
char key[16];
int value;
};
#ifdef AddWaterONLY
const static struct _shmkey shmkeys[] = {
{ "BCACHE_SHMKEY", 50000 },
{ "UCACHE_SHMKEY", 50010 },
{ "UTMP_SHMKEY", 50020 },
{ "ACBOARD_SHMKEY", 50030 },
{ "ISSUE_SHMKEY", 50040 },
{ "GOODBYE_SHMKEY", 50050 },
{ "WELCOME_SHMKEY", 50060 },
{ "STAT_SHMKEY", 50070 },
{ "CONV_SHMKEY", 50080 },
{ 0, 0 }
};
#else
const static struct _shmkey shmkeys[] = {
{ "BCACHE_SHMKEY", 30000 },
{ "UCACHE_SHMKEY", 30010 },
{ "UTMP_SHMKEY", 30020 },
{ "ACBOARD_SHMKEY", 30030 },
{ "ISSUE_SHMKEY", 30040 },
{ "GOODBYE_SHMKEY", 30050 },
{ "WELCOME_SHMKEY", 30060 },
{ "STAT_SHMKEY", 30070 },
{ "CONV_SHMKEY", 30080 },
{ 0, 0 }
};
#endif
这就是原因之所在,configure时同时取得了UTMP_SHMKEY的2种可能值
50020和30020,但实际上只能取30020
【 在 edwinchen (一只笔) 的大作中提到: 】
: 装上了fb2k v1126,在装bbs2www时,./configure时提示:
: creating ./config.status
: creating bbs2www.h
: sed:file contest.s1 line 56:Unterminated 's' command
: creating index.html
: sed:file contest.s1 line 56:Unterminated 's' command
: creating Makefile
: sed:file contest.s1 line 56:Unterminated 's' command
: 查看bbs2www.h和Makefile,index.html全是空的!!!
: 这是怎么回事?
: 请装过fb2000v1126+bbs2www的大虾帮一下!!!!!
--
FROM 166.111.142.6