[OE-core] [PATCH 1/5] matchbox-stroke: Fix linking error with gold

Richard Purdie richard.purdie at linuxfoundation.org
Tue Nov 22 16:28:20 UTC 2011


On Sun, 2011-11-20 at 09:50 -0800, Khem Raj wrote:
> Gold defaults to no-add-needed thetefore
> it does not link with librtaries that are not on cmdline
> it needs libXrender but is not on the linker cmdline
> so add it.
> 
> Signed-off-by: Khem Raj <raj.khem at gmail.com>
> ---
>  .../matchbox-stroke/files/ldadd_libXrender.patch   |   25 ++++++++++++++++++++
>  .../matchbox-stroke/matchbox-stroke_git.bb         |    6 +++-
>  2 files changed, 29 insertions(+), 2 deletions(-)
>  create mode 100644 meta/recipes-sato/matchbox-stroke/files/ldadd_libXrender.patch
> 
> diff --git a/meta/recipes-sato/matchbox-stroke/files/ldadd_libXrender.patch b/meta/recipes-sato/matchbox-stroke/files/ldadd_libXrender.patch
> new file mode 100644
> index 0000000..90d2057
> --- /dev/null
> +++ b/meta/recipes-sato/matchbox-stroke/files/ldadd_libXrender.patch
> @@ -0,0 +1,25 @@
> +with GNU binutils-gold the
> +important difference is that --no-add-needed is the default behavior of GNU
> +binutils-gold. Please provide all needed libraries to the linker when building
> +your executables.
> +
> +Otherwise we get link errors like
> +
> +/home/kraj/work/angstrom/build/tmp-angstrom_2010_x-eglibc/sysroots/x86_64-linux/usr/libexec/armv5te-angstrom-linux-gnueabi/gcc/arm-angstrom-linux-gnueabi/4.6.2/ld: matchbox-stroke-ui.o: in function mb_stroke_ui_resources_create:matchbox-stroke-ui.c:223: error: undefined reference to 'XRenderCreatePicture'collect2: ld returned 1 exit statusmake[2]: *** [matchbox-stroke] Error 1
> +
> +Signed-off-by: Khem Raj <raj.khem at gmail.com>
> +
> +Upstream-Status: Pending
> +Index: git/src/Makefile.am
> +===================================================================
> +--- git.orig/src/Makefile.am	2011-10-22 19:25:52.000000000 -0700
> ++++ git/src/Makefile.am	2011-10-22 19:27:07.746428946 -0700
> +@@ -6,7 +6,7 @@
> + 
> + bin_PROGRAMS = matchbox-stroke
> + 
> +-matchbox_stroke_LDADD = $(MBSTROKE_LIBS) $(EXPAT_LIBS) -lm
> ++matchbox_stroke_LDADD = $(MBSTROKE_LIBS) $(EXPAT_LIBS) -lm -lXrender
> + 

I had a look at this and -lXrender is listed in MBSTROKE_LIBS. I'm
therefore a little puzzled on why this patch is needed? I appreciate the
commandline is order sensitive but that order should work?

Cheers,

Richard





More information about the Openembedded-core mailing list