2012-07-03 14 views
7

Estoy viendo un extraño problema con pkg-config en Mac OSX-Lion. Cuando se ejecuta el programa de instalación para el módulo de Python que he descargado recibo el siguiente error:pkg-config no puede encontrar archivos .pc aunque están en la ruta

aspen:python toddysm$ sudo ./setup.py install 
Password: 
`pkg-config --libs --cflags cld` returns in error: 
Package cld was not found in the pkg-config search path. 
Perhaps you should add the directory containing `cld.pc' 
to the PKG_CONFIG_PATH environment variable 
No package 'cld' found 

The `cld` C++ library is absent from this system. Please install it. 

Sin embargo, cuando la comprobación en la carpeta local/lib/usr/Veo las bibliotecas y el archivo .pc está en la subcarpeta pkgconfig

aspen:~ toddysm$ cd /usr/local/lib/ 
aspen:lib toddysm$ ls -al 
total 2640 
drwxr-xr-x 6 root wheel  204 Jul 2 17:38 . 
drwxr-xr-x 9 root wheel  306 Jul 2 15:17 .. 
-rwxr-xr-x 1 root wheel 1339516 Jul 2 17:38 libcld.0.dylib 
lrwxr-xr-x 1 root wheel  14 Jul 2 17:38 libcld.dylib -> libcld.0.dylib 
-rwxr-xr-x 1 root wheel  918 Jul 2 17:38 libcld.la 
drwxr-xr-x 3 root wheel  102 Jul 2 17:38 pkgconfig 
aspen:lib toddysm$ cd pkgconfig/ 
aspen:pkgconfig toddysm$ ls -al 
total 8 
drwxr-xr-x 3 root wheel 102 Jul 2 17:38 . 
drwxr-xr-x 6 root wheel 204 Jul 2 17:38 .. 
-rw-r--r-- 1 root wheel 279 Jul 2 17:38 cld.pc 

Establecer PKG_CONFIG_PATH para apuntar a/usr/local/lib/utilizando la línea de comando no ayuda. Establecerlo en ~/.bash_profile por alguna razón hace que pkg-config sea irreconocible como comando.

Mi suposición es que me falta algo de dependencia, pero no estoy seguro de qué. Al intentar lo mismo en Linux me faltaba el paquete Python Dev python2.7-dev, pero no estoy seguro de cómo comprobar esto en Mac (ya sea que esté o no).

Cualquier ayuda será apreciada.

Respuesta

19

Se pueden listar los directorios pkg-config se ve de forma predeterminada usando:

pkg-config --variable pc_path pkg-config 

PKG_CONFIG_PATH necesita la ruta completa /usr/local/lib/pkgconfig anexa a la variable.

+0

Aquí está el spew completo del comando que mencionó anteriormente. Parece que cld.cp se encuentra en la ruta de acceso pkg_config, pero el error es engañoso: – toddysm

+0

Aquí el enlace al spew: http://pastebin.com/2Qv4Y3p4 – toddysm

+0

@Brett Hale, No sabía que puede consultar los valores predeterminados. Sí, la página man lo tiene todo. ¡Gracias! –

1

Parece que aunque el PKG_CONFIG_PATH se configuró correctamente, el script de Python no lo recogió. Al mirar el script, inicia pkg-config en un subproceso y no estoy seguro de si la información de la variable de entorno se pasa al subproceso. Sin embargo, resolví el problema copiando las bibliotecas y el archivo .cp en/opt/local/lib/que es la carpeta predeterminada donde se muestra pkg-config.

8

Las variables de entorno deben ser export 'útiles para los comandos. Pruebe

$ export PKG_CONFIG_PATH=/usr/local/lib/pkgconfig 
$ pkg-config --libs --cflags cld 
Cuestiones relacionadas