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 

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

原文地址:https://www.cnblogs.com/arvinhuang/p/12633655.html

时间: 2024-10-03 07:33:05

Unix 网络编程卷一源码编译踩坑记录 ubtutu 19.10的相关文章

kibana 5.5 源码编译踩坑记录

由于项目需要定制开发kibana,因此需要编译kibana,在开发环境下运行. 注意:必须下载kibana 5.5的源码才能正常编译,下载release或者snapshot版本是不行的,运行npm start会因为无scripts目录报错. Setting Up kibana Development Environment Fork, then clone the kibana repo and change directory into it 下载kibana5.5源码解压后 cd kiban

Xposed源码编译踩坑实录

参考博文 参考掘金系列博文 参考博文 源码编译和镜像编译 参考博文 编译Xposed 参 考博文 https://www.jianshu.com/p/c731cd44e82b 参考博文 https://www.cnblogs.com/luoyesiqiu/p/9524651.html Xposed简介 Xposed是Android平台上的有名的Hook工具,用它可以修改函数参数,函数返回值和类字段值等等,也可以用它来进行调试.Xposed有几个部分组成:修改过的android_art,这个项目修

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

我的操作,我在官网下载 书本源代码 ,在windows 解压后 ftp工具 传到 linux虚拟机 然后 make 发现 报错 如: No rule to make target `../libtlpi.a', needed by 郁闷好久! 方案: 把源代码压缩包 ftp到虚拟机 在解压缩,make 就成功了! 注意,习惯: 永远在linux解压缩

Unix网络编程--卷一:套接字联网API 读书笔记

UNIX网络编程--卷一:套接字联网API 本书面对的读者是那些希望自己编写的程序能够使用成为套接字(socket)的API进行彼此通信的人. 目录: 1.简介 2.传输层:TCP.UDP和SCTP 3.套接字编程简介 4.基本TCP套接字编程 5.TCP客户/服务器程序例子 6.I/O复用:select和poll函数 7.套接字选项 8.基本UDP套接字编程 9.基本SCTP套接字编程 10.SCTP客户/服务器程序例子 11.名字与地址转换 12.IPV4与IPV6互操作性 13.守护进程和

第一篇:《UNIX 网络编程 第二版》编译环境的搭建

第一步:搭建基本的编译环境 安装gcc, g++, bulid-essential等编译软件 第二步:下载本书示例源码包 第三步:解压下载到的包并放在用户主目录中 第四步:进入包内并执行以下命令 1 sudo chmod u+x configure 2 ./configure 第五步:进入包内lib子目录下执行make命令 第六步:进入包内libfree子目录下执行make命令 第七步:进入包内libgai子目录下执行make命令 第八步:执行以下命令,将前面生成的libunp.a库复制到/us

Android源码编译的全过程记录

写本篇文章主要参考了官方文档和网上的一些资料,但是对于Android最新的代码来说,网上资料有些已经过时.本文中步骤已经作者实验,大家可以亲自执行试试.由于没有使用Eclipse的习惯,所以没有做Eclipse的相关配置. 编译环境:ubuntu9.10,widnows平台目前不被支持. 1)安装必要的软件环境 $ sudo apt-get install git-core gnupg sun-java5-jdk flex bison gperf libsdl-dev libesd0-dev l

Linux IO多路复用之epoll网络编程及源码(转)

原文: 前言 本章节是用基本的Linux基本函数加上epoll调用编写一个完整的服务器和客户端例子,可在Linux上运行,客户端和服务端的功能如下: 客户端从标准输入读入一行,发送到服务端 服务端从网络读取一行,然后输出到客户端 客户端收到服务端的响应,输出这一行到标准输出 服务端代码 代码如下: #include <unistd.h> #include <sys/types.h> /* basic system data types */ #include <sys/soc

UNIX网络编程卷一:第八章 UDP

大多数TCP服务器是并发的,大多数UDP服务器是迭代的.

UNIX网络编程卷一:第十一章 名字与地址转换

名字和数值地址间的转换函数(IPV4): gethostbyname gethostbyaddr 服务名字和端口号之间转换: getservbyname getservbyport 协议无关函数: getaddrinfo  : 主机名字和IP之间的转换 getnameinfo : 服务名字和端口号 实践代码:https://github.com/huntinux/unpvol1/tree/master/11chp