CentOS 6.8 サーバーに Apache 2.4 をインストールしようとしており、次のチュートリアルに従って実行しました: geekpeek.net/running-latest-apache-2-4-with-php-7-0-on-centos-6/#disqus_thread
しかし、apr-util-1.5.4 rpm をビルドできないため、ステップ 5 で行き詰まっています。コマンド:
$ rpmbuild -tb apr-util-1.5.4.tar.bz2
結果は次のようになります (私自身がフランス語から翻訳し、多数の行のファイル処理を行った後):
Rpm build error:
File not found by substitution: ~/rpmbuild/BUILDROOT/apr-util-1.5.4-1.x86_64/usr/lib64/apr-util-1/apr_dbd_mysql*
指定されたディレクトリの内容は次のとおりです。
apr_crypto_nss-1.so apr_dbd_freetds.so apr_dbd_sqlite3.la
apr_crypto_nss.a apr_dbd_odbc-1.so apr_dbd_sqlite3.so
apr_crypto_nss.la apr_dbd_odbc.a apr_dbm_db-1.so
apr_crypto_nss.so apr_dbd_odbc.la apr_dbm_db.a
apr_crypto_openssl-1.so apr_dbd_odbc.so apr_dbm_db.la
apr_crypto_openssl.a apr_dbd_pgsql-1.so apr_dbm_db.so
apr_crypto_openssl.la apr_dbd_pgsql.a apr_ldap-1.so
apr_crypto_openssl.so apr_dbd_pgsql.la apr_ldap.a
apr_dbd_freetds-1.so apr_dbd_pgsql.so apr_ldap.la
apr_dbd_freetds.a apr_dbd_sqlite3-1.so apr_ldap.so
apr_dbd_freetds.la apr_dbd_sqlite3.a
apr-util-1.5.4.tar.bz2をダウンロードしましたApache公式サイト、そしてmd5sumでファイルの整合性を検証しました。以前の質問不足しているファイルは apr-util-mysql パッケージで見つかる可能性があると述べられており、rpmfind (www.rpmfind.net/linux/rpm2html/search.php?query=apr-util-mysql&submit=Search+...) から取得できると考えています。
しかし、今どう進めればよいか困っています。不足しているファイルなしで rpm を強制的にビルドし、その後 (または前に) apr-util-mysql をインストールすべきでしょうか? 何らかの方法で apr-util-mysql パッケージを展開して、不足している apr_dbd_mysql ファイルを抽出できますか (また、そうすべきでしょうか)?
答え1
そこで、私は卑劣なハックによって最終的にこのエラーを回避することができました。エラーは、私のビルドではこの場所で apt-dbd-mysql を見つけることができないことを示しています。
/root/rpmbuild/BUILDROOT/apr-util-1.5.4-1.x86_64/usr/lib64/apr-util-1/
私は先にインストールしました
apr-util
apr-util-devel
apr-util-mysql
(古いバージョンですが、rpm のビルドが完了してインストールするとパッケージが更新されるので問題ありません) 画面に次の内容が表示された頃にエラーがポップアップ表示されることに気付きました:
======== drop table ========
drop table test successful
Loaded freetds driver OK.
Failed to open freetds[]
Loaded odbc driver OK.
[Tue Apr 18 16:00:12 2017] [dbd_odbc] SQLConnect returned SQL_ERROR (-1) at dbd/apr_dbd_odbc.c:1146 [unixODBC][Driver Manager]Data source name not found, and no default driver specified IM002
Failed to open odbc[]
teststrmatch : SUCCESS
testuri : SUCCESS
testuuid : SUCCESS
testbuckets : SUCCESS
testpass : SUCCESS
testmd4 : SUCCESS
testmd5 : SUCCESS
testcrypto : SUCCESS
testldap : SUCCESS
testdbd : SUCCESS
testdate : SUCCESS
testmemcache : SUCCESS
testxml : SUCCESS
testxlate : SUCCESS
testrmm : SUCCESS
testdbm : SUCCESS
testqueue : SUCCESS
testreslist : SUCCESS
All tests passed.
+ popd
~/rpmbuild/BUILD/apr-util-1.5.4
別のシェルを開き、インストールしたパッケージに基づいて、ここに移動して、すべての apr-dbd-mysql ファイルを rpmbuiild ツールが検索していた場所にコピーしました。
cd /usr/lib64/apr-util-1/
cp * /root/rpmbuild/BUILDROOT/apr-util-1.5.4-1.x86_64/usr/lib64/apr-util-1/
一方、別の画面では、ツールがすべてのテストを完了するとすぐに、apr-util の最新の rpm がビルドされました。
Checking for unpackaged file(s): /usr/lib/rpm/check-files /root/rpmbuild/BUILDROOT/apr-util-1.5.4-1.x86_64
Wrote: /root/rpmbuild/RPMS/x86_64/apr-util-1.5.4-1.x86_64.rpm
Wrote: /root/rpmbuild/RPMS/x86_64/apr-util-devel-1.5.4-1.x86_64.rpm
Wrote: /root/rpmbuild/RPMS/x86_64/apr-util-dbm-1.5.4-1.x86_64.rpm
Wrote: /root/rpmbuild/RPMS/x86_64/apr-util-pgsql-1.5.4-1.x86_64.rpm
Wrote: /root/rpmbuild/RPMS/x86_64/apr-util-mysql-1.5.4-1.x86_64.rpm
Wrote: /root/rpmbuild/RPMS/x86_64/apr-util-sqlite-1.5.4-1.x86_64.rpm
Wrote: /root/rpmbuild/RPMS/x86_64/apr-util-freetds-1.5.4-1.x86_64.rpm
Wrote: /root/rpmbuild/RPMS/x86_64/apr-util-odbc-1.5.4-1.x86_64.rpm
Wrote: /root/rpmbuild/RPMS/x86_64/apr-util-ldap-1.5.4-1.x86_64.rpm
Wrote: /root/rpmbuild/RPMS/x86_64/apr-util-openssl-1.5.4-1.x86_64.rpm
Wrote: /root/rpmbuild/RPMS/x86_64/apr-util-nss-1.5.4-1.x86_64.rpm
Wrote: /root/rpmbuild/RPMS/x86_64/apr-util-debuginfo-1.5.4-1.x86_64.rpm
Executing(%clean): /bin/sh -e /var/tmp/rpm-tmp.0SGJGz
+ umask 022
+ cd /root/rpmbuild/BUILD
+ cd apr-util-1.5.4
+ rm -rf /root/rpmbuild/BUILDROOT/apr-util-1.5.4-1.x86_64
+ exit 0
これで、これらの新しいパッケージをインストールして、システム上の古い apr-util パッケージを更新できます。お役に立てば幸いです。