From mboxrd@z Thu Jan 1 00:00:00 1970 From: Hartmut Goebel Subject: Re: QT install and search paths Date: Sun, 27 Aug 2017 18:49:32 +0200 Message-ID: References: <42cac0e9-d948-3ea1-7312-d003751fd6a8@crazy-compilers.com> <874lsxi3bx.fsf@member.fsf.org> <4a1d7083-eb0a-9c79-fd54-686b822da5ed@crazy-compilers.com> <87378fkeho.fsf@member.fsf.org> <87o9r3iqh7.fsf@member.fsf.org> Mime-Version: 1.0 Content-Type: multipart/alternative; boundary="------------C09D8A48B556F98C185F6003" Return-path: Received: from eggs.gnu.org ([2001:4830:134:3::10]:48691) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1dm0kn-0001kr-MY for guix-devel@gnu.org; Sun, 27 Aug 2017 12:49:43 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1dm0kk-0007cN-Fe for guix-devel@gnu.org; Sun, 27 Aug 2017 12:49:41 -0400 Received: from mail-out.m-online.net ([212.18.0.9]:44900) by eggs.gnu.org with esmtps (TLS1.0:DHE_RSA_AES_256_CBC_SHA1:32) (Exim 4.71) (envelope-from ) id 1dm0kk-0007bF-4N for guix-devel@gnu.org; Sun, 27 Aug 2017 12:49:38 -0400 In-Reply-To: <87o9r3iqh7.fsf@member.fsf.org> Content-Language: en-US List-Id: "Development of GNU Guix and the GNU System distribution." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: guix-devel-bounces+gcggd-guix-devel=m.gmane.org@gnu.org Sender: "Guix-devel" To: =?UTF-8?B?5a6L5paH5q2m?= Cc: guix-devel This is a multi-part message in MIME format. --------------C09D8A48B556F98C185F6003 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable Am 25.08.2017 um 18:04 schrieb =E5=AE=8B=E6=96=87=E6=AD=A6: > Here is a patch to adjust the directory layout of qtbase: I tested this patch and building qtwayland failed: cd /tmp/guix-build-qtwayland-5.9.1.drv-0/qtwayland-opensource-src-5.9.1/test= s/auto/client/client =2E/target_wrapper.sh=C2=A0 ./tst_client The error message is (which is misleading, see below) This application failed to start because it could not find or load the Qt platform plugin "wayland" in "". Available platform plugins are: eglfs, linuxfb, minimal, minimalegl, offscreen, vnc, xcb, wayland-egl, wayland, wayland-xcomposite-egl, wayland-xcomposite-glx. I searched the internet for this without any useful result (I did not search too long, though). But there was a hint pointing to some missing library. And indeed the strace output (see below, shortened) shows: the platform plugin is found, but it requires libQt5WaylandClient.so.5 which is searched without success. The file exists in /tmp/guix-build-qtwayland-5.9.1.drv-0/qtwayland-opensource-src-5.9.1/lib/= , so it is part of qtwayland but not yet installed. It is searched in several sub-directories of /tmp/guix-build-=E2=80=A6/qtwayland-opensource-src-5.9.1/plugins/platform= s/../../../ (which is the /tmp/guix-build-qtwayland-5.9.1.drv-0 directory), but not in =E2=80=A6/lib. I did not find out how to 15562 open("/tmp/guix-build-qtwayland-5.9.1.drv-0/qtwayland-opensource-src-5.9.= 1/plugins/platforms/libqwayland-generic.so", O_RDONLY|O_CLOEXEC) =3D 8 15562 read(8, "\177ELF\2\1\1\0\0\0\0\0\0\0\0\0\3\0>\0\1\0\0\0`\24\0\0\0\0\0\0"..., 832) =3D 832 =E2=80=A6 15562 open("/gnu/store/dnmbw43sl6yx82awzj8c0y4wcjz5z2kd-qtbase-5.9.1/lib/libQt5= WaylandClient.so.5", O_RDONLY|O_CLOEXEC) =3D -1 ENOENT (No such file or directory) 15562 open("/tmp/guix-build-qtwayland-5.9.1.drv-0/qtwayland-opensource-src-5.9.= 1/plugins/platforms/../../../tls/x86_64/libQt5WaylandClient.so.5", O_RDONLY|O_CLOEXEC) =3D -1 ENOENT (No such file or directory) 15562 stat("/tmp/guix-build-qtwayland-5.9.1.drv-0/qtwayland-opensource-src-5.9.= 1/plugins/platforms/../../../tls/x86_64", 0x7ffc321fe710) =3D -1 ENOENT (No such file or directory) 15562 open("/tmp/guix-build-qtwayland-5.9.1.drv-0/qtwayland-opensource-src-5.9.= 1/plugins/platforms/../../../tls/libQt5WaylandClient.so.5", O_RDONLY|O_CLOEXEC) =3D -1 ENOENT (No such file or directory) 15562 stat("/tmp/guix-build-qtwayland-5.9.1.drv-0/qtwayland-opensource-src-5.9.= 1/plugins/platforms/../../../tls", 0x7ffc321fe710) =3D -1 ENOENT (No such file or directory) 15562 open("/tmp/guix-build-qtwayland-5.9.1.drv-0/qtwayland-opensource-src-5.9.= 1/plugins/platforms/../../../x86_64/libQt5WaylandClient.so.5", O_RDONLY|O_CLOEXEC) =3D -1 ENOENT (No such file or directory) 15562 stat("/tmp/guix-build-qtwayland-5.9.1.drv-0/qtwayland-opensource-src-5.9.= 1/plugins/platforms/../../../x86_64", 0x7ffc321fe710) =3D -1 ENOENT (No such file or directory) 15562 open("/tmp/guix-build-qtwayland-5.9.1.drv-0/qtwayland-opensource-src-5.9.= 1/plugins/platforms/../../../libQt5WaylandClient.so.5", O_RDONLY|O_CLOEXEC) =3D -1 ENOENT (No such file or directory) 15562 stat("/tmp/guix-build-qtwayland-5.9.1.drv-0/qtwayland-opensource-src-5.9.= 1/plugins/platforms/../../..", {st_mode=3DS_IFDIR|0755, st_size=3D100, ...}) =3D 0 15562 open("/gnu/store/rmjlycdgiq8pfy5hfi42qhw3k7p6kdav-glibc-2.25/lib/libQt5Wa= ylandClient.so.5", O_RDONLY|O_CLOEXEC) =3D -1 ENOENT (No such file or directory) Thinks I tried to solve this: - setting |QT_QPA_PLATFORM_PLUGIN_PATH - creating a file |qt.conf in the app folder Things I did *not* try: - reading http://www.tripleboot.org/?p=3D138 =E2=80=93 to long :-) Another insight: - export QT_DEBUG_PLUGINS=3D1 makes qt report useful messages. || --=20 Regards Hartmut Goebel | Hartmut Goebel | h.goebel@crazy-compilers.com | | www.crazy-compilers.com | compilers which you thought are impossible | --------------C09D8A48B556F98C185F6003 Content-Type: text/html; charset=utf-8 Content-Transfer-Encoding: quoted-printable
Am 25.08.2017 um 18:04 schrieb =E5=AE=8B= =E6=96=87=E6=AD=A6:
Here is a patch to adjust the directory layout of qt=
base:

I tested this patch and building qtwayland failed:

cd /tmp/guix-build-qtwayland-5.9.1.drv-0/qtwayland-opensource-src-5.9.1/test= s/auto/client/client
./target_wrapper.sh=C2=A0 ./tst_client

The error message is (which is misleading, see below)

This application failed to start because it could not find or load the Qt platform plugin "wayland"
in "".

Available platform plugins are: eglfs, linuxfb, minimal, minimalegl, offscreen, vnc, xcb, wayland-egl, wayland, wayland-xcomposite-egl, wayland-xcomposite-glx.
I searched the internet for this without any useful result (I did not search too long, though). But there was a hint pointing to some missing library. And indeed the strace output (see below, shortened) shows: the platform plugin is found, but it requires libQt5WaylandClient.so.5 which is searched without success. The file exists in /tmp/guix-build-qtwayland-5.9.1.drv-0/qtwayland-opensource-src-5.9.1/lib/= , so it is part of qtwayland but not yet installed.

It is searched in several sub-directories of /tmp/guix-build-=E2=80=A6/qtwayland-opensource-src-5.9.1/plugins/platform= s/../../../ (which is the /tmp/guix-build-qtwayland-5.9.1.drv-0 directory), but not in =E2=80=A6/lib. I did not find out how to

15562 open("/tmp/guix-build-qtwayland-5.9.1.drv-0/qtwayland-opensource-src-5.9.= 1/plugins/platforms/libqwayland-generic.so", O_RDONLY|O_CLOEXEC) =3D 8
15562 read(8, "\177ELF\2\1\1\0\0\0\0\0\0\0\0\0\3\0>\0\1\0\0\0`\24\0\0\0\0\0\0"..= ., 832) =3D 832
=E2=80=A6
15562 open("/gnu/store/dnmbw43sl6yx82awzj8c0y4wcjz5z2kd-qtbase-5.9.1/lib/libQt5= WaylandClient.so.5", O_RDONLY|O_CLOEXEC) =3D -1 ENOENT (No such file or directory)
15562 open("/tmp/guix-build-qtwayland-5.9.1.drv-0/qtwayland-opensource-src-5.9.= 1/plugins/platforms/../../../tls/x86_64/libQt5WaylandClient.so.5", O_RDONLY|O_CLOEXEC) =3D -1 ENOENT (No such file or directory)
15562 stat("/tmp/guix-build-qtwayland-5.9.1.drv-0/qtwayland-opensource-src-5.9.= 1/plugins/platforms/../../../tls/x86_64", 0x7ffc321fe710) =3D -1 ENOENT (No such file or directory)
15562 open("/tmp/guix-build-qtwayland-5.9.1.drv-0/qtwayland-opensource-src-5.9.= 1/plugins/platforms/../../../tls/libQt5WaylandClient.so.5", O_RDONLY|O_CLOEXEC) =3D -1 ENOENT (No such file or directory)
15562 stat("/tmp/guix-build-qtwayland-5.9.1.drv-0/qtwayland-opensource-src-5.9.= 1/plugins/platforms/../../../tls", 0x7ffc321fe710) =3D -1 ENOENT (No such file or directory)
15562 open("/tmp/guix-build-qtwayland-5.9.1.drv-0/qtwayland-opensource-src-5.9.= 1/plugins/platforms/../../../x86_64/libQt5WaylandClient.so.5", O_RDONLY|O_CLOEXEC) =3D -1 ENOENT (No such file or directory)
15562 stat("/tmp/guix-build-qtwayland-5.9.1.drv-0/qtwayland-opensource-src-5.9.= 1/plugins/platforms/../../../x86_64", 0x7ffc321fe710) =3D -1 ENOENT (No such file or directory)
15562 open("/tmp/guix-build-qtwayland-5.9.1.drv-0/qtwayland-opensource-src-5.9.= 1/plugins/platforms/../../../libQt5WaylandClient.so.5", O_RDONLY|O_CLOEXEC) =3D -1 ENOENT (No such file or directory)
15562 stat("/tmp/guix-build-qtwayland-5.9.1.drv-0/qtwayland-opensource-src-5.9.= 1/plugins/platforms/../../..", {st_mode=3DS_IFDIR|0755, st_size=3D100, ...}) =3D 0
15562 open("/gnu/store/rmjlycdgiq8pfy5hfi42qhw3k7p6kdav-glibc-2.25/lib/libQt5Wa= ylandClient.so.5", O_RDONLY|O_CLOEXEC) =3D -1 ENOENT (No such file or directory)


Thinks I tried to solve this:
- setting QT_QPA_PLATFORM_PLUGIN_PATH
- creating a file
qt.conf in the app folder

Things I did *not* try:
- reading http://www.tripleboot.org/?p=3D138 =E2=80=93 to l= ong :-)

Another insight:
- export QT_DEBUG_PLUGINS=3D1 makes qt report useful messages.
--=20
Regards
Hartmut Goebel

| Hartmut Goebel          | h.goebel@crazy-compilers.com   =
            |
| www.crazy-compilers.com | compilers which you thought are impo=
ssible |
--------------C09D8A48B556F98C185F6003--