No se puede compilar apr-util rpm, falta el archivo apr_dbd_mysql

No se puede compilar apr-util rpm, falta el archivo apr_dbd_mysql

Estoy intentando instalar Apache 2.4 en un servidor CentOS 6.8 y he seguido este tutorial para hacerlo: geekpeek.net/running-latest-apache-2-4-with-php-7-0-on-centos-6 /#disqus_thread

Pero estoy atascado en el paso 5 porque no puedo compilar apr-util-1.5.4 rpm, mi comando:

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

Resultando en (traducido del francés por mí mismo, y después de muchas líneas de procesamiento de archivos):

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*

Aquí está el contenido del directorio especificado:

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

Descargué apr-util-1.5.4.tar.bz2 desitio web oficial de apachey verificó la integridad del archivo con md5sum. Apregunta anteriordeclaró que los archivos que faltan se pueden encontrar en el paquete apr-util-mysql, que creo que puedo tomar de rpmfind (www.rpmfind.net/linux/rpm2html/search.php?query=apr-util-mysql&submit=Search+ ...).

Pero me preocupa cómo proceder ahora. ¿Debo intentar forzar la creación del rpm sin los archivos que faltan e instalar apr-util-mysql después (o antes)? ¿Podría de alguna manera explotar el paquete apr-util-mysql para extraer los archivos apr_dbd_mysql que faltan (y debería hacerlo)?

Respuesta1

Así que finalmente pude superar este error mediante un truco de mala calidad. El error indica que no puedo encontrar apt-dbd-mysql en esta ubicación para mi compilación:

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

Seguí adelante e instalé

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

(aunque es una versión antigua, pero estaría bien, ya que actualizará el paquete cuando haya terminado de compilar el rpm y lo instale) Noté que el error aparecía cuando veo esto en la pantalla:

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

Abrí otro shell y, según los paquetes que instalamos, navegué hasta aquí y copié todos los archivos apr-dbd-mysql en la ubicación donde la herramienta rpmbuiild los estaba buscando:

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

Mientras tanto, en la otra pantalla, tan pronto como la herramienta terminó todas las pruebas, creó los últimos rpms para apr-util para mí:

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

Ahora puede instalar estos nuevos paquetes para actualizar los paquetes antiguos de apr-util en su sistema. ¡Espero que esto ayude!

información relacionada