2
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

CentOS6 で Zabbix 3.0 を動かす (自力ビルド編)

Last updated at Posted at 2016-03-04

SRPM からビルドする

CentOS6 で Zabbix 3.0 を動かす (力業編)では、かなり強引な方法で実現していますが、この自力ビルド編の方法は、ビルドの手間はかかりますが、パッケージとして導入するため。管理しやすいでしょう。また、更新した curl は /usr/local に配置するなど、互換性に考慮した配置が取れます。

ビルドに使用した spec ファイルと、/usr/local へのインストールでカスタマイズしたファイルは Gist に置いてあります。

ビルド環境

rpmbuild コマンドが必要なため、パッケージをインストールします。

# yum install rpmdevtools yum-utils

ビルド用のユーザを作成します。

# useradd mockbuild

# useradd rpmbuilder

以降はこのビルド用のユーザ rpmbuilder で作業します。

# su - rpmbuilder
$ rpmdev-setuptree

curl

/usr/local にインストールする場合

curl-local.spec

/usr/local にインストールされます。既存の libcurl をアップデートしたくないときに使います。

curl-local.spec.patch
diff -u curl.spec curl-local.spec
--- curl.spec           2015-11-23 00:58:08.000000000 +0900
+++ curl-local.spec     2016-03-03 14:49:11.309742879 +0900
@@ -1,3 +1,11 @@
+
+%define _prefix /usr/local
+%define _exec_prefix %{_prefix}
+%define _datadir %{_prefix}/share
+%define _libdir         %{_exec_prefix}/lib64
+%define _mandir %{_datadir}/man
+%define dist .el6.local
+
 Summary: A utility for getting files from remote servers (FTP, HTTP, and others)
 Name: curl
 Version: 7.29.0
@@ -283,8 +291,13 @@
 #

 %build
+CPPFLAGS='-I/usr/local/include'
+export CPPFLAGS
+LDFLAGS='-L/usr/local/lib64 -Wl,-rpath,/usr/local/lib64'
+export LDFLAGS
+
 [ -x /usr/kerberos/bin/krb5-config ] && KRB5_PREFIX="=/usr/kerberos"
-%configure --disable-static \
+%configure --prefix=/usr/local --disable-static \
     --enable-hidden-symbols \
     --enable-ipv6 \
     --enable-ldaps \

通常の配置

そのままバンドルされている spec ファイルを使ってビルドできます。
通常の CentOS6 用のパッケージを更新する形で導入することになります。

crulのビルド

$ rpm -iv curl-7.29.0-25.el7.centos.src.rpm
$ rpmbuild -bb curl.spec

また、/usr/local にインストールする場合は

$ QA_RPATHS=$[ 0x0001|0x0002|0x0010 ] rpmbuild -bb curl-local.spec

パッケージが不足していると、どれが不足しているか警告が出て終了します。
ビルドに必要なため導入したパッケージは以下の通りです。

  • groff-1.18.1.4-21.el6.x86_64
  • pkgconfig-0.23-9.1.el6.x86_64
  • openssh-clients-5.3p1-112.el6_7.x86_64
  • zlib-devel-1.2.3-29.el6.x86_64
  • stunnel-4.29-3.el6_6.1.x86_64
  • valgrind-3.8.1-8.el6.x86_64
  • krb5-devel-1.10.3-42.el6.x86_64
  • libssh2-devel-1.4.2-1.el6_6.1.x86_64
  • libidn-devel-1.18-2.el6.x86_64
  • openssh-server-5.3p1-112.el6_7.x86_64
  • nss-devel-3.19.1-8.el6_7.x86_64
  • perl-Time-HiRes-1.9721-141.el6_7.1.x86_64
  • openldap-devel-2.4.40-7.el6_7.x86_64

zabbix

rpmbuild のバージョンが古いため、%doc マクロのバグ対策などがありますが、spec ファイルを少し修正すればビルドできました。

/usr/local にインストールする場合

zabbix-local.spec

Zabbix は /usr/local にインストールされます。
curl を /usr/local にインストールしてあれば、そちらを優先してリンクします。

zabbix.spec からのパッチです。

zabbix-local.spec.patch
diff -u rpmbuild/SPECS/zabbix.spec zabbix-local.spec
--- rpmbuild/SPECS/zabbix.spec    2016-02-28 16:17:00.000000000 +0900
+++ zabbix-local.spec   2016-03-04 04:13:27.050719017 +0900
@@ -1,3 +1,11 @@
+%define _prefix /usr/local
+%define _exec_prefix %{_prefix}
+%define _datadir %{_prefix}/share
+%define _libdir         %{_exec_prefix}/lib64
+%define _mandir %{_datadir}/man
+%define _docdir %{_datadir}/doc
+%define dist .el6.local
+
 Name:          zabbix
 Version:       3.0.1
 Release:       1%{?alphatag:.%{alphatag}}%{?dist}
@@ -6,13 +14,13 @@
 License:       GPLv2+
 URL:           http://www.zabbix.com/
 Source0:       zabbix-%{version}%{?alphatag:%{alphatag}}.tar.gz
-Source1:       zabbix-web22.conf
-Source2:       zabbix-web24.conf
+Source1:       zabbix-web22.local.conf
+Source2:       zabbix-web24.local.conf
 Source3:       zabbix-logrotate.in
-Source4:       zabbix-java-gateway.init
-Source5:       zabbix-agent.init
-Source6:       zabbix-server.init
-Source7:       zabbix-proxy.init
+Source4:       zabbix-java-gateway.local.init
+Source5:       zabbix-agent.local.init
+Source6:       zabbix-server.local.init
+Source7:       zabbix-proxy.local.init
 Source10:      zabbix-agent.service
 Source11:      zabbix-server.service
 Source12:      zabbix-proxy.service
@@ -28,6 +36,9 @@
 %if 0%{?rhel} >=7
 %define build_server 1
 %endif
+%if 0%{?rhel} >=6
+%define build_server 1
+%endif

 BuildRequires: mysql-devel
 BuildRequires: postgresql-devel
@@ -236,8 +247,8 @@
 Requires:                      php-ldap
 Requires:                      dejavu-sans-fonts
 Requires:                      zabbix-web-database = %{version}-%{release}
-Requires(post):                %{_sbindir}/update-alternatives
-Requires(preun):       %{_sbindir}/update-alternatives
+Requires(post):                /usr/sbin/update-alternatives
+Requires(preun):       /usr/sbin/update-alternatives

 %description web
 Zabbix web frontend common package
@@ -270,8 +281,8 @@
 BuildArch:                     noarch
 Requires:                      vlgothic-p-fonts
 Requires:                      zabbix-web = %{version}-%{release}
-Requires(post):                %{_sbindir}/update-alternatives
-Requires(preun):       %{_sbindir}/update-alternatives
+Requires(post):                /usr/sbin/update-alternatives
+Requires(preun):       /usr/sbin/update-alternatives

 %description web-japanese
 Japanese font configuration for Zabbix web frontend
@@ -309,7 +320,13 @@

 %build

+CPPFLAGS='-I/usr/local/include'
+export CPPFLAGS
+LDFLAGS='-L/usr/local/lib64 -Wl,-rpath,/usr/local/lib64'
+export LDFLAGS
+
 build_flags="
+        --prefix=/usr/local
        --enable-dependency-tracking
        --sysconfdir=/etc/zabbix
        --libdir=%{_libdir}/zabbix
@@ -509,15 +526,15 @@

 %if 0%{?build_server}
 # copy sql files for servers
-docdir=$RPM_BUILD_ROOT%{_docdir}/zabbix-server-mysql-%{version}
-install -dm 755 $docdir
+docdir=zabbix-server-mysql-%{version}
+mkdir $docdir
 cat database/mysql/schema.sql > $docdir/create.sql
 cat database/mysql/images.sql >> $docdir/create.sql
 cat database/mysql/data.sql >> $docdir/create.sql
 gzip $docdir/create.sql

-docdir=$RPM_BUILD_ROOT%{_docdir}/zabbix-server-pgsql-%{version}
-install -dm 755 $docdir
+docdir=zabbix-server-pgsql-%{version}
+mkdir $docdir
 cat database/postgresql/schema.sql > $docdir/create.sql
 cat database/postgresql/images.sql >> $docdir/create.sql
 cat database/postgresql/data.sql >> $docdir/create.sql
@@ -525,23 +542,28 @@
 %endif

 # copy sql files for proxyes
-docdir=$RPM_BUILD_ROOT%{_docdir}/zabbix-proxy-mysql-%{version}
-install -dm 755 $docdir
+docdir=zabbix-proxy-mysql-%{version}
+mkdir $docdir
 cp database/mysql/schema.sql $docdir/schema.sql
 gzip $docdir/schema.sql

-docdir=$RPM_BUILD_ROOT%{_docdir}/zabbix-proxy-pgsql-%{version}
-install -dm 755 $docdir
+docdir=zabbix-proxy-pgsql-%{version}
+mkdir $docdir
 cp database/postgresql/schema.sql $docdir/schema.sql
 gzip $docdir/schema.sql

-docdir=$RPM_BUILD_ROOT%{_docdir}/zabbix-proxy-sqlite3-%{version}
-install -dm 755 $docdir
+docdir=zabbix-proxy-sqlite3-%{version}
+mkdir $docdir
 cp database/sqlite3/schema.sql $docdir/schema.sql
 gzip $docdir/schema.sql


 %clean
+rm -rf zabbix-server-mysql-%{version}
+rm -rf zabbix-server-pgsql-%{version}
+rm -rf zabbix-proxy-mysql-%{version}
+rm -rf zabbix-proxy-pgsql-%{version}
+rm -rf zabbix-proxy-sqlite3-%{version}
 rm -rf $RPM_BUILD_ROOT


@@ -877,6 +899,7 @@
 %files proxy-mysql
 %defattr(-,root,root,-)
 %doc AUTHORS ChangeLog COPYING NEWS README
+%doc zabbix-proxy-mysql-%{version}/*
 %attr(0640,root,zabbix) %config(noreplace) %{_sysconfdir}/zabbix/zabbix_proxy.conf
 %dir /usr/lib/zabbix/externalscripts
 %config(noreplace) %{_sysconfdir}/logrotate.d/zabbix-proxy
@@ -894,6 +917,7 @@
 %files proxy-pgsql
 %defattr(-,root,root,-)
 %doc AUTHORS ChangeLog COPYING NEWS README
+%doc zabbix-proxy-pgsql-%{version}/*
 %attr(0640,root,zabbix) %config(noreplace) %{_sysconfdir}/zabbix/zabbix_proxy.conf
 %dir /usr/lib/zabbix/externalscripts
 %config(noreplace) %{_sysconfdir}/logrotate.d/zabbix-proxy
@@ -911,6 +935,7 @@
 %files proxy-sqlite3
 %defattr(-,root,root,-)
 %doc AUTHORS ChangeLog COPYING NEWS README
+%doc zabbix-proxy-sqlite3-%{version}/*
 %attr(0640,root,zabbix) %config(noreplace) %{_sysconfdir}/zabbix/zabbix_proxy.conf
 %dir /usr/lib/zabbix/externalscripts
 %config(noreplace) %{_sysconfdir}/logrotate.d/zabbix-proxy
@@ -946,6 +971,7 @@
 %files server-mysql
 %defattr(-,root,root,-)
 %doc AUTHORS ChangeLog COPYING NEWS README
+%doc zabbix-server-mysql-%{version}/*
 %attr(0640,root,zabbix) %config(noreplace) %{_sysconfdir}/zabbix/zabbix_server.conf
 %dir /usr/lib/zabbix/alertscripts
 %dir /usr/lib/zabbix/externalscripts
@@ -964,6 +990,7 @@
 %files server-pgsql
 %defattr(-,root,root,-)
 %doc AUTHORS ChangeLog COPYING NEWS README
+%doc zabbix-server-pgsql-%{version}/*
 %attr(0640,root,zabbix) %config(noreplace) %{_sysconfdir}/zabbix/zabbix_server.conf
 %dir /usr/lib/zabbix/alertscripts
 %dir /usr/lib/zabbix/externalscripts

rpmbuild/SOURCES/zabbix-agent.local.init

rpmbuild/SOURCES/zabbix-agent.init をもとに作成します。

zabbix-agent.local.init.patch
diff -u rpmbuild/SOURCES/zabbix-agent.init rpmbuild/SOURCES/zabbix-agent.local.init
--- rpmbuild/SOURCES/zabbix-agent.init  2016-02-28 16:05:33.000000000 +0900
+++ rpmbuild/SOURCES/zabbix-agent.local.init    2016-03-02 23:34:29.328769962 +0900
@@ -21,8 +21,8 @@
 # Source function library.
 . /etc/rc.d/init.d/functions

-if [ -x /usr/sbin/zabbix_agentd ]; then
-    exec=/usr/sbin/zabbix_agentd
+if [ -x /usr/local/sbin/zabbix_agentd ]; then
+    exec=/usr/local/sbin/zabbix_agentd
 else
     exit 5
 fi

rpmbuild/SOURCES/zabbix-java-gateway.local.init

rpmbuild/SOURCES/zabbix-java-gateway.init をもとに作成します。

zabbix-java-gateway.local.init.patch
diff -u rpmbuild/SOURCES/zabbix-java-gateway.init rpmbuild/SOURCES/zabbix-java-gateway.local.init
--- rpmbuild/SOURCES/zabbix-java-gateway.init   2016-02-28 16:05:33.000000000 +0900
+++ rpmbuild/SOURCES/zabbix-java-gateway.local.init     2016-03-02 23:36:36.657770893 +0900
@@ -31,7 +31,7 @@
 [ ${NETWORKING} = "no" ] && exit 0

 RETVAL=0
-EXECDIR=/usr/sbin/zabbix_java
+EXECDIR=/usr/local/sbin/zabbix_java

 case "$1" in
     start)

rpmbuild/SOURCES/zabbix-proxy.local.init

rpmbuild/SOURCES/zabbix-proxy.init をもとに作成します。

zabbix-proxy.local.init.patch
diff -u rpmbuild/SOURCES/zabbix-proxy.init rpmbuild/SOURCES/zabbix-proxy.local.init
--- rpmbuild/SOURCES/zabbix-proxy.init  2016-02-28 16:05:33.000000000 +0900
+++ rpmbuild/SOURCES/zabbix-proxy.local.init    2016-03-02 23:34:44.984771340 +0900
@@ -18,8 +18,8 @@
 # Source function library.
 . /etc/rc.d/init.d/functions

-if [ -x /usr/sbin/zabbix_proxy ]; then
-    exec=/usr/sbin/zabbix_proxy
+if [ -x /usr/local/sbin/zabbix_proxy ]; then
+    exec=/usr/local/sbin/zabbix_proxy
 else
     exit 5
 fi

rpmbuild/SOURCES/zabbix-server.local.init

rpmbuild/SOURCES/zabbix-server.init をもとに作成します。

zabbix-server.local.init.patch
diff -u rpmbuild/SOURCES/zabbix-server.init rpmbuild/SOURCES/zabbix-server.local.init
--- rpmbuild/SOURCES/zabbix-server.init 2016-02-28 16:05:33.000000000 +0900
+++ rpmbuild/SOURCES/zabbix-server.local.init   2016-03-02 23:34:59.050770122 +0900
@@ -18,8 +18,8 @@
 # Source function library.
 . /etc/rc.d/init.d/functions

-if [ -x /usr/sbin/zabbix_server ]; then
-    exec=/usr/sbin/zabbix_server
+if [ -x /usr/local/sbin/zabbix_server ]; then
+    exec=/usr/local/sbin/zabbix_server
 else
     exit 5
 fi

rpmbuild/SOURCES/zabbix-web22.local.conf

rpmbuild/SOURCES/zabbix-web22.conf をもとに作成します。

zabbix-web22.local.conf.patch
diff -u rpmbuild/SOURCES/zabbix-web22.conf rpmbuild/SOURCES/zabbix-web22.local.conf
--- rpmbuild/SOURCES/zabbix-web22.conf  2016-02-28 16:05:33.000000000 +0900
+++ rpmbuild/SOURCES/zabbix-web22.local.conf    2016-03-03 02:52:17.044765009 +0900
@@ -2,9 +2,9 @@
 # Zabbix monitoring system php web frontend
 #

-Alias /zabbix /usr/share/zabbix
+Alias /zabbix /usr/local/share/zabbix

-<Directory "/usr/share/zabbix">
+<Directory "/usr/local/share/zabbix">
     Options FollowSymLinks
     AllowOverride None
     Order allow,deny
@@ -21,7 +21,7 @@
     </IfModule>
 </Directory>

-<Directory "/usr/share/zabbix/conf">
+<Directory "/usr/local/share/zabbix/conf">
     Order deny,allow
     Deny from all
     <files *.php>
@@ -30,7 +30,7 @@
     </files>
 </Directory>

-<Directory "/usr/share/zabbix/app">
+<Directory "/usr/local/share/zabbix/app">
     Order deny,allow
     Deny from all
     <files *.php>
@@ -39,7 +39,7 @@
     </files>
 </Directory>

-<Directory "/usr/share/zabbix/include">
+<Directory "/usr/local/share/zabbix/include">
     Order deny,allow
     Deny from all
     <files *.php>
@@ -48,7 +48,7 @@
     </files>
 </Directory>

-<Directory "/usr/share/zabbix/local">
+<Directory "/usr/local/share/zabbix/local">
     Order deny,allow
     Deny from all
     <files *.php>

rpmbuild/SOURCES/zabbix-web24.local.conf

rpmbuild/SOURCES/zabbix-web24.conf をもとに作成します。

zabbix-web24.local.conf.patch
diff -u rpmbuild/SOURCES/zabbix-web24.conf rpmbuild/SOURCES/zabbix-web24.local.conf
--- rpmbuild/SOURCES/zabbix-web24.conf  2016-02-28 16:05:33.000000000 +0900
+++ rpmbuild/SOURCES/zabbix-web24.local.conf    2016-03-03 02:52:28.315760825 +0900
@@ -2,9 +2,9 @@
 # Zabbix monitoring system php web frontend
 #

-Alias /zabbix /usr/share/zabbix
+Alias /zabbix /usr/local/share/zabbix

-<Directory "/usr/share/zabbix">
+<Directory "/usr/local/share/zabbix">
     Options FollowSymLinks
     AllowOverride None
     Require all granted
@@ -20,18 +20,18 @@
     </IfModule>
 </Directory>

-<Directory "/usr/share/zabbix/conf">
+<Directory "/usr/local/share/zabbix/conf">
     Require all denied
 </Directory>

-<Directory "/usr/share/zabbix/app">
+<Directory "/usr/local/share/zabbix/app">
     Require all denied
 </Directory>

-<Directory "/usr/share/zabbix/include">
+<Directory "/usr/local/share/zabbix/include">
     Require all denied
 </Directory>

-<Directory "/usr/share/zabbix/local">
+<Directory "/usr/local/share/zabbix/local">
     Require all denied
 </Directory>

通常の配置

配布されているパッケージと同様の配置です。

zabbix.spec.patch

curl を /usr/local にインストールしてあれば、そちらを優先してリンクします。

zabbix.spec.patch
diff -u rpmbuild/SPECS/zabbix.spec zabbix.spec
--- rpmbuild/SPECS/zabbix.spec    2016-02-28 16:17:00.000000000 +0900
+++ zabbix.spec 2016-03-04 04:08:41.974718669 +0900
@@ -28,6 +28,9 @@
 %if 0%{?rhel} >=7
 %define build_server 1
 %endif
+%if 0%{?rhel} >=6
+%define build_server 1
+%endif

 BuildRequires: mysql-devel
 BuildRequires: postgresql-devel
@@ -309,6 +312,11 @@

 %build

+CPPFLAGS='-I/usr/local/include'
+export CPPFLAGS
+LDFLAGS='-L/usr/local/lib64 -Wl,-rpath,/usr/local/lib64'
+export LDFLAGS
+
 build_flags="
        --enable-dependency-tracking
        --sysconfdir=/etc/zabbix
@@ -509,15 +517,15 @@

 %if 0%{?build_server}
 # copy sql files for servers
-docdir=$RPM_BUILD_ROOT%{_docdir}/zabbix-server-mysql-%{version}
-install -dm 755 $docdir
+docdir=zabbix-server-mysql-%{version}
+mkdir $docdir
 cat database/mysql/schema.sql > $docdir/create.sql
 cat database/mysql/images.sql >> $docdir/create.sql
 cat database/mysql/data.sql >> $docdir/create.sql
 gzip $docdir/create.sql

-docdir=$RPM_BUILD_ROOT%{_docdir}/zabbix-server-pgsql-%{version}
-install -dm 755 $docdir
+docdir=zabbix-server-pgsql-%{version}
+mkdir $docdir
 cat database/postgresql/schema.sql > $docdir/create.sql
 cat database/postgresql/images.sql >> $docdir/create.sql
 cat database/postgresql/data.sql >> $docdir/create.sql
@@ -525,23 +533,28 @@
 %endif

 # copy sql files for proxyes
-docdir=$RPM_BUILD_ROOT%{_docdir}/zabbix-proxy-mysql-%{version}
-install -dm 755 $docdir
+docdir=zabbix-proxy-mysql-%{version}
+mkdir $docdir
 cp database/mysql/schema.sql $docdir/schema.sql
 gzip $docdir/schema.sql

-docdir=$RPM_BUILD_ROOT%{_docdir}/zabbix-proxy-pgsql-%{version}
-install -dm 755 $docdir
+docdir=zabbix-proxy-pgsql-%{version}
+mkdir $docdir
 cp database/postgresql/schema.sql $docdir/schema.sql
 gzip $docdir/schema.sql

-docdir=$RPM_BUILD_ROOT%{_docdir}/zabbix-proxy-sqlite3-%{version}
-install -dm 755 $docdir
+docdir=zabbix-proxy-sqlite3-%{version}
+mkdir $docdir
 cp database/sqlite3/schema.sql $docdir/schema.sql
 gzip $docdir/schema.sql


 %clean
+rm -rf zabbix-server-mysql-%{version}
+rm -rf zabbix-server-pgsql-%{version}
+rm -rf zabbix-proxy-mysql-%{version}
+rm -rf zabbix-proxy-pgsql-%{version}
+rm -rf zabbix-proxy-sqlite3-%{version}
 rm -rf $RPM_BUILD_ROOT


@@ -877,6 +890,7 @@
 %files proxy-mysql
 %defattr(-,root,root,-)
 %doc AUTHORS ChangeLog COPYING NEWS README
+%doc zabbix-proxy-mysql-%{version}/*
 %attr(0640,root,zabbix) %config(noreplace) %{_sysconfdir}/zabbix/zabbix_proxy.conf
 %dir /usr/lib/zabbix/externalscripts
 %config(noreplace) %{_sysconfdir}/logrotate.d/zabbix-proxy
@@ -894,6 +908,7 @@
 %files proxy-pgsql
 %defattr(-,root,root,-)
 %doc AUTHORS ChangeLog COPYING NEWS README
+%doc zabbix-proxy-pgsql-%{version}/*
 %attr(0640,root,zabbix) %config(noreplace) %{_sysconfdir}/zabbix/zabbix_proxy.conf
 %dir /usr/lib/zabbix/externalscripts
 %config(noreplace) %{_sysconfdir}/logrotate.d/zabbix-proxy
@@ -911,6 +926,7 @@
 %files proxy-sqlite3
 %defattr(-,root,root,-)
 %doc AUTHORS ChangeLog COPYING NEWS README
+%doc zabbix-proxy-sqlite3-%{version}/*
 %attr(0640,root,zabbix) %config(noreplace) %{_sysconfdir}/zabbix/zabbix_proxy.conf
 %dir /usr/lib/zabbix/externalscripts
 %config(noreplace) %{_sysconfdir}/logrotate.d/zabbix-proxy
@@ -946,6 +962,7 @@
 %files server-mysql
 %defattr(-,root,root,-)
 %doc AUTHORS ChangeLog COPYING NEWS README
+%doc zabbix-server-mysql-%{version}/*
 %attr(0640,root,zabbix) %config(noreplace) %{_sysconfdir}/zabbix/zabbix_server.conf
 %dir /usr/lib/zabbix/alertscripts
 %dir /usr/lib/zabbix/externalscripts
@@ -964,6 +981,7 @@
 %files server-pgsql
 %defattr(-,root,root,-)
 %doc AUTHORS ChangeLog COPYING NEWS README
+%doc zabbix-server-pgsql-%{version}/*
 %attr(0640,root,zabbix) %config(noreplace) %{_sysconfdir}/zabbix/zabbix_server.conf
 %dir /usr/lib/zabbix/alertscripts
 %dir /usr/lib/zabbix/externalscripts

zabbixのビルド

/usr/local 版の libcurl をインストールします。

# rpm -ivh rpmbuild/RPMS/x86_64/libcurl-7.29.0-25.el6.local.x86_64.rpm

curl を更新してしまう場合はこちらです。

# rpm -Uvh rpmbuild/RPMS/x86_64/curl-7.29.0-25.el6.x86_64.rpm rpmbuild/RPMS/x86_64/libcurl-7.29.0-25.el6.x86_64.rpm rpmbuild/RPMS/x86_64/libcurl-devel-7.29.0-25.el6.x86_64.rpm
$ rpm -iv zabbix-3.0.1-1.el7.src.rpm

rpmbuild でビルドします。
/usr/local にインストールした libcurl.so にリンクするときは、QA_RPATHS=$[ 0x0001|0x0002|0x0010 ] を指定しないと、rpath のチェックでエラーになってしまいます。

$ QA_RPATHS=$[ 0x0001|0x0002|0x0010 ] rpmbuild -bb zabbix.spec

または

$ QA_RPATHS=$[ 0x0001|0x0002|0x0010 ] rpmbuild -bb zabbix-local.spec

パッケージが不足していると、どれが不足しているか警告が出て終了します。
ビルドに必要なため導入したパッケージは以下の通りです。

  • openssl-devel-1.0.1e-42.el6_7.4.x86_64
  • mysql-devel-5.5.48-1.el6.remi.x86_64
  • net-snmp-devel-5.5-54.el6_7.1.x86_64
  • iksemel-devel-1.4-2.el6.x86_64
  • libxml2-devel-2.7.6-20.el6_7.1.x86_64
  • libcurl-devel-7.29.0-25.el6.x86_64
  • libssh2-devel-1.4.2-1.el6_6.1.x86_64
  • postgresql-devel-8.4.20-4.el6_7.x86_64
  • unixODBC-devel-2.2.14-14.el6.x86_64
  • openldap-devel-2.4.40-7.el6_7.x86_64
  • gnutls-devel-2.8.5-19.el6_7.x86_64
  • OpenIPMI-devel-2.0.16-14.el6.x86_64
  • sqlite-devel-3.6.20-1.el6_7.2.x86_64

できあがったパッケージを使えば、2.2 や 2.4 と同様にインストールすることができます。

2
2
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?