動態連結器“沒有可用的版本資訊”

動態連結器“沒有可用的版本資訊”

當我將程式和它需要的一些庫複製到另一台機器時,當我在程式上執行 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。不多也不少。它會回來搞砸你嗎?不幸的是,答案必須是:「可能」。如果沒有它正在尋找的版本,它可能會出現錯誤。當然,即使它說一切都很好,它也可能有問題。

你該擔心嗎?如果這是一個大型進程所依賴的生產系統,那麼從其他系統複製二進位檔案可能不是一個好主意。如果這只是為了你,或者只是為了讓事情順利進行,這樣你就可以解決真正的問題,向前和向上。

相關內容