私はUbuntu 18.04でコンパイルするためにwxWidgetsプログラムを取得しようとしました。当時私のRTX 2080はまだ到着しておらず、私は同僚の1060を使っていました。最後の金曜日、ついに私はOpenCLとOpenGLライブラリを必要とする私が書いているプログラムをコンパイルして実行することができました。プログラムを実行するために必要と思われる次のライブラリをインストールしました。
mesa-utils libeglw1-mesa libglw1-mesa-dev freeglut3-dev freeglut3 ocl-icd-opencl-dev
NVIDIAのCuda 10ライブラリもインストールしました。
いよいよRTX 2080が到着しました。グラフィックカードをインストールしましたが、1台のモニターの解像度が悪いため、公式NVIDIAドライバをダウンロードする必要があることに気づきました。これをインストールした後、モニターは正常に戻りました。ただし、プログラムを実行しようとすると、次のエラーが発生します。
(Program:18499): Gdk-ERROR **: 09:45:23.055: The program 'Program' received an X Window System error.
This probably reflects a bug in the program.
The error was 'BadValue (integer parameter out of range for operation)'.
(Details: serial 228 error_code 2 request_code 151 (GLX) minor_code 3)
(Note to programmers: normally, X errors are reported asynchronously;
that is, you will receive the error a while after causing it.
To debug your program, run it with the GDK_SYNCHRONIZE environment
variable to change this behavior. You can then get a meaningful
backtrace from your debugger if you break on the gdk_x_error() function.)
Trace/breakpoint trap
これはおそらくプログラムの正当なバグです。しかし、なぜ私のプログラムが2080以前に正しく実行されたのかは少し混乱しています。私は次のようにGDBを実行してみました。
GDK_SYNCHRONIZE="1" gdb ./Program
ところで、プログラムのどこでブレーキをかけなければならないのか分からないので、GDBにブレークポイントを設定しようとしてもgdk_x_error()
ブレークインする関数を見つけることができません。だから今はどこに行くべきかわかりません。ディストリビューションを再インストールしたくありませんが、必要に応じて再インストールします。エラーを検索すると、次のウェブサイトにリンクされました。https://github.com/cjcliffe/CubicSDR/issues/569、このスレッドの誰かがこう言いました。
「インターネットですばやく検索してみると、GLXライブラリとドライバ(Intel、Nvidia)に関連する問題があることがわかりました。これを再インストールするだけです。また、CubicSDRが機能するためにwxWidgets 3.11をOpenGLサポートでコンパイルする必要があることに注意してください。 」
しかし、このエラーがCubicSDRに限定されているのか、それとも同じ問題なのかはわかりません。私が何を試すことができるかについてのアイデアを持っている人はいますか?