web-dev-qa-db-ja.com

X11 / extensions / Xcomposite.h:そのようなファイルまたはディレクトリはありません

Ubuntuで https://unix.stackexchange.com/a/228674 をコンパイルしようとしました。

残念ながら次のエラーが発生します:

/tmp/find-cursor$ make
cc find-cursor.c -o find-cursor -lX11
find-cursor.c:19:39: fatal error: X11/extensions/Xcomposite.h: No such file or directory
 #include <X11/extensions/Xcomposite.h>
                                       ^
compilation terminated.
make: *** [all] Error 1

私は次の容疑者で試しました:

$ Sudo apt-get install libxtst-dev libxss-dev libxtst6-dbg libxext6-dbg libxss1-dbg

しかし、コンパイルにはまだ運がありません。便利なスニペットを次に示します。

Sudo apt-get install Mercurial
cd /tmp
hg clone https://bitbucket.org/Carpetsmoker/find-cursor
cd find-cursor
make

解決済み:

FTR:上記のコードをコンパイルするには:Sudo apt-get install libxcomposite-dev libxdamage-dev libxrender-devとMakefileのccに-std=gnu99フラグを追加する必要がありました

不足しているファイルでコンパイルが失敗するたびに、インフラストラクチャを利用して、不足しているubuntuパッケージを検索します

apt-file search   X11/extensions/Xcomposite.h   #  cmd 1

で戻ります

libxcomposite-dev: /usr/include/X11/extensions/Xcomposite.h

解決策は、不足しているパッケージをインストールすることです

Sudo apt install libxcomposite-dev              #  cmd 2

この手法は、欠落しているファイル全体で機能します


あなたが発行する場合、新鮮なOS上で

apt-file search   X11/extensions/Xcomposite.h  

エラーで失敗します

The program 'apt-file' is currently not installed. To run 'apt-file' please ask your administrator to install the package 'apt-file'

これは、ローカル検索キャッシュを一度だけセットアップする必要があるので、実行するだけです

Sudo apt install apt-file -y
Sudo apt-file update

上記の検索を再発行し(cmd 1)、パッケージをインストールします(cmd 2)

7
Scott Stensland

http://packages.ubuntu.com/ では、ファイルを含むパッケージを検索できます。

X11/extensions/Xcomposite.hを検出するlibxcomposite-devの場合

1
Florian Diesch