After an evaluation, GNOME has moved from Bugzilla to GitLab. Learn more about GitLab.
No new issues can be reported in GNOME Bugzilla anymore.
To report an issue in a GNOME project, go to GNOME GitLab.
Do not go to GNOME Gitlab for: Bluefish, Doxygen, GnuCash, GStreamer, java-gnome, LDTP, NetworkManager, Tomboy.
Bug 680133 - BRP Checks: 64bit-portability-issue
BRP Checks: 64bit-portability-issue
Status: RESOLVED FIXED
Product: gnome-control-center
Classification: Core
Component: Keyboard
3.5.x
Other Linux
: Normal normal
: ---
Assigned To: Control-Center Maintainers
Control-Center Maintainers
Depends on:
Blocks:
 
 
Reported: 2012-07-17 20:36 UTC by Dominique Leuenberger
Modified: 2012-09-11 19:32 UTC
See Also:
GNOME target: ---
GNOME version: ---


Attachments
Bump Gtk+ required version to 3.5.8 (774 bytes, patch)
2012-07-23 13:10 UTC, Dominique Leuenberger
accepted-commit_now Details | Review
2nd Part of the bug: IBUS needs to be >= 1.4.99 (unstable branch.. 1.4.99.20120712 has a released tarball) (1.29 KB, patch)
2012-07-23 14:00 UTC, Dominique Leuenberger
none Details | Review
configure: We require ibus version 1.4.99 or newer (1.5 unstable) (1.24 KB, patch)
2012-07-24 12:57 UTC, Matthias Clasen
committed Details | Review
configure: Bump GTK+ requirement to 3.5.8: first version to bring GtkLevelBar. (793 bytes, patch)
2012-07-24 12:57 UTC, Matthias Clasen
committed Details | Review
fix build with --disable-ibus (1.65 KB, patch)
2012-07-25 06:32 UTC, Rico Tzschichholz
committed Details | Review

Description Dominique Leuenberger 2012-07-17 20:36:41 UTC
openSUSE Build Root Policy check triggers those errors when building g-c-c 3.5.5:

I: A function uses a 'return;' statement, but has actually a value
   to return, like an integer ('return 42;') or similar.
W: gnome-control-center voidreturn gnome-control-center.c:176
E: gnome-control-center 64bit-portability-issue cc-power-panel.c:617
E: gnome-control-center 64bit-portability-issue gnome-region-panel-input.c:172, 905

(I: Informational / W: Warning / E: Error).

The build log excerpts for the error statements are:

* for E: gnome-control-center 64bit-portability-issue cc-power-panel.c:617
cc-power-panel.c: In function 'add_device_secondary':
cc-power-panel.c:617:3: warning: implicit declaration of function 'gtk_level_bar_new' [-Wimplicit-function-declaration]
cc-power-panel.c:617:10: warning: assignment makes pointer from integer without a cast [enabled by default]

* for E: gnome-control-center 64bit-portability-issue gnome-region-panel-input.c:172
###
gnome-region-panel-input.c: In function 'fetch_ibus_engines':
gnome-region-panel-input.c:172:3: warning: implicit declaration of function 'ibus_bus_get_engines_by_names' [-Wimplicit-function-declaration]
gnome-region-panel-input.c:172:11: warning: assignment makes pointer from integer without a cast [enabled by default]

* for E: gnome-control-center 64bit-portability-issue gnome-region-panel-input.c:905
gnome-region-panel-input.c: In function 'setup_input_tabs':
gnome-region-panel-input.c:905:7: warning: implicit declaration of function 'ibus_bus_new_async' [-Wimplicit-function-declaration]
gnome-region-panel-input.c:905:12: warning: assignment makes pointer from integer without a cast [enabled by default]

All those kind of warnings are known to cause crashers...
Comment 1 Dominique Leuenberger 2012-07-23 12:59:58 UTC
(In reply to comment #0)
> * for E: gnome-control-center 64bit-portability-issue cc-power-panel.c:617
> cc-power-panel.c: In function 'add_device_secondary':
> cc-power-panel.c:617:3: warning: implicit declaration of function
> 'gtk_level_bar_new' [-Wimplicit-function-declaration]
> cc-power-panel.c:617:10: warning: assignment makes pointer from integer without
> a cast [enabled by default]

This one is likely nothing more than the fact that GTK3 is not requested in a high enough version (3.5.8), as GtkLevelBar is a rather new addition, yet configure.ac requires 'only' 3.5.5, thus resulting in the possibility of building g-c-c without a recent enough Gtk+-3.0
Comment 2 Dominique Leuenberger 2012-07-23 13:10:30 UTC
Created attachment 219481 [details] [review]
Bump Gtk+ required version to 3.5.8

With gtk 3.5.8, the GtkLevelBar is being introduced and power panel requires this.. so let's not build crashing source :)
Comment 3 Matthias Clasen 2012-07-23 13:12:15 UTC
Review of attachment 219481 [details] [review]:

Looks right
Comment 4 Dominique Leuenberger 2012-07-23 13:18:56 UTC
Scanning through the code of ibus, it seems the two other implicit declared functions
* ibus_bus_get_engines_by_names
* ibus_bus_new_async
are being added in versions of ibus > 1.4.1 (1.4.1 being the latest release).

so likely, we should just require 'newer than 1.4.1' in configure as well? (current git 'identifies' itself as 1.4.99) ? What are your thoughts on that?
Comment 5 Dominique Leuenberger 2012-07-23 13:20:11 UTC
(In reply to comment #3)
> Review of attachment 219481 [details] [review]:
> 
> Looks right
(FYI: I do not have commit access, in case the commit_now was targeted at me.. seen this happening in the past)
Comment 6 Dominique Leuenberger 2012-07-23 14:00:28 UTC
Created attachment 219496 [details] [review]
2nd Part of the bug: IBUS needs to be >= 1.4.99 (unstable branch.. 1.4.99.20120712 has a released tarball)
Comment 7 Dominique Leuenberger 2012-07-23 14:40:36 UTC
Just to confirm: the errors about ibus_* disappear when building with ibus 1.4.99.
Comment 8 Matthias Clasen 2012-07-24 12:57:01 UTC
The following fixes have been pushed:
c4db04f configure: We require ibus version 1.4.99 or newer (1.5 unstable)
f9e052e configure: Bump GTK+ requirement to 3.5.8: first version to bring GtkLevelBar.
Comment 9 Matthias Clasen 2012-07-24 12:57:04 UTC
Created attachment 219578 [details] [review]
configure: We require ibus version 1.4.99 or newer (1.5 unstable)
Comment 10 Matthias Clasen 2012-07-24 12:57:07 UTC
Created attachment 219579 [details] [review]
configure: Bump GTK+ requirement to 3.5.8: first version to bring GtkLevelBar.
Comment 11 Rico Tzschichholz 2012-07-25 06:32:14 UTC
Created attachment 219617 [details] [review]
fix build with --disable-ibus

The ibus version check is placed in the wrong place and breaks the build with --disable-ibus
Comment 12 Matthias Clasen 2012-07-27 06:54:57 UTC
Review of attachment 219617 [details] [review]:

Oh, looks right indeed. Thanks
Comment 13 André Klapper 2012-09-11 19:32:23 UTC
Comment on attachment 219617 [details] [review]
fix build with --disable-ibus

Last patch got committed: http://git.gnome.org/browse/gnome-control-center/commit/configure.ac?id=fbe6756c6f2104d78854da927b96c3d88cd31a2e