2014/09/09

CentOS 7でmozcを使う・その2・mozcのビルド#1/2

mozcのSRPMをダウンロードし、ビルド(コンパイル)を試みる。
[alice@centos02 ~]$ yumdownloader --source --enablerepo=fedora,fedora-updates mozc
読み込んだプラグイン:fastestmirror, langpacks
Enabling base-source repository
Enabling updates-source repository
<<略>>
警告: /home/alice/mozc-1.15.1814.102-1.fc19.src.rpm: ヘッダー V3 RSA/SHA256 Signature、鍵 ID fb4b18e6: NOKEY
mozc-1.15.1814.102-1.fc19.src.rpm の公開鍵がインストールされていません
mozc-1.15.1814.102-1.fc19.src.rpm                          |  35 MB   02:40
[alice@centos02 ~]$

rpm -ivh」で展開する。
~/rpmbuildに展開される。
[alice@centos02 ~]$ rpm -ivh mozc-1.15.1814.102-1.fc19.src.rpm
警告: mozc-1.15.1814.102-1.fc19.src.rpm: ヘッダー V3 RSA/SHA256 Signature、鍵 ID fb4b18e6: NOKEY
更新中 / インストール中...
   1:mozc-1.15.1814.102-1.fc19        ################################# [100%]
警告: ユーザー mockbuild は存在しません - root を使用します
警告: グループ mockbuild は存在しません - root を使用します
<<略>>
警告: グループ mockbuild は存在しません - root を使用します
[alice@centos02 ~]$


ディレクトリ~/rpmbuild/SPECS/に移動し、「rpmbuild -ba」でビルド(コンパイル)を試みる。
[alice@centos02 ~]$ cd rpmbuild/SPECS/
[alice@centos02 SPECS]$ rpmbuild -ba mozc.spec
エラー: ビルド依存性の失敗:
        openssl-devel は mozc-1.15.1814.102-1.el7.centos.x86_64 に必要とされています
        zlib-devel は mozc-1.15.1814.102-1.el7.centos.x86_64 に必要とされていま す
        libxcb-devel は mozc-1.15.1814.102-1.el7.centos.x86_64 に必要とされてい ます
        protobuf-devel は mozc-1.15.1814.102-1.el7.centos.x86_64 に必要とされて います
        glib2-devel は mozc-1.15.1814.102-1.el7.centos.x86_64 に必要とされています
        qt-devel は mozc-1.15.1814.102-1.el7.centos.x86_64 に必要とされています
        zinnia-devel は mozc-1.15.1814.102-1.el7.centos.x86_64 に必要とされてい ます
        gtk2-devel は mozc-1.15.1814.102-1.el7.centos.x86_64 に必要とされていま す
        gyp >= 0.1-0.4.840svn は mozc-1.15.1814.102-1.el7.centos.x86_64 に必要とされています
        ibus-devel >= 1.5.4 は mozc-1.15.1814.102-1.el7.centos.x86_64 に必要とされています
        xemacs は mozc-1.15.1814.102-1.el7.centos.x86_64 に必要とされています
        xemacs-packages-extra は mozc-1.15.1814.102-1.el7.centos.x86_64 に必要とされています
[alice@centos02 SPECS]$
ビルドに必要なパッケージがインストールされていないことが判る。

CentOS 7標準のパッケージからインストールを試みる。
[root@centos02 ~]# yum install -y openssl-devel zlib-devel libxcb-devel protobuf-devel glib2-devel qt-devel zinnia-devel gtk2-devel gyp ibus-devel xemacs xemacs-packages-extra
読み込んだプラグイン:fastestmirror, langpacks
Loading mirror speeds from cached hostfile
パッケージ protobuf-devel は利用できません。
パッケージ zinnia-devel は利用できません。
パッケージ gyp は利用できません。
パッケージ xemacs は利用できません。
パッケージ xemacs-packages-extra は利用できません。
依存性の解決をしています
--> トランザクションの確認を実行しています。
---> パッケージ glib2-devel.x86_64 0:2.36.3-5.el7 を インストール
---> パッケージ gtk2-devel.x86_64 0:2.24.22-5.el7_0.1 を インストール
--> 依存性の処理をしています: pango-devel >= 1.20.0-1 のパッケージ: gtk2-devel-2.24.22-5.el7_0.1.x86_64
--> 依存性の処理をしています: cairo-devel >= 1.6.0-1 のパッケージ: gtk2-devel-2.24.22-5.el7_0.1.x86_64
--> 依存性の処理をしています: atk-devel >= 1.29.4-2 のパッケージ: gtk2-devel-2.24.22-5.el7_0.1.x86_64
<<略>>

インストール:
  glib2-devel.x86_64 0:2.36.3-5.el7
  gtk2-devel.x86_64 0:2.24.22-5.el7_0.1
  ibus-devel.x86_64 0:1.5.3-11.el7
  libxcb-devel.x86_64 0:1.9-5.el7
  openssl-devel.x86_64 1:1.0.1e-34.el7_0.4
  qt-devel.x86_64 1:4.8.5-8.el7
  zlib-devel.x86_64 0:1.2.7-13.el7

依存性関連をインストールしました:
  atk-devel.x86_64 0:2.8.0-4.el7
  cairo-devel.x86_64 0:1.12.14-6.el7
  dbus-devel.x86_64 1:1.6.12-8.el7
<<略>>
  xorg-x11-proto-devel.noarch 0:7.7-8.el7.1

完了しました!
[root@centos02 ~]#
CentOS 7用レポジトリに存在しないため、インストールできなかったパッケージがあることが判る。

確認のため、もう一度mozcをビルドしてみる。
[alice@centos02 SPECS]$ rpmbuild -ba mozc.spec
エラー: ビルド依存性の失敗:
        protobuf-devel は mozc-1.15.1814.102-1.el7.centos.x86_64 に必要とされて います
        zinnia-devel は mozc-1.15.1814.102-1.el7.centos.x86_64 に必要とされてい ます
        gyp >= 0.1-0.4.840svn は mozc-1.15.1814.102-1.el7.centos.x86_64 に必要とされています
        ibus-devel >= 1.5.4 は mozc-1.15.1814.102-1.el7.centos.x86_64 に必要とされています
        xemacs は mozc-1.15.1814.102-1.el7.centos.x86_64 に必要とされています
        xemacs-packages-extra は mozc-1.15.1814.102-1.el7.centos.x86_64 に必要とされています
[alice@centos02 SPECS]$
まだ足りないパッケージがあることが判る。


これらのパッケージの内、ibus-develに関しては、細かいバージョンの不一致のため、バージョンのチェックを外すことにする。
また、xemacs関係のパッケージは、インストールする予定がないため、これを無視できるようにする。
以下の通りmozc.specを編集する。
[alice@centos02 SPECS]$ cp -p mozc.spec mozc.spec.orig
[alice@centos02 SPECS]$
編集>>
[alice@centos02 SPECS]$ diff mozc.spec.orig mozc.spec
50c50
< BuildRequires:        ibus-devel >= 1.5.4
---
> BuildRequires:        ibus-devel
52d51
< BuildRequires:        xemacs xemacs-packages-extra
64c63
< Requires:     ibus%{?_isa} >= 1.5.4
---
> Requires:     ibus%{?_isa}
81,83d79
< This package contains the files common to both the GNU Emacs
< and XEmacs mozc packages.
<
111,138d106
< %package      -n xemacs-mozc
< Summary:      Compiled elisp files to run mozc under XEmacs
< Group:                System Environment/Libraries
< Requires:     xemacs(bin) >= %{_xemacs_version}
< Requires:     xemacs-packages-extra
< Requires:     emacs-common-mozc = %{version}-%{release}
< BuildArch:    noarch
<
< %description  -n xemacs-mozc
< Mozc is a Japanese Input Method Editor (IME) designed for
< multi-platform such as Chromium OS, Windows, Mac and Linux.
<
< This package contains the byte compiled elisp files to run mozc with XEmacs.
<
< %package      -n xemacs-mozc-el
< Summary:      Elisp source files for mozc under XEmacs
< Group:                System Environment/Libraries
< Requires:     xemacs-mozc = %{version}-%{release}
< BuildArch:    noarch
<
< %description  -n xemacs-mozc-el
< Mozc is a Japanese Input Method Editor (IME) designed for
< multi-platform such as Chromium OS, Windows, Mac and Linux.
<
< This package contains the elisp source files for mozc under XEmacs. You
< do not need to install this package to run mozc. Install the xemacs-mozc package
< to use mozc with XEmacs.
<
184,192d151
< # xemacs-mozc*
< install -d $RPM_BUILD_ROOT%{_xemacs_sitelispdir}/%{pkg}
< install -d $RPM_BUILD_ROOT%{_xemacs_sitestartdir}
< install -p -m0644 unix/emacs/mozc.el $RPM_BUILD_ROOT%{_xemacs_sitelispdir}/%{pkg}
< install -p -m0644 %{SOURCE1} $RPM_BUILD_ROOT%{_xemacs_sitestartdir}
<
< xemacs -batch -f batch-byte-compile $RPM_BUILD_ROOT%{_xemacs_sitelispdir}/%{pkg}/mozc.el
<
<
224,231d182
< %files        -n xemacs-mozc
< %dir %{_xemacs_sitelispdir}/%{pkg}
< %{_xemacs_sitelispdir}/%{pkg}/*.elc
< %{_xemacs_sitestartdir}/*.el
<
< %files        -n xemacs-mozc-el
< %{_xemacs_sitelispdir}/%{pkg}/*.el
<
400c351
< - Add emacs-common-mozc, emacs-mozc, emacs-mozc-el, xemacs-mozc and xemacs-mozc-el subpackage.
---
> - Add emacs-common-mozc, emacs-mozc, emacs-mozc-el subpackage.
[alice@centos02 SPECS]$

確認のため、ビルドを試みる。
[alice@centos02 SPECS]$ rpmbuild -ba mozc.spec
エラー: ビルド依存性の失敗:
        protobuf-devel は mozc-1.15.1814.102-1.el7.centos.x86_64 に必要とされて います
        zinnia-devel は mozc-1.15.1814.102-1.el7.centos.x86_64 に必要とされてい ます
        gyp >= 0.1-0.4.840svn は mozc-1.15.1814.102-1.el7.centos.x86_64 に必要とされています
[alice@centos02 SPECS]$
パッケージ、protobuf-devel、zinnia-develおよびgypが不足している。

これらのパッケージを、Fedora 19用レポジトリからソースをダウンロードし、ビルド・インストールすることにする。
[alice@centos02 SPECS]$ cd ~
[alice@centos02 ~]$ yumdownloader --source --enablerepo=fedora,fedora-updates protobuf-devel zinnia-devel gyp
読み込んだプラグイン:fastestmirror, langpacks
Enabling base-source repository
<<略>>
警告: /home/alice/gyp-0.1-0.10.1617svn.fc19.src.rpm: ヘッダー V3 RSA/SHA256 Signature、鍵 ID fb4b18e6: NOKEY
gyp-0.1-0.10.1617svn.fc19.src.rpm の公開鍵がインストールされていません
(1/3): gyp-0.1-0.10.1617svn.fc19.src.rpm                   | 357 kB   00:05
(2/3): zinnia-0.06-16.fc19.src.rpm                         | 459 kB   00:07
(3/3): protobuf-2.5.0-4.fc19.src.rpm                       | 1.8 MB   00:12
[alice@centos02 ~]$

その0・Fedora 19レポジトリの準備
その1・mozcのビルド#1/2
その2・protobufのビルドとインストール
その3・zinniaおよびtomoeのビルドとインストール
その4・gypのビルド・インストール
その5・mozcのビルド#2/2とインストール
その6・Emacsの設定
その7・デスクトップの設定

0 件のコメント: