OpenGL 関係のライブラリが壊れたときの対処

問題

glew とか GLFW とか NVidia のドライバとかを一通りインストールしたにもかかわらず OpenGL の hello world プログラムがコンパイルできない。

原因

なぜか知らないがリンクに必要なオブジェクトファイルが削除され、シンボリックリンクをたどった先が存在しないファイルになっていた。

解決法

dpkg -S コマンドでどのオブジェクトファイルがどのパッケージでインストールされたかを確認して、そのパッケージを sudo apt install --reinstall する。

例えば

$ dpkg -S /usr/lib/x86_64-linux-gnu/mesa/libGL.so
libgl1-mesa-dev:amd64: /usr/lib/x86_64-linux-gnu/mesa/libGL.so

となる。