एक टिकट बनाएं
अनुसरण करें

Q100392: Nuke 11 Ubuntu पर शुरू करने के लिए है, क्योंकि यह नहीं मिल या प्लगइन "XCB" क्यूटी मंच लोड कर सकते हैं में नाकाम रहने के

लक्षण

जब Nuke 11.0v1 या बाद में उबंटू को लॉन्च करने की कोशिश की जा रही है, तो आपको निम्न के जैसा कोई त्रुटि हो सकती है:

कारण
यह मुद्दा Nuke 11.0v1 के साथ होने लगा, VFX संदर्भ प्लेटफ़ॉर्म के अनुरूप होने के लिए Qt संस्करण के उन्नयन को आंतरिक रूप से 5.6.1 में उपयोग किया गया।
हमने उपर्युक्त त्रुटि को libstdc ++ से संबंधित होने के लिए पहचाना है। इसलिए Nuke 11 संस्थापन निर्देशिका में शामिल लाइब्रेरी। यह लाइब्रेरी संस्करण उबंटू के सिस्टम संस्करण के साथ संघर्ष करता हुआ प्रतीत होता है, और ऐसा प्रतीत होता है कि 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)

यदि आप इस लाइन को आउटपुट में देखते हैं तो यह इंगित करता है कि त्रुटि उसी 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 को सामान्य रूप से लॉन्च करने में सक्षम होना चाहिए।

आगे की पढाई
उपरोक्त वर्कअराउंड के लिए आपको निर्यात LD_PRELOAD = / usr / lib / gcc / x86_ चलाने की आवश्यकता होगी 64-linux-gnu / 5 / libstdc ++। इसलिए प्रत्येक टर्मिनल सत्र में कमांड जिससे आप Nuke लॉन्च करते हैं।

वर्कफ़्लो को सरल बनाने के लिए, आप इसके बजाय एक Nuke रैपर स्क्रिप्ट बना सकते हैं जो Nuke लॉन्च करने से पहले इस कमांड को चलाएगी। रैपर स्क्रिप्ट का उपयोग करने का एक और लाभ यह है कि यह केवल निर्यात LD_PRELOAD = / usr / lib / gcc / x86_ चलाएगा 64-linux-gnu / 5 / libstdc ++। इसलिए 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 स्क्रिप्ट चलाने के लिए एक टर्मिनल में nuke 11.1v2 टाइप करने की अनुमति देगा और लॉन्च से पहले LD_PRELOAD पर्यावरण चर के साथ Nuke 11.1v2 लॉन्च करेगा।

नोट: Nuke के अन्य संस्करणों का उपयोग करने के लिए आपको ऊपर दिए गए उदाहरण में संस्करण संख्या को अपडेट करना होगा, और .sh फ़ाइल की नई प्रतिलिपि को सहेजना होगा।

अन्य सहायता
यदि आप उबंटू पर इस समस्या का सामना कर रहे हैं और उपर्युक्त वर्कअराउंड समस्या को हल करने के लिए Nuke को लॉन्च करने की अनुमति नहीं देता है, तो कृपया एक समर्थन टिकट खोलें। कृपया समस्या के लक्षणों को जानें, आपके द्वारा अब तक उठाए गए समस्या निवारण चरण और आपके द्वारा उपयोग किए जा रहे सटीक OS बिल्ड।

समर्थन टिकट खोलने के बारे में अधिक जानकारी Q100064 में पाई जा सकती है : समर्थन टिकट लेख कैसे बढ़ाएं

क्या यह लेख उपयोगी था?
/

We're sorry to hear that!

Please tell us why.
2 में से 1 के लिए उपयोगी रहा

टिप्पणियां