當我將程式和它需要的一些庫複製到另一台機器時,當我在程式上執行 LDD 時,我得到「沒有可用的版本資訊」。
我知道為什麼會發生這種情況,我只是想知道這是否有什麼大不了的。我可以忽略它嗎?該程式似乎正在執行並表現出預期的行為。這會不會在未來再次困擾我?
答案1
來自glibc 原始碼為了ldd
if (...) {
/* The file has no symbol versioning. I.e., the dependent
object was linked against another version of this file. We
only print a message if verbose output is requested. */
...
errstring = make_string ("no version information available ...");
...
}
它的意思是“版本不匹配”,包括不匹配為null。不多也不少。它會回來搞砸你嗎?不幸的是,答案必須是:「可能」。如果沒有它正在尋找的版本,它可能會出現錯誤。當然,即使它說一切都很好,它也可能有問題。
你該擔心嗎?如果這是一個大型進程所依賴的生產系統,那麼從其他系統複製二進位檔案可能不是一個好主意。如果這只是為了你,或者只是為了讓事情順利進行,這樣你就可以解決真正的問題,向前和向上。