unofficial mirror of guix-devel@gnu.org 
 help / color / mirror / code / Atom feed
From: Sergei Trofimovich <slyfox@inbox.ru>
To: John Darrington <john@darrington.wattle.id.au>
Cc: guix-devel@gnu.org
Subject: Re: [PATCH] gnu: Add LDFLAGS=-lpthread to configure-flags where needed.
Date: Tue, 21 Mar 2017 22:42:49 +0000	[thread overview]
Message-ID: <20170321224249.6a51ad1d@sf> (raw)
In-Reply-To: <20170321091725.GA12007@jocasta.intra>

[-- Attachment #1: Type: text/plain, Size: 3418 bytes --]

On Tue, 21 Mar 2017 10:17:26 +0100
John Darrington <john@darrington.wattle.id.au> 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 <john@darrington.wattle.id.au> wrote:
>      
>      > --- a/gnu/packages/image.scm
>      > +++ b/gnu/packages/image.scm
>      > @@ -80,6 +80,8 @@
>      >              (sha256
>      >               (base32 "0ylgyx93hnk38haqrh8prd3ax5ngzwvjqw5cxw7p9nxmwsfyrlyq"))))
>      >     (build-system gnu-build-system)
>      > +   (arguments
>      > +    `(#:configure-flags '("LDFLAGS=-lpthread")))  
>      
>      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:
>      
>      $ git describe
>      v0.12.0-2306-gf826c8c7e
>      
>      $ ./pre-inst-env guix build libpng --check --no-grafts -K
>      /gnu/store/vis7x2j2lsmwbl5m5w794c23ysqah8xh-libpng-1.6.28
>      
>      At a glance source code of libpng and it's tests does not contain any pthread calls.
>      
>      Do you have a build log with the failure? I wonder where missing symbols come from.
>      
> 
> 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.dir/0001/testsuite.log

That runs something like ../../../src/ui/terminal/pspp --testing-mode --error-file=- --no-output epoch.sps

  #                             -*- compilation -*-
  1. calendar.at:3: testing epoch ...
  ./calendar.at:89: pspp --testing-mode --error-file=- --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/libpng16.so.16' with `/gnu/store/rmjlycdgiq8pfy5hfi42qhw3k7p6kdav-glibc-2.25/lib/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/libfreetype.so.6' with `/gnu/store/rmjlycdgiq8pfy5hfi42qhw3k7p6kdav-glibc-2.25/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=20019

I'll try to write minimal reproducer with setjmp/longjmp and report it upstream.

-- 

  Sergei

[-- Attachment #2: Цифровая подпись OpenPGP --]
[-- Type: application/pgp-signature, Size: 195 bytes --]

  reply	other threads:[~2017-03-21 22:43 UTC|newest]

Thread overview: 10+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2017-03-21  1:22 For core-updates John Darrington
2017-03-21  1:22 ` [PATCH] gnu: Add LDFLAGS=-lpthread to configure-flags where needed John Darrington
2017-03-21  1:37   ` Leo Famulari
2017-03-21  9:09   ` Sergei Trofimovich
2017-03-21  9:17     ` John Darrington
2017-03-21 22:42       ` Sergei Trofimovich [this message]
2017-03-21 23:07         ` Sergei Trofimovich
2017-03-21 11:29   ` Danny Milosavljevic
2017-03-21 12:15     ` John Darrington
2017-03-21 18:52       ` Danny Milosavljevic

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

  List information: https://guix.gnu.org/

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20170321224249.6a51ad1d@sf \
    --to=slyfox@inbox.ru \
    --cc=guix-devel@gnu.org \
    --cc=john@darrington.wattle.id.au \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
Code repositories for project(s) associated with this public inbox

	https://git.savannah.gnu.org/cgit/guix.git

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).