Xlib.h没有发现在Mac OS X的graphviz建设时,10.8(山狮)(Xlib.h no

2019-06-26 06:47发布

当使用自制安装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已经在山狮被删除,但如果正确安装我不能确定。 Xlib.h的位置是:

/opt/X11/include/X11/Xlib.h

还有两个符号链接到/ opt / X11,它们分别是:

/usr/X11
/usr/X11R6

这看起来像正确的设置到你? 我从来没有处理X11或XQuartz直到昨天。

干杯。

Answer 1:

你需要告诉tkstubs构建(可能还有其他位在包也一样)来寻找标题中/opt/X11/include ; 这不是在标准include路径。

通常,这是通过使实现-I/opt/X11/include作为额外的编译标志,这样做的方法是依赖然而在构建系统上。

对于比较现代的configure脚本,最好的办法是将它传递的环境变量CPPFLAGS ; 如果程序包使用另一个版本系统或可这并不另一个原因工作,那么你需要看Makefile在build目录。



Answer 2:

由刚刚进入安装XQuartz您可以添加一个符号链接到您的X11安装文件夹后

ln -s /opt/X11/include/X11 /usr/local/include/X11

在终端。 这将解决这个问题,以及在不改变任何Ruby脚本。



Answer 3:

您可以在编译/链接(或BREW)命令之前您的shell中输入:

  export CPPFLAGS=-I/opt/X11/include

汇出行会告诉编译器/链接看在/ opt / X11 /包括对X11包含文件



Answer 4:

有同样的问题和上运行终端命令

xcode-select --install 

为我工作。 安装运行后,此命令xQuartz 。



Answer 5:

如果您需要这个工作在你的CMake构建:

if(APPLE)
   include_directories(AFTER "/opt/X11/include")
endif()

这工作很适合我。



Answer 6:

我把它复制了X11的头文件目录到/ opt安装/本地/ include目录。 也许不是最好的方式来解决,但方便快捷。



Answer 7:

由于make文件正在寻找X11 / xlib.h即,它是在当前目录中寻找X11文件夹,解决这个问题的一个方法是简单地到/ opt / X11 /包括/ X11目录复制到包含目录使文件。



Answer 8:

我发现这个线程,同时试图从在OS X上,我需要源代码编译的ffmpeg --enable-x11grab和自制构建不支持此选项。

我已经安装了XQuartz但我一直在从得到错误./configureERROR: Xlib not found 。 我想答案就在这里解决我的问题,但他们都没有!

所以,如果有人是有史以来在同一条船上,我的解决办法是这样的:

我打开了生成config.log ,发现大量涉及到各种包括文件和头文件,包括X11 / Xlib.h错误的-这是一种误导。 在日志文件的最底部是关键, pkg-config在抱怨找xbc.pc ,并要求将其路径上放。 然而,就是在终端上显示错误消息只字未提pkg-configxbc

解决的办法是添加到您的PKG_CONFIG_PATH环境变量。 我的是不存在的,所以我只是做export PKG_CONFIG_PATH=/opt/X11/lib/pkgconfig/ (文件夹,我发现xbc.pc )。

我重新configure ,一切工作就像一个魅力!

TL; DR:检查的config.log - 不信任的终端输出!



文章来源: Xlib.h not found when building graphviz on Mac OS X 10.8 (Mountain Lion)