[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [PATCH] gnu: Add LDFLAGS=-lpthread to configure-flags where needed.
From: |
Sergei Trofimovich |
Subject: |
Re: [PATCH] gnu: Add LDFLAGS=-lpthread to configure-flags where needed. |
Date: |
Tue, 21 Mar 2017 22:42:49 +0000 |
On Tue, 21 Mar 2017 10:17:26 +0100
John Darrington <address@hidden> 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 <address@hidden> 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
pgpbxYfSpjeFY.pgp
Description: Цифровая подпись OpenPGP