安装ipvsadm报错
server环境:
[vagrant@localhost download]$ uname -a
Linux RS1 2.6.18-238.el5 #1 SMP Thu Jan 13 15:51:15 EST 2011 x86_64 x86_64 x86_64 GNU/Linux
[vagrant@localhost download]$ cat /etc/redhat-release
CentOS release 5.6 (Final)
[vagrant@localhost download]$
ipvsadm版本号(ipvsadm版本号和linux内核是有相应关系的):
ipvsadm-1.24
编译报错:
[vagrant@localhost ipvsadm-1.24]$ make
make -C libipvs
make[1]: Entering directory `/home/vagrant/download/ipvsadm-1.24/libipvs'
gcc -Wall -Wunused -Wstrict-prototypes -g -O2 -I/usr/src/linux/include -DHAVE_NET_IP_VS_H -c -o libipvs.o libipvs.c
In file included from libipvs.c:23:
libipvs.h:14:23: error: net/ip_vs.h: No such file or directory
In file included from libipvs.c:23:
libipvs.h:119: error: expected ‘)’ before ‘fwmark’
libipvs.c:27: error: field ‘svc’ has incomplete type
libipvs.c:28: error: field ‘dest’ has incomplete type
libipvs.c: In function ‘ipvs_init’:
libipvs.c:40: error: invalid application of ‘sizeof’ to incomplete type ‘struct ip_vs_getinfo’
libipvs.c:44: error: ‘IP_VS_SO_GET_INFO’ undeclared (first use in this function)
libipvs.c:44: error: (Each undeclared identifier is reported only once
libipvs.c:44: error: for each function it appears in.)
libipvs.c: In function ‘ipvs_getinfo’:
libipvs.c:56: error: invalid application of ‘sizeof’ to incomplete type ‘struct ip_vs_getinfo’
libipvs.c:57: error: ‘IP_VS_SO_GET_INFO’ undeclared (first use in this function)
libipvs.c: In function ‘ipvs_version’:
libipvs.c:64: error: invalid use of undefined type ‘struct ip_vs_getinfo’
libipvs.c: In function ‘ipvs_flush’:
libipvs.c:70: error: ‘IP_VS_SO_SET_FLUSH’ undeclared (first use in this function)
libipvs.c: In function ‘ipvs_add_service’:
libipvs.c:79: error: ‘IP_VS_SO_SET_ADD’ undeclared (first use in this function)
libipvs.c:79: error: dereferencing pointer to incomplete type
libipvs.c: In function ‘ipvs_update_service’:
libipvs.c:87: error: ‘IP_VS_SO_SET_EDIT’ undeclared (first use in this function)
libipvs.c:87: error: dereferencing pointer to incomplete type
libipvs.c: In function ‘ipvs_del_service’:
libipvs.c:95: error: ‘IP_VS_SO_SET_DEL’ undeclared (first use in this function)
libipvs.c:95: error: dereferencing pointer to incomplete type
libipvs.c: In function ‘ipvs_zero_service’:
libipvs.c:103: error: ‘IP_VS_SO_SET_ZERO’ undeclared (first use in this function)
libipvs.c:103: error: dereferencing pointer to incomplete type
libipvs.c: In function ‘ipvs_add_dest’:
libipvs.c:109: error: dereferencing pointer to incomplete type
libipvs.c:109: error: dereferencing pointer to incomplete type
libipvs.c:112: error: ‘IP_VS_SO_SET_ADDDEST’ undeclared (first use in this function)
libipvs.c: In function ‘ipvs_update_dest’:
libipvs.c:119: error: dereferencing pointer to incomplete type
libipvs.c:119: error: dereferencing pointer to incomplete type
libipvs.c:122: error: ‘IP_VS_SO_SET_EDITDEST’ undeclared (first use in this function)
libipvs.c: In function ‘ipvs_del_dest’:
libipvs.c:129: error: dereferencing pointer to incomplete type
libipvs.c:129: error: dereferencing pointer to incomplete type
libipvs.c:132: error: ‘IP_VS_SO_SET_DELDEST’ undeclared (first use in this function)
libipvs.c: In function ‘ipvs_set_timeout’:
libipvs.c:140: error: ‘IP_VS_SO_SET_TIMEOUT’ undeclared (first use in this function)
libipvs.c:141: error: dereferencing pointer to incomplete type
libipvs.c: In function ‘ipvs_start_daemon’:
libipvs.c:148: error: ‘IP_VS_SO_SET_STARTDAEMON’ undeclared (first use in this function)
libipvs.c:149: error: dereferencing pointer to incomplete type
libipvs.c: In function ‘ipvs_stop_daemon’:
libipvs.c:156: error: ‘IP_VS_SO_SET_STOPDAEMON’ undeclared (first use in this function)
libipvs.c:157: error: dereferencing pointer to incomplete type
libipvs.c: In function ‘ipvs_get_services’:
libipvs.c:166: error: dereferencing pointer to incomplete type
libipvs.c:167: error: invalid application of ‘sizeof’ to incomplete type ‘ipvs_service_entry_t’
libipvs.c:167: error: invalid use of undefined type ‘struct ip_vs_getinfo’
libipvs.c:172: error: dereferencing pointer to incomplete type
libipvs.c:172: error: invalid use of undefined type ‘struct ip_vs_getinfo’
libipvs.c:174: error: ‘IP_VS_SO_GET_SERVICES’ undeclared (first use in this function)
libipvs.c: In function ‘ipvs_cmp_services’:
libipvs.c:189: error: dereferencing pointer to incomplete type
libipvs.c:189: error: dereferencing pointer to incomplete type
libipvs.c:193: error: dereferencing pointer to incomplete type
libipvs.c:193: error: dereferencing pointer to incomplete type
libipvs.c:197: error: dereferencing pointer to incomplete type
libipvs.c:197: error: dereferencing pointer to incomplete type
libipvs.c:201: error: dereferencing pointer to incomplete type
libipvs.c:201: error: dereferencing pointer to incomplete type
libipvs.c: In function ‘ipvs_sort_services’:
libipvs.c:208: error: dereferencing pointer to incomplete type
libipvs.c:208: error: dereferencing pointer to incomplete type
libipvs.c:209: error: invalid application of ‘sizeof’ to incomplete type ‘ipvs_service_entry_t’
libipvs.c: In function ‘ipvs_get_dests’:
libipvs.c:218: error: dereferencing pointer to incomplete type
libipvs.c:218: error: invalid application of ‘sizeof’ to incomplete type ‘ipvs_dest_entry_t’
libipvs.c:218: error: dereferencing pointer to incomplete type
libipvs.c:224: error: dereferencing pointer to incomplete type
libipvs.c:224: error: dereferencing pointer to incomplete type
libipvs.c:225: error: dereferencing pointer to incomplete type
libipvs.c:225: error: dereferencing pointer to incomplete type
libipvs.c:226: error: dereferencing pointer to incomplete type
libipvs.c:226: error: dereferencing pointer to incomplete type
libipvs.c:227: error: dereferencing pointer to incomplete type
libipvs.c:227: error: dereferencing pointer to incomplete type
libipvs.c:228: error: dereferencing pointer to incomplete type
libipvs.c:228: error: dereferencing pointer to incomplete type
libipvs.c:231: error: ‘IP_VS_SO_GET_DESTS’ undeclared (first use in this function)
libipvs.c: In function ‘ipvs_cmp_dests’:
libipvs.c:243: error: dereferencing pointer to incomplete type
libipvs.c:243: error: dereferencing pointer to incomplete type
libipvs.c:247: error: dereferencing pointer to incomplete type
libipvs.c:247: error: dereferencing pointer to incomplete type
libipvs.c: In function ‘ipvs_sort_dests’:
libipvs.c:253: error: dereferencing pointer to incomplete type
libipvs.c:253: error: dereferencing pointer to incomplete type
libipvs.c:254: error: invalid application of ‘sizeof’ to incomplete type ‘ipvs_dest_entry_t’
libipvs.c: At top level:
libipvs.c:259: error: expected ‘)’ before ‘fwmark’
libipvs.c: In function ‘ipvs_get_timeout’:
libipvs.c:288: error: dereferencing pointer to incomplete type
libipvs.c:293: error: ‘IP_VS_SO_GET_TIMEOUT’ undeclared (first use in this function)
libipvs.c: In function ‘ipvs_get_daemon’:
libipvs.c:309: error: dereferencing pointer to incomplete type
libipvs.c:315: error: ‘IP_VS_SO_GET_DAEMON’ undeclared (first use in this function)
libipvs.c: In function ‘ipvs_strerror’:
libipvs.c:357: error: ‘ipvs_get_service’ undeclared (first use in this function)
make[1]: *** [libipvs.o] Error 1
make[1]: Leaving directory `/home/vagrant/download/ipvsadm-1.24/libipvs'
make: *** [libs] Error 2
打开Makefile,发现
INCLUDE = -I/usr/src/linux/include -I.. -I.
当中路径/usr/src/linux在server并不存在。
须要做个软连接。
进入/usr/src文件夹
[vagrant@localhost src]$ pwd
/usr/src
[vagrant@localhost src]$ ll
total 20
drwxr-xr-x 2 root root 4096 Jan 26 2010 debug
drwxr-xr-x 3 root root 4096 Nov 21 2012 kernels
lrwxrwxrwx 1 root root 49 Nov 21 2012 vboxguest-4.2.0 -> /opt/VBoxGuestAdditions-4.2.0/src/vboxguest-4.2.0
ln -s生成一个软连接。
[vagrant@localhost src]$ sudo ln -s /usr/src/kernels/2.6.18-238.el5-x86_64/ /usr/src/linux
[vagrant@localhost src]$ ll
total 24
drwxr-xr-x 2 root root 4096 Jan 26 2010 debug
drwxr-xr-x 3 root root 4096 Nov 21 2012 kernels
lrwxrwxrwx 1 root root 39 May 5 09:59 linux -> /usr/src/kernels/2.6.18-238.el5-x86_64/
lrwxrwxrwx 1 root root 49 Nov 21 2012 vboxguest-4.2.0 -> /opt/VBoxGuestAdditions-4.2.0/src/vboxguest-4.2.0
再进行编译安装ipvsadm就成功了。
安装ipvsadm报错的更多相关文章
- python27(32位)安装模块报错“error: Unable to find vcvarsall.bat”
1)首先,下载一个Microsoft Visual C++ Compiler for Python 2.7的补丁,下载地址在这里: http://www.microsoft.com/en-us/dow ...
- Sql Server 2008卸载后再次安装一直报错
sql server 2008卸载之后再次安装一直报错问题. 第一:由于上一次的卸载不干净,可参照百度完全卸载sql server2008 的方式 1. 用WindowsInstaller删除所有与S ...
- Python virtualenv安装库报错SSL: CERTIFICATE_VERIFY_FAILED
Python virtualenv安装库报错SSL: CERTIFICATE_VERIFY_FAILED 问题描述 使用pip按照virtualenv报错,如下: pip install virtua ...
- [原创] ubuntu下安装scrapy报错 error: command 'x86_64-linux-gnu-gcc' failed with exit status 1
Ubuntu14.04在virtualenv下安装scrapy报错,Failed building wheel for cffi,lxml,cryptography 等. error: command ...
- Sybase ASE安装过程报错,无法创建数据库设备[AM fork() failed]
今天同事要搭建一套测试环境,安装开发版的SYBASE ASE 15.03 Windows平台下的,发现安装过程中到了创建数据库设备的环节就开始报错了,报错信息如下: 03/24/14 09:31:44 ...
- 安装mysql-python报错:UnicodeDecodeError: 'ascii' codec can't decode byte 0xe2 in position 65: ordinal not in range(128)
安装mysql-python报错: UnicodeDecodeError: 'ascii' codec can't decode byte 0xe2 in position 65: ordinal n ...
- python︱模块加载(pip安装)以及pycharm安装与报错解决方式
每每以为攀得众山小,可.每每又切实来到起点,大牛们,缓缓脚步来俺笔记葩分享一下吧,please~ --------------------------- 准备放下R开始学python,真是痛苦,因为找 ...
- 安装STS报错(三)
安装STS报错 1.具体报错如下 Failure to transfer org.codehaus.plexus:plexus-archiver:jar:1.2 from http://repo.ma ...
- 安装STS报错(二)
安装STS报错 1.启动时报错 2.报错原因 3.处理办法
随机推荐
- android 4.2 root
前一段因工作需要,对android4.2 进行root.但是在下载了 点击打开链接,下载了Superuser.apk,把对应的apk拷贝到system/app,su拷贝到/system/bin 与/s ...
- java面向对象中的String类中12种常用的方法
1.字符串与字符数组的转换 字符串可以使用toCharArray()方法变成一个字符数组,也可以使用String类的构造方法把一个字符数组变成一个字符串. public class StringAPI ...
- bash有空格的文件名
http://www.keakon.net/2011/10/20/bash%E4%B8%8B%E5%A4%84%E7%90%86%E5%8C%85%E5%90%AB%E7%A9%BA%E6%A0%BC ...
- windows环境下Mongodb分片配置
使用MongoDB的GridFS来存储文件,以前一直使用单个服务,分布式环境也一直没有配置成功,今天参考了几位大神的文章终于配置成功,再也不用担心文件存储的性能和安全啦.以下是自己部署的过程和示例,记 ...
- Linux 下github的使用
*初始化git仓库,使用git init命令 *添加文件到git仓库分两步: 1.使用git add filename :可分多次使用,添加多个文件到暂存区 2.使用git commit -m “ ...
- XCode 快速注释插件
下载VVDocumenter-Xcode这个插件 打开编译后,重启Xcode 输入///,如效果图,Window->VVDocumenter自己定制风格
- ORACLE存储过程笔记2
ORACLE存储过程笔记2 运算符和表达式 关系运算 =等于<>,!=不等于<小于>大于<=小于等于>=大于等于 一般运算 +加-减*乘/除 ...
- 在cmd窗口中查询android的sqlite3数据库表之步骤
本文主要是写了一个android程序对sqlite3中数据库的employee表的插入.删除的操作,然后在cmd窗口中用sql命令查询employee表的操作过程. 1.第一步:首先把程序写好. 1. ...
- Mac中使用svn进行项目管理
Mac中使用svn进行项目管理,借鉴了http://blog.csdn.net/q199109106q/article/details/8655204 下面方案多人亲測可用 转载请注明出处:http: ...
- 【转】C++类-内存分布
C++类内存分布 - 转载自Jerry19880126 - 博客园 的文章 在上面这篇文章的基础上做了些整理. 主要讨论了C++类对象的内存分布结构. 来看看编译器是怎么处理类成员内存分布的,特别是在 ...