From mboxrd@z Thu Jan 1 00:00:00 1970 From: Sergei Trofimovich Subject: Re: [PATCH] gnu: Add LDFLAGS=-lpthread to configure-flags where needed. Date: Tue, 21 Mar 2017 22:42:49 +0000 Message-ID: <20170321224249.6a51ad1d@sf> References: <1490059331-32049-1-git-send-email-john@darrington.wattle.id.au> <1490059331-32049-2-git-send-email-john@darrington.wattle.id.au> <20170321090928.02b12da9@sf> <20170321091725.GA12007@jocasta.intra> Mime-Version: 1.0 Content-Type: multipart/signed; micalg=pgp-sha1; boundary="Sig_/0RPTRg1+7_Z3myHkJ.+qRqT"; protocol="application/pgp-signature" Return-path: Received: from eggs.gnu.org ([2001:4830:134:3::10]:58593) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1cqSUo-0003XI-PS for guix-devel@gnu.org; Tue, 21 Mar 2017 18:43:20 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1cqSUk-0002hv-5y for guix-devel@gnu.org; Tue, 21 Mar 2017 18:43:18 -0400 Received: from smtp38.i.mail.ru ([94.100.177.98]:52820) by eggs.gnu.org with esmtps (TLS1.0:DHE_RSA_AES_256_CBC_SHA1:32) (Exim 4.71) (envelope-from ) id 1cqSUj-0002hc-PM for guix-devel@gnu.org; Tue, 21 Mar 2017 18:43:14 -0400 In-Reply-To: <20170321091725.GA12007@jocasta.intra> 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: John Darrington Cc: guix-devel@gnu.org --Sig_/0RPTRg1+7_Z3myHkJ.+qRqT Content-Type: text/plain; charset=US-ASCII Content-Transfer-Encoding: quoted-printable On Tue, 21 Mar 2017 10:17:26 +0100 John Darrington wrote: > On Tue, Mar 21, 2017 at 09:09:28AM +0000, Sergei Trofimovich wrote: > On Tue, 21 Mar 2017 02:22:11 +0100 > John Darrington wrote: > =20 > > --- a/gnu/packages/image.scm > > +++ b/gnu/packages/image.scm > > @@ -80,6 +80,8 @@ > > (sha256 > > (base32 "0ylgyx93hnk38haqrh8prd3ax5ngzwvjqw5cxw7p9nx= mwsfyrlyq")))) > > (build-system gnu-build-system) > > + (arguments > > + `(#:configure-flags '("LDFLAGS=3D-lpthread"))) =20 > =20 > That's libpng-1.6.28, right? I've tried to reproduce the failure on = current > 'core-updates' master (x86_64-linux). It builds just fine: > =20 > $ git describe > v0.12.0-2306-gf826c8c7e > =20 > $ ./pre-inst-env guix build libpng --check --no-grafts -K > /gnu/store/vis7x2j2lsmwbl5m5w794c23ysqah8xh-libpng-1.6.28 > =20 > At a glance source code of libpng and it's tests does not contain an= y pthread calls. > =20 > Do you have a build log with the failure? I wonder where missing sym= bols come from. > =20 >=20 > Yes *IT* builds fine. It's just the thing that depend upon it that don't. > For example look at the most recent build attempt for pspp. Aha. I was not sure where to look at. Assuming hydra build at: https://hydra.gnu.org/jobset/gnu/core-updates#tabs-jobs I've filtered on 'pspp' in there. amd64 and i686 fail roughly the same at test phase. Linking phase looks OK. https://hydra.gnu.org/build/1927214/nixlog/1/raw https://hydra.gnu.org/build/1930649/nixlog/1/raw Looks exactly as local build failure on master for me. To get an error text you are fixing I looked at test failures. For example /tmp/guix-build-pspp-0.10.2.drv-0/pspp-0.10.2/tests/testsuite.d= ir/0001/testsuite.log That runs something like ../../../src/ui/terminal/pspp --testing-mode --err= or-file=3D- --no-output epoch.sps # -*- compilation -*- 1. calendar.at:3: testing epoch ... ./calendar.at:89: pspp --testing-mode --error-file=3D- --no-output epoch.= sps --- /dev/null 2017-02-25 15:55:49.604311111 +0000 +++ /tmp/guix-build-pspp-0.10.2.drv-0/pspp-0.10.2/tests/testsuite.dir/at-= groups/1/stderr 2017-03-21 22:02:35.240095562 +0000 @@ -0,0 +1,2 @@ +/tmp/guix-build-pspp-0.10.2.drv-0/pspp-0.10.2/src/ui/terminal/.libs/pspp= : Relink `/gnu/store/vis7x2j2lsmwbl5m5w794c23ysqah8xh-libpng-1.6.28/lib/lib= png16.so.16' with `/gnu/store/rmjlycdgiq8pfy5hfi42qhw3k7p6kdav-glibc-2.25/l= ib/libpthread.so.0' for IFUNC symbol `longjmp' +/tmp/guix-build-pspp-0.10.2.drv-0/pspp-0.10.2/src/ui/terminal/.libs/pspp= : Relink `/gnu/store/b837wr8ffw2ppbx1744a2xll70bh8h4c-freetype-2.7.1/lib/li= bfreetype.so.6' with `/gnu/store/rmjlycdgiq8pfy5hfi42qhw3k7p6kdav-glibc-2.2= 5/lib/libpthread.so.0' for IFUNC symbol `longjmp' 1. calendar.at:3: 1. epoch (calendar.at:3): FAILED (calendar.at:89) It's a glibc-2.25 change that added runtime checking of IFUNC functions. (Functions that choose their implementation at application load time) Looks like a glibc bug. The behaviour was introduced in https://sourceware.org/bugzilla/show_bug.cgi?id=3D20019 I'll try to write minimal reproducer with setjmp/longjmp and report it upst= ream. --=20 Sergei --Sig_/0RPTRg1+7_Z3myHkJ.+qRqT Content-Type: application/pgp-signature Content-Description: Цифровая подпись OpenPGP -----BEGIN PGP SIGNATURE----- iF0EARECAB0WIQSZKa0VG5avZRlY01hxoe52YR/zqgUCWNGsawAKCRBxoe52YR/z qq4KAJ4nEAV61C1GsDfcms79a+LVSz0H8gCfTQAVYadeRoSvrsimpIak2a9+AYY= =rlOH -----END PGP SIGNATURE----- --Sig_/0RPTRg1+7_Z3myHkJ.+qRqT--