From mboxrd@z Thu Jan 1 00:00:00 1970 From: ludo@gnu.org (Ludovic =?utf-8?Q?Court=C3=A8s?=) Subject: Re: reproducible builds and debugging information Date: Thu, 26 Mar 2015 22:21:35 +0100 Message-ID: <87pp7vqwtc.fsf@gnu.org> References: <20150322172632.GB3826@venom> <87zj72xftt.fsf@gnu.org> <20150325003352.GA5247@venom> Mime-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable Return-path: Received: from eggs.gnu.org ([2001:4830:134:3::10]:42442) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1YbFDi-0005Hd-Hg for guix-devel@gnu.org; Thu, 26 Mar 2015 17:21:43 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1YbFDe-0006Ap-FT for guix-devel@gnu.org; Thu, 26 Mar 2015 17:21:42 -0400 Received: from fencepost.gnu.org ([2001:4830:134:3::e]:35545) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1YbFDe-0006Al-CY for guix-devel@gnu.org; Thu, 26 Mar 2015 17:21:38 -0400 Received: from reverse-83.fdn.fr ([80.67.176.83]:41620 helo=pluto) by fencepost.gnu.org with esmtpsa (TLS1.0:RSA_AES_128_CBC_SHA1:16) (Exim 4.71) (envelope-from ) id 1YbFDd-00038F-Td for guix-devel@gnu.org; Thu, 26 Mar 2015 17:21:38 -0400 In-Reply-To: <20150325003352.GA5247@venom> (=?utf-8?B?IlRvbcOhxaEgxIxlY2gi?= =?utf-8?B?J3M=?= message of "Wed, 25 Mar 2015 01:33:52 +0100") 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-bounces+gcggd-guix-devel=m.gmane.org@gnu.org To: guix-devel@gnu.org Tom=C3=A1=C5=A1 =C4=8Cech skribis: > On Tue, Mar 24, 2015 at 10:09:50PM +0100, Ludovic Court=C3=A8s wrote: [...] >>Packages that have an autoconf-based build system, and I suppose most >>others, are built with -g. > > I can't confirm this statement. > > I added "debug" output to curl package: Indeed, I just checked and cURL overrides the default behavior. Here it has to be configured with --enable-debug, which also enables the test suite (!). Do you want to try that, and add the =E2=80=9Cdebug=E2=80=9D ou= tput? >>The binaries get stripped by default and >>debugging info is lost unless the package has a =E2=80=9Cdebug=E2=80=9D o= utput. > > OK, the difference -g and -ggdb is slight, but there is the problem > with "debug" output. > > When package has output "debug" always - there is no problem. > > When package doesn't have "debug" output and I need it, mere adding > output "debug" into package receipt will change the hash so I'll get > different package. Right. >>Currently a few key packages have that, but most don=E2=80=99t (I think D= ebian >>does something similar, not sure about other distros.) > > On openSUSE you have available all the subpackage providing stripped > debug informations and subpackage providing source code from the > moment of build (so DWARF information in debug part can match the source). You mean there=E2=80=99s a =E2=80=98-debug=E2=80=99 package for every singl= e package? >>We could make it opt-out rather than opt-in, but the issue is disk usage >>on build machine (including end-user machines.) See >>. >> >>Thoughts? > > If we have distribution of reproducible packages, we can keep it > opt-in and generate debug information next time (by not dropping > it). That=E2=80=99s not how it works; generating the debug info requires redoing= the whole build process, but with a slight difference. > The only problematic packages will be the big ones like Webkit, Libre > Office and similar because generating debug increases memory usage > during the build significantly and may not be suitable for average > personal computer. A problem for C++ code in general. So again, we could make =E2=80=9Cdebug=E2=80=9D opt-out by default, but tha= t=E2=80=99ll be some work because of issues like this. What do people think? Thanks, Ludo=E2=80=99.