Unix 网络编程卷一源码编译踩坑记录 ubtutu 19.10

一个人想着一个人 提交于 2020-04-05 18:38:19

在阅读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

这时源码已经可以成功运行

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!