首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >无法构建apr-util rpm,缺少apr_dbd_mysql文件

无法构建apr-util rpm,缺少apr_dbd_mysql文件
EN

Server Fault用户
提问于 2017-01-20 11:49:42
回答 1查看 1.4K关注 0票数 0

我正在尝试在一个Apache6.8服务器上安装Apache2.4,并且我遵循本教程来完成它: geekpeek.net/running-latest-apache-2-4-with-php-7-0-on-centos-6/#disqus_thread

但由于无法构建apr-util-1.5.4 rpm,我被困在了第5步,我的命令:

代码语言:javascript
复制
$ rpmbuild -tb  apr-util-1.5.4.tar.bz2

其结果(由我自己翻译而来,并经过多行文件处理后):

代码语言:javascript
复制
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*

下面是指定目录的内容:

代码语言:javascript
复制
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

我从apache官方网站下载了apr-util-1.5.4.tar.bz2,并验证了该文件与md5sum的集成性。一个前题声明,丢失的文件可以在apr-util-mysql包中找到,我相信我可以从rpmfind获取该包。

但我现在很困扰该怎么做?我应该尝试在没有缺少文件的情况下强制构建rpm,并在(或之前)之后安装apr-util吗?我可以以某种方式引爆apr-util包来提取丢失的apr_dbd_mysql文件(而且我应该这样做)吗?

EN

回答 1

Server Fault用户

回答已采纳

发布于 2017-04-18 20:14:27

所以我终于可以通过一次粗俗的黑客攻击来克服这个错误。该错误告诉我们,它无法在此位置为我的构建找到:

代码语言:javascript
复制
/root/rpmbuild/BUILDROOT/apr-util-1.5.4-1.x86_64/usr/lib64/apr-util-1/ 

我去安装了

代码语言:javascript
复制
apr-util
apr-util-devel
apr-util-mysql 

(虽然是旧版本,但还可以,因为在构建rpm并安装它时,它会更新包),我注意到在屏幕上看到这个版本时出现了错误:

代码语言:javascript
复制
======== 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

我打开了另一个shell,并根据我们安装的包,在这里导航并将所有apr-dbd-mysql文件复制到rpmbuiild工具搜索它的位置:

代码语言:javascript
复制
cd /usr/lib64/apr-util-1/
cp * /root/rpmbuild/BUILDROOT/apr-util-1.5.4-1.x86_64/usr/lib64/apr-util-1/

同时,在另一个屏幕上,一旦工具完成了所有测试,它就为我构建了最新的rpm,用于apr-util:

代码语言:javascript
复制
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包。希望这能有所帮助!

票数 0
EN
页面原文内容由Server Fault提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://serverfault.com/questions/827525

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档