45

homebrewを使用してgraphvizをインストールすると、スクリプトは「mkstubsにインストールする」というポイントに到達し、次の致命的なエラーをスローします。

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がMountainLionにドロップされたため、XQuartzをインストールしましたが、正しくインストールされているかどうかわかりません。Xlib.hの場所は次のとおりです。

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

/ opt/X11への2つのシンボリックリンクもあります。それらは次のとおりです。

/usr/X11
/usr/X11R6

これはあなたにとって正しい設定のように見えますか?私は昨日までX11やXQuartzを扱ったことがありません。

乾杯。

4

8 に答える 8

120

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

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

ターミナルで。これにより、rubyスクリプトを変更せずに問題も修正されます。

于 2012-08-23T09:50:04.990 に答える
31

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

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

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

于 2012-07-13T06:35:50.860 に答える
27

コンパイル/リンク(またはbrew)コマンドの前にシェルに入ることができます:

export CPPFLAGS=-I/opt/X11/include

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

于 2012-11-27T01:46:38.583 に答える
7

同じ問題があり、ターミナルでこのコマンドを実行しました

xcode-select --install 

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

于 2017-05-01T08:05:25.873 に答える
4

CMakeビルドでこれを機能させる必要がある場合:

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

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

于 2015-03-25T22:00:02.713 に答える
2

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

于 2012-11-15T22:00:21.870 に答える
2

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し、すべてが魅力のように機能しました!

TL; DR:config.logを確認してください-ターミナル出力を信頼しないでください!

于 2016-04-29T18:38:13.433 に答える
1

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

于 2014-08-22T21:05:11.950 に答える