Linux
如果在 emacs 字型上更改 LD_LIBRARY_PATH 環境變數,效果如何?
如果我在呼叫 emacs 之前在 LD_LIBRARY_PATH 環境變數下定義了一個特定的目錄列表,我的 emacs 字型的呈現會發生變化。我更改了此設置,因為我想使用 emacs 調試需要路徑中某些庫的特定程序,但我沒想到 emacs 字型會更改。什麼可能導致我的 emacs 字型出現這種影響?
我收到這個警告:
emacs: /somewhere/libpng12.so.0: no version information available (required by emacs)
我認為您的問題是共享對像上的 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 發行版編號的原因之一。
有關更多資訊,請參閱此stackoverflow 問題,特別是此答案。