"কিউটি 5 ইনস্টল না করে লিনাক্সে Qt5 অ্যাপ্লিকেশন চালু করার সময় প্ল্যাটফর্ম প্লাগইন" xcb "লোড করতে ব্যর্থ


101

আমি লিনাক্সের জন্য অ্যাপ্লিকেশন লিখেছিলাম যা কিউটি 5 ব্যবহার করে।

তবে আমি যখন Qt SDK ইনস্টল না করে লিনাক্সে এটি চালু করার চেষ্টা করছি, কনসোলের আউটপুটটি হ'ল:

প্ল্যাটফর্ম প্লাগইন "xcb" লোড করতে ব্যর্থ। উপলব্ধ প্ল্যাটফর্মগুলি হ'ল:

আমি এটা কিভাবে ঠিক করবো? আমার কি কিছু প্লাগইন ফাইল অনুলিপি করা দরকার? আমি যখন Qt5 ইনস্টল করে উবুন্টু ব্যবহার করি তবে আমি কিউটি ডিরেক্টরিটির নাম পরিবর্তন করি, একই সমস্যা দেখা দেয়। সুতরাং, এটি Qt ডিরেক্টরি থেকে কিছু ফাইল ব্যবহার করে ...

আপডেট: আমি যখন libqxcb.so ফাইলটি দিয়ে অ্যাপটি dir "প্ল্যাটফর্মগুলি" ফোল্ডারে তৈরি করি তখন অ্যাপটি এখনও শুরু হয় না, তবে ত্রুটির বার্তাটি পরিবর্তিত হয়:

প্ল্যাটফর্ম প্লাগইন "xcb" লোড করতে ব্যর্থ। উপলব্ধ প্ল্যাটফর্মগুলি হ'ল:

এক্সসিবি

কীভাবে এটি ঘটতে পারে? প্ল্যাটফর্ম প্লাগইন কীভাবে পাওয়া যায় তবে লোড করা যায় না?


4
কেবল পরিষ্কার করার জন্য, কিউটি লাইব্রেরিগুলি আসলে ইনস্টল করা আছে?
cmannett85

4
যদি কিউটি লাইব্রেরি ইনস্টল করা থাকে তবে প্রোগ্রামটি স্বাভাবিকভাবে কাজ করে। এটি ইনস্টল না করা থাকলে বা Qt sdk dir পাওয়া না গেলে প্রোগ্রামটি কার্যকর হয় না।
লোকমোশন

নিশ্চিত করুন যে আপনিও libQt5Gui.so.5 অনুলিপি করেছেন
এডানিয়েলস

4
ইভ অনলাইন লঞ্চার থেকে এখানে আসা ব্যক্তিদের জন্য: ব্যবহার করুন eveonline.sh, না eveonline- ল্যাঞ্চারের সমস্ত সংস্করণ বিশেষ সংস্করণে বান্ডিল রয়েছে।
ওন্দ্র ŽiŽka

উত্তর:


59

ভাগ করা লাইব্রেরি নির্ভরতা দেখানোর জন্য ldd (man ldd) ব্যবহার করুন। এটি libqxcb.so এ চলছে

.../platforms$ ldd libqxcb.so

দেখায় যে xcb libQt5DBus.so.5 উপর নির্ভর করে libQt5Core.so.5 এবং libQt5Gui.so.5 (এবং অন্যান্য অনেক সিস্টেম libs) ছাড়াও। আপনার ভাগ করা libs সংগ্রহের জন্য libQt5DBus.so.5 যুক্ত করুন এবং আপনার এগিয়ে যাওয়ার জন্য প্রস্তুত হওয়া উচিত।


4
ধন্যবাদ! সমস্যাটি হ'ল এটিই। libQt5DBus.so.5 মূল এবং gui সহ নথিতে তালিকাভুক্ত করা উচিত।
dzlatkov

4
আমার ক্ষেত্রে sudo apt-get install libx11-xcb1সমস্যা সমাধান। তবে আপনার ব্যবহারের সুপারিশটিই lddআমাকে ইনস্টল করার জন্য সঠিক লাইব্রেরিটির প্রতি নির্দেশ করেছিল। ধন্যবাদ!
ড্যানিয়েল

4
আমার ক্ষেত্রে আমাকেও libQt5XcbQpa.so.5 যোগ করতে হয়েছিল lib ফোল্ডারে।
এলসামুকো

4
আপনার যদি এখনও সমস্যাটি দেখা যায় lddতবে plugins/platformsআপনার Qt ইনস্টলেশনগুলির মধ্যে ডিরেক্টরিটি অনুসন্ধান করার চেষ্টা করুন । এই সম্পূর্ণ ডিরেক্টরিটি আপনার বাইনারি বা ভাগ করা লাইব্রেরি ফাইলের মতো একই জায়গায় অনুলিপি করার চেষ্টা করুন। যদি এটি কাজ করে তবে আপনি LD_LIBRARY_PATH@ হুঙ্কার) সেট করতে পারেন , বা @ বাসবার্বারের উত্তরে উল্লিখিত হয়েছে QT_QPA_PLATFORM_PLUGIN_PATH,।
csl

4
আমার ক্ষেত্রে আমি / usr / বিন / প্ল্যাটফর্ম দির তৈরি করতে পারি নি। এর সাথে সমাধান করা হয়েছে: sudo ln -sf / usr / lib / x86_64-linux-gnu / qt5 / প্লাগিনগুলি / প্ল্যাটফর্মগুলি / / usr / বিন /
জিপশ

56

যেমনটি আগে পোস্ট করা হয়েছিল, আপনার অ্যাপ্লিকেশন স্থাপন করার সময় আপনার অবশ্যই প্ল্যাটফর্ম প্লাগইনগুলি ইনস্টল করার বিষয়টি নিশ্চিত করতে হবে। আপনি কীভাবে জিনিস মোতায়েন করতে চান তার উপর নির্ভর করে আপনার অ্যাপ্লিকেশনটি জানানোর জন্য দুটি পদ্ধতি রয়েছে যেখানে প্ল্যাটফর্ম প্লাগইনগুলি (যেমন প্ল্যাটফর্ম / প্লাগইন / libqxcb.so) রানটাইমের সময় রয়েছে যা আপনার পক্ষে কার্যকর হতে পারে।

প্রথমটি হল QT_QPA_PLATFORM_PLUGIN_PATH ভেরিয়েবলের মাধ্যমে ডিরেক্টরিটিতে পাথ রফতানি করা।

QT_QPA_PLATFORM_PLUGIN_PATH=path/to/plugins ./my_qt_app

বা

export QT_QPA_PLATFORM_PLUGIN_PATH=path/to/plugins
./my_qt_app

অন্য বিকল্পটি, যা আমি পছন্দ করি তা হ'ল আপনার এক্সিকিউটেবলের মতো একই ডিরেক্টরিতে একটি qt.conf ফাইল তৈরি করা। যার বিষয়বস্তুগুলি হ'ল:

[Paths]
Plugins=/path/to/plugins

এ সম্পর্কিত আরও তথ্য এখানে পাওয়া যাবে এবং qt.conf ব্যবহার করে


4
কি দারুন! অনেক ধন্যবাদ! Qt.conf সম্পর্কে জানতেন না, এটি ব্যবহারের প্রথম পৃষ্ঠায় করা উচিত FAQ

আমার ক্ষেত্রে কোনও কারণে qt.conf (প্লাগইনস = প্লাগইনস) এর অভ্যন্তরের পথটি স্বীকৃত হয়নি। আমি একটি খালি qt.conf ফাইল সরবরাহ করে শেষ করেছি, যা আমার ক্ষেত্রে অ্যাপ্লিকেশন ডিরেক্টরিতে প্লাগইনস-সাবফোল্ডার হিসাবে qt.conf- ডিফল্টর সাথে গ্লোবাল (হার্ড কোডড) পাথগুলি ওভাররাইট করা দেয়।
বি পিল্টজ

4
আমরা ভাবছিলাম কেন LD_LIBRARY_PATHকাজ করছে না, তবে QT_QPA_PLATFORM_PLUGIN_PATHকৌশলটি করেছে। সুপার-থ্যাঙ্কস
আহমেদ ফসিহ

4
2 য় বা 3 য় বার আমি এই উত্তরে আসি এবং এটি প্রতিবার সহায়তা করে।
kyb

27

আমি আমার বাইনারি শুরু করার চেষ্টা করেছি, কিউটি দিয়ে সংকলিত 5.7উবুন্টু 16.04 এলটিএসে যেখানে কিউটি 5.5পূর্বনির্ধারিত রয়েছে। এটি কাজ করে না।

প্রথমে, আমি lddএখানে পরামর্শ অনুসারে বাইনারি নিজেই পরিদর্শন করেছি এবং "সন্তুষ্ট" সমস্ত "খুঁজে পাওয়া যায়নি" নির্ভরতা। তারপরে এই কুখ্যাত This application failed to start because it could not find or load the Qt platform plugin "xcb"ত্রুটি নিক্ষেপ করা হয়েছিল।

এটি লিনাক্সে কীভাবে সমাধান করবেন

প্রথমে আপনার platformsডিরেক্টরি তৈরি করা উচিত যেখানে আপনার বাইনারি রয়েছে, কারণ এটি সেই জায়গা যেখানে Qt এক্সসিবি লাইব্রেরির সন্ধান করে। libqxcb.soসেখানে অনুলিপি করুন । আমি ভাবছি কেন অন্যান্য উত্তরের লেখকগণ এটি উল্লেখ করেননি?

তারপরে QT_DEBUG_PLUGINS=1কোনটি নির্ভরতা libqxcb.so"সন্তুষ্ট" নয় তা যাচাই করতে আপনি আপনার পরিবেশ পরিবর্তনশীল সেট সহ বাইনারি চালাতে চাইতে পারেন । (আপনি ব্যবহার করতে পারেনldd গ্রহণযোগ্য উত্তরে প্রস্তাবিত হিসাবে এটির )।

কমান্ড আউটপুট এইরকম দেখতে পারে:

me@xerus:/media/sf_Qt/Package$ LD_LIBRARY_PATH=. QT_DEBUG_PLUGINS=1 ./Binary
QFactoryLoader::QFactoryLoader() checking directory path "/media/sf_Qt/Package/platforms" ...
QFactoryLoader::QFactoryLoader() looking at "/media/sf_Qt/Package/platforms/libqxcb.so"
Found metadata in lib /media/sf_Qt/Package/platforms/libqxcb.so, metadata=
{
    "IID": "org.qt-project.Qt.QPA.QPlatformIntegrationFactoryInterface.5.3",
    "MetaData": {
        "Keys": [
            "xcb"
        ]
    },
    "className": "QXcbIntegrationPlugin",
    "debug": false,
    "version": 329472
}


Got keys from plugin meta data ("xcb")
loaded library "/media/sf_Qt/Package/platforms/libqxcb.so"
QLibraryPrivate::loadPlugin failed on "/media/sf_Qt/Package/platforms/libqxcb.so" : "Cannot load library /media/sf_Qt/Package/platforms/libqxcb.so: (/usr/lib/x86_64-linux-gnu/libQt5DBus.so.5: version `Qt_5' not found (required by ./libQt5XcbQpa.so.5))"
This application failed to start because it could not find or load the Qt platform plugin "xcb"
in "".

Available platform plugins are: xcb.

Reinstalling the application may fix this problem.
Aborted (core dumped)

ব্যর্থ libQt5DBus.so.5গ্রন্থাগার নোট করুন । এটি আপনার লাইব্রেরির পথে অনুলিপি করুন, আমার ক্ষেত্রে এটি একই ডিরেক্টরি যেখানে আমার বাইনারি রয়েছে (তাই LD_LIBRARY_PATH=.)) সমস্ত নির্ভরতা সন্তুষ্ট না হওয়া পর্যন্ত এই প্রক্রিয়াটি পুনরাবৃত্তি করুন।

লেখক পিএস ধন্যবাদ এই উত্তরটি জন্য QT_DEBUG_PLUGINS=1


4
আমি দেখতে পেয়েছি যে libQt5xcbQpa.so.5 এবং libQtDBus.so.5 এ অনির্ধারিত নির্ভরতা ছিল যখনই আপনার ইঙ্গিত হিসাবে আমার এখনও প্ল্যাটফর্ম ফোল্ডারটি যুক্ত করা দরকার। এই সমন্বয় এটি কাজ করে তোলে।
বিএসডি

এই ত্রুটিটি কীভাবে ঠিক করা যায় তার ব্যাখ্যা সম্পর্কে কেউ "ডামি ফর" আমাকে ব্যাখ্যা করতে পারেন? এই জিনিসগুলির কোনওটির অর্থ কী তা আমার কোনও ধারণা নেই, এটি লিনাক্সে কীভাবে সমাধান করা যায় তার জন্য আমার ধাপে ধাপে নির্দেশিকাগুলি প্রয়োজন।
জন স্মিথ

@ জনস্মিত আপনি যদি আমাদের কাছে ঠিক কোন ধারণা রাখেন না তা বলাই ভাল। তারপরে আমরা বিস্তারিত করার চেষ্টা করব।
নিউরোট্রান্সমিটার

11

উবুন্টু 16.04 64 বিট। স্পষ্টত কোনও কারণেই আমি সমস্যাটি পেয়েছি। আমার ভিডিওলানের উদাহরণে আমি যে সিনেমাটি দেখেছি তার আগের রাতে, আমি সেই রাতে ভিডিওলানের সাথে আরও একটি দেখতে চাই। প্রশ্নের মধ্যে ত্রুটির কারণে ভিএলসি কেবল চালাতে চায়নি। আমি কিছুটা গুগল করেছিলাম এবং এটি আমার সমস্যার সমাধান করার সমাধানটি পেয়েছি: এখন থেকে, ভিএলসি আগের মতো চলছে n সমাধানটি এই কোমন্ড:

sudo ln -sf /usr/lib/x86_64-linux-gnu/qt5/plugins/platforms/ /usr/bin/

আমি এর পরিণতিগুলি কী তা ব্যাখ্যা করতে সক্ষম নই, তবে আমি জানি এটি কিছু অনুপস্থিত প্রতীকী লিঙ্ক তৈরি করে।


4
আপনি -f --forceকী করছেন তা সত্যি না জানা পর্যন্ত পতাকা ব্যবহার করবেন না । এটি অন্যান্য সমস্যার কারণ হতে পারে।
kyb

এটি আমার জন্য উবুন্টু 18.04 দিয়ে সমাধান করেছিল (অ্যাপ্লিকেশনটিতে সমস্যাটি রয়েছে রেসকিউয়ের সময়।) আপনার যদি ইতিমধ্যে কোনও ডিরেক্টরি আছে তবে কেবল -ফ পতাকাটি ছেড়ে দিন।
ইলফ

11

আমি প্রতিটি উত্তরের মূল অংশগুলি চেষ্টা করেছিলাম, কোনও লাভ হয়নি। যা পরিশেষে এটি আমার জন্য স্থির হয়েছিল তা হল নিম্নলিখিত পরিবেশের ভেরিয়েবলগুলি রফতানি করা:

LD_LIBRARY_PATH=/usr/local/lib:~/Qt/5.9.1/gcc_64/lib
QT_QPA_PLATFORM_PLUGIN_PATH=~/Qt/5.9.1/gcc_64/plugins/ 

এটি আমার পক্ষে উবুন্টু 17.10 এ কাজ করেছে (তবে 16.04 সাল থেকে এই সমস্যাটি রয়েছে!) export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/lib/x86_64-linux-gnu/। দুর্ভাগ্যক্রমে এটি কেবল আমার ভিএলসি স্থির করেছে, ভার্চুয়ালবক্সে নয় যা একই ত্রুটিযুক্ত ...
লেজ

0.6.2 আপ এবং চলমান টেক্সচারগুলি পেতে উবুন্টুতে 18.04 এ কাজ করেছেন।
জাভিয়েরস্টুউ

8

সংস্করণ 5 থেকে, কিউটি একটি প্ল্যাটফর্ম বিমূর্তি সিস্টেম (কিউপিএ) ব্যবহার করে অন্তর্নিহিত প্ল্যাটফর্ম থেকে বিমূর্ত করতে করে।

প্রতিটি প্ল্যাটফর্মের জন্য বাস্তবায়ন প্লাগিনগুলি সরবরাহ করে। এক্স 11 এর জন্য এটি এক্সসিবি প্লাগইন। নির্ভরতা সম্পর্কে আরও তথ্যের জন্য এক্স 11 প্রয়োজনীয়তার জন্য কিউটি দেখুন ।


সুতরাং, নির্ভরতার তালিকা থেকে আমার কেবল সমস্ত প্যাকেজ ইনস্টল করা দরকার? এবং এই কাজ করবে? এছাড়াও আমি QT SDK dir- এ libqxcb.so ফাইলটি খুঁজে পেয়েছি, তবে এটি usr / lib ডিরেক্টরিতে রেখে দেওয়া আমার সমস্যার সমাধান করে না।
লোকমোশন

এক্স 11 প্ল্যাটফর্মগুলিতে একটি অ্যাপ্লিকেশন স্থাপন পৃষ্ঠায় আপনার প্রয়োজনীয় সমস্ত তথ্য থাকা উচিত।
ক্লোজ 1

আমি সেই পৃষ্ঠাতে উল্লিখিত সমস্ত প্যাকেজ ইনস্টল করেছি, তবে এটি কোনও লাভ হয়নি। আমি তথ্যটি পেয়েছি, প্ল্যাটফর্ম প্লাগইনগুলি অবশ্যই "প্ল্যাটফর্ম" ফোল্ডারে এক্সিকিউটেবলের ডিরেক্টরিতে থাকতে হবে। আমি সেখানে xcb প্লাগইন, এখন erroe পরিবর্তিত করা: xcb "প্লাগ-ইন লোড প্ল্যাটফর্ম করতে ব্যর্থ হয়েছে" "xcb উপলব্ধ প্ল্যাটফর্ম আছে।"
গতিশক্তি

4
@ ক্লোজ এটি আবার মারা গেছে :(
ব্যবহারকারী 89

@ user89 আমার জন্য নয়। সাময়িক সমস্যা হতে পারে?
ক্লোজ

6

সম্ভবত এটি সাহায্য করবে। আমি উবুন্টু 18.04 ব্যবহার করছি এবং যখন আমি পিপিএ পদ্ধতি ব্যবহার করে কৃতা ইনস্টল করেছি । আমি এই ত্রুটি পেয়েছি:

এই অ্যাপ্লিকেশনটি আরম্ভ করতে ব্যর্থ হয়েছিল কারণ এটি Qt প্ল্যাটফর্ম প্লাগইন "xcb" "" -র সন্ধান বা লোড করতে পারেনি।

উপলব্ধ প্ল্যাটফর্ম প্লাগইনগুলি হ'ল: লিনাক্সফবি, ন্যূনতম, মিনিম্যাগেল, অফস্ক্রিন, ওয়েল্যান্ডল্যান্ড-এএসএল, ওয়েল্যান্ডল্যান্ড, এক্সসিবি।

অ্যাপ্লিকেশনটি পুনরায় ইনস্টল করা এই সমস্যার সমাধান করতে পারে। বাতিল

আমি এই থ্রেড এবং অন্যান্য ওয়েবগুলিতে যে সমস্ত সমাধান পেয়েছি তাতে সফলতা না দিয়ে চেষ্টা করেছি।

অবশেষে, আমি একটি পোস্ট পেয়েছি যেখানে লেখক উল্লেখ করেছেন যে এই সহজ কমান্ডটি ব্যবহার করে qt5 এর ডিবাগিং সক্রিয় করা সম্ভব:

export QT_DEBUG_PLUGINS=1

এই কমান্ডটি যুক্ত করার পরে আমি আবার ক্রিটা চালাচ্ছি একই ত্রুটি পেয়েছি এখনকার কারণটি আমি কীভাবে জানি।

libxcb-xinerama.so.0: ভাগ করা অবজেক্ট ফাইলটি খুলতে পারে না: এ জাতীয় কোনও ফাইল বা ডিরেক্টরি নেই।

এই ত্রুটিটি "xcb" কে সঠিকভাবে লোড করতে বাধা দেয়। সুতরাং সমাধানটি ইনস্টল করা হবে "libxcb-xinerama.so.0" ঠিক আছে? তবে, আমি যখন কমান্ডটি চালাচ্ছি:

sudo apt install libxcb-xinerama

আমি লিব ইনস্টল করা হয়েছিল। তাই আমি হ'ল একটি পুরানো কৌশল ব্যবহার করেছি--reinstall

sudo apt install --reinstall libxcb-xinerama

এই শেষ আদেশটি আমার সমস্যার সমাধান করেছে।


6

এই সমস্যার অনেক কারণ থাকতে পারে। কী ব্যবহার করা হয়

export QT_DEBUG_PLUGINS=1

আপনি আপনার Qt অ্যাপ্লিকেশন চালানোর আগে। তারপরে, আউটপুটটি পরীক্ষা করুন, যা আপনাকে ত্রুটির দিকে নির্দেশ করবে। আমার ক্ষেত্রে এটি ছিল:

Cannot load library /opt/nao/plugins/platforms/libqxcb.so: (/opt/nao/bin/../lib/libz.so.1: version `ZLIB_1.2.9' not found (required by /usr/lib/x86_64-linux-gnu/libpng16.so.16))

তবে এটি বিভিন্ন থ্রেডে সমাধান করা হয়। উদাহরণস্বরূপ https://stackoverflow.com/a/50097275/2408964 দেখুন


: ফেসপাল: ওএমজি, একই পরামর্শ। না, এটি কোনও কার্যকর তথ্য সরবরাহ করে না, একই সঠিক ত্রুটির আরও অনেক বেশি ভার্বোজ সংস্করণ। অন্য কিছু দেখার জন্য কোনও ইঙ্গিত বা ক্লু নেই। কিছুই অনুপস্থিত, এমন কিছু "লোড করতে পারে না" যা আমি ইতিমধ্যে জানতাম না।
জন স্মিথ

3

আমি একই ত্রুটি বার্তাটি নিয়ে খুব অনুরূপ সমস্যায় পড়েছি। প্রথমে কমান্ড লাইন কমান্ড দিয়ে কিউটি ডিবাগ প্রিন্টারটি চালু করে কিছু ডিবাগ করুন:

QT_DEBUG_PLUGINS = 1 রফতানি করুন

এবং অ্যাপ্লিকেশন পুনরায় চালু করুন। আমার জন্য এটি নিম্নলিখিত প্রকাশ করেছেন:

"লাইব্রেরি / হোম /...//Miciconda3/lib/python3.7/site-packages/PyQt5/Qt/plugins/platforms/libqxcb.so লোড করা যায় না: (libxkbcommon-x11.so.0: ভাগ করা অবজেক্ট ফাইল খুলতে পারে না: অনুরূপ কোন ফাইল বা ডিরেক্টরি নেই)"

"লাইব্রেরি / হোম /...//Miciconda3/lib/python3.7/site-packages/PyQt5/Qt/plugins/platforms/libqxcb.so লোড করা যায় না: (libxkbcommon-x11.so.0: ভাগ করা অবজেক্ট ফাইল খুলতে পারে না: অনুরূপ কোন ফাইল বা ডিরেক্টরি নেই)"

প্রকৃতপক্ষে, আমি libxkbcommon-x11.so.0 এবং libxkbcommon-x11.so.0 অনুপস্থিত ছিল। এরপরে, লিনাক্স কমান্ড লাইন থেকে dpkg ব্যবহার করে আপনার আর্কিটেকচারটি পরীক্ষা করুন। (আমার জন্য, "আর্চ" কমান্ডটি একটি পৃথক এবং অরক্ষিত ফলাফল দিয়েছে)

dpkg - প্রিন্ট-আর্কিটেকচার আমার জন্য # ফলাফল: amd64

তারপরে আমি "libxkbcommon-x11.so.0 উবুন্টু 18.04 amd64" গুগল করেছি এবং অনুরূপভাবে libxkbcommon-x11.so.0 এর জন্য, যা প্যাকেজ.বুন্টু.কম-এ এই প্যাকেজগুলি দেয়। এটি আমাকে বলেছিল, আত্মবিশ্বাসের দিক থেকে পূর্ববর্তী স্থানে আমি libxkbcommon-x11-0 এবং libxkbcommon0 নামক প্যাকেজগুলি হারিয়েছি এবং এই প্যাকেজগুলি ইনস্টল করার ক্ষেত্রে প্রয়োজনীয় ফাইলগুলি অন্তর্ভুক্ত থাকবে, তবে দেব সংস্করণগুলি তা করবে না। তারপরে সমাধান:

sudo অ্যাপ্লিকেশন - আপডেট

sudo apt-get libxkbcommon0 ইনস্টল করুন

sudo apt-get libxkbcommon-x11-0 ইনস্টল করুন


2

ভাইবার ইনস্টল করার পরেও আমি একই সমস্যার মুখোমুখি হয়েছিলাম। এটিতে সমস্ত প্রয়োজনীয় Qt গ্রন্থাগার ছিল /opt/viber/plugins/। আমি নির্ভরতাগুলি /opt/viber/plugins/platforms/libqxcb.soখুঁজে পেয়েছি এবং হারিয়ে যাওয়া নির্ভরতা পেয়েছি। তারা libxcb-render.so.0, libxcb-image.so.0, libxcb-icccm.so.4, libxcb-xkb.so.1 তাই আমি আমার সমস্যা এই লাইব্রেরি সঙ্গে অনুপস্থিত প্যাকেজ ইনস্টল করার মাধ্যমে সমাধান হয়েছে:

apt-get install libxcb-xkb1 libxcb-icccm4 libxcb-image0 libxcb-render-util0


টিজেন এমুলেটর চালু করতে আমার সমস্যা হয়েছিল। এই সাহায্য করেছে। ধন্যবাদ
অ্যালেক্সএম

2

সুতরাং, আমি সমস্যাটি কী তা বোঝার চেষ্টা করে প্রায় এক দিন কাটিয়েছি; প্রস্তাবিত সমস্ত সমাধান চেষ্টা করে দেখেছি, তবে এর কোনওটিই এক্সসিবি লাইব ইনস্টল বা কিউটি প্লাগইন ফোল্ডার রফতানির মতো কাজ করে নি। যে সমাধানটি ব্যবহারের পরামর্শ দিয়েছেQT_DEBUG_PLUGINS=1ইস্যুটি ডিবাগ দিয়েছিল তা আমাকে উত্তরের মতো সরাসরি অন্তর্দৃষ্টি দেয়নি - পরিবর্তে আমি কিউটি 5 কোরের মধ্যে অমীমাংসিত প্রতীক সম্পর্কে কিছু পেয়েছিলাম।

এটি আমাকে একটি ইঙ্গিত দিয়েছে, যদিও: যদি এটি বিভিন্ন Qt ইনস্টলেশন থেকে বিভিন্ন ফাইল ব্যবহার করার চেষ্টা করে? আমার মেশিনে আমার স্ট্যান্ডার্ড সংস্করণ ইনস্টল ছিল /home/username/Qt/এবং আমার প্রকল্পের মধ্যে কিছু স্থানীয় বিল্ড ছিল যা আমি নিজের দ্বারা সংকলিত করেছি (আমার অন্যান্য কাস্টম বিল্ট কিটগুলি পাশাপাশি অন্যান্য স্থানে রয়েছে)। যখনই আমি কোনও কিট (কিউটি রক্ষণাবেক্ষণ সরঞ্জাম দ্বারা ইনস্টল করা বা নিজের দ্বারা নির্মিত) ব্যবহার করার চেষ্টা করেছি, আমি একটি "এক্সসিবি ত্রুটি" পেয়েছি।

সমাধানটি সহজ ছিল: কিউটি পাথটি সরবরাহ করুন CMAKE_PREFIX_PATHএবং Qt5_DIRআমার মতো না হলেও এটি সমস্যার সমাধান করেছে। উদাহরণ:

cmake .. -DCMAKE_PREFIX_PATH=/home/username/Qt/5.11.1/gcc_64


ওহ, মানুষ, লিনাক্স বিশ্বের সাথে এটি কী, যেখানে ওয়েবে প্রতিটি একক সমাধান কাজ করার পরিবর্তে অপ্রত্যাশিত ত্রুটি সরবরাহ করে? কখনও? উবুন্টুর স্টক ইনস্টলটিতে একটি ওয়ার্কিং ডেস্কটপ পাওয়ার চেষ্টা করার এখন তিন দিন। না, গুগল থেকে যারা এখানে আসছেন তাদের জন্য: এই সমাধানটি এই পৃষ্ঠার অন্য যে কোনও কিছুর চেয়ে ভাল কাজ করে না। আমি ভাবতে শুরু করি লিনাক্স আসলে মোটেই কাজ করে না।
জন স্মিথ

1

আমার ক্ষেত্রে, আমাকে একটি উবুন্টু ভার্চুয়ালবক্স অতিথিতে দুটি কিউটি অ্যাপ স্থাপন করা দরকার। একটি হ'ল কমান্ড-লাইন ("অ্যাপ"), অন্যটি জিইউআই_ভিত্তিক ("অ্যাপ্লিকেশন_জিইউআই")।

প্রয়োজনীয় লিবস কী তা জানতে আমি "এলডিডি অ্যাপ" ব্যবহার করেছি এবং সেগুলি উবুন্টু অতিথির কাছে অনুলিপি করেছি। কম্যান্ড-লাইন এক্সিকিউটেবল "অ্যাপ্লিকেশন" ঠিক আছে কাজ করার সময়, GUI ভিত্তিক এক্সিকিউটেবল ক্র্যাশ, xcb "ত্রুটি" প্লাগ-ইন লোড প্ল্যাটফর্ম করতে ব্যর্থ হয়েছে "। দান libxcb.so জন্য ldd আমি চেক, কিন্তু এই অত্যন্ত কোন অনুপস্থিত নির্ভরতা ছিল।

সমস্যাটি মনে হয়েছিল যে আমি সমস্ত সঠিক লাইব্রেরি অনুলিপি করে অনুলিপি করে অতিথি সিস্টেমে ইতিমধ্যে উপস্থিত লাইব্রেরিগুলি অনুলিপি করেছিলাম ... এর অর্থ হ'ল (ক) এগুলি প্রথম স্থানে অনুলিপি করা অপ্রয়োজনীয় ছিল এবং (খ) আরও খারাপ , তাদের অনুলিপি ইনস্টল লাইব্রেরি মধ্যে অসম্পূর্ণতা উত্পাদন করে। সবচেয়ে খারাপ কথা, তারা বলেছিল যে আমি বলেছি, এলডিডি দ্বারা অন্বেষণযোগ্য ছিল ..

সমাধান? নিশ্চিত করুন যে আপনি যে লাইব্রেরিগুলি এলডিডি দ্বারা নিখোঁজ হিসাবে দেখিয়েছেন এবং কোনও অতিরিক্ত লাইব্রেরি একেবারেই অনুলিপি করেছেন তা নিশ্চিত করুন ।


এবং, আমি এই পরামর্শটি ব্যবহার করে আমার সমস্যার সমাধান করব, কীভাবে?
জন স্মিথ

1

আমার ক্ষেত্রে অনুপস্থিত শিরোনামের ফাইলগুলি libxcbQt দ্বারা নির্মিত হয়নি। Https://wiki.qt.io/Building_Qt_5_from_Git#Linux.2FX11 অনুসারে এগুলি ইনস্টল করা সমস্যার সমাধান করেছে:

yum install libxcb libxcb-devel xcb-util xcb-util-devel mesa-libGL-devel libxkbcommon-devel

4
হ্যাঁ আমার মনে হয় আমারও একই সমস্যা ছিল। এমনকি উত্স থেকে কিউটি সংকলন করেও লক্ষ্য করা যায়নি যে আমার সিস্টেমে এক্সসিবি-টুলচেনটি বুদ্ধিমান ছিল না তাই কিউটি-এক্সসিবি অংশগুলি ইনস্টল হয় নি।
শেভি

1

আমি সমাধানটি পছন্দ করি qt.conf

qt.confপরবর্তী লাইনের সাথে এক্সিকিউটেবলের কাছে রাখুন :

[Paths]
Prefix = /path/to/qtbase

এবং এটি একটি কবজির মতো কাজ করে: ^)

একটি কাজের উদাহরণের জন্য:

[Paths]
Prefix = /home/user/SDKS/Qt/5.6.2/5.6/gcc_64/

এ সম্পর্কিত ডকুমেন্টেশনটি এখানে: https://doc.qt.io/qt-5/qt-conf.html


এবং আমি "এক্সিকিউটেবলের কাছে qt.conf রাখি" ঠিক কীভাবে?
জন স্মিথ

উপস্থাপিত সামগ্রী সহ ফাইল তৈরি করুন। cd path/to/executable; vim qt.conf, পেস্ট করুন। সংরক্ষণ করুন এবং প্রস্থান.
কেব

0

আমি সমস্ত কিউটি স্টাফগুলিকে আমার ওপেন সোর্স প্রকল্পগুলির জেনেরিক লিনাক্স বিল্ডগুলির সাথে স্থিতিশীলভাবে সংযুক্ত করি। এটি জীবনকে কিছুটা সহজ করে তোলে। আপনাকে প্রথমে Qt গ্রন্থাগারগুলির স্থির সংস্করণ তৈরি করতে হবে। অবশ্যই লাইসেন্স সংক্রান্ত সমস্যার কারণে ক্লোজড সোর্স সফ্টওয়্যারটিতে এটি প্রয়োগ করা যাবে না। লিনাক্সে কিউটি 5 অ্যাপ্লিকেশন স্থাপনের বিষয়টি বর্তমানে কিছুটা সমস্যাযুক্ত কারণ উবুন্টু 12.04, উদাহরণস্বরূপ, প্যাকেজ সংগ্রহস্থলে Qt5 লাইব্রেরি নেই।


0

আমার এই সমস্যাটি ছিল এবং এক কুঁচকিতে আমি আমার পরিবেশ থেকে কিউটি কনফিগগুলি সরিয়ে দিয়েছিলাম। অর্থাৎ,

rm -rf ~/.config/Qt*

তারপরে আমি কিউটক্রিটর শুরু করেছি এবং এটি মেশিনের বিদ্যমান অবস্থার সাথে পুনরায় কনফিগার করেছে। আমার প্রকল্পগুলি কোথায় ছিল তা আর মনে নেই, তবে এর অর্থ হ'ল আমাকে তাদের "আবার প্রথমবার" ব্রাউজ করতে হয়েছিল।

তবে আরও গুরুত্বপূর্ণ বিষয় এটি নিজেরাই গ্রন্থাগারের পাথের একটি সুসংগত সেট তৈরি করেছে, তাই আমি xcb বা qxcb লাইব্রেরিগুলি নিখোঁজ না করে আবার আমার প্রকল্পের এক্সিকিউটেবলগুলিকে পুনর্নির্মাণ এবং পরিচালনা করতে পারি।


Qtcreator একই হ'ল ত্রুটি দেয় যা আমি সমাধান করার চেষ্টা করছি। অবশ্যই. কারণ আমি ওয়েবে যে কোনও লিনাক্স সমস্যার এক হিসাবে কাজ করার সমাধান খুঁজে পেয়েছি, এটি লিনাক্স হবে না। দুঃখিত, এটি কেবল অবিশ্বাস্যরূপে হতাশাব্যঞ্জক, বন্য হংসের পুরো এসই পৃষ্ঠাটিতে কোনও একক ব্যবহারযোগ্য সমাধান ছাড়াই তাড়া করে তাড়াতাড়ি কোনও স্টক উবুন্টু ইনস্টল করে একটি ডেস্কটপ প্যানেল চলতে পারে। আমি খুব সন্দেহজনক হয়ে উঠছি যে লিনাক্স আসলে ঠিক কাজ করে।
জন স্মিথ

এটি আমার ক্ষেত্রে সহায়তা করেনি।
ইউজিন গ্র। ফিলিপভ

-4

sudo ln -sf /usr/lib/CP"adapt-it"/0/qt5/plugins/platforms/ / usr / bin /

এটি প্রতীকী লিঙ্কটি মিস করেছে এটি তৈরি করে। কিউটি জন্য ভাল! ভিএলসির পক্ষে ভালো !!


4
আপনার উত্তরটি ব্যাখ্যা করুন
অনন্ত রাজু সি

কাজ করে না। কারণ কিছুই কাজ করে না। এই পৃষ্ঠাটি 100% ভুল, এমনকি এখানে "সমাধান" এর একটিও কাজ করে না।
জন স্মিথ

@ জনস্মিত উত্তরগুলির পরিমাণের পরিমাণ বিবেচনা করে তাদের মধ্যে কিছু লোক অবশ্যই কিছু লোকের পক্ষে কাজ করে। দুর্ভাগ্যক্রমে কিছুই আপনার পক্ষে কাজ করে না এবং আমি আপনার হতাশাকে বুঝতে পারি। তবে যদি কিছুই কাজ না করে তবে আপনার নিজের গবেষণা করার চেষ্টা করুন এবং আপনার ক্ষেত্রে কাজ করে এমন একটি উত্তর জমা দিন। মানে, আসুন, আপনি প্ল্যাটফর্মটি 5 বছর ধরে ব্যবহার করছেন এবং কেবল 6 টি উত্তর আছে? আমি বিনীতভাবে অভিযোগ করার পরিবর্তে সম্প্রদায়কে ফিরে দেওয়ার পরামর্শ দিই। একে অপরকে সাহায্য করার জন্য আমরা এখানে আছি।
নিউরোট্রান্সমিটার
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.