○ imap/mcrypt/freetypeのインストール

・phpのIMAP関数とMcrypt暗号化関数で使用します
・imap-2007fのrpmを作成し、インストールします
・libmcrypt-2.5.8のrpmを作成し、インストールします
・freetype-2.6.0のrpmを作成し、インストールします
・make はメンテナンスマシンで行っています

・新規インストールした openssl を使います
・ソースの取得、削除は省略します
・エディタ、ファイラーの操作は省略します
・ソースを展開したら説明文を読みましょう
・Enterキーを省略します

・ログイン端末で "#" はroot、"$" は一般ユーザのプロンプトの記号です
・設定ファイルで "#" で始まる行はコメントとして解釈されます

○関連サイト

:imap-2007f.tar.gz (http://www.washington.edu/imap/)
:libc-client-2007e-11.el6.src.rpm (http://vault.centos.org/)
:libmcrypt-2.5.8-18.fc24.src.rpm  (http://dl.fedoraproject.org/)
:freetype-2.6.3-2.fc24.src.rpm  (http://dl.fedoraproject.org/)

○参照ファイル

パッケージの追加
最初の設定 (Xen)
opensslのインストール

○インストール環境

:OS CentOS 6.8
:selinux disabled or permissive
:インストール先 
:作業 ~/src ~/rpmbuild
:言語 LANG=en_US.UTF-8
:ユーザー rootで実行

・メンテナンスの場合は一般ユーザから行います



○imap-2007f

○ソースの展開・インストール

・CentOS 6.xの既存のパッケージでも問題ないと思います

・rpmbuildがない場合、作成しておく

# cd ~
[root@jupiter:~]
# mkdir -p ~/rpmbuild/{SOURCES,SPECS}

# cd ~/src
[root@jupiter:~/src]
# mkdir libc-client
# rpm -ivh libc-client-2007e-11.el6.src.rpm
# cp imap-2007f.tar.gz ~/rpmbuild/SOURCES
# cd ~/rpmbuild/SPECS
[root@jupiter:~/rpmbuild/SPECS]

・specファイルの修正 (下記参照)

# vi libc-client.spec

[root@jupiter:~/rpmbuild/SPECS]
# rpmbuild -ba --clean --rmsource \
--define 'dist .mn' libc-client.spec
# mv libc-client.spec ~/src/libc-client
# cd ../RPMS/i686
[root@jupiter:~/rpmbuild/RPMS/i686]

・作成されたパッケージ
 libc-client-2007f-1.mn.i686.rpm
 libc-client-devel-2007f-1.mn.i686.rpm

# rm *debuginfo*
# mv *.rpm ~/src/libc-client
# cd ../../SRPMS
[root@jupiter:~/rpmbuild/SRPMS]

・作成されたパッケージ
 libc-client-2007f-1.mn.src.rpm

# mv *.rpm ~/src/libc-client

・インストール

# cd ~/src/libc-client
[root@jupiter:~/src/libc-client]
# rpm -Uvh libc-client-devel* libc-client-2007f-1.mn.i686.rpm

・または

# yum localinstall libc-client-devel* libc-client-2007f-1.mn.i686.rpm

:~/rpmbuild/SPECS/libc-client.spec

・省略

%define shlibname	lib%{soname}.so.%{somajver}

Summary: C-client mail access routines for IMAP and POP protocols
Name:	 libc-client
Version: 2007f
Release: 1%{?dist}

# See LICENSE.txt, http://www.apache.org/licenses/LICENSE-2.0
License: ASL 2.0

・省略


○キャッシュ情報の更新と確認

# cd ~
[root@jupiter:~]
# ldconfig
# ldconfig -p | grep libc-client



○libmcrypt-2.5.8

○ソースの展開・インストール

# cd ~/src
[root@jupiter:~/src]
# mkdir libmcrypt
# rpm -ivh --nosignature libmcrypt-2.5.8-18.fc24.src.rpm
# cd ~/rpmbuild/SPECS
[root@jupiter:~/rpmbuild/SPECS]
# LANG=C rpmbuild -ba --clean --rmsource \
--define 'dist .mn' libmcrypt.spec
# mv libmcrypt.spec ~/src/libmcrypt
# cd ../RPMS/i686
[root@jupiter:~/rpmbuild/RPMS/i686]

・作成されたパッケージ
 libmcrypt-2.5.8-18.mn.i686.rpm
 libmcrypt-devel-2.5.8-18.mn.i686.rpm

# rm *debuginfo*
# mv *.rpm ~/src/libmcrypt
# cd ../../SRPMS
[root@jupiter:~/rpmbuild/SRPMS]

・作成されたパッケージ
 libmcrypt-2.5.8-18.mn.src.rpm

# mv *.rpm ~/src/libmcrypt

・インストール

# cd ~/src/libmcrypt
[root@jupiter:~/src/libmcrypt]
# rpm -Uvh libmcrypt-devel* libmcrypt-2.5.8-18.mn.i686.rpm

・または

# yum localinstall libmcrypt-devel* libmcrypt-2.5.8-18.mn.i686.rpm

○キャッシュ情報の更新と確認

# cd ~
[root@jupiter:~]
# ldconfig
# ldconfig -p | grep libmcrypt



○freetype-2.6.3

・php Bug #43073 に対応 freetype-2.4.10 以上が必要

○ソースの展開・インストール

# cd ~/src
[root@jupiter:~/src]
# mkdir freetype
# rpm -ivh --nosignature freetype-2.6.3-2.fc24.src.rpm
# cd ~/rpmbuild/SPECS
[root@jupiter:~/rpmbuild/SPECS]
# rpmbuild -ba --clean --rmsource \
--define 'dist .mn' freetype.spec
# mv freetype.spec ~/src/freetype
# cd ../RPMS/i686
[root@jupiter:~/rpmbuild/RPMS/i686]

・作成されたパッケージ
 freetype-2.6.3-2.mn.i686.rpm
 freetype-demos-2.6.3-2.mn.i686.rpm
 freetype-devel-2.6.3-2.mn.i686.rpm

# rm *debuginfo*
# mv *.rpm ~/src/freetype
# cd ../../SRPMS
[root@jupiter:~/rpmbuild/SRPMS]

・作成されたパッケージ
 freetype-2.6.3-2.mn.src.rpm

# mv *.rpm ~/src/freetype

・インストール

# cd ~/src/freetype
[root@jupiter:~/src/freetype]
# rpm -Uvh freetype-devel* freetype-2.6.3-2.mn.i686.rpm

・または

# yum localinstall freetype-devel* freetype-2.6.3-2.mn.i686.rpm

○キャッシュ情報の更新と確認

# cd ~
[root@jupiter:~]
# ldconfig
# ldconfig -p | grep freetype

○参考 (freetypeライブラリの比較)

・SOVERSION が異なる場合は依存性で問題になります

・CentOSオリジナル

# rpm -q freetype
freetype-2.3.11-15.el6_6.1.i686
# ldconfig -p | grep freetype
	libfreetype.so.6 (libc6) => /usr/lib/libfreetype.so.6
	libfreetype.so (libc6) => /usr/lib/libfreetype.so

・FC22ビルド

# rpm -q freetype
freetype-2.6.3-2.mn.i686
# ldconfig -p | grep freetype
	libfreetype.so.6 (libc6) => /usr/lib/libfreetype.so.6
	libfreetype.so (libc6) => /usr/lib/libfreetype.so

○ Copyright(c) 528p.com All Rights Reserved.