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를 다음에서 다운로드했습니다.아파치 공식 홈페이지, md5sum으로 파일 무결성을 확인했습니다. ㅏ이전 질문누락된 파일은 apr-util-mysql 패키지에서 찾을 수 있다고 명시되어 있는데, 나는 이를 rpmfind(www.rpmfind.net/linux/rpm2html/search.php?query=apr-util-mysql&submit=Search+)에서 가져올 수 있다고 믿습니다. ...).
그런데 지금은 어떻게 진행해야 할지 고민이시죠? 누락된 파일 없이 rpm을 강제로 빌드하고 apr-util-mysql을 이후(또는 이전)에 설치해야 합니까? 누락된 apr_dbd_mysql 파일을 추출하기 위해 어떻게든 apr-util-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 패키지를 업데이트할 수 있습니다. 도움이 되었기를 바랍니다!