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

Richard Purdie richard.purdie at linuxfoundation.org
Wed Nov 23 12:31:04 UTC 2011


On Tue, 2011-11-22 at 19:00 -0800, Khem Raj wrote:
> On Tue, Nov 22, 2011 at 8:28 AM, Richard Purdie
> <richard.purdie at linuxfoundation.org> wrote:
> > 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?
> 
> In my case
> 
> Makefile:MBSTROKE_LIBS = -lXft -lX11 -lXtst -lfakekey

I can now see why I'm confused:

http://git.yoctoproject.org/cgit.cgi/matchbox-stroke/commit/?id=2b772583b61d2f6e8358e7c80e10293fc27cfcb7

We need to update the SRCREV. I'll push something to take care of this.

Cheers,

Richard





More information about the Openembedded-core mailing list