移植boa出现的错误及解决方法
2010-11-16 17:37
211 查看
移植boa的一大把,我就不罗嗦了,这个就挺好:
http://www.embedu.org/Column/Column56.htm
实际上boa太老了,据说要用2.95.3的才好用,但现在编译器都不断更新,就是boa断货,他不更新,也没办法啊,是不是作者不想把成果公开了?呵呵。因此会出现至少2个错误,请看:
1、configure: error: can not run test program while cross compiling
解决方法:参考这个哥们写的,通用:
2、util.c:100:1: pasting "t" and "->" does not give a valid preprocessing token
解决方法:
3、Could not chdir to "/etc/boa": aborting
解决方法:自己建立/etc/boa目录,把配置文件boa.conf拷贝进去
4、No such user:
把boa.conf的group和user都改为 0 即可
5、boa.c:211 - getpwuid: No such file or directory
这个需要看log输出才行,我的是 /var/boa_error_log
要改源代码了,定位/src/boa.c大约211行,注释掉如下:
6、icky Linux kernel bug!
定位/src/boa.c大约211行,注释掉如下:
7、was not found on this server
估计很多人遇到这个,主要是ScriptAlias最后面忘记加斜杠“/”
例如,ScriptAlias /www/cgi-bin跟/www/cgi-bin/是不一样的,呵呵
8、502 Bad Gateway The CGI was not CGI/1.1 compliant
原因有很多,不过我的既没有在
“在 cgi.c中的函数complete_env加入 my_add_cgi_env(req, "LD_LIBRARY_PATH", "/lib"); ”
也没有让cgi程序的makefile加CFLAG = -static
也没有说因为中文而导致,我的是cgi程序的第一个printf导致的,请看:
printf("Content-type: text/html;charset=gb2312/n/n");
这样的不行:
printf("%s%c%c /n","Content-Type:text/html;charset=gb2312",13,10);
但是lighttpd可以,吐血吧?
另外在cgi-bin目录好像访问不了htm等静态文件,否则也显示The CGI was not CGI/1.1 compliant,知道的大侠可以留个言告知下。
//
其他的错误估计就是Servername了,搜索吧,问题不大。
祝各位玩的愉快!BOA太老了,能不用真的就不用,烦死人!
最近在搞lighttpd,死活移植不上去,移植ok后运行又没反应!
http://www.embedu.org/Column/Column56.htm
实际上boa太老了,据说要用2.95.3的才好用,但现在编译器都不断更新,就是boa断货,他不更新,也没办法啊,是不是作者不想把成果公开了?呵呵。因此会出现至少2个错误,请看:
1、configure: error: can not run test program while cross compiling
解决方法:参考这个哥们写的,通用:
在交叉编译的时候总是使用configure --host=arm-linux 嘿嘿但是在CONFIGURE中有很多的测试程序是不可以在HOST上运行的就会出现: error: cannot run test program while cross compiling 类似的错误,可以使用CACHEFILE解决这个问题,还要谢谢ABSURD兄的文章给我的指导。 我是这样解决的第一步:记录下错误的地方如:checking abstract socket namespace... configure: error: cannot run test program while cross compiling 注意到abstract socket namespace在configure中查找abstract socket可以看到类似这样的结构 echo "$as_me:$LINENO: checking abstract socket namespace" >&5 echo $ECHO_N "checking abstract socket namespace... $ECHO_C" >&6 if test "${ac_cv_have_abstract_sockets+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 其中ac_cv_have_abstract_sockets是我们要查找的变量 使用echo ac_cv_have_abstract_sockets=yes>arm-linux.cache 然后 ./configure --host=arm-linux --cache-file=arm-linux.cache OK这样就搞定了
2、util.c:100:1: pasting "t" and "->" does not give a valid preprocessing token
解决方法:
修改compat.h中的 #define TIMEZONE_OFFSET(foo) foo##->tm_gmtoff 为: #define TIMEZONE_OFFSET(foo) foo->tm_gmtoff
3、Could not chdir to "/etc/boa": aborting
解决方法:自己建立/etc/boa目录,把配置文件boa.conf拷贝进去
4、No such user:
把boa.conf的group和user都改为 0 即可
5、boa.c:211 - getpwuid: No such file or directory
这个需要看log输出才行,我的是 /var/boa_error_log
要改源代码了,定位/src/boa.c大约211行,注释掉如下:
#if 0 if (passwdbuf == NULL) { DIE("getpwuid"); } if (initgroups(passwdbuf->pw_name, passwdbuf->pw_gid) == -1) { DIE("initgroups"); } #endif
6、icky Linux kernel bug!
定位/src/boa.c大约211行,注释掉如下:
/* test for failed-but-return-was-successful setuid * http://www.securityportal.com/list-archive/bugtraq/2000/Jun/0101.html */ #if 0 if (setuid(0) != -1) { DIE("icky Linux kernel bug!"); } #endif
7、was not found on this server
估计很多人遇到这个,主要是ScriptAlias最后面忘记加斜杠“/”
例如,ScriptAlias /www/cgi-bin跟/www/cgi-bin/是不一样的,呵呵
8、502 Bad Gateway The CGI was not CGI/1.1 compliant
原因有很多,不过我的既没有在
“在 cgi.c中的函数complete_env加入 my_add_cgi_env(req, "LD_LIBRARY_PATH", "/lib"); ”
也没有让cgi程序的makefile加CFLAG = -static
也没有说因为中文而导致,我的是cgi程序的第一个printf导致的,请看:
printf("Content-type: text/html;charset=gb2312/n/n");
这样的不行:
printf("%s%c%c /n","Content-Type:text/html;charset=gb2312",13,10);
但是lighttpd可以,吐血吧?
另外在cgi-bin目录好像访问不了htm等静态文件,否则也显示The CGI was not CGI/1.1 compliant,知道的大侠可以留个言告知下。
//
其他的错误估计就是Servername了,搜索吧,问题不大。
祝各位玩的愉快!BOA太老了,能不用真的就不用,烦死人!
最近在搞lighttpd,死活移植不上去,移植ok后运行又没反应!
相关文章推荐
- 移植boa后运行CGI程序可能出现的原因及解决方法
- 移植boa后运行CGI程序可能出现的原因及解决方法
- Android系统移植与调试之------->安装apk时出现错误Failure [INSTALL_FAILED_DEXOPT]问题解决的方法
- 内核移植出现的错误&&解决方法
- arm板 sqlite3移植中出现的错误及解决方法:缺少libreadline.so.5和libncurses.so.5
- 交叉编译boa后在开发板运行boa出现-/bin/sh: boa: not found 错误的解决方法
- 移植boa后运行CGI程序可能出现的原因及解决方法
- android 真机调试出现错误 INSTALL_FAILED_INSUFFICIENT_STORAGE 的解决方法。
- 当sqlserver启用sa账户时,出现Microsoft SQL Server 错误代号: 15535 解决方法 (转)
- ArcSDE复制数据时出现ORA-00955名称已由现有对象使用错误的解决方法
- C++使用MySQL-Connector/C++连接MySQL出现LNK2019错误的解决方法
- SQL Server 2005 中,创建新维护计划时出现错误信息:失败" 创建维护计划"14234 解决方法
- 自定义控件使用出现莫名错误--解决方法
- deepin精简版XP中windows update出现错误0x8007041D以及live messenger等无法安装的解决方法
- 解决IIS7中出现An error occurred on the server when processing the URL错误提示的方法
- ruby环境sass编译中文出现Syntax error: Invalid GBK character错误解决方法
- eclipse导入android项目后出现错误的解决方法
- 安装Sql Server 2005出现“性能监视器计数器要求”错误解决方法。
- ubuntu下SSH安装出现的错误及解决方法
- 上传ipa出现的错误提示“application loader上传出错 生成的API分析文件太大”解决方法