Centos 6.9 32비트에서 qt 위젯 GUI 애플리케이션을 컴파일하고 Centos 7 64비트 시스템에서 실행해 보았습니다. 필수 QT 라이브러리를 복사했지만 애플리케이션을 실행하려고 하면 오류가 발생합니다.
error while loading shared libraries:
libgobject-2.0.so.0: cannot open shared object file: No such file or directory
이 문제를 해결하는 방법?
답변1
무작위 라이브러리를 복사하는 것은 아마도 좋은 생각이 아닐 것입니다. 대신 패키지 시스템을 확인하여 32비트 버전의 라이브러리가 제공되는지 확인하세요. RedHat은 32비트 "i686"을 호출합니다.
# yum whatprovides '*/libgobject-2.0.so.0' | grep i686
glib2-2.54.2-2.el7.i686 : A library of handy utility functions
# yum install glib2.i686
...
가능하다면 복잡성을 줄이고 yum에서 multilib 패키지 문제가 발생할 가능성을 줄이기 위해 multilib 시스템 실행을 피하는 것이 가장 좋습니다. 이를 위해서는 모든 소프트웨어를 64비트로 다시 컴파일해야 합니다.