Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!

Bug 589652

Summary: media-libs/libmypaint-1.3.0_beta1[gegl] with -Wl,--as-needed - src_test(): .../work/libmypaint-1.3.0-beta.1/tests/mypaint-test-surface.c:58: undefined reference to `mypaint_brush_new'
Product: Gentoo Linux Reporter: Jeroen Roovers (RETIRED) <jer>
Component: Current packagesAssignee: Sebastian Pipping <sping>
Status: RESOLVED FIXED    
Severity: normal    
Priority: Normal    
Version: unspecified   
Hardware: All   
OS: Linux   
Whiteboard:
Package list:
Runtime testing required: ---
Bug Depends on:    
Bug Blocks: 589098    
Attachments: media-libs:libmypaint-1.3.0_beta1:20160724-121042.log.xz

Description Jeroen Roovers (RETIRED) gentoo-dev 2016-07-25 06:43:02 UTC
Created attachment 441486 [details]
media-libs:libmypaint-1.3.0_beta1:20160724-121042.log.xz

../../tests/libmypaint-tests.a(mypaint-test-surface.o): In function `test_surface_drawing':
/var/tmp/portage/media-libs/libmypaint-1.3.0_beta1/work/libmypaint-1.3.0-beta.1/tests/mypaint-test-surface.c:58: undefined reference to `mypaint_brush_new'
/var/tmp/portage/media-libs/libmypaint-1.3.0_beta1/work/libmypaint-1.3.0-beta.1/tests/mypaint-test-surface.c:61: undefined reference to `mypaint_brush_from_string'
/var/tmp/portage/media-libs/libmypaint-1.3.0_beta1/work/libmypaint-1.3.0-beta.1/tests/mypaint-test-surface.c:62: undefined reference to `mypaint_brush_set_base_value'
/var/tmp/portage/media-libs/libmypaint-1.3.0_beta1/work/libmypaint-1.3.0-beta.1/tests/mypaint-test-surface.c:77: undefined reference to `mypaint_surface_begin_atomic'
/var/tmp/portage/media-libs/libmypaint-1.3.0_beta1/work/libmypaint-1.3.0-beta.1/tests/mypaint-test-surface.c:82: undefined reference to `mypaint_surface_end_atomic'
/var/tmp/portage/media-libs/libmypaint-1.3.0_beta1/work/libmypaint-1.3.0-beta.1/tests/mypaint-test-surface.c:95: undefined reference to `mypaint_brush_unref'
/var/tmp/portage/media-libs/libmypaint-1.3.0_beta1/work/libmypaint-1.3.0-beta.1/tests/mypaint-test-surface.c:96: undefined reference to `mypaint_surface_unref'
../../tests/libmypaint-tests.a(mypaint-utils-stroke-player.o): In function `mypaint_utils_stroke_player_iterate':
/var/tmp/portage/media-libs/libmypaint-1.3.0_beta1/work/libmypaint-1.3.0-beta.1/tests/mypaint-utils-stroke-player.c:142: undefined reference to `mypaint_brush_stroke_to'
/var/tmp/portage/media-libs/libmypaint-1.3.0_beta1/work/libmypaint-1.3.0-beta.1/tests/mypaint-utils-stroke-player.c:148: undefined reference to `mypaint_surface_end_atomic'
/var/tmp/portage/media-libs/libmypaint-1.3.0_beta1/work/libmypaint-1.3.0-beta.1/tests/mypaint-utils-stroke-player.c:139: undefined reference to `mypaint_surface_begin_atomic'
/var/tmp/portage/media-libs/libmypaint-1.3.0_beta1/work/libmypaint-1.3.0-beta.1/tests/mypaint-utils-stroke-player.c:142: undefined reference to `mypaint_brush_stroke_to'
../../gegl/.libs/libmypaint-gegl.so: undefined reference to `mypaint_tiled_surface_init'
../../gegl/.libs/libmypaint-gegl.so: undefined reference to `mypaint_surface_ref'
../../gegl/.libs/libmypaint-gegl.so: undefined reference to `mypaint_tiled_surface_destroy'
collect2: error: ld returned 1 exit status
Makefile:633: recipe for target 'test-gegl-surface' failed
make[4]: *** [test-gegl-surface] Error 1
make[4]: Leaving directory '/var/tmp/portage/media-libs/libmypaint-1.3.0_beta1/work/libmypaint-1.3.0-beta.1/tests/gegl'
Makefile:847: recipe for target 'check-TESTS' failed
make[3]: *** [check-TESTS] Error 2
Comment 1 Sebastian Pipping gentoo-dev 2016-07-25 09:47:02 UTC
Are you using the gold linker?  Looks like very much like bug #589266, except I added a call to tc-ld-disable-gold by now.  Maybe it doesn't work as expected with your setup?

Can you play with building config like LDFLAGS and narrow down what the exact failure combination is (as with #589266).  Especially, does it build without as-needed?
Comment 2 Sebastian Pipping gentoo-dev 2016-07-25 09:48:24 UTC
I notice it's src_test with you.  Maybe the scope of tc-ld-disable-gold isn't right, yet.
Comment 3 Jeroen Roovers (RETIRED) gentoo-dev 2016-07-25 10:08:40 UTC
(In reply to Sebastian Pipping from comment #1)
> Are you using the gold linker?

No.
Comment 4 Sebastian Pipping gentoo-dev 2016-07-25 12:44:42 UTC
Fixed, LDFLAGS="-Wl,--as-needed" it was.


commit 864781034660cb31f284b09e0a94af259e6417f2
Author: Sebastian Pipping <sping@g.o>
Date:   Mon Jul 25 14:39:10 2016 +0200

    media-libs/libmypaint: Fix testing link errors (bug #589652)
    
    Package-Manager: portage-2.2.28

 .../files/libmypaint-1.3.0_beta1-as-needed.patch   | 28 ++++++++++++++++++++++
 .../libmypaint/libmypaint-1.3.0_beta1.ebuild       |  3 ++-
 2 files changed, 30 insertions(+), 1 deletion(-)

https://github.com/gentoo/gentoo/commit/864781034660cb31f284b09e0a94af259e6417f2