Apr-util-RPM kann nicht erstellt werden, Datei apr_dbd_mysql fehlt

Apr-util-RPM kann nicht erstellt werden, Datei apr_dbd_mysql fehlt

Ich versuche, Apache 2.4 auf einem CentOS 6.8-Server zu installieren und bin dazu diesem Tutorial gefolgt: geekpeek.net/running-latest-apache-2-4-with-php-7-0-on-centos-6/#disqus_thread

Aber ich hänge bei Schritt 5 fest, da ich apr-util-1.5.4 rpm nicht erstellen kann, mein Befehl:

$ rpmbuild -tb  apr-util-1.5.4.tar.bz2

Das Ergebnis (von mir selbst aus dem Französischen übersetzt und nach vielen Zeilen Dateiverarbeitung):

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*

Hier ist der Inhalt des angegebenen Verzeichnisses:

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

Ich habe die Datei apr-util-1.5.4.tar.bz2 heruntergeladen vonOffizielle Apache-Website, und überprüfte die Dateiintegrität mit md5sum.frühere Fragegab an, dass die fehlenden Dateien im Paket apr-util-mysql zu finden seien, das ich meiner Meinung nach von rpmfind (www.rpmfind.net/linux/rpm2html/search.php?query=apr-util-mysql&submit=Search+...) beziehen kann.

Aber ich bin im Moment ratlos, wie ich weiter vorgehen soll. Soll ich versuchen, das RPM ohne die fehlenden Dateien zu erstellen und apr-util-mysql danach (oder vorher) installieren? Könnte ich das apr-util-mysql-Paket irgendwie aufspalten, um die fehlenden apr_dbd_mysql-Dateien zu extrahieren (und sollte ich das)?

Antwort1

Ich konnte diesen Fehler letztendlich durch einen schmierigen Hack umgehen. Der Fehler besagt, dass apt-dbd-mysql für meinen Build an dieser Stelle nicht gefunden werden kann:

/root/rpmbuild/BUILDROOT/apr-util-1.5.4-1.x86_64/usr/lib64/apr-util-1/ 

Ich ging weiter und installierte

apr-util
apr-util-devel
apr-util-mysql 

(es wäre zwar eine alte Version, aber das wäre ok, da das Paket aktualisiert wird, wenn Sie mit dem Erstellen des RPM fertig sind und es installieren) Mir ist aufgefallen, dass der Fehler ungefähr zu dem Zeitpunkt auftaucht, als ich Folgendes auf dem Bildschirm sah:

======== 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

Ich habe eine weitere Shell geöffnet und bin basierend auf den von uns installierten Paketen hierher navigiert und habe alle apr-dbd-mysql-Dateien an den Speicherort kopiert, an dem das Tool rpmbuiild danach gesucht hat:

cd /usr/lib64/apr-util-1/
cp * /root/rpmbuild/BUILDROOT/apr-util-1.5.4-1.x86_64/usr/lib64/apr-util-1/

währenddessen hat das Tool auf dem anderen Bildschirm, sobald es alle Tests abgeschlossen hat, die neuesten RPMs für apr-util für mich erstellt:

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

Jetzt können Sie diese neuen Pakete installieren, um die alten apr-util-Pakete auf Ihrem System zu aktualisieren. Ich hoffe, das hilft!

verwandte Informationen