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

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

프로그램과 필요한 일부 라이브러리를 다른 컴퓨터에 복사할 때 프로그램에서 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을 포함하여 "버전 불일치"를 의미합니다. 그 이상도 이하도 아닌. 널 망치러 다시 올까? 불행하게도 대답은 "아마도"이다. 찾고 있는 버전이 없으면 오류가 발생할 수 있습니다. 물론 다 괜찮다고 해도 뭔가 문제가 있을 수도 있다.

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

관련 정보