1

私は RoboJournal というプログラムに取り組んでおり、最近 0.4.1 のリリースを完了しました。現在、Fedora 用にパッケージ化しているところですが、何らかの理由でプログラムがその OS でコンパイルされません。まったく同じコードが、Windows および任意の Debian ベースの Linux (Debian 自体、Ubuntu、Mint など) で正常にビルドされます。これを Debian 用にパッケージ化するのに問題はありませんでした。コンパイラ出力のエラー メッセージは次のとおりです (Fedora 18 KDE バージョンで実行)。

/usr/bin/ld: dblogin.o: undefined reference to symbol 'XkbGetIndicatorState'
/usr/bin/ld: note: 'XkbGetIndicatorState' is defined in DSO /lib64/libX11.so.6 so try adding it to the linker command line
/lib64/libX11.so.6: could not read symbols: Invalid operation
collect2: error: ld returned 1 exit status

問題は、リンカーが XkbGetIndicatorState シグナル (X11 ライブラリの 1 つ) を制御するはずのものを見つけられないことです。これは、特定のダイアログがアクティブなときに Caps Lock が有効になっているかどうかを判断するために使用されます。どうやら、Fedora には含まれていませんが、Debian ベースのものにはこのライブラリが含まれているようです。このエラーは単にパッケージが見つからないことが原因だと思いますが、どのパッケージかわかりません。Google は私に何の役にも立ちませんでした。何か案は?

これを自分でテストしたい人は、git://github.com/pwizard2/robojournal.git から複製できます。このアプリは (これまでのところ) 次のパッケージに依存しています: qt、qt-assistant、qt-mysql、qt-devel、qt-webkit、qt-webkit-devel。

4

1 に答える 1