web-dev-qa-db-ja.com

Mac OS X 10.8(Mountain Lion)でgraphvizをビルドするとXlib.hが見つかりません

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を扱ったことはありません。

乾杯。

39
AntBrown

tkstubsビルド(および場合によってはパッケージ内の他のビット)に/opt/X11/includeのヘッダーを探すように指示する必要があります。これは標準のインクルードパスにはありません。

通常、これは-I/opt/X11/includeを追加のコンパイラフラグとして渡すことで実現されますが、その方法はビルドシステムに依存します。

合理的に最新のconfigureスクリプトの場合、最良のアプローチは環境変数CPPFLAGS;に渡すことです。パッケージが別のビルドシステムを使用しているか、これが別の理由で機能しない場合は、ビルドディレクトリのMakefileを確認する必要があります。

28
Simon Richter

XQuartzのインストール後、次のように入力するだけで、X11インストールフォルダーにシンボリックリンクを追加できます。

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

ターミナル内。これは、Rubyスクリプトを変更せずに問題を修正します。

109
Daniel Münter

Compile/link(またはbrew)コマンドの前にシェルに入力できます。

export CPPFLAGS=-I/opt/X11/include

エクスポート行は、X11インクルードファイルの/ opt/X11/includeを調べるようにコンパイル/リンカーに指示します

26
Robert J Berger

同じ問題があり、端末でこのコマンドを実行しました

xcode-select --install 

私のために働いた。 xQuartz のインストール後にこのコマンドを実行します。

5
Abdul Jamil

CMakeビルドで動作するためにこれが必要な場合:

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

それは私にとってはうまくいきました。

3

X11ヘッダーファイルのディレクトリを/ opt/local/includeディレクトリにコピーしてインストールしました。おそらくそれを回避する最良の方法ではありませんが、迅速かつ簡単です。

2
denson

MakeファイルはX11/xlib.hを探している、つまり現在のディレクトリでX11フォルダーを探しているため、この問題を解決する1つの方法は、/ opt/X11/include/X11ディレクトリを含むディレクトリに単純にコピーすることですファイルを作成します。

1
Data Scientist

OS Xでソースからffmpegをコンパイルしようとしたときにこのスレッドが見つかりました。--enable-x11grabが必要でしたが、homebrewビルドはこのオプションをサポートしていません。

XQuartzをすでにインストールしていましたが、./configureERROR: Xlib not foundからエラーを取得し続けました。ここでの答えは私の問題を解決すると思いましたが、解決しませんでした!

だから、誰かが同じ船に乗っているなら、私の解決策はこれでした:

生成されたconfig.logを開いたところ、X11/Xlib.hを含むさまざまなインクルードおよびヘッダーファイルを参照するエラーが多数見つかりました。これは誤解を招く恐れがあります。ログファイルの一番下にはキーがあり、pkg-configxbc.pcを探すことに不満を抱いており、パスに配置するように要求しました。ただし、端末に表示されるエラーメッセージには、pkg-configまたはxbc!について何も表示されません。

解決策は、PKG_CONFIG_PATH環境変数に追加することです。私のものは存在しなかったので、私はexport PKG_CONFIG_PATH=/opt/X11/lib/pkgconfig/(私がxbc.pcを見つけたフォルダ)をしました。

私はconfigureを再実行し、すべてが魅力のように機能しました!

TL; DR:config.logを確認してください-端末の出力を信用しないでください!

1
Monkpit