[oe] [meta-oe][PATCH] Revert "glibmm: Upgrade to 2.56.0"

Oleksandr Kravchuk open.source at oleksandr-kravchuk.com
Mon Jul 30 17:39:46 UTC 2018


On 30/07/18 18:23, Martin Jansa wrote:
> On Mon, Jul 30, 2018 at 06:12:23PM +0200, Oleksandr Kravchuk wrote:
>> sumo branch of poky contains glib v2.54 which makes compilation of this
>> package fail due to nonexistent functions in the library used by the
>> C++ bindings.
> This explanation doesn't make any sense to me.
>
> With sumo branch of poky use sumo branch of meta-oe which still has
> 2.54.1 version.

Martin -

I appreciate fast response, but your feedback is very ambiguous and 
therefore not helpful: which part of my explanation need to be improved? 
One needs to know if explanation has to be extended or changed 
completely. You simply repeated statement from my commit message and 
presented it as something opposite of what I've said. This is what truly 
doesn't make any sense.

Let me try to explain it differently: poky has glib version 2.54 in its 
'sumo' branch; corresponding branch (sumo) of meta-openembeded has C++ 
binding for glib version 2.56, which has C++ function wrappers for 
functions implemented in glib 2.56, which obviously won't compile, since 
we have glib and headers for it of version 2.54.

If my English is still too poor for you, I propose you checking out sumo 
branches of poky and open-embedded and trying to build 'glibmm' package.

SPOILER: result is going to be the following:

| ../../../glibmm-2.56.0/gio/giomm/application.cc: In member function 
'void Gio::Application::set_option_context_parameter_string(const 
Glib::ustring&)':
| ../../../glibmm-2.56.0/gio/giomm/application.cc:1169:3: error: 
'g_application_set_option_context_parameter_string' was not declared in 
this scope
|    g_application_set_option_context_parameter_string(gobj(), 
parameter_string.empty() ? nullptr : parameter_string.c_str());
|    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
| ../../../glibmm-2.56.0/gio/giomm/application.cc:1169:3: note: 
suggested alternative: 'set_option_context_parameter_string'
|    g_application_set_option_context_parameter_string(gobj(), 
parameter_string.empty() ? nullptr : parameter_string.c_str());
|    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|    set_option_context_parameter_string
| ../../../glibmm-2.56.0/gio/giomm/application.cc: In member function 
'void Gio::Application::set_option_context_summary(const Glib::ustring&)':
| ../../../glibmm-2.56.0/gio/giomm/application.cc:1174:3: error: 
'g_application_set_option_context_summary' was not declared in this scope
|    g_application_set_option_context_summary(gobj(), summary.empty() ? 
nullptr : summary.c_str());
|    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
| ../../../glibmm-2.56.0/gio/giomm/application.cc:1174:3: note: 
suggested alternative: 'set_option_context_summary'
|    g_application_set_option_context_summary(gobj(), summary.empty() ? 
nullptr : summary.c_str());
|    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|    set_option_context_summary
| ../../../glibmm-2.56.0/gio/giomm/application.cc: In member function 
'void Gio::Application::set_option_context_description(const 
Glib::ustring&)':
| ../../../glibmm-2.56.0/gio/giomm/application.cc:1179:3: error: 
'g_application_set_option_context_description' was not declared in this 
scope
|    g_application_set_option_context_description(gobj(), 
description.empty() ? nullptr : description.c_str());
|    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
| ../../../glibmm-2.56.0/gio/giomm/application.cc:1179:3: note: 
suggested alternative: 'set_option_context_description'
|    g_application_set_option_context_description(gobj(), 
description.empty() ? nullptr : description.c_str());
|    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|    set_option_context_description


Let us check the first function 
(https://developer.gnome.org/gio/stable/GApplication.html#g-application-set-option-context-parameter-string) 
and find out that it was introduced in 2.56.

>
>> This reverts commit acfba081bbe49fd9dccbf12be6535d5342c6d747.
>> ---
>>   .../0001-Glib-Threads-Private-Fix-gobj.patch  | 40 +++++++++++++++++++
>>   .../{glibmm_2.56.0.bb => glibmm_2.54.1.bb}    |  5 ++-
>>   2 files changed, 43 insertions(+), 2 deletions(-)
>>   create mode 100644 meta-oe/recipes-core/glib-2.0/glibmm/0001-Glib-Threads-Private-Fix-gobj.patch
>>   rename meta-oe/recipes-core/glib-2.0/{glibmm_2.56.0.bb => glibmm_2.54.1.bb} (86%)
>>
>> diff --git a/meta-oe/recipes-core/glib-2.0/glibmm/0001-Glib-Threads-Private-Fix-gobj.patch b/meta-oe/recipes-core/glib-2.0/glibmm/0001-Glib-Threads-Private-Fix-gobj.patch
>> new file mode 100644
>> index 000000000..7899022f1
>> --- /dev/null
>> +++ b/meta-oe/recipes-core/glib-2.0/glibmm/0001-Glib-Threads-Private-Fix-gobj.patch
>> @@ -0,0 +1,40 @@
>> +From 838fe84c2ddcc9af51c34f751defbf3dd0ba8a06 Mon Sep 17 00:00:00 2001
>> +From: Kjell Ahlstedt <kjellahlstedt at gmail.com>
>> +Date: Wed, 20 Dec 2017 20:00:32 +0100
>> +Subject: [PATCH] Glib::Threads::Private: Fix gobj()
>> +
>> +Bug 791711
>> +
>> +Signed-off-by: Khem Raj <raj.khem at gmail.com>
>> +---
>> +Upstream-Status: Backport [https://github.com/GNOME/glibmm/commit/37d57ae9572b7d74aa385a30313eceae7f2d3fce]
>> + glib/glibmm/threads.h | 2 +-
>> + glib/src/threads.hg   | 2 +-
>> + 2 files changed, 2 insertions(+), 2 deletions(-)
>> +
>> +diff --git a/glib/glibmm/threads.h b/glib/glibmm/threads.h
>> +index f7e2b82a..2c0cbe8c 100644
>> +--- a/glib/glibmm/threads.h
>> ++++ b/glib/glibmm/threads.h
>> +@@ -657,7 +657,7 @@ public:
>> +    */
>> +   inline void replace(T* data);
>> +
>> +-  GPrivate* gobj() { return gobject_; }
>> ++  GPrivate* gobj() { return &gobject_; }
>> +
>> + private:
>> +   GPrivate gobject_;
>> +diff --git a/glib/src/threads.hg b/glib/src/threads.hg
>> +index 86d7a17b..c82a6130 100644
>> +--- a/glib/src/threads.hg
>> ++++ b/glib/src/threads.hg
>> +@@ -628,7 +628,7 @@ public:
>> +    */
>> +   inline void replace(T* data);
>> +
>> +-  GPrivate* gobj() { return gobject_; }
>> ++  GPrivate* gobj() { return &gobject_; }
>> +
>> + private:
>> +   GPrivate gobject_;
>> diff --git a/meta-oe/recipes-core/glib-2.0/glibmm_2.56.0.bb b/meta-oe/recipes-core/glib-2.0/glibmm_2.54.1.bb
>> similarity index 86%
>> rename from meta-oe/recipes-core/glib-2.0/glibmm_2.56.0.bb
>> rename to meta-oe/recipes-core/glib-2.0/glibmm_2.54.1.bb
>> index 2f048d2f6..4706432ab 100644
>> --- a/meta-oe/recipes-core/glib-2.0/glibmm_2.56.0.bb
>> +++ b/meta-oe/recipes-core/glib-2.0/glibmm_2.54.1.bb
>> @@ -13,9 +13,10 @@ SHRT_VER = "${@d.getVar('PV').split('.')[0]}.${@d.getVar('PV').split('.')[1]}"
>>   SRC_URI = " \
>>       ftp://ftp.gnome.org/pub/GNOME/sources/glibmm/${SHRT_VER}/glibmm-${PV}.tar.xz \
>>       file://remove-examples.patch \
>> +    file://0001-Glib-Threads-Private-Fix-gobj.patch \
>>   "
>> -SRC_URI[md5sum] = "5aa7a60084fe3e01d746c96f4a115302"
>> -SRC_URI[sha256sum] = "6e74fcba0d245451c58fc8a196e9d103789bc510e1eee1a9b1e816c5209e79a9"
>> +SRC_URI[md5sum] = "dee5ebe309f5976c3dacfcf5c43a062b"
>> +SRC_URI[sha256sum] = "7cc28c732b04d70ed34f0c923543129083cfb90580ea4a2b4be5b38802bf6a4a"
>>   
>>   do_install_append() {
>>       install -d ${D}${datadir}/glibmm-2.4
>> -- 
>> 2.17.1
>>
>> -- 
>> _______________________________________________
>> Openembedded-devel mailing list
>> Openembedded-devel at lists.openembedded.org
>> http://lists.openembedded.org/mailman/listinfo/openembedded-devel




More information about the Openembedded-devel mailing list