- 主题:cygwin上编译fb2k的日记(第一天和第二天)
说是日记,其实是昨天和今天两天,主要是讨个好彩头,希望明天还能有点进展
系统是cygwin1.5.25-15,其实就是最新的cygwin正式版,没特意选什么包
除了默认的包,好像就选了编译器和vim,记不太清了
bbs代码是ustc当前的代码,base是fb2000,改了不少东西,不过应该对移植性
影响不大
第一天
刚刚开始就遇到了拦路虎
./configure的时候,提示编译测试程序失败
提示说ld 没有-export参数
在cn.bbs.admin.install发帖问,没人理,没办法只好自己研究
写了个helloworld,可以编译
用gcc -export编译,则失败,提示没有-export参数
在linux试了一下,gcc -export是ok的
只好猜,似乎这个参数是浮点相关,于是查cygwin/浮点相关的东西
google,完全没有头绪
印象里,当初smthbbs发布cygwin版的时候,要求什么libsmp之类库
好像和浮点有关,当时印象很深刻(当时好像就是被这个东西拦着怎么也过不去)
于是setup,找那个看上去想浮点相关的包,没找到
怒了,修改configure,直接把这个参数删了
1?居然过去了
configure成功,Makefile成功生成
make,提示编译错误,AF_INET6未定义
找了头文件,arpa/inet.h存在,奇怪
这一天过去了
第二天
继续解决AF_INET6的问题
看了一下/usr/include/arpa/inet.h,果然没有AF_INET6的定义
为什么呢?
google之,这次找到了,原来是因为cygwin1.5还不支持ipv6
不过这里可以下到一个ipv6补丁
http://win6.jp/Cygwin/index.html
解开装上,过去了
然后遇到第二个问题,strcasestr找不到
再次google,也找到了
总之strcasestr不是标准函数
麻烦啊
算了,反正用到这个函数的只有两个文件src/more.c和lib/string.c
干脆用最简单的方法,自己实现一个这个函数(当然也不是我写的,是网上cp的)
保存成.h文件,include一下
OK,编译成功,值得庆祝
make install,也成功
./bin/bbsd 23,也成功
telnet localhost 23,断开连接,shm无法取得。。。
这就不知道该咋搞了,但愿明天能解决
附strcasestr函数的实现
==========================================================
/* borrowed these definitions from Apache */
#define ap_tolower(c) (tolower(((unsigned char)(c))))
#define ap_toupper(c) (toupper(((unsigned char)(c))))
static inline
char *strcasestr( char *h, char *n )
{ /* h="haystack", n="needle" */
char *a=h, *e=n;
if( !h || !*h || !n || !*n ) { return 0; }
while( *a && *e ) {
if( ap_toupper(*a)!=ap_toupper(*e) ) {
++h; a=h; e=n;
}
else {
++a; ++e;
}
}
return *e ? 0 : h;
}
不懂
只想问一句,你这fb2k代码是从哪下的?
【 在 jackfnx.bbs@bbs.ustc.edu.cn (9907.玄之又玄) 的大作中提到: 】
: 说是日记,其实是昨天和今天两天,主要是讨个好彩头,希望明天还能有点进展
: 系统是cygwin1.5.25-15,其实就是最新的cygwin正式版,没特意选什么包
: 除了默认的包,好像就选了编译器和vim,记不太清了
: ...................
--
FROM 218.26.251.*
ustc 的svn。。。en
对外不公开
【 在 sxdxsimple@newsmth.net-SPAM.no (雾里龙虾) 的大作中提到: 】
: 不懂
: 只想问一句,你这fb2k代码是从哪下的?
: 【 在 jackfnx.bbs@bbs.ustc.edu.cn (9907.玄之又玄) 的大作中提到: 】
: : 说是日记,其实是昨天和今天两天,主要是讨个好彩头,希望明天还能有点进展
: : 系统是cygwin1.5.25-15,其实就是最新的cygwin正式版,没特意选什么包
: : 除了默认的包,好像就选了编译器和vim,记不太清了
: : ...................
如果是瀚海星云的代码那应该是njubbs的代码,不是老火鸟的了
PS:贵站的web界面不错
【 在 jackfnx.bbs@bbs.ustc.edu.cn (9907.玄之又玄) 的大作中提到: 】
: ustc 的svn。。。en
: 对外不公开
--
修改:sxdxsimple FROM 218.26.251.*
FROM 218.26.251.*
不是,是fb2k
其实应该是从sjtu上分支的
【 在 sxdxsimple@newsmth.net-SPAM.no (雾里龙虾) 的大作中提到: 】
: 如果是瀚海星云的代码那应该是njubbs的代码,不是老火鸟的了
: 【 在 jackfnx.bbs@bbs.ustc.edu.cn (9907.玄之又玄) 的大作中提到: 】
: : ustc 的svn。。。en
: : 对外不公开