지원 티켓 만들기
팔로우

Q100392 : Nuke 11이 Qt 플랫폼 플러그인 "xcb"를 찾거나로드 할 수 없어 우분투에서 실행되지 않습니다.

조짐

Ubuntu에서 Nuke 11.0v1 이상을 실행하려고하면 다음과 유사한 오류가 발생할 수 있습니다.

원인
이 문제는 Nuke 11.0v1에서 VFX 참조 플랫폼 호환을 위해 내부적으로 5.6.1로 업그레이드 된 Qt 버전의 업그레이드로 인해 시작되었습니다.
위의 오류는 Nuke 11 설치 디렉토리에 포함 된 libstdc ++. so 라이브러리와 관련이 있음을 확인했습니다. 이 라이브러리 버전은 Ubuntu에있는 시스템 버전과 충돌하는 것으로 보입니다.이 버전은 Nuke가 시작되지 않는 것으로 보입니다.

해결 방법
충돌은 엔지니어링 팀에보고되었으며 향후 릴리스에서 해결할 버그 보고서로 기록됩니다. 다음 URL을 통해 진행 상황을 확인하고 알림을 구독 할 수 있습니다.

TP 340253 - Nuke 11은 Qt 플랫폼 플러그인 "xcb"를 찾거나로드 할 수 없어 우분투에서 실행되지 않습니다.

이 문제를 해결하려면 먼저보고있는 오류가 동일한 라이브러리 충돌로 인한 것인지 확인해야합니다.

오류 원인 식별

먼저 터미널에서 다음 명령을 실행합니다.

LD_DEBUG=libs /usr/local/Nuke11.1v2/Nuke11.1

이것은 터미널에서 긴 출력을 제공해야하지만, 끝에 가까울수록 다음 줄과 비슷한 것을 볼 수 있습니다.

/usr/local/Nuke11.0v4/libstdc++.so.6: error: version lookup error: version `CXXABI_1.3.8' not found (required by /usr/lib/x86_64-linux-gnu/libmirclient.so.9) (fatal)

출력에서이 행을 보면 오류가 Ubuntu에서 식별하고 위의 버그로 기록한 것과 동일한 libstdc ++. 라이브러리 충돌로 인한 것임을 나타냅니다.

오류 해결 방법

이 문제를 해결하려면 Nuke와 함께 제공되는 라이브러리 대신이 라이브러리의 시스템 버전을 강제로 사용해야합니다.

터미널에서 다음 명령을 실행 해보십시오.

locate *libstdc++*

이것은 이름에 libstdc ++ 가 들어있는 모든 파일을 검색합니다. 그러면 터미널에서 비슷한 결과를 얻을 수 있습니다.

/usr/lib/gcc/x86_64-linux-gnu/5/libstdc++.so
/usr/lib/i386-linux-gnu/libstdc++.so.6
/usr/lib/i386-linux-gnu/libstdc++.so.6.0.21
/usr/lib/x86_64-linux-gnu/libstdc++.so.6
/usr/lib/x86_64-linux-gnu/libstdc++.so.6.0.21
/usr/local/Nuke11.0v4/libstdc++.so
/usr/local/Nuke11.0v4/libstdc++.so.6
/usr/local/Nuke11.0v4/libstdc++.so.6.0.18
/usr/local/Nuke11.1v2/libstdc++.so
/usr/local/Nuke11.1v2/libstdc++.so.6
/usr/local/Nuke11.1v2/libstdc++.so.6.0.18

우리가 찾고있는 줄은 /usr/lib/gcc/x86_64-linux-gnu/5/libstdc++.so입니다. 이것은 libstdc ++ 의 시스템 버전을 식별합니다 . 그래서 우리는 다른 버전보다 먼저로드해야합니다.

다음 명령을 실행하여 l ibstdc ++. 가 미리로드되고 Nuke와 함께 제공되는 시스템 버전 대신 시스템 버전을 사용합니다.

export LD_PRELOAD=/usr/lib/gcc/x86_ 64-linux-gnu/5/libstdc++.so export LD_PRELOAD=/usr/lib/gcc/x86_ 64-linux-gnu/5/libstdc++.so

이제 Nuke 11을 정상적으로 시작할 수 있습니다.

더 읽기
위의 해결 방법은 =는 / usr / lib 디렉토리 / GCC / x86_ 수출 LD_PRELOAD를 실행할 수 필요 64-linux-gnu / 5 / libstdc ++. 그래서 누크를 시작한 모든 터미널 세션에서 명령하십시오.

워크 플로우를 단순화하기 위해 대신 Nuke를 시작하기 전에이 명령을 실행할 Nuke 랩퍼 스크립트를 작성할 수 있습니다. 래퍼 스크립트를 사용하면 또 다른 이점이 있습니다. LD_PRELOAD = / usr / lib / gcc / x86_ 64-linux-gnu / 5 / libstdc ++. so 명령은 Nuke를 시작할 때 사용되므로이 라이브러리에 의존 할 수있는 다른 응용 프로그램을 방해하지 않습니다.

Nuke 11.1v2 용 래퍼 스크립트를 만들려면 먼저 다음 행을 복사하여 텍스트 편집기에 붙여 넣으십시오.

export LD_PRELOAD=/usr/lib/gcc/x86_64-linux-gnu/5/libstdc++.so
/usr/local/Nuke11.1v2/Nuke11.1

이 파일을 .sh 확장자로 저장하십시오 (예 : ' Nuke 11.1v2.sh '). 이 스크립트는 Nuke를 열기 위해 터미널에서 시작할 수 있습니다.

또한 사용자 .bashrc 파일에 다음 줄을 추가하여 별칭 명령을 만들 수도 있습니다.

alias nuke11.1v2 ='~/ filepath /Nuke11.1v2.sh'

이렇게하면 .sh 스크립트를 실행하고 실행하기 전에 LD_PRELOAD 환경 변수로 Nuke 11.1v2를 시작하기 위해 터미널에 nuke 11.1v2 을 입력 할 수 있습니다.

참고 : 다른 버전의 핵을 사용하려면 위의 예에서 버전 번호를 업데이트하고 .sh 파일의 새 복사본을 저장해야합니다.

추가 도움말
Ubuntu에서이 문제가 발생하고 위의 해결 방법으로 Nuke가 시작될 수있는 문제가 해결되지 않으면 지원 티켓을여십시오. 문제의 증상, 지금까지 수행 한 문제 해결 단계 및 사용중인 정확한 OS 빌드를 알려주십시오.

지원 티켓을 여는 방법에 대한 자세한 내용은 Q100064 : 지원 티켓 기사 를 올리는 방법을 참조하십시오.

도움이 되었습니까?
/

We're sorry to hear that!

Please tell us why.
2명 중 1명이 도움이 되었다고 했습니다.

댓글