在Mac OS X 10.8(Mountain Lion)上构buildgraphviz时未findXlib.h
当使用自制软件来安装graphviz时,脚本到了“在tkstubs中进行安装”,然后引发以下致命错误:
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>
我已经安装了XQuartz,因为X11已经被放入Mountain Lion,但是我不确定它是否安装正确。 Xlib.h的位置是:
/opt/X11/include/X11/Xlib.h
还有两个符号链接到/ opt / X11,它们是:
/usr/X11 /usr/X11R6
这看起来像正确的设置给你吗? 我从来没有处理X11或XQuartz,直到昨天。
干杯。
你需要告诉tkstubs
构build(也可能包中的其他位)以在/opt/X11/include
查找头文件; 这不是标准的包含path。
通常这通过传递-I/opt/X11/include
作为附加的编译器标志来实现,但是这样做的方法依赖于编译系统。
对于合理的现代configure
脚本,最好的方法是将其传递给环境variablesCPPFLAGS
; 如果程序包使用另一个编译系统,或者由于其他原因而无法工作,则需要查看Makefile
目录中的Makefile
。
安装XQuartz之后,您可以通过input来为X11安装文件夹添加符号链接
ln -s /opt/X11/include/X11 /usr/local/include/X11
在terminal。 这将解决这个问题,而不会改变任何ruby脚本。
您可以在编译/链接(或brew)命令之前在shell中input:
export CPPFLAGS=-I/opt/X11/include
导出行将告诉编译/链接器在X11包含文件中查找/ opt / X11 / include
如果你需要这个在你的CMake版本中工作:
if(APPLE) include_directories(AFTER "/opt/X11/include") endif()
这对我很好。
有同样的问题,并在terminal上运行此命令
xcode-select --install
为我工作。 安装xQuartz后运行这个命令。
我通过将x11头文件目录复制到/ opt / local / include目录来安装它。 可能不是解决这个问题的最好方法,但又快又简单。
由于make文件正在寻找X11 / xlib.h,即它正在寻找当前目录中的X11文件夹,解决这个问题的一种方法是简单地将/ opt / X11 / include / X11目录复制到包含使文件。
我试图在OS X上从源代码编译ffmpeg的时候发现了这个线程。我需要--enable-x11grab
,而且自制--enable-x11grab
不支持这个选项。
我已经安装了XQuartz,但是我一直从错误./configure
: ERROR: Xlib not found
。 我以为这里的答案会解决我的问题,但他们没有!
所以,如果有人在同一条船上,我的解决办法是这样的:
我打开了生成的config.log
,发现许多涉及各种包含和头文件的错误,包括X11 / Xlib.h – 这是误导性的。 在日志文件的最底部是关键, pkg-config
在抱怨寻找xbc.pc
,并要求把它放在path上。 但是,在terminal上显示的错误消息没有说pkg-config
或xbc
!
解决scheme是添加到您的PKG_CONFIG_PATH
环境variables。 我不存在,所以我只是export PKG_CONFIG_PATH=/opt/X11/lib/pkgconfig/
(我findxbc.pc
的文件夹)。
我重新configure
,一切都像一个魅力!