লাইবেল এর কারণে কিউটি অ্যাপ্লিকেশনগুলি কাজ করে না


10

আমি কিউটি 5 তে আরপিআই 2 এর জন্য কয়েকটি (সাধারণ) জিইউআই অ্যাপ্লিকেশন বিকাশ করছি। সেটআপ: কোড ডেভেলপমেন্ট একটি উইন্ডোজ ল্যাপটপে নেটবেইনস + কিউটি ডিজাইনার ব্যবহার করে এবং এটির সাথে আসা সরঞ্জামগুলি (জি ++ 4.9.2, কিউটি 5.3.2, প্যাকেজ কিউটি 5-ডিফল্ট) হিসাবে আরপিআইতে রিমোট ভিত্তিতে তৈরি করা হয় এখানে বর্ণিত । এই সেটআপটি জেনারালি ঠিক কাজ করে।

যাইহোক, এমনকি একটি ন্যূনতম উদাহরণও কাজ করে না, যদিও ঠিক আছে। এটি শুরু করতে ব্যর্থ হয়, এবং libEGL warning: DRI2: failed to authenticateযদি অ্যাপ্লিকেশনটি টার্মিনাল থেকে শুরু করা হয়ে থাকে appears

আরপিআইতে কিউটি চালানো যায় না? অন্যথায় দয়া করে আমাকে এই সমস্যা সমাধানে সহায়তা করুন।

এডিআইটি 1: findআলেক্সি ভেসনিনের মতো পারফর্ম কমান্ড করার পরে আমার যা আছে তা প্রস্তাবিত:

/usr/lib/arm-linux-gnueabihf/libEGL.so
/usr/lib/arm-linux-gnueabihf/libEGL.so.1
/usr/lib/arm-linux-gnueabihf/libEGL.so.1.0.0
/usr/lib/chromium-browser/libs/libEGL.so
/usr/lib/chromium-browser/libs/libEGL.so.TOC
/opt/vc/lib/libEGL.so
/opt/vc/lib/libEGL_static.a


/usr/lib/arm-linux-gnueabihf/libGLESv2.so.2
/usr/lib/arm-linux-gnueabihf/libGLESv2.so.2.0.0
/usr/lib/arm-linux-gnueabihf/libGLESv2.so
/usr/lib/chromium-browser/libs/libGLESv2.so
/usr/lib/chromium-browser/libs/libGLESv2.so.TOC
/opt/vc/lib/libGLESv2_static.a
/opt/vc/lib/libGLESv2.so

EDIT2: অতিরিক্ত তথ্য সহ তালিকা:

-rw-r--r-- 1 pi pi 171312 Nov 11 14:20 /usr/lib/arm-linux-gnueabihf/libEGL.so.1.0.0
-rwxr-xr-x 1 root root 107880 Nov  2 22:27 /usr/lib/chromium-browser/libs/libEGL.so
-rw-r--r-- 1 root root 14189 Nov  2 22:27 /usr/lib/chromium-browser/libs/libEGL.so.TOC
-rw-r--r-- 1 root root 202072 Dec 19 21:01 /opt/vc/lib/libEGL.so
-rw-r--r-- 1 root root 245356 Dec 19 21:19 /opt/vc/lib/libEGL_static.a



-rw-r--r-- 1 pi pi 29996 Jan 12  2016 /usr/lib/arm-linux-gnueabihf/libGLESv2.so.2.0.0
-rwxr-xr-x 1 root root 2632816 Nov  2 22:27 /usr/lib/chromium-browser/libs/libGLESv2.so
-rw-r--r-- 1 root root 29617 Nov  2 22:27 /usr/lib/chromium-browser/libs/libGLESv2.so.TOC
-rw-r--r-- 1 root root 100008 Dec 19 21:19 /opt/vc/lib/libGLESv2_static.a
-rw-r--r-- 1 root root 105768 Nov 25 17:35 /opt/vc/lib/libGLESv2.so

EDIT3:

linux-vdso.so.1 (0x7ecef000)
    /usr/lib/arm-linux-gnueabihf/libarmmem.so (0x76f53000)
    libQt5Widgets.so.5 => /usr/lib/arm-linux-gnueabihf/libQt5Widgets.so.5 (0x76a25000)
    libQt5Gui.so.5 => /usr/lib/arm-linux-gnueabihf/libQt5Gui.so.5 (0x76655000)
    libQt5Core.so.5 => /usr/lib/arm-linux-gnueabihf/libQt5Core.so.5 (0x761d0000)
    libGLESv2.so => /opt/vc/lib/libGLESv2.so (0x761ab000)
    libpthread.so.0 => /lib/arm-linux-gnueabihf/libpthread.so.0 (0x76183000)
    libstdc++.so.6 => /usr/lib/arm-linux-gnueabihf/libstdc++.so.6 (0x760a6000)
    libm.so.6 => /lib/arm-linux-gnueabihf/libm.so.6 (0x7602b000)
    libgcc_s.so.1 => /lib/arm-linux-gnueabihf/libgcc_s.so.1 (0x75ffe000)
    libc.so.6 => /lib/arm-linux-gnueabihf/libc.so.6 (0x75ebd000)
    libgobject-2.0.so.0 => /usr/lib/arm-linux-gnueabihf/libgobject-2.0.so.0 (0x75e63000)
    libglib-2.0.so.0 => /lib/arm-linux-gnueabihf/libglib-2.0.so.0 (0x75d5f000)
    libX11.so.6 => /usr/lib/arm-linux-gnueabihf/libX11.so.6 (0x75c49000)
    libGLESv2.so.2 => /usr/lib/arm-linux-gnueabihf/libGLESv2.so.2 (0x75c31000)
    /lib/ld-linux-armhf.so.3 (0x54b67000)
    libpng12.so.0 => /lib/arm-linux-gnueabihf/libpng12.so.0 (0x75c01000)
    libharfbuzz.so.0 => /usr/lib/arm-linux-gnueabihf/libharfbuzz.so.0 (0x75ba5000)
    libz.so.1 => /lib/arm-linux-gnueabihf/libz.so.1 (0x75b7d000)
    libicui18n.so.52 => /usr/lib/arm-linux-gnueabihf/libicui18n.so.52 (0x759bd000)
    libicuuc.so.52 => /usr/lib/arm-linux-gnueabihf/libicuuc.so.52 (0x75874000)
    libdl.so.2 => /lib/arm-linux-gnueabihf/libdl.so.2 (0x75861000)
    librt.so.1 => /lib/arm-linux-gnueabihf/librt.so.1 (0x7584a000)
    libEGL.so => /opt/vc/lib/libEGL.so (0x75810000)
    libbcm_host.so => /opt/vc/lib/libbcm_host.so (0x757ea000)
    libvchiq_arm.so => /opt/vc/lib/libvchiq_arm.so (0x757d4000)
    libvcos.so => /opt/vc/lib/libvcos.so (0x757ba000)
    libffi.so.6 => /usr/lib/arm-linux-gnueabihf/libffi.so.6 (0x757aa000)
    libpcre.so.3 => /lib/arm-linux-gnueabihf/libpcre.so.3 (0x75736000)
    libxcb.so.1 => /usr/lib/arm-linux-gnueabihf/libxcb.so.1 (0x75717000)
    libdrm.so.2 => /usr/lib/arm-linux-gnueabihf/libdrm.so.2 (0x756fa000)
    libglapi.so.0 => /usr/lib/arm-linux-gnueabihf/libglapi.so.0 (0x756c1000)
    libfreetype.so.6 => /usr/lib/arm-linux-gnueabihf/libfreetype.so.6 (0x75629000)
    libgraphite2.so.3 => /usr/lib/arm-linux-gnueabihf/libgraphite2.so.3 (0x755fb000)
    libicudata.so.52 => /usr/lib/arm-linux-gnueabihf/libicudata.so.52 (0x73f7e000)
    libXau.so.6 => /usr/lib/arm-linux-gnueabihf/libXau.so.6 (0x73f73000)
    libXdmcp.so.6 => /usr/lib/arm-linux-gnueabihf/libXdmcp.so.6 (0x73f67000)

আপনি কি দূরবর্তীভাবে অ্যাপ্লিকেশনটি চালানোর চেষ্টা করছেন?
স্বর্ণলোকস

না, আমি এটি আরপিআই থেকে চালাচ্ছি
আন্দ্রে প্রো

রিমোট চলমান ক্ষেত্রে ত্রুটি বার্তাগুলির ক্ষেত্রে @ গল্ডলোকগুলি আলাদা হবে
আলেক্সি ভেসিনিন

উত্তর:


7

এটি একটি সাধারণ লিনাক্স এবং ইউনিক্স সমস্যা, পাই-সম্পর্কিত কিছু নয়। সমস্যাটি এখানে: আপনার লিবসকে সিমলিংক করা দরকার। কি sudo -sএবং এই ধরনের একটি অপারেশন জন্য একটি রুট হয়ে। এবং এর সমস্যার সমাধান করা যাক!

প্রথমে এগুলি সন্ধান করুন:

# find / -name libEGL* -type f
# find / -name libGLESv2* -type f

এবং এটি এই জাতীয় ফাইলগুলির সাথে পুরো পথের সাথে সংযোগ স্থাপন করুন :

# ln -fs /path/to/lib/libEGL.so /usr/lib/arm-linux-gnueabihf/libEGL.so
# ln -fs /path/to/lib/libEGL.so /usr/lib/arm-linux-gnueabihf/libEGL.so.1
# ln -fs /path/to/lib/libGLESv2.so /usr/lib/arm-linux-gnueabihf/libGLESv2.so
# ln -fs /path/to/lib/libGLESv2.so /usr/lib/arm-linux-gnueabihf/libGLESv2.so.2

এবং ওএসকে আপনি কী করেছেন তা জানতে দিন এবং এটিকে এটিকে বিবেচনা করুন:

# ldconfig

কমান্ডগুলি আপনাকে দেখাবে /path/to/libএমন পুরো পথ দিয়ে আপনার যে অংশটি প্রতিস্থাপন করা উচিত find। এবং যদি অনিবদ্ধ ব্যবহারকারীর কাছ থেকে চালানো হয় - এটি নিশ্চিত হয়ে নিন যে এটি videoগ্রুপে রয়েছে - কখনও কখনও অনুমতি সেটিংসের এই পুরানো অংশটি ভাসমান হয়। কীভাবে চেক করবেন:

# getent group video | cut -d: -f3

যদি এটি কিছুই না দেয় - তবে এটি সেই ক্ষেত্রে নয়, তবে যদি এটি একটি নম্বর দেয় তবে groupsকমান্ডে আপনার ব্যবহারকারীর নামটি টাইপ করুন - ব্যবহারকারীর জন্য একটি উদাহরণ pi:

# groups pi

যদি এটি videoগোষ্ঠীটি না দেখায় - এটি পরিপূরক গোষ্ঠী হিসাবে যুক্ত করুন, মূল হিসাবে নয়, এটির মতো :

# usermod -a -G video pi

এটি কোনও জিনিস না ভেঙে piগ্রুপে ব্যবহারকারীকে যুক্ত করবেvideo

আপডেট: ফাইলগুলি কী কী তা খুঁজে পেতে অতিরিক্ত চেক কমান্ড:

# find / -name libEGL* -type f -exec ls -la {} \;
# find / -name libGLESv2* -type f -exec ls -la {} \;

আপডেট # 2: মূল থেকে এটি করার চেষ্টা করুন:

# ln -fs /opt/vc/lib/libEGL.so /usr/lib/arm-linux-gnueabihf/libEGL.so
# ln -fs /opt/vc/lib/libGLESv2.so /usr/lib/arm-linux-gnueabihf/libGLESv2.so
# ldconfig

আপডেট # 3: উত্স থেকে বাগফিক্স সহ Qt5 বিল্ডিং।

  • এখানে যান , অ্যাপটি-গেটের মাধ্যমে নির্ভরতা ইনস্টল করুন (-দেহ প্যাকেজগুলি)
  • রুট হিসাবে apt-get build-dep qt5-default
  • রুট হিসাবে apt-get install libxcb-xinerama0-dev flex bison gperf libicu-dev libxslt-dev ruby libssl-dev libxcursor-dev libxcomposite-dev libxdamage-dev libxrandr-dev libdbus-1-dev libfontconfig1-dev libcap-dev libxtst-dev libpulse-dev libudev-dev libpci-dev libnss3-dev libasound2-dev libxss-dev libegl1-mesa-dev gperf bison libasound2-dev libgstreamer0.10-dev libgstreamer-plugins-base0.10-dev, তার পরেapt-get install '^libxcb.*-dev' libx11-xcb-dev libglu1-mesa-dev libxrender-dev libxi-dev

এর পরে এটি করুন:

 # git clone https://code.qt.io/qt/qt5.git
 # cd qt5
 # git submodule update --init

./configure --helpআপনার ক্ষেত্রে সেই লিঙ্ক আউটপুট দেওয়ার পরে এবং আমরা চালিয়ে যাব

শেষ আপডেট: উত্স বিল্ডটি কৌতুকটি করেছে, প্যাকেজগুলিতে একটি পুরানো Qt নিয়ে সমস্যা ছিল। কনফিগারেশন স্ট্রিং:

 # mkdir qt-build
 # cd qt-build
 # ../configure -opensource -static -confirm-license -release -nomake examples -openssl-runtime -prefix /usr

রাস্পবেরি পাই বিল্ডটি প্রায় 40 ঘন্টা এবং 6 + গিগাবাইট স্টোরেজ স্পেস নিয়েছিল। সমস্যা স্থির


মন্তব্যগুলি বর্ধিত আলোচনার জন্য নয়; এই কথোপকথন চ্যাটে সরানো হয়েছে ।
স্টিভ রবিলার্ড

1
প্রায় 47 ঘন্টা আরও সুনির্দিষ্ট হতে
আন্দ্রে প্রো

তবে বিজয় আমাদের, শেষ অবধি!
অ্যালেক্সি ভেসিনিন

1
আমি এটিকে উজ্জীবিত করতে চাই - তবে 2 বছর পরে, প্যাকেজ রক্ষণাবেক্ষণকারীদের এখনও এটি স্থির করে দেওয়ার কোনও অজুহাত নেই :(
ইউকে মনি

@ ইউ কে মনকি কেবল এই বিষয়টিই আমাকে আমার নিজের গন্ধের জন্য একটি লিনাক্সকে বিকৃত করতে বাধ্য করেছে - সমস্যাটি এখনও বহুগুণে বেড়ে যায় :(
আলেক্সি ভেসিনিন

0

আমার ক্ষেত্রে এটি সমস্যার সমাধান করেছে

sudo ln -s /usr/lib/arm-linux-gnueabihf/libGLESv2.so.2 /usr/lib/arm-linux-gnueabihf/libGLESv2.so
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.