[OE-core] [oe-commits] Laurentiu Palcu : libx11: upgrade to 1.5.0

Martin Jansa martin.jansa at gmail.com
Mon Jul 16 07:37:03 UTC 2012


On Tue, Jul 10, 2012 at 05:12:58PM +0300, Laurentiu Palcu wrote:
> 
> 
> On 07/10/2012 04:51 PM, Martin Jansa wrote:
> > On Tue, Jul 10, 2012 at 04:47:02PM +0300, Laurentiu Palcu wrote:
> >> Hi Martin,
> >>
> >> When I upgrade a package, I build the package for all architectures.
> >> That's how I find build issues on other architectures which I,
> >> eventually, try to fix. Take, for example, directfb (1.6.1) which didn't
> >> compile on mips. Libx11, however, compiled just fine. It turns out there
> >> was something I missed in my process.
> >>
> >> One thing I didn't do is clear sstate-cache before each build... Could
> >> this be the reason I missed it?
> > 
> > I didn't clean sstate-cache before building this upgrade.
> > 
> > It was probably using Xresource.h from your host (instead of right
> > version from tree)
> Xresource.h exists on my host, indeed, and is identical to the one
> provided by the package. That's why it compiled just fine on my machine
> (Ubuntu 12.04).

OK it worked on your box, but it's still an issue as long as libx11 installed 
on host is not dependency for building libx11 with OpenEmbedded. I'll
send patch for this later today.

Cheers,

> > That's why they added -I$(top_srcdir)/include in:
> > http://cgit.freedesktop.org/xorg/lib/libX11/commit/src/util/Makefile.am?id=24283d40b1e4314c6647dda49d2a159833341a8b
> > 
> > Cheers,
> > 
> >>
> >> Thanks,
> >> Laurentiu
> >>
> >> On 07/10/2012 04:24 PM, Martin Jansa wrote:
> >>> On Tue, Jul 10, 2012 at 01:14:18PM +0200, Martin Jansa wrote:
> >>>> On Tue, Jul 10, 2012 at 12:44:30PM +0200, Martin Jansa wrote:
> >>>>> On Mon, Jul 09, 2012 at 04:00:32PM +0000, git at git.openembedded.org wrote:
> >>>>>> Module: openembedded-core.git
> >>>>>> Branch: master
> >>>>>> Commit: 52d4ff7b35602faa52360a3e7a800891ef60c739
> >>>>>> URL:    http://git.openembedded.org/?p=openembedded-core.git&a=commit;h=52d4ff7b35602faa52360a3e7a800891ef60c739
> >>>>>>
> >>>>>> Author: Laurentiu Palcu <laurentiu.palcu at intel.com>
> >>>>>> Date:   Wed Jul  4 10:28:20 2012 +0300
> >>>>>>
> >>>>>> libx11: upgrade to 1.5.0
> >>>>>>
> >>>>>> Removed one backported patch.
> >>>>>>
> >>>>>> Signed-off-by: Laurentiu Palcu <laurentiu.palcu at intel.com>
> >>>>>
> >>>>> This seems to break libx11 and libx11-native build:
> >>>>>
> >>>>> ERROR: Function failed: do_compile (see /var/lib/jenkins/jobs/shr-core-branches/workspace/shr-core/tmp-eglibc/work/armv4t-oe-linux-gnueabi/libx11-1_1.5.0-r0/temp/log.do_compile.20371 for further information)
> >>>>> ERROR: Logfile of failure stored in: /var/lib/jenkins/jobs/shr-core-branches/workspace/shr-core/tmp-eglibc/work/armv4t-oe-linux-gnueabi/libx11-1_1.5.0-r0/temp/log.do_compile.20371
> >>>>> Log data follows:
> >>>>> | DEBUG: SITE files ['endian-little', 'bit-32', 'arm-common', 'common-linux', 'common-glibc', 'arm-linux', 'arm-linux-gnueabi', 'common']
> >>>>> | DEBUG: Executing shell function do_compile
> >>>>> | mv: cannot stat `makekeys.c.orig': No such file or directory
> >>>>> | makekeys.c:33:27: fatal error: X11/Xresource.h: No such file or directory
> >>>>> | compilation terminated.
> >>>>> | ERROR: Function failed: do_compile (see /var/lib/jenkins/jobs/shr-core-branches/workspace/shr-core/tmp-eglibc/work/armv4t-oe-linux-gnueabi/libx11-1_1.5.0-r0/temp/log.do_compile.20371 for further information)
> >>>>> NOTE: package libx11-1_1.5.0-r0: task do_compile: Failed
> >>>>
> >>>> diff --git a/meta/recipes-graphics/xorg-lib/libx11.inc b/meta/recipes-graphics/xorg-lib/libx11.inc
> >>>> index a1e4386..592f116 100644
> >>>> --- a/meta/recipes-graphics/xorg-lib/libx11.inc
> >>>> +++ b/meta/recipes-graphics/xorg-lib/libx11.inc
> >>>> @@ -35,9 +35,9 @@ do_compile_prepend() {
> >>>>                 sed -i -e 's:MIN_REHASH 15:MIN_REHASH 16:g' makekeys.c
> >>>>                 touch makekeys-makekeys.o;
> >>>>                 if [ "${SITEINFO_BITS}" == "64" ]; then
> >>>> -                       ${BUILD_CC} ${BUILD_CFLAGS} -I${STAGING_INCDIR_NATIVE} makekeys.c -o makekeys
> >>>> +                       ${BUILD_CC} ${BUILD_CFLAGS} -I${STAGING_INCDIR_NATIVE} makekeys.c -I${S}/include -o makekeys
> >>>>                 else
> >>>> -                       ${BUILD_CC} ${BUILD_CFLAGS} -I${STAGING_INCDIR_NATIVE} -DUSE32 makekeys.c -o makekeys
> >>>> +                       ${BUILD_CC} ${BUILD_CFLAGS} -I${STAGING_INCDIR_NATIVE} -DUSE32 makekeys.c -I${S}/include -o makekeys
> >>>>                 fi
> >>>>         )
> >>>>         if [ "$?" != "0" ]; then
> >>>>
> >>>> + PR bump should be enough to fix that, but I'm wondering why you haven't seen it during tests (if this upgrade was tested at all).
> >>>
> >>> And maybe whole makekeys build can now be done in tree, see:
> >>> https://bugs.freedesktop.org/show_bug.cgi?id=22584
> >>> http://cgit.freedesktop.org/xorg/lib/libX11/commit/src/util/Makefile.am?id=b2487d07f7b355f230a56e32c763acd08862735c
> >>> http://cgit.freedesktop.org/xorg/lib/libX11/commit/src/util/Makefile.am?id=24283d40b1e4314c6647dda49d2a159833341a8b
> >>>
> >>> Cheers,
> >>>
> >>>>
> >>>> Cheers,
> >>>>
> >>>>>
> >>>>>> ---
> >>>>>>
> >>>>>>  ...quest-as-substitute-for-GetReq-GetReqExtr.patch |  137 --------------------
> >>>>>>  .../keysymdef_include.patch                        |    0
> >>>>>>  .../makekeys_crosscompile.patch                    |    0
> >>>>>>  .../x11_disable_makekeys.patch                     |   13 +-
> >>>>>>  .../xorg-lib/{libx11_1.4.4.bb => libx11_1.5.0.bb}  |    7 +-
> >>>>>>  5 files changed, 11 insertions(+), 146 deletions(-)
> >>>>>>
> >>>>>> diff --git a/meta/recipes-graphics/xorg-lib/libx11-1.4.4/0001-Add-_XGetRequest-as-substitute-for-GetReq-GetReqExtr.patch b/meta/recipes-graphics/xorg-lib/libx11-1.4.4/0001-Add-_XGetRequest-as-substitute-for-GetReq-GetReqExtr.patch
> >>>>>> deleted file mode 100644
> >>>>>> index aedb5c4..0000000
> >>>>>> --- a/meta/recipes-graphics/xorg-lib/libx11-1.4.4/0001-Add-_XGetRequest-as-substitute-for-GetReq-GetReqExtr.patch
> >>>>>> +++ /dev/null
> >>>>>> @@ -1,137 +0,0 @@
> >>>>>> -From 4a060f993bf676cf21ad9784e010f54134da7b40 Mon Sep 17 00:00:00 2001
> >>>>>> -From: Peter Hutterer <peter.hutterer at who-t.net>
> >>>>>> -Date: Mon, 17 Oct 2011 09:45:15 +1000
> >>>>>> -Subject: [PATCH] Add _XGetRequest as substitute for GetReq/GetReqExtra
> >>>>>> -
> >>>>>> -Signed-off-by: Peter Hutterer <peter.hutterer at who-t.net>
> >>>>>> -Reviewed-by: Jamey Sharp <jamey at minilop.net>
> >>>>>> ----
> >>>>>> - include/X11/Xlibint.h |   49 ++++++++++++++++---------------------------------
> >>>>>> - src/XlibInt.c         |   31 +++++++++++++++++++++++++++++++
> >>>>>> - 2 files changed, 47 insertions(+), 33 deletions(-)
> >>>>>> -
> >>>>>> -Upstream-Status: Backport
> >>>>>> -
> >>>>>> -diff --git a/include/X11/Xlibint.h b/include/X11/Xlibint.h
> >>>>>> -index 2ce356d..43d1f2a 100644
> >>>>>> ---- a/include/X11/Xlibint.h
> >>>>>> -+++ b/include/X11/Xlibint.h
> >>>>>> -@@ -420,6 +420,18 @@ extern LockInfoPtr _Xglobal_lock;
> >>>>>> - #define WORD64ALIGN
> >>>>>> - #endif /* WORD64 */
> >>>>>> - 
> >>>>>> -+/**
> >>>>>> -+ * Return a len-sized request buffer for the request type. This function may
> >>>>>> -+ * flush the output queue.
> >>>>>> -+ *
> >>>>>> -+ * @param dpy The display connection
> >>>>>> -+ * @param type The request type
> >>>>>> -+ * @param len Length of the request in bytes
> >>>>>> -+ *
> >>>>>> -+ * @returns A pointer to the request buffer with a few default values
> >>>>>> -+ * initialized.
> >>>>>> -+ */
> >>>>>> -+extern void *_XGetRequest(Display *dpy, CARD8 type, size_t len);
> >>>>>> - 
> >>>>>> - /*
> >>>>>> -  * GetReq - Get the next available X request packet in the buffer and
> >>>>>> -@@ -432,25 +444,10 @@ extern LockInfoPtr _Xglobal_lock;
> >>>>>> - 
> >>>>>> - #if !defined(UNIXCPP) || defined(ANSICPP)
> >>>>>> - #define GetReq(name, req) \
> >>>>>> --        WORD64ALIGN\
> >>>>>> --	if ((dpy->bufptr + SIZEOF(x##name##Req)) > dpy->bufmax)\
> >>>>>> --		_XFlush(dpy);\
> >>>>>> --	req = (x##name##Req *)(dpy->last_req = dpy->bufptr);\
> >>>>>> --	req->reqType = X_##name;\
> >>>>>> --	req->length = (SIZEOF(x##name##Req))>>2;\
> >>>>>> --	dpy->bufptr += SIZEOF(x##name##Req);\
> >>>>>> --	dpy->request++
> >>>>>> --
> >>>>>> -+	req = (x##name##Req *) _XGetRequest(dpy, X_##name, SIZEOF(x##name##Req))
> >>>>>> - #else  /* non-ANSI C uses empty comment instead of "##" for token concatenation */
> >>>>>> - #define GetReq(name, req) \
> >>>>>> --        WORD64ALIGN\
> >>>>>> --	if ((dpy->bufptr + SIZEOF(x/**/name/**/Req)) > dpy->bufmax)\
> >>>>>> --		_XFlush(dpy);\
> >>>>>> --	req = (x/**/name/**/Req *)(dpy->last_req = dpy->bufptr);\
> >>>>>> --	req->reqType = X_/**/name;\
> >>>>>> --	req->length = (SIZEOF(x/**/name/**/Req))>>2;\
> >>>>>> --	dpy->bufptr += SIZEOF(x/**/name/**/Req);\
> >>>>>> --	dpy->request++
> >>>>>> -+	req = (x/**/name/**/Req *) _XGetRequest(dpy, X_/**/name, SIZEOF(x/**/name/**/Req))
> >>>>>> - #endif
> >>>>>> - 
> >>>>>> - /* GetReqExtra is the same as GetReq, but allocates "n" additional
> >>>>>> -@@ -458,24 +455,10 @@ extern LockInfoPtr _Xglobal_lock;
> >>>>>> - 
> >>>>>> - #if !defined(UNIXCPP) || defined(ANSICPP)
> >>>>>> - #define GetReqExtra(name, n, req) \
> >>>>>> --        WORD64ALIGN\
> >>>>>> --	if ((dpy->bufptr + SIZEOF(x##name##Req) + n) > dpy->bufmax)\
> >>>>>> --		_XFlush(dpy);\
> >>>>>> --	req = (x##name##Req *)(dpy->last_req = dpy->bufptr);\
> >>>>>> --	req->reqType = X_##name;\
> >>>>>> --	req->length = (SIZEOF(x##name##Req) + n)>>2;\
> >>>>>> --	dpy->bufptr += SIZEOF(x##name##Req) + n;\
> >>>>>> --	dpy->request++
> >>>>>> -+	req = (x##name##Req *) _XGetRequest(dpy, X_##name, SIZEOF(x##name##Req) + n)
> >>>>>> - #else
> >>>>>> - #define GetReqExtra(name, n, req) \
> >>>>>> --        WORD64ALIGN\
> >>>>>> --	if ((dpy->bufptr + SIZEOF(x/**/name/**/Req) + n) > dpy->bufmax)\
> >>>>>> --		_XFlush(dpy);\
> >>>>>> --	req = (x/**/name/**/Req *)(dpy->last_req = dpy->bufptr);\
> >>>>>> --	req->reqType = X_/**/name;\
> >>>>>> --	req->length = (SIZEOF(x/**/name/**/Req) + n)>>2;\
> >>>>>> --	dpy->bufptr += SIZEOF(x/**/name/**/Req) + n;\
> >>>>>> --	dpy->request++
> >>>>>> -+	req = (x/**/name/**/Req *) _XGetRequest(dpy, X_/**/name, SIZEOF(x/**/name/**/Req) + n)
> >>>>>> - #endif
> >>>>>> - 
> >>>>>> - 
> >>>>>> -diff --git a/src/XlibInt.c b/src/XlibInt.c
> >>>>>> -index 3db151e..a8f5d08 100644
> >>>>>> ---- a/src/XlibInt.c
> >>>>>> -+++ b/src/XlibInt.c
> >>>>>> -@@ -1956,6 +1956,37 @@ Screen *_XScreenOfWindow(Display *dpy, Window w)
> >>>>>> - }
> >>>>>> - 
> >>>>>> - 
> >>>>>> -+/*
> >>>>>> -+ * WARNING: This implementation's pre-conditions and post-conditions
> >>>>>> -+ * must remain compatible with the old macro-based implementations of
> >>>>>> -+ * GetReq, GetReqExtra, GetResReq, and GetEmptyReq. The portions of the
> >>>>>> -+ * Display structure affected by those macros are part of libX11's
> >>>>>> -+ * ABI.
> >>>>>> -+ */
> >>>>>> -+void *_XGetRequest(Display *dpy, CARD8 type, size_t len)
> >>>>>> -+{
> >>>>>> -+    xReq *req;
> >>>>>> -+
> >>>>>> -+    WORD64ALIGN
> >>>>>> -+
> >>>>>> -+    if (dpy->bufptr + len > dpy->bufmax)
> >>>>>> -+	_XFlush(dpy);
> >>>>>> -+
> >>>>>> -+    if (len % 4)
> >>>>>> -+	fprintf(stderr,
> >>>>>> -+		"Xlib: request %d length %zd not a multiple of 4.\n",
> >>>>>> -+		type, len);
> >>>>>> -+
> >>>>>> -+    dpy->last_req = dpy->bufptr;
> >>>>>> -+
> >>>>>> -+    req = (xReq*)dpy->bufptr;
> >>>>>> -+    req->reqType = type;
> >>>>>> -+    req->length = len / 4;
> >>>>>> -+    dpy->bufptr += len;
> >>>>>> -+    dpy->request++;
> >>>>>> -+    return req;
> >>>>>> -+}
> >>>>>> -+
> >>>>>> - #if defined(WIN32)
> >>>>>> - 
> >>>>>> - /*
> >>>>>> --- 
> >>>>>> -1.7.8.3
> >>>>>> -
> >>>>>> diff --git a/meta/recipes-graphics/xorg-lib/libx11-1.4.4/keysymdef_include.patch b/meta/recipes-graphics/xorg-lib/libx11-1.5.0/keysymdef_include.patch
> >>>>>> similarity index 100%
> >>>>>> rename from meta/recipes-graphics/xorg-lib/libx11-1.4.4/keysymdef_include.patch
> >>>>>> rename to meta/recipes-graphics/xorg-lib/libx11-1.5.0/keysymdef_include.patch
> >>>>>> diff --git a/meta/recipes-graphics/xorg-lib/libx11-1.4.4/makekeys_crosscompile.patch b/meta/recipes-graphics/xorg-lib/libx11-1.5.0/makekeys_crosscompile.patch
> >>>>>> similarity index 100%
> >>>>>> rename from meta/recipes-graphics/xorg-lib/libx11-1.4.4/makekeys_crosscompile.patch
> >>>>>> rename to meta/recipes-graphics/xorg-lib/libx11-1.5.0/makekeys_crosscompile.patch
> >>>>>> diff --git a/meta/recipes-graphics/xorg-lib/libx11-1.4.4/x11_disable_makekeys.patch b/meta/recipes-graphics/xorg-lib/libx11-1.5.0/x11_disable_makekeys.patch
> >>>>>> similarity index 74%
> >>>>>> rename from meta/recipes-graphics/xorg-lib/libx11-1.4.4/x11_disable_makekeys.patch
> >>>>>> rename to meta/recipes-graphics/xorg-lib/libx11-1.5.0/x11_disable_makekeys.patch
> >>>>>> index e3782a5..69f9e6c 100644
> >>>>>> --- a/meta/recipes-graphics/xorg-lib/libx11-1.4.4/x11_disable_makekeys.patch
> >>>>>> +++ b/meta/recipes-graphics/xorg-lib/libx11-1.5.0/x11_disable_makekeys.patch
> >>>>>> @@ -1,10 +1,10 @@
> >>>>>>  Upstream-Status: Pending
> >>>>>>  
> >>>>>> -Index: libX11-1.3.4/src/util/Makefile.am
> >>>>>> +Index: libX11-1.5.0/src/util/Makefile.am
> >>>>>>  ===================================================================
> >>>>>> ---- libX11-1.3.4.orig/src/util/Makefile.am
> >>>>>> -+++ libX11-1.3.4/src/util/Makefile.am
> >>>>>> -@@ -1,24 +1 @@
> >>>>>> +--- libX11-1.5.0.orig/src/util/Makefile.am
> >>>>>> ++++ libX11-1.5.0/src/util/Makefile.am
> >>>>>> +@@ -1,27 +1,2 @@
> >>>>>>  -
> >>>>>>  -noinst_PROGRAMS=makekeys
> >>>>>>  -
> >>>>>> @@ -12,13 +12,16 @@ Index: libX11-1.3.4/src/util/Makefile.am
> >>>>>>  -	$(X11_CFLAGS) \
> >>>>>>  -	$(CWARNFLAGS)
> >>>>>>  -
> >>>>>> +-makekeys_CPPFLAGS = \
> >>>>>> +-	-I$(top_srcdir)/include
> >>>>>> +-
> >>>>>>  -CC = @CC_FOR_BUILD@
> >>>>>>  -CPPFLAGS = @CPPFLAGS_FOR_BUILD@
> >>>>>>  -CFLAGS = @CFLAGS_FOR_BUILD@
> >>>>>>  -LDFLAGS = @LDFLAGS_FOR_BUILD@
> >>>>>>  -
> >>>>>>   EXTRA_DIST = mkks.sh
> >>>>>> --
> >>>>>> + 
> >>>>>>  -if LINT
> >>>>>>  -# Check source code with tools like lint & sparse
> >>>>>>  -
> >>>>>> diff --git a/meta/recipes-graphics/xorg-lib/libx11_1.4.4.bb b/meta/recipes-graphics/xorg-lib/libx11_1.5.0.bb
> >>>>>> similarity index 67%
> >>>>>> rename from meta/recipes-graphics/xorg-lib/libx11_1.4.4.bb
> >>>>>> rename to meta/recipes-graphics/xorg-lib/libx11_1.5.0.bb
> >>>>>> index 1ad8046..04805d7 100644
> >>>>>> --- a/meta/recipes-graphics/xorg-lib/libx11_1.4.4.bb
> >>>>>> +++ b/meta/recipes-graphics/xorg-lib/libx11_1.5.0.bb
> >>>>>> @@ -1,7 +1,7 @@
> >>>>>>  require libx11.inc
> >>>>>>  inherit gettext
> >>>>>>  
> >>>>>> -PR = "r3"
> >>>>>> +PR = "r0"
> >>>>>>  
> >>>>>>  BBCLASSEXTEND = "native nativesdk"
> >>>>>>  
> >>>>>> @@ -14,9 +14,8 @@ DEPENDS += "util-macros xtrans libxdmcp libxau \
> >>>>>>  
> >>>>>>  SRC_URI += " file://keysymdef_include.patch \
> >>>>>>               file://x11_disable_makekeys.patch \
> >>>>>> -             file://0001-Add-_XGetRequest-as-substitute-for-GetReq-GetReqExtr.patch \
> >>>>>>               file://makekeys_crosscompile.patch \
> >>>>>>               "
> >>>>>>  
> >>>>>> -SRC_URI[md5sum] = "ed7c382cbf8c13425b6a66bcac0ca5d9"
> >>>>>> -SRC_URI[sha256sum] = "7fe62180f08ef5f0a0062fb444591e349cae2ab5af6ad834599f5c654e6c840d"
> >>>>>> +SRC_URI[md5sum] = "78b4b3bab4acbdf0abcfca30a8c70cc6"
> >>>>>> +SRC_URI[sha256sum] = "c382efd7e92bfc3cef39a4b7f1ecf2744ba4414a705e3bc1e697f75502bd4d86"
> >>>>>>
> >>>>>>
> >>>>>> _______________________________________________
> >>>>>> Openembedded-commits mailing list
> >>>>>> Openembedded-commits at lists.openembedded.org
> >>>>>> http://lists.linuxtogo.org/cgi-bin/mailman/listinfo/openembedded-commits
> >>>>>
> >>>>> -- 
> >>>>> Martin 'JaMa' Jansa     jabber: Martin.Jansa at gmail.com
> >>>>
> >>>>
> >>>>
> >>>> -- 
> >>>> Martin 'JaMa' Jansa     jabber: Martin.Jansa at gmail.com
> >>>
> >>>
> >>>
> >>>
> >>>
> >>> _______________________________________________
> >>> Openembedded-core mailing list
> >>> Openembedded-core at lists.openembedded.org
> >>> http://lists.linuxtogo.org/cgi-bin/mailman/listinfo/openembedded-core
> >>>
> >>
> >>
> >> _______________________________________________
> >> Openembedded-core mailing list
> >> Openembedded-core at lists.openembedded.org
> >> http://lists.linuxtogo.org/cgi-bin/mailman/listinfo/openembedded-core
> > 
> > 
> > 
> > _______________________________________________
> > Openembedded-core mailing list
> > Openembedded-core at lists.openembedded.org
> > http://lists.linuxtogo.org/cgi-bin/mailman/listinfo/openembedded-core
> > 
> 
> 
> _______________________________________________
> Openembedded-core mailing list
> Openembedded-core at lists.openembedded.org
> http://lists.linuxtogo.org/cgi-bin/mailman/listinfo/openembedded-core

-- 
Martin 'JaMa' Jansa     jabber: Martin.Jansa at gmail.com
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 198 bytes
Desc: Digital signature
URL: <http://lists.openembedded.org/pipermail/openembedded-core/attachments/20120716/43d1ceb0/attachment-0002.sig>


More information about the Openembedded-core mailing list