unpv 卷一卷二源码编译错误解决
来源:互联网 发布:SCI-E数据库 编辑:程序博客网 时间:2024/05/01 09:05
下载:
卷一:http://www.kohala.com/start/unpv12e/unpv12e.tar.gz
http://www.kohala.com/start/
卷一 解决错误:
#cd unpv12e
#cd lib
#make
gcc -g -O2 -D_REENTRANT -Wall -c -o connect_nonb.o connect_nonb.c
In file included from connect_nonb.c:1:
unp.h:114: redefinition of `struct in_pktinfo'
make: *** [connect_nonb.o] Error 1
这个错误的修正方法是注释掉该定义(从网上搜索来的,也不知道正确不正确,反正能通过)
cd ../libfree
make
inet_ntop.c:61: error: argument 'size' doesn't match prototype
/usr/include/arpa/inet.h:153: error: prototype declaration
inet_ntop.c第61行 size_t size ->改成 socklen_t size
#cd ../intro
#make
...
/root/unpv12e/intro/daytimetcpsrvv6.c:18: undefined reference to `ipv6addr_any'
daytimetcpsrvv6.o(.text+0x3d):/root/unpv12e/intro/daytimetcpsrvv6.c:18: undefined reference to `ipv6addr_any'
daytimetcpsrvv6.o(.text+0x48):/root/unpv12e/intro/daytimetcpsrvv6.c:18: undefined reference to `ipv6addr_any'
daytimetcpsrvv6.o(.text+0x56):/root/unpv12e/intro/daytimetcpsrvv6.c:18: undefined reference to `ipv6addr_any
collect2: ld returned 1 exit status
make: *** [daytimetcpsrvv6] Error
将daytimetcpsrvv6.c:18的语句extern struct in6_addr ipv6addr_any;
改为struct in6_addr ipv6addr_any;
#./daytimetcpsrv &
#./daytimetcpcli 127.0.0.1
得到输出时间应该就表示安装初步成功了。
------------------------------------------
建議同學在執行server和client程式時 加上port number
加入port number的修改 :
tcpservselect.c
加入 -> int SERVER_PORT = (u_short)atoi(argv[1]);
修改 -> servaddr.sin_port = htons(SERVER_PORT);
SERVER_PORT變數名稱可以自取
執行時 加入port
./tcpservselect01 9999
tcpcli01.c
加入 -> int SERVER_PORT = (u_short)atoi(argv[2]);
修改 -> if (argc != 3)
err_quit("usage: tcpcli <IPaddress> <Port>");
servaddr.sin_port = htons(SERVER_PORT);
SERVER_PORT變數名稱可以自取
執行時 加入port
./tcpcli01 140.113.235.131 9999
卷二 解决错误:
cat README
1、按照Readme操作,进入lib目录下make报错:
gcc -g -O2 -D_REENTRANT -Wall -D_POSIX_PTHREAD_SEMANTICS -c -o daemon_inetd.o daemon_inetd.c
In file included from /usr/include/netinet/in.h:24,
from /usr/include/rpc/types.h:90,
from /usr/include/rpc/rpc.h:38,
from unpipc.h:115,
from daemon_inetd.c:1:
/usr/include/stdint.h:49: error: duplicate ‘unsigned’
/usr/include/stdint.h:49: error: two or more data types in declaration specifiers
/usr/include/stdint.h:50: error: duplicate ‘unsigned’
/usr/include/stdint.h:50: error: duplicate ‘short’
/usr/include/stdint.h:52: error: duplicate ‘unsigned’
/usr/include/stdint.h:52: error: two or more data types in declaration specifiers
make: *** [daemon_inetd.o] 错误 1
修改config.h 注释掉一下三行:
//#define uint8_t unsigned char /* <sys/types.h> */
//#define uint16_t unsigned short /* <sys/types.h> */
//#define uint32_t unsigned int /* <sys/types.h> */
- unpv 卷一卷二源码编译错误解决
- Unix网络编程(卷二)unpv 源码下载及编译报错解决
- Unix网络编程(卷二)源码编译报错解决
- Unix网络编程(卷二)源码编译报错解决 .
- Unix网络编程(卷二)源码编译报错解决
- Unix网络编程(卷二)源码编译报错解决
- java核心技术卷一卷二,第七版,第八版,core java 2
- android 编译源码 错误解决
- UNIX网络编程卷2源码编译错误
- UNP(2rd)第二卷源码编译问题及解决
- 解决切换jdk编译android源码错误
- chrome源码编译常见的错误解决
- 《紫川》之转瞬红颜 二一卷
- Unix网络编程(卷2)源码编译报错解决
- Android5.0.1源码编译,android5.1.1源码编译遇到的编译错误如何解决?
- tomcat6源码下载编译时错误的解决
- Android 源码编译错误45解决 opencore 启用pvlog 调试
- android 4.0.1源码编译,学习错误解决
- Eclipse Mars在线安装jd-eclipse反编译插件、svn插件
- jar包压缩和解压
- 获取应用能使用的最大堆内存
- LeetCode:Sqrt(x)
- 基于Memcached的tomcat间的Session共享
- unpv 卷一卷二源码编译错误解决
- 整数求和
- hdu 2955 Robberies
- Session
- 【小超_趣事】程序猿那些流逝的光阴、坎坷的回忆
- 二级c语言之删除字符串中的指定字符
- HTML5之鼠标拖动图片
- 【web安全】编程常用工具类
- Xcode 2.app 修改成 Xcode6.app,ios simulator启动失败问题。