Homebrewを使用してgraphvizをインストールすると、スクリプトは「Make install in 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>
X11がMountain Lionにドロップされたため、XQuartzをインストールしましたが、正しくインストールされているかどうかはわかりません。 Xlib.hの場所は次のとおりです。
/opt/X11/include/X11/Xlib.h
/ opt/X11への2つのシンボリックリンクもあります。
/usr/X11
/usr/X11R6
これは正しい設定のように見えますか?昨日までX11やXQuartzを扱ったことはありません。
乾杯。
tkstubs
ビルド(および場合によってはパッケージ内の他のビット)に/opt/X11/include
のヘッダーを探すように指示する必要があります。これは標準のインクルードパスにはありません。
通常、これは-I/opt/X11/include
を追加のコンパイラフラグとして渡すことで実現されますが、その方法はビルドシステムに依存します。
合理的に最新のconfigure
スクリプトの場合、最良のアプローチは環境変数CPPFLAGS
;に渡すことです。パッケージが別のビルドシステムを使用しているか、これが別の理由で機能しない場合は、ビルドディレクトリのMakefile
を確認する必要があります。
XQuartzのインストール後、次のように入力するだけで、X11インストールフォルダーにシンボリックリンクを追加できます。
ln -s /opt/X11/include/X11 /usr/local/include/X11
ターミナル内。これは、Rubyスクリプトを変更せずに問題を修正します。
Compile/link(またはbrew)コマンドの前にシェルに入力できます。
export CPPFLAGS=-I/opt/X11/include
エクスポート行は、X11インクルードファイルの/ opt/X11/includeを調べるようにコンパイル/リンカーに指示します
CMakeビルドで動作するためにこれが必要な場合:
if(Apple)
include_directories(AFTER "/opt/X11/include")
endif()
それは私にとってはうまくいきました。
X11ヘッダーファイルのディレクトリを/ opt/local/includeディレクトリにコピーしてインストールしました。おそらくそれを回避する最良の方法ではありませんが、迅速かつ簡単です。
MakeファイルはX11/xlib.hを探している、つまり現在のディレクトリでX11フォルダーを探しているため、この問題を解決する1つの方法は、/ opt/X11/include/X11ディレクトリを含むディレクトリに単純にコピーすることですファイルを作成します。
OS Xでソースからffmpegをコンパイルしようとしたときにこのスレッドが見つかりました。--enable-x11grab
が必要でしたが、homebrewビルドはこのオプションをサポートしていません。
XQuartzをすでにインストールしていましたが、./configure
:ERROR: Xlib not found
からエラーを取得し続けました。ここでの答えは私の問題を解決すると思いましたが、解決しませんでした!
だから、誰かが同じ船に乗っているなら、私の解決策はこれでした:
生成されたconfig.log
を開いたところ、X11/Xlib.hを含むさまざまなインクルードおよびヘッダーファイルを参照するエラーが多数見つかりました。これは誤解を招く恐れがあります。ログファイルの一番下にはキーがあり、pkg-config
はxbc.pc
を探すことに不満を抱いており、パスに配置するように要求しました。ただし、端末に表示されるエラーメッセージには、pkg-config
またはxbc
!について何も表示されません。
解決策は、PKG_CONFIG_PATH
環境変数に追加することです。私のものは存在しなかったので、私はexport PKG_CONFIG_PATH=/opt/X11/lib/pkgconfig/
(私がxbc.pc
を見つけたフォルダ)をしました。
私はconfigure
を再実行し、すべてが魅力のように機能しました!