From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([2001:4830:134:3::10]:60297) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1dtGYd-0003jw-Rb for guix-patches@gnu.org; Sat, 16 Sep 2017 13:07:09 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1dtGYZ-0001Of-Qq for guix-patches@gnu.org; Sat, 16 Sep 2017 13:07:07 -0400 Received: from debbugs.gnu.org ([208.118.235.43]:35533) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_128_CBC_SHA1:16) (Exim 4.71) (envelope-from ) id 1dtGYZ-0001OP-Ms for guix-patches@gnu.org; Sat, 16 Sep 2017 13:07:03 -0400 Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.84_2) (envelope-from ) id 1dtGYZ-0007Lx-Gz for guix-patches@gnu.org; Sat, 16 Sep 2017 13:07:03 -0400 Subject: [bug#28444] [PATCH 3/3] build-system: Add 'meson-build-system'. Resent-Message-ID: MIME-Version: 1.0 In-Reply-To: <87ingik4hc.fsf@gnu.org> References: <20170913125003.13313-1-petermikkelsen10@gmail.com> <20170913125003.13313-3-petermikkelsen10@gmail.com> <87a81vllgk.fsf@gnu.org> <87ingik4hc.fsf@gnu.org> From: Peter Mikkelsen Date: Sat, 16 Sep 2017 19:06:03 +0200 Message-ID: Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: guix-patches-bounces+kyle=kyleam.com@gnu.org Sender: "Guix-patches" To: Ludovic =?UTF-8?Q?Court=C3=A8s?= Cc: 28444-done@debbugs.gnu.org 2017-09-16 18:11 GMT+02:00 Ludovic Court=C3=A8s : > > Hi Peter, > > Peter Mikkelsen skribis: > > > [...] > > >> According to this description, half of it corresponds to the > >> =E2=80=98validate-runpath=E2=80=99 phase, no? > > > > To my understanding 'validate-runpath' just checks and complains, but > > this phase checks if it can find any dependencies in directories that > > are local to the package, and if it can, it adds them to the runpath. > > I have tried to update the description :) > > I see. Out of curiosity, which libraries did you find to be present in > RUNPATH but not in NEEDED? > I tried building a simple program, and using 'patchelf --print-needed' i got this: libuuid.so libstdc++.so.6 libgcc_s.so.1 libc.so.6 and without the shrinking done, the runpath looks like this: /gnu/store/8y6wd2rfi6p3gpxcz3p1gyzsbxwyc9ha-uuid-cpp-0.6.5.1/lib:$ORIGIN/:/= gnu/store/n6nvxlk2j8ysffjh3jphn1k5silnakh6-glibc-2.25/lib:/gnu/store/3x53yv= 4v144c9xp02rs64z7j597kkqax-gcc-5.4.0-lib/lib:/gnu/store/3x53yv4v144c9xp02rs= 64z7j597kkqax-gcc-5.4.0-lib/lib/gcc/x86_64-unknown-linux-gnu/5.4.0/../../.. and with, it looks like this: /gnu/store/nqdf6kr5cqfqh9z5yprar1yyfqwprj4v-uuid-cpp-0.6.5.1/lib:$ORIGIN/:/= gnu/store/n6nvxlk2j8ysffjh3jphn1k5silnakh6-glibc-2.25/lib:/gnu/store/3x53yv= 4v144c9xp02rs64z7j597kkqax-gcc-5.4.0-lib/lib So the last part of the old runpath is removed, and looking at the output of ldd, it seems like it was never needed: linux-vdso.so.1 (0x00007ffd6cbe2000) libuuid.so =3D> /gnu/store/8y6wd2rfi6p3gpxcz3p1gyzsbxwyc9ha-uuid-cpp-0.6.5.= 1/lib/libuuid.so (0x00007feae61bc000) libstdc++.so.6 =3D> /gnu/store/3x53yv4v144c9xp02rs64z7j597kkqax-gcc-5.4.0-lib/lib/libstdc++.so.= 6 (0x00007feae5e42000) libgcc_s.so.1 =3D> /gnu/store/3x53yv4v144c9xp02rs64z7j597kkqax-gcc-5.4.0-lib/lib/libgcc_s.so.1 (0x00007feae5c2b000) libc.so.6 =3D> /gnu/store/n6nvxlk2j8ysffjh3jphn1k5silnakh6-glibc-2.25/lib/l= ibc.so.6 (0x00007feae588c000) libm.so.6 =3D> /gnu/store/n6nvxlk2j8ysffjh3jphn1k5silnakh6-glibc-2.25/lib/l= ibm.so.6 (0x00007feae557a000) /gnu/store/n6nvxlk2j8ysffjh3jphn1k5silnakh6-glibc-2.25/lib/ld-linux-x86-64.= so.2 (0x00007feae63c4000) Now, I am not sure it is worth shrinking, but I just think it is a little bit strange having unneeded directories in the runpath :) While trying to build a gnome package, I noticed that the runpath was huuuge before shrinking, but I don't have that package definition anymore :/ We can see what happens when we update gnome :) > > I=E2=80=99d consider it a Meson bug (or a bug in how the package uses Mes= on) if > test libraries are passed as -l when linking non-test binaries. > I don't know if this is what is happening, but on their side they 'fix' the runpath before install, which we don't. If any problem arises I will be happy to give it a look, but in the mean time, I think this will work :) > At any rate, we should implement =E2=80=98shrink-runpath=E2=80=99 in (gui= x build > gremlin) someday! That would be awesome! > > > From 8185c2a154c7473d3b50351246cc83b792ec6a57 Mon Sep 17 00:00:00 2001 > > From: Peter Mikkelsen > > Date: Wed, 13 Sep 2017 14:37:39 +0200 > > Subject: [PATCH] build-system: Add 'meson-build-system'. > > > > * Makefile.am (MODULES): Add 'guix/build-system/meson.scm' and > > 'guix/build/meson-build-system.scm'. > > * guix/build-system/meson.scm: New file. > > * guix/build/meson-build-system.scm: New file. > > * doc/guix.texi (Build Systems): Add 'meson-build-system'. > > Pushed with the changes below. > > Thank you! > > Now to upgrade GNOME? :-) Yes :) I will finish some ongoing Haskell work before giving it a shot > > Ludo=E2=80=99. > Thanks, Peter