From mboxrd@z Thu Jan 1 00:00:00 1970 From: Ludovic =?UTF-8?Q?Court=C3=A8s?= Subject: bug#36276: Not found .so files in bundle made by guix pack Date: Mon, 24 Jun 2019 21:19:52 +0200 Message-ID: <87sgry7puv.fsf@gnu.org> References: <875zp357du.fsf@gnu.org> <98a2c388-3c5e-129e-4a0d-81b2e2d2860b@livet.me> <87zhmd1slz.fsf@gnu.org> <06e405a8-9157-f3bf-f983-26fc46679369@livet.me> <87imszhu6b.fsf@gnu.org> <70570cd6-1a97-8acc-6575-cf9a5329fc33@livet.me> Mime-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable Return-path: Received: from eggs.gnu.org ([2001:470:142:3::10]:45982) by lists.gnu.org with esmtp (Exim 4.86_2) (envelope-from ) id 1hfUWW-0005lA-46 for bug-guix@gnu.org; Mon, 24 Jun 2019 15:21:07 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1hfUWU-00050w-Qn for bug-guix@gnu.org; Mon, 24 Jun 2019 15:21:04 -0400 Received: from debbugs.gnu.org ([209.51.188.43]:44461) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_128_CBC_SHA1:16) (Exim 4.71) (envelope-from ) id 1hfUWU-00050m-Lx for bug-guix@gnu.org; Mon, 24 Jun 2019 15:21:02 -0400 Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.84_2) (envelope-from ) id 1hfUWU-0003mw-GU for bug-guix@gnu.org; Mon, 24 Jun 2019 15:21:02 -0400 Sender: "Debbugs-submit" Resent-Message-ID: In-Reply-To: <70570cd6-1a97-8acc-6575-cf9a5329fc33@livet.me> ("=?UTF-8?Q?Andr=C3=A9as?= Livet"'s message of "Mon, 24 Jun 2019 18:10:00 +0200") List-Id: Bug reports for GNU Guix List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: bug-guix-bounces+gcggb-bug-guix=m.gmane.org@gnu.org Sender: "bug-Guix" To: =?UTF-8?Q?Andr=C3=A9as?= Livet Cc: 36276@debbugs.gnu.org Hello, Andr=C3=A9as Livet skribis: > Found a solution ! > > https://superuser.com/a/1348051 Good! So you ran: strip --remove-section=3D.note.ABI-tag \ ./gnu/store/=E2=80=A6/lib/libQt5Core.so.5 right? Indeed the .so file produced by Guix has this section: --8<---------------cut here---------------start------------->8--- $ file -L /gnu/store/y1nlilwa34wqvmvmraggwv12jfdp0kya-qtbase-5.11.3/lib/lib= Qt5Core.so /gnu/store/y1nlilwa34wqvmvmraggwv12jfdp0kya-qtbase-5.11.3/lib/libQt5Core.so= : ELF 64-bit LSB pie executable x86-64, version 1 (GNU/Linux), dynamically = linked, interpreter /gnu/store/h90vnqw0nwd0hhm1l5dgxsdrigddfmq4-glibc-2.28/= lib/ld-linux-x86-64.so.2, for GNU/Linux 3.16.0, stripped --8<---------------cut here---------------end--------------->8--- =E2=80=A6 which reflects in the =E2=80=9Cfor GNU/Linux 3.16.0=E2=80=9D that= we see above. What does =E2=80=9Cuname -r=E2=80=9D return on this CentOS machine? I=E2= =80=99m guessing it=E2=80=99s older than 3.16.0. The effect of the =E2=80=98strip=E2=80=99 command is that libQt5Base.so can= be loaded, but some functionality maybe missing (things that use the =E2=80=98renameat= 2=E2=80=99 system call specifically; see below.) > Do you think it is related to guix pack in some way ? I researched it a bit and in qtbase, in =E2=80=98src/corelib/global/minimum-linux_p.h=E2=80=99, we can see this: --8<---------------cut here---------------start------------->8--- #if QT_CONFIG(getentropy) # define MINLINUX_MAJOR 3 # define MINLINUX_MINOR 17 # define MINLINUX_PATCH 0 #elif QT_CONFIG(renameat2) # define MINLINUX_MAJOR 3 # define MINLINUX_MINOR 16 # define MINLINUX_PATCH 0 #else # define MINLINUX_MAJOR 2 # define MINLINUX_MINOR 6 # define MINLINUX_PATCH 28 #endif --8<---------------cut here---------------end--------------->8--- Since we build Qt with =E2=80=98renameat2=E2=80=99 support, Qt effectively = requires a Linux kernel >=3D 3.16.0. We could build it without that requirement; 3.16.0 is already rather old, so I=E2=80=99m not sure we should do it. Thoughts? (Note that the Guix package already has a patch to allow it to work with kernels < 4.11.) Ludo=E2=80=99.