Centos 8에 libQtGui.so.4를 설치할 수 없습니다.

Centos 8에 libQtGui.so.4를 설치할 수 없습니다.

컴퓨터 비전(머신러닝) 테스트를 위해 설치해야 합니다.OIDv4_toolkit 링크의 지침을 따르고 있습니다. Centos 8에서는 conda install --filerequirements.txt를 사용했습니다.

그러나 실행하려고 할 때: python3 main.py -h

다음 오류가 발생합니다.

liran@localhost OIDv4_ToolKit]$ python3 main.py -h
Traceback (most recent call last):
  File "main.py", line 20, in <module>
    from modules.downloader import *
  File "/home/liran/dev/ComputerVisionRT/OIDv4_ToolKit/modules/downloader.py", line 2, in <module>
    import cv2
  File "/home/liran/anaconda3/lib/python3.7/site-packages/cv2/__init__.py", line 3, in <module>
    from .cv2 import *
ImportError: libQtGui.so.4: cannot open shared object file: No such file or directory

이전에는 libjpeg.so.8을 사용하여 동일한 오류가 발생했지만 호스트 시스템에서 이를 찾아서 해결했습니다.

sudo find / -name  libjpeg.so.8 

그런 다음 찾은 디렉터리를 LD_LIBRARY_PATH 환경 변수에 추가합니다.

export LD_LIBRARY_PATH=/path/to/file/:$LD_LIBRARY_PATH

누락된 모듈이 포함되어야 하는 RPM을 찾았습니다.여기 그러나 rpm을 설치한 후:

[liran@localhost OIDv4_ToolKit]$ sudo dnf install /path/to/rpm/qt-x11-4.8.7-9.el7_9.x86_64.rpm

나는 얻다:

Updating Subscription Management repositories.
Unable to read consumer identity
This system is not registered to Red Hat Subscription Management. You can use subscription-manager to register.
gitlab_gitlab-ee                                                                                                                                                                    36  B/s | 862  B     00:23    
gitlab_gitlab-ee-source                                                                                                                                                             37  B/s | 862  B     00:23    
Windscribe                                                                                                                                                                         255  B/s | 2.9 kB     00:11    
Error: 
 Problem: conflicting requests
  - nothing provides qt(x86-64) = 1:4.8.7-9.el7_9 needed by qt-x11-1:4.8.7-9.el7_9.x86_64
  - nothing provides libmng.so.1()(64bit) needed by qt-x11-1:4.8.7-9.el7_9.x86_64
(try to add '--skip-broken' to skip uninstallable packages or '--nobest' to use not only best candidate packages)

--nobest를 사용하는 경우:

Updating Subscription Management repositories.
Unable to read consumer identity
This system is not registered to Red Hat Subscription Management. You can use subscription-manager to register.
Windscribe                                                                                                                                                                         267  B/s | 2.9 kB     00:11    
Error: 
 Problem: conflicting requests
  - nothing provides qt(x86-64) = 1:4.8.7-9.el7_9 needed by qt-x11-1:4.8.7-9.el7_9.x86_64
  - nothing provides libmng.so.1()(64bit) needed by qt-x11-1:4.8.7-9.el7_9.x86_64
(try to add '--skip-broken' to skip uninstallable packages)

--skip-broken을 사용하는 경우:

Updating Subscription Management repositories.
Unable to read consumer identity
This system is not registered to Red Hat Subscription Management. You can use subscription-manager to register.
Windscribe                                                                                                                                                                         268  B/s | 2.9 kB     00:11    
Dependencies resolved.
Nothing to do.
Complete!

어떤 아이디어가 있나요?

답변1

설치했습니다https://github.com/EscVM/OIDv4_ToolKit깨끗한 centos8 docker 이미지의 지침을 따르세요.

python-devel, gcc, make, cmake 및 어떤 시점에서는 제안된 "개발 도구" 패키지가 필요합니다. QT가 아닙니다.

그러면 python3 main.py -h명령을 성공적으로 실행할 수 있습니다.

시스템에 부적절한 패키지를 설치했을 가능성이 높습니다(잘못 구성된 패키지 소스 또는 RPM 수동 설치를 통해). 이제 oidv4 툴킷에 문제가 발생하기보다는 시스템이 손상되었습니다.

RPM을 수동으로 설치할 필요가 없습니다 dnf install package-name. 패키지 소스를 추가할 필요가 없습니다.

새로 설치하여 다시 시작하는 것이 좋습니다.

관련 정보