实验五(简单嵌入式WEB服务器实验)问题总结
实验五问题总结
- 问题链接:《信息安全系统设计基础》实验五实验报告
- 虽然将07_httpd文件中全部拷贝进了bc中,文件夹中拥有Makefile文件,但是还是无法通过make得到该文件夹中copy和httpd的可执行文件。
解决:第一次是觉得Makefile文件中的PATH路径不对,将其改成了/home/bc/07_httpd存盘退出后发现还是无法执行,第二次我们直接使用gcc对其单步进行编译:armv4l-unknow-linux-gcc –E copy.c –o copy.i
armv4l-unknow-linux-gcc –S copy.i –o copy.s
armv4l-unknow-linux-gcc –c copy.s –o copy.o
对于httpd的编译方式同上。
Make——工程管理器,为了减少重复工作量,“自动编译管理器”,“自动”在于它能根据文件时间戳自动发现更新过的文件而减少编译工作量,同时它通过读入makefile文件的内容来执行大量的编译工作。用户只需要编写一次简答的编译语句就可以了,也就是说以后只要敲入make即可编译全部文件,它大大提高了实际项目的工作效率,几乎所有linux下的项目编程都需要用到它。 - make时出现
error127
。
解决:找到了原因,环境变量配置出现问题,是拷代码时没有将一个Rules.mak的MAK类型文件一起拷过来,导致make命令不能使用,重新配置后则正常make。 - 在将httpd服务下载到开发板上这一步骤中,挂载超级终端与共享文件建立通讯时,输
mount -t nfs -o nolock 192.168.0.234:/root/bc /hos
时,提No such file or director
错误提示。
解决方法:再次查看共享文件目录,确定我们并不存在/root/home/bc这一目录,将命令行修改mount -t nfs -o nolock 192.168.0.234:/home/bc /hos
即可解决所提示错误。
- 虽然将07_httpd文件中全部拷贝进了bc中,文件夹中拥有Makefile文件,但是还是无法通过make得到该文件夹中copy和httpd的可执行文件。
- 问题链接:信息安全系统设计基础》实验五实验报告
-
在编译问题遇到下面的问题。
为了解决httpd未能自动编译的问题,对hpptd.c文件进行手动多线程编译。
-
- 问题链接:20144303 20145239 《信息安全系统设计基础》实验五 网络通信
-
问题二:
进入07_hpptd文件夹中,尝试直接make进行自动编译。出现如下图所示的错误,error1。
解决:为了解决httpd未能自动编译的问题,如下图所示对hpptd.c文件进行手动多线程编译。
-
-
1、
- 问题:出现Error1
- 解决:为了解决httpd未能自动编译的问题,对hpptd.c文件进行手动多线程编译,后运行成功。
- 问题链接:《信息安全系统设计基础》实验五实验报告
- 1.虽然将07_httpd文件中全部拷贝进了bc中,文件夹中拥有Makefile文件,但是还是无法通过make得到该文件夹中copy和httpd的可执行文件。
解决:第一次是觉得Makefile文件中的PATH路径不对,将其改成了/home/bc/07_httpd存盘退出后发现还是无法执行,第二次我们直接使用gcc对其单步进行编译:
armv4l-unknow-linux-gcc –E copy.c –o copy.i
armv4l-unknow-linux-gcc –S copy.i –o copy.s
armv4l-unknow-linux-gcc –c copy.s –o copy.o
对于httpd的编译方式同上。
Make——工程管理器,为了减少重复工作量,“自动编译管理器”,“自动”在于它能根据文件时间戳自动发现更新过的文件而减少编译工作量,同时它通过读入makefile文件的内容来执行大量的编译工作。用户只需要编写一次简答的编译语句就可以了,也就是说以后只要敲入make即可编译全部文件,它大大提高了实际项目的工作效率,几乎所有linux下的项目编程都需要用到它。
- 1.虽然将07_httpd文件中全部拷贝进了bc中,文件夹中拥有Makefile文件,但是还是无法通过make得到该文件夹中copy和httpd的可执行文件。
- 问题链接:20145219 《信息安全系统设计基础》实验五 网络通信
-
-
问题1:在运行make命令产生可执行文件httpd时,我们运行make命令结束后,进入07_httpd文件夹内查看,发现并没有生成httpd这一文件……再次运行make命令后得到提示
“can’t open output file ../bin/httpd”
。 -
解决方法:我们看到提示后,知道提示是在说在07_httpd文件夹的上级目录ws中不存在bin这个文件夹,所以导致命令运行时无法进入ws/bin/httpd这一路径,我们立即查看了一下,发现果然没有bin文件夹。知道了问题的原因后,我们返回到当前目录的上一级目录中,使用
“mkdir bin”
命令,尝试在ws文档中创建了bin目录,于是可顺利运行make命令产生httpd文件。 -
问题2:使用实验指导书中的命令
mount -t nfs -o nolock 192.168.0.56:/arm2410cl /host
将httpd
下载到开发板上时出错。 -
解决方法:分析命令后发现,我们和实验指导书的IP、文件夹位置什么的并不是完全相同的,这条命令需要更改IP地址
192.168.0.56
为Redhat虚拟机的IP地址192.16.0.234
,并把arm2410cl
文件夹更改为共享文件夹home/bc
,运行命令mount -t nfs -o nolock 192.168.0.234:/home/bc /host
即可顺利执行。
-
-
- 问题链接:《信息安全系统设计基础》实验五实验报告
- 在将httpd服务下载到开发板上这一步骤中,挂载超级终端与共享文件建立通讯时,输
mount -t nfs -o nolock 192.168.0.234:/root/bc /hos
时,提No such file or director
错误提示。解决方法:再次查看共享文件目录,确定我们并不存在/root/home/bc这一目录,将命令行修改mount -t nfs -o nolock 192.168.0.234:/home/bc /hos
即可解决所提示错误。 - 问题链接:20145328《信息安全系统设计基础》实验五 网络通信
- 编译出现问题。查看Makefile文件可知是在上级目录中缺少一个bin文件夹,添加后编译成功