2024년 7월 22일 월요일

freecad의 충돌 그리고 실행을 위한 python3.11의 libshiboken2, libpyside2 링크 만들기

 잘쓰던 freecad가 python3의 버전이 오롯이 3.12로 재편 되면서 기존의 3.11이 있음에도 불구하고 3.11이 제대로 돌아가지 못하게 되었다. 

 그래서 덩달아 freecad도 실행이 불가능한 상태가 되어 버렸다. 해결해 볼라구 찾아 보았다 크게 2개의 문제가 되더라 libpyside2와 libshiboken2, 이 둘이 freecad의 GUI를 담당하는데 찾고 있던 경로(/usr/lib/python3/dist-packages/)에 없었던 듯 하다.

 데비안 패키지 저장소를 뒤졌으나 libshiboken2-py3-5.15_5.15.10-4_amd64.deb 밖에 없었다. 범위를 넓혀서 rpm도 찾아 보았다. 그래서 데비안 libpyside2 패키지를 대체할 수 있는 pyside2-core-5.15.12-2-omv2490.x86_64.rpm를 다운로드 받았다. 

 데비안 현시점(2024-07-22)의 testing 배포판의 python3의 주력이 3.12으로 넘어가 버려서 /usr/lib/python3/dist-packages에 3.11 버전의 패키지를 덮어 씌우는 것은 시스템을 망가트릴 수 있어 아래의 경로에 해당 라이브러리들(libpyside2*, libshiboken2*)을 복사해 두었다.

 $ mv /home/daysleep/Downloads/libpyside2.cpython-311-x86_64-linux-gnu.so.5.15* /usr/lib/x86_64-linux-gnu/
$ mv /home/daysleep/Downloads/libshiboken2/libshiboken2-py3-5.15_5.15.10-4_amd64/usr/lib/x86_64-linux-gnu/libshiboken2.cpython-311-x86_64-linux-gnu.so.5.15* /usr/lib/x86_64-linux-gnu/
$ cp -r /home/daysleep/Downloads/libshiboken2/libshiboken2-py3-5.15_5.15.10-4_amd64/data/usr/lib/python3/dist-packages/shiboken2 /usr/local/lib/python3.11/dist-packages/

뭐 그래도 여전히 유독 /usr/lib/python3/dist-packages에서만 찾는 plugin 자원들은 문제가 생기더라 뭐 찝찝하지만 실행은 되니 우선 임시적으로 이렇게 써야 겠다.

* 주의 사항: symbolic link 생성시 반드시 작업 디레토리를 생성 경로로 설정해야 생성이 되더라 한참 애먹었다. 

$ ln -s libpyside2.cpython-311-x86_64-linux-gnu.so.5.15.12 libpyside2.cpython-311-x86_64-linux-gnu.so.5.15