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

Posted 平凡键客

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Unix 网络编程卷一源码编译踩坑记录 ubtutu 19.10相关的知识,希望对你有一定的参考价值。

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

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

以上是关于Unix 网络编程卷一源码编译踩坑记录 ubtutu 19.10的主要内容,如果未能解决你的问题,请参考以下文章

物联网-thingsboard源码编译安装踩坑记录

JDK编译以及在CLion中进行源码调试(抄书+踩坑记录)

JDK编译以及在CLion中进行源码调试(抄书+踩坑记录)

UNP卷一学习笔记:TCP状态

Kibana 7.6.3 源码编译 + 构建踩坑

linux/unix系统编程手册源码编译