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报错的更多相关文章

  1. python27(32位)安装模块报错“error: Unable to find vcvarsall.bat”

    1)首先,下载一个Microsoft Visual C++ Compiler for Python 2.7的补丁,下载地址在这里: http://www.microsoft.com/en-us/dow ...

  2. Sql Server 2008卸载后再次安装一直报错

    sql server 2008卸载之后再次安装一直报错问题. 第一:由于上一次的卸载不干净,可参照百度完全卸载sql server2008 的方式 1. 用WindowsInstaller删除所有与S ...

  3. Python virtualenv安装库报错SSL: CERTIFICATE_VERIFY_FAILED

    Python virtualenv安装库报错SSL: CERTIFICATE_VERIFY_FAILED 问题描述 使用pip按照virtualenv报错,如下: pip install virtua ...

  4. [原创] 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 ...

  5. Sybase ASE安装过程报错,无法创建数据库设备[AM fork() failed]

    今天同事要搭建一套测试环境,安装开发版的SYBASE ASE 15.03 Windows平台下的,发现安装过程中到了创建数据库设备的环节就开始报错了,报错信息如下: 03/24/14 09:31:44 ...

  6. 安装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 ...

  7. python︱模块加载(pip安装)以及pycharm安装与报错解决方式

    每每以为攀得众山小,可.每每又切实来到起点,大牛们,缓缓脚步来俺笔记葩分享一下吧,please~ --------------------------- 准备放下R开始学python,真是痛苦,因为找 ...

  8. 安装STS报错(三)

    安装STS报错 1.具体报错如下 Failure to transfer org.codehaus.plexus:plexus-archiver:jar:1.2 from http://repo.ma ...

  9. 安装STS报错(二)

    安装STS报错 1.启动时报错 2.报错原因 3.处理办法

随机推荐

  1. iOS 把图片从Mac本地添加到iOS Simulator中

    [把图片从Mac本地添加到iOS Simulator中] 1. 把图片从Mac本机拖动到iOS Simulator中: 2. iOS Simulator会自动打开Safari去打开对应的图片,然后你用 ...

  2. 关于方法中的形参out

    using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.T ...

  3. A. Case of the Zeros and Ones----解题报告

    A. Case of the Zeros and Ones Description Andrewid the Android is a galaxy-famous detective. In his ...

  4. UVa401 Palindromes

    #include <stdio.h>#include <string.h> char mirror(char c){    static const char m[] = &q ...

  5. java面向对象中的String类中12种常用的方法

    1.字符串与字符数组的转换 字符串可以使用toCharArray()方法变成一个字符数组,也可以使用String类的构造方法把一个字符数组变成一个字符串. public class StringAPI ...

  6. 安装帝国CMS遇到“修改php.ini,将:short_open_tag 设为 On”的解决方法+“建立目录不成功!请检查目录权限”问题

    想用安装个帝国CMS来做个网站,于是下载了程序,上传到服务器上,但是在输入安装路径的时候却给出了如下图示: 您的PHP配置文件php.ini配置有问题,请按下面操作即可解决: 1.修改php.ini, ...

  7. 【 D3.js 入门系列 — 2.1 】 选择、插入、删除元素

    1. select 和 selectAll 的区别 在 D3 中,选择元素的函数有两个:select 和 selectAll,它们的使用非常重要.先说明一下它们的区别: select 是选择所有指定元 ...

  8. ZOJ 1893 A Multiplication Game 【简单博弈】

    感觉ZJU上有不少博弈的题目. 这道题目还是比较好理解的,题目大概意思是:两人轮流乘一个2-9的数,从1开始乘,求谁的乘积先大于N. 还是寻找必败点必胜点,不过在这个题目里转换成了寻找必败区间必胜区间 ...

  9. C++编译时函数名修饰约定规则(很具体),MFC提供的宏,extern "C"的作用

    调用约定: __cdecl __fastcall与 __stdcall,三者都是调用约定(Calling convention),它决定以下内容:1)函数参数的压栈顺序,2)由调用者还是被调用者把参数 ...

  10. 为什么要用BASE64

    BASE64和其他相似的编码算法通常用于转换二进制数据为文本数据,其目的是为了简化存储或传输.更具体地说,BASE64算法主要用于转换二进 制数据为ASCII字符串格式.Java语言提供了一个非常好的 ...