x11 - playonmac - xquartz que es
Xlib.h no encontrado al compilar Graphviz en Mac OS X 10.8(Mountain Lion) (8)
Como el archivo make busca X11 / xlib.h, es decir, está buscando la carpeta X11 en el directorio actual, una forma de resolver este problema es simplemente copiar el directorio / opt / X11 / include / X11 al directorio que contiene hacer archivo.
Al usar homebrew para instalar graphviz, el script llega al punto de "Hacer la instalación en tkstubs" y luego arroja el siguiente error fatal:
In file included from tkStubLib.c:15:
/usr/include/tk.h:78:11: fatal error: ''X11/Xlib.h'' file not found
#include <X11/Xlib.h>
He instalado XQuartz, ya que X11 se ha eliminado en Mountain Lion, pero no estoy seguro de si está instalado correctamente. La ubicación de Xlib.h es:
/opt/X11/include/X11/Xlib.h
También hay dos enlaces simbólicos a / opt / X11, que son:
/usr/X11
/usr/X11R6
¿Esta parece la configuración correcta para ti? Nunca he tratado con X11 o XQuartz hasta ayer.
Aclamaciones.
Después de instalar XQuartz, puede agregar un enlace simbólico a su carpeta de instalación X11 simplemente ingresando
ln -s /opt/X11/include/X11 /usr/local/include/X11
en la terminal. Eso solucionará el problema sin cambiar ningún script de ruby.
Encontré este hilo mientras trataba de compilar ffmpeg desde el código fuente en OS X. Necesitaba --enable-x11grab
y la compilación homebrew no es compatible con esta opción.
Ya tenía instalado XQuartz pero seguí recibiendo errores de ./configure
: ERROR: Xlib not found
. Pensé que las respuestas aquí resolverían mi problema, ¡pero no lo hicieron!
Entonces, si alguien está en el mismo barco, mi solución fue esta:
Abrí el config.log
generado y encontré muchos errores que hacen referencia a varios archivos de encabezado y de inclusión, incluido X11 / Xlib.h, esto es engañoso. En la parte inferior del archivo de registro estaba la clave, pkg-config
se quejaba de buscar xbc.pc
, y solicitó que se pusiera en la ruta. Sin embargo, el mensaje de error que se muestra en el terminal no dice nada sobre pkg-config
o xbc
!
La solución es agregar a su PKG_CONFIG_PATH
entorno PKG_CONFIG_PATH
. El mío no existía, así que export PKG_CONFIG_PATH=/opt/X11/lib/pkgconfig/
(la carpeta donde encontré xbc.pc
).
Volví a configure
y todo funcionó como un amuleto!
TL; DR: compruebe config.log - ¡no confíe en la salida del terminal!
Lo tengo que instalar copiando el directorio del archivo de cabecera x11 en el directorio / opt / local / include. Probablemente no sea la mejor manera de evitarlo, pero de manera rápida y fácil.
Necesita decirle a la compilación de tkstubs
(y posiblemente también a otros bits en el paquete) que busque encabezados en /opt/X11/include
; esto no está en la ruta de inclusión estándar.
Por lo general, esto se logra al pasar -I/opt/X11/include
como un indicador de compilación adicional, sin embargo, el método para hacerlo depende del sistema de compilación.
Para scripts de configure
razonablemente modernos, el mejor enfoque es pasarlo en la variable de entorno CPPFLAGS
; si el paquete usa otro sistema de compilación o si esto no funciona por otro motivo, entonces necesita ver el Makefile
en el directorio de compilación.
Puede ingresar su caparazón antes del comando de compilación / enlace (o elaboración):
export CPPFLAGS=-I/opt/X11/include
La línea de exportación le indicará a la compilación / vinculador que busque en / opt / X11 / include para los archivos de inclusión X11.
Si necesita que esto funcione en sus compilaciones CMake:
if(APPLE)
include_directories(AFTER "/opt/X11/include")
endif()
Eso funcionó bien para mí.
Tenía el mismo problema y ejecutaba este comando en la terminal
xcode-select --install
trabajó para mi. Ejecute este comando después de instalar xQuartz .