동적 링커 "사용 가능한 버전 정보가 없습니다"

동적 링커 "사용 가능한 버전 정보가 없습니다"

프로그램과 몇 가지 라이브러리를 다른 시스템에 복사할 때 프로그램에서 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에 대한 불일치를 포함하여 "버전 불일치"를 의미합니다. 그 이상도 이하도 아닌. 널 망치러 다시 올까? 불행히도 대답은 "아마도"이다. 찾고 있던 버전이 없으면 버그가 있을 수도 있습니다. 물론 모든 것이 괜찮다고 말하더라도 버그가 있을 수 있습니다.

걱정해야 할까요? 이것이 대규모 프로세스가 의존하는 프로덕션 시스템이라면 다른 시스템에서 바이너리를 복사하는 것은 아마도 좋은 생각이 아닐 것입니다. 이것이 당신만을 위한 것이라면, 아니면 실제 문제를 계속해서 해결할 수 있도록 일을 충분히 진행시키기 위한 것입니다.

관련 정보