Emacs を呼び出す前に LD_LIBRARY_PATH 環境変数の下に特定のディレクトリのリストを定義すると、Emacs フォントのレンダリングが変更されます。パスにいくつかのライブラリが必要な特定のプログラムをデバッグするためにemacsを使用したかったのですが、emacsフォントが変更されるとは思わなかったため、これを変更しました。私のemacsフォントにこれらの影響を与える原因は何ですか?
次の警告が表示されます。
emacs: /somewhere/libpng12.so.0: no version information available (required by emacs)
ベストアンサー1
あなたの問題は、共有オブジェクトのlibpng12.so.0バージョンがemacsビルドバージョンより低いことです。
「利用可能なバージョン情報がない」とは、共有ライブラリのライブラリバージョン番号が低いことを意味する。たとえば、バイナリが構築されているシステムでは、major.minor.patch番号が7.15.5で、インストールシステムでmajor.minor.patch番号が7.12.1の場合、ldは警告を出力します。
ターゲットオペレーティングシステムに付属の共有オブジェクトのバージョンと一致するライブラリ(ヘッダーと共有オブジェクト)にコンパイルすることで、この問題を解決できます。たとえば、RedHat 3.4.6-9にインストールする場合、Debian 4.1.1-21でコンパイルしたくありません。これが、ほとんどのディストリビューションが特定のLinuxディストリビューション番号を提供する理由の1つです。
これを見てスタックオーバーフローの質問詳細は特にこの回答。