zabbix安装时出错

时间:2013-06-03 16:08:51

标签: monitoring zabbix

以下是zabbix安装时的步骤:

  1. tar -zxf zabbix-1.8.tar.gz
  2. 在mysql中创建Zabbix数据库
  3. yum install iksemel-devel
  4. yum install net-snmp-devel
  5. ./ configure --enable-server --enable-agent --with-mysql --with-net-snmp --with-jabber --with-libcurl
  6. 然后当我执行时:make install然后我看到以下异常。请帮我弄清问题。感谢。

    ../../../include/zbxdb.h:67:20: error: mysql.h: No such file or directory
    ../../../include/zbxdb.h:68:21: error: errmsg.h: No such file or directory
    ../../../include/zbxdb.h:69:27: error: mysqld_error.h: No such file or directory
    In file included from ../../../include/db.h:25,
    from db.c:22:
    ../../../include/zbxdb.h:71: error: expected '=', ',', ';', 'asm' or '__attribute__' before '*' token
    ../../../include/zbxdb.h:174: error: expected '=', ',', ';', 'asm' or '__attribute__' before '*' token
    ../../../include/zbxdb.h:175: error: expected '=', ',', ';', 'asm' or '__attribute__' before '*' token
    ../../../include/zbxdb.h:177: error: expected '=', ',', ';', 'asm' or '__attribute__' before 'zbx_db_fetch'
    In file included from db.c:22:
    ../../../include/db.h:546: error: expected '=', ',', ';', 'asm' or '__attribute__' before '*' token
    ../../../include/db.h:548: error: expected '=', ',', ';', 'asm' or '__attribute__' before '*' token
    ../../../include/db.h:549: error: expected '=', ',', ';', 'asm' or '__attribute__' before 'DBfetch'
    ../../../include/db.h:586: error: expected declaration specifiers or '...' before 'MYSQL_ROW'
    db.c:34: error: expected '=', ',', ';', 'asm' or '__attribute__' before '*' token
    db.c: In function 'zbx_db_connect':
    db.c:119: error: 'conn' undeclared (first use in this function)
    db.c:119: error: (Each undeclared identifier is reported only once
    db.c:119: error: for each function it appears in.)
    db.c:121: error: 'CLIENT_MULTI_STATEMENTS' undeclared (first use in this function)
    db.c:145: error: 'CR_CONN_HOST_ERROR' undeclared (first use in this function)
    db.c:146: error: 'CR_SERVER_GONE_ERROR' undeclared (first use in this function)
    db.c:147: error: 'CR_CONNECTION_ERROR' undeclared (first use in this function)
    db.c:148: error: 'CR_SERVER_LOST' undeclared (first use in this function)
    db.c:149: error: 'ER_SERVER_SHUTDOWN' undeclared (first use in this function)
    db.c:150: error: 'ER_ACCESS_DENIED_ERROR' undeclared (first use in this function)
    db.c:151: error: 'ER_ILLEGAL_GRANT_FOR_TABLE' undeclared (first use in this function)
    db.c:152: error: 'ER_TABLEACCESS_DENIED_ERROR' undeclared (first use in this function)
    db.c:153: error: 'ER_UNKNOWN_ERROR' undeclared (first use in this function)
    db.c: In function 'zbx_db_close':
    db.c:350: error: 'conn' undeclared (first use in this function)
    db.c: At top level:
    db.c:409: error: expected '=', ',', ';', 'asm' or '__attribute__' before '*' token
    db.c: In function 'zbx_db_vexecute':
    db.c:656: error: 'conn' undeclared (first use in this function)
    db.c:668: error: 'CR_CONN_HOST_ERROR' undeclared (first use in this function)
    db.c:669: error: 'CR_SERVER_GONE_ERROR' undeclared (first use in this function)
    db.c:670: error: 'CR_CONNECTION_ERROR' undeclared (first use in this function)
    db.c:671: error: 'CR_SERVER_LOST' undeclared (first use in this function)
    db.c:672: error: 'ER_SERVER_SHUTDOWN' undeclared (first use in this function)
    db.c:673: error: 'ER_ACCESS_DENIED_ERROR' undeclared (first use in this function)
    db.c:674: error: 'ER_ILLEGAL_GRANT_FOR_TABLE' undeclared (first use in this function)
    db.c:675: error: 'ER_TABLEACCESS_DENIED_ERROR' undeclared (first use in this function)
    db.c:676: error: 'ER_UNKNOWN_ERROR' undeclared (first use in this function)
    db.c: At top level:
    db.c:825: error: expected '=', ',', ';', 'asm' or '__attribute__' before '*' token
    db.c:1124: error: expected '=', ',', ';', 'asm' or '__attribute__' before '*' token
    db.c:1139: error: expected '=', ',', ';', 'asm' or '__attribute__' before 'zbx_db_fetch'
    make[3]: *** [db.o] Error 1
    make[3]: Leaving directory `/root/xyy/zabbix-1.8.4/src/libs/zbxdb'
    make[2]: *** [install-recursive] Error 1
    make[2]: Leaving directory `/root/xyz/zabbix-1.8.4/src/libs'
    make[1]: *** [install-recursive] Error 1
    make[1]: Leaving directory `/root/xyz/zabbix-1.8.4/src'
    make: *** [install-recursive] Error 1
    

    编辑详情: 根据一条评论,我尝试安装mysql-devel,即yum install mysql-devel,但我得到以下错误:

    Error: Package: mysql-devel-5.1.69-1.el6_4.x86_64 (updates)
               Requires: mysql = 5.1.69-1.el6_4
               Installed: mysql-5.5.28-1.el6.remi.x86_64 (@remi)
                   mysql = 5.5.28-1.el6.remi
               Available: mysql-5.1.66-2.el6_3.x86_64 (base)
                   mysql = 5.1.66-2.el6_3
               Available: mysql-5.1.67-1.el6_3.x86_64 (updates)
                   mysql = 5.1.67-1.el6_3
               Available: mysql-5.1.69-1.el6_4.x86_64 (updates)
                   mysql = 5.1.69-1.el6_4
     You could try using --skip-broken to work around the problem
    

    请有人帮助我摆脱这种情况。感谢。

    编辑详情:以下是我发布命令时发现的内容:ls -l /etc/yum.repos.d/

    -rw-r--r-- 1 root root 1926 Jun 26  2012 CentOS-Base.repo
    -rw-r--r-- 1 root root  637 Jun 26  2012 CentOS-Debuginfo.repo
    -rw-r--r-- 1 root root  626 Jun 26  2012 CentOS-Media.repo
    -rw-r--r-- 1 root root 2593 Jun 26  2012 CentOS-Vault.repo
    -rw-r--r-- 1 root root  475 Aug 19  2012 ZabbixZone.repo
    -rw-r--r-- 1 root root 1056 Nov  5  2012 epel-testing.repo
    -rw-r--r-- 1 root root  957 Aug 21  2012 epel.repo
    -rw-r--r-- 1 root root  739 Nov 13  2010 mirrors-rpmforge
    -rw-r--r-- 1 root root  717 Nov 13  2010 mirrors-rpmforge-extras
    -rw-r--r-- 1 root root  728 Nov 13  2010 mirrors-rpmforge-testing
    -rw-r--r-- 1 root root  633 Nov 13  2010 remi.repo
    -rw-r--r-- 1 root root 1113 Aug 21  2012 rpmforge.repo
    -rw-r--r-- 1 root root  401 Jan 25 23:10 zabbix.repo
    

    编辑详情:最后问题得到解决,非常感谢Michael TabolskyJoao Figueiredo。 :

      

    cat /etc/yum.repos.d/remi.repo

    并发现remi repo已被禁用。然后通过

    进行编辑
      

    vi /etc/yum.repos.d/remi.repo。

    enabled=0 更改为 enabled=1 。然后做了 yum install mysql-devel 并且它有效。

2 个答案:

答案 0 :(得分:3)

您的问题不是安装zabbix,而是编译它。你错过了mysql标题。 yum install mysql-devel 但是,我真的不知道你为什么要编译。也是旧版本。对于el发行版(RHEL,CentOS,Scientific)使用EPEL repo,它有2.0。 编辑:根据要求链接到EPEL回购,按照您的分发说明: http://fedoraproject.org/wiki/EPEL 然后yum list zabbix2*并安装你需要的东西。

你的sql文件在这里

rpm -ql zabbix-server-mysql-2.0.5-1.el6.x86_64 | grep create
/usr/share/doc/zabbix-server-mysql-2.0.5/create
/usr/share/doc/zabbix-server-mysql-2.0.5/create/data.sql
/usr/share/doc/zabbix-server-mysql-2.0.5/create/images.sql
/usr/share/doc/zabbix-server-mysql-2.0.5/create/schema.sql

答案 1 :(得分:1)

尝试, 你的方式过于复杂。

为什么要尝试编译这样一个过时的版本? 我上次编辑1.8的时间大约是一年前。

虽然您没有指定发行版,但您可以从此处跟进,
https://www.zabbix.com/documentation/2.0/manual/installation/install_from_packages