dnf search linput
結果がdnf search lgbm
出ません。 Fedoraでどのように入手できますか?
編集者:後の話
Rustプログラムを作成しようとしていますが、何か欠けているようでコンパイルできません。それは言う:
= note: /usr/bin/ld: cannot find -lxkbcommon
/usr/bin/ld: cannot find -lxkbcommon
/usr/bin/ld: cannot find -linput
/usr/bin/ld: cannot find -lgbm
collect2: error: ld returned 1 exit status
インストールしましたlxkbcommon
(編集:実際にインストールしましたlibxkbcommon
。どのように見逃したのかわかりません)。dnf install libxkbcommon-devel
その後、出力は次のようになります。
= note: /usr/bin/ld: cannot find -linput
/usr/bin/ld: cannot find -lgbm
collect2: error: ld returned 1 exit status
だから何かが必要なようですがlinput
、lgbm
それも見つからなくてdnf search
手ぶらでGoogleに上がっています。
ベストアンサー1
ld
あなたが受け取っているのは、あなたが探しているライブラリが利用できないと文句を言うリンカ()のエラーメッセージです。
このようなメッセージは/usr/bin/ld: cannot find -linput
実際に名前がlibinput.so
。このフラグは、ライブラリ名に従う必要がある-l
コマンドライン引数(told
またはto)であり、プレフィックスとサフィックスを含むファイル名を形成するために使用されます(動的にロード可能なライブラリの場合、通常はほとんどのライブラリで使用されます)。 Fedoraを含むディストリビューション.)gcc
lib
.so
したがって、必要なファイルはとlibinput.so
ですlibgbm.so
。
その後、を使用してdnf provides
そのファイルを検索できます。 64ビットディストリビューションを使用すると仮定すると、これらのライブラリはに配置されているため、完全な/usr/lib64
コマンドは次のとおりです。
$ dnf provides /usr/lib64/libinput.so
libinput-devel-1.12.6-3.fc30.x86_64 : Development files for libinput
Repo : rawhide
Matched from:
Filename : /usr/lib64/libinput.so
$ dnf provides /usr/lib64/libgbm.so
mesa-libgbm-devel-19.0.0~rc7-1.fc30.x86_64 : Mesa libgbm development package
Repo : rawhide
Matched from:
Filename : /usr/lib64/libgbm.so
正確なディレクトリがわからない場合は、dnf provides '*/libinput.so'
検索しているファイルについてほとんど知らない場合(そして便利なものを見つけるためにより多くの検索結果をソートしたい場合)、または他のワイルドカードを使用することもできます。
あなたの場合、必要なものは次のとおりです。
$ sudo dnf install libinput-devel mesa-libgbm-devel
その時点から必要な他のdnf
すべての依存関係もインポートする必要があります。あなたが構築しているソフトウェアを構築するとき、これがあなたが逃しているすべてであることを願っています。ただし、ライブラリが欠落している場合は、この情報を使用してそのライブラリを提供するパッケージを見つけることができます(Fedoraで利用可能であると仮定)。