在阅读unpv1时运行源代码的环境配置,这里简单记录一下
源代码里的README 写得挺详细的,但是在Linux 系统的下还是没办法直接编译通过的,
这里我使用的是ubuntu 19.10(在腾讯云ubuntu server 18.04.1也测试通过)
以下是简单的步骤:
1.下载源码并解压
2.解压源代码后得到unpv13e,
3.开始编译
cd unpv13e ./configure cd lib make cd ../libfree make
这时报错:
inet_ntop.c: In function ‘inet_ntop’:
inet_ntop.c:60:9: error: argument ‘size’ doesn’t match prototype
将 inet_ntop.c 第60行的 size_t size 改成 socklen_t size,报错退出重新make
vim inet_ntop.c
接着最后一个步骤
cd ../intro make daytimetcpcli
此时无法成功运行,需要修改系统daytime 配置
查看端口
cat /etc/services | grep "daytime"
修改配置项,将两个disable配置项修改由yes改为no
sudo vim /etc/xinetd.d/daytime
重启服务
sudo /etc/init.d/xinetd restart
./daytimetcpcli 127.0.0.1
这时源码已经可以成功运行