¿Cómo reparar el error "PKG_PROG_PKG_CONFIG: comando no encontrado"?

12

Tengo el sistema Ubuntu 13.10 de 32 bits. Recientemente, cuando intento compilar ejecutando ./autogen.shy ./configureobtengo

 PKG_PROG_PKG_CONFIG: command not found

error. He libtoolinstalado Tengo tres archivos en aclocal usr/share/como alocal, aclocal-1.13yaclocal-1.4

¿Cómo puedo solucionar ese error local?

EDITAR:

Hace algún tiempo compilé la última versión de automake desde la fuente y la instalé porque un código fuente necesitaba una versión reciente de automake para ejecutar el proceso de configuración. Desde entonces, cada vez que ejecuto estándar ./autogeny /configurecomandos en el directorio fuente para generar makefile, obtengo

  PKG_PROG_PKG_CONFIG: command not found

error

  find /usr -name "pkg.m4"

me da

  /usr/share/aclocal/pkg.m4

y

  aclocal --print-ac-dir

me da

  /usr/local/share/aclocal
Kenn
fuente
¿Está pkg-configinstalado el paquete? ¿ /usr/share/aclocal/pkg.m4existe el archivo en su sistema?
steeldriver
¿Qué intentas compilar?
jobin
@steeldriver find /usr -name "pkg.m4"me da/usr/share/aclocal/pkg.m4
kenn
@Jobin Estoy tratando de compilar esto: codeload.github.com/blazt/submarine/zip/master
kenn
Que aclocal --print-ac-dirdice
Steeldriver

Respuestas:

17

La PKG_PROG_PKG_CONFIGvariable se refiere a una macro pkg.m4que se proporciona como parte del paquete pkg-config, por lo que lo primero que debe verificar es que pkg-config está instalado y que el archivo de macro está en la ubicación predeterminada (y es legible, por supuesto)

dpkg -l pkg-config

ls -l /usr/share/aclocal/pkg.m4

Si eso se verifica, entonces la pregunta es ¿por qué aclocalno encontrarlo? Puede verificar dónde aclocalestá configurado para buscar archivos m4 de terceros utilizando el --print-ac-dirinterruptor, es decir

aclocal --print-ac-dir

Si eso no es lo mismo que la ubicación anterior, sugiere que hay una versión no estándar de automake en su sistema; si no puede resolver eso, entonces una posible solución es establecer o exportar la ACLOCAL_PATHvariable de entorno antes de ejecutar el autogen. sh script eg

ACLOCAL_PATH=/usr/share/aclocal ./autogen.sh

o

export ACLOCAL_PATH=/usr/share/aclocal
./autogen.sh
./configure

Consulte la sección de ruta de búsqueda de macros del manual GNU automake.

conductor de acero
fuente
O bien, PKG_PROG_PKG_CONFIGpodría provenir de un error tipográfico en una asignación variable, por ejemplo, en PKG_PROG_PKG_CONFIG<space>=...lugar de PKG_PROG_PKG_CONFIG=.... grep "PKG_PROG_PKG_CONFIG "en tus archivos.
waltinator