CentOS 6.4 upgrade breaks gtk+-3.6.2 build
Hi all, I just upgraded several CentOS 6.3 systems to 6.4 and have been rebuilding gtk+-3.6.2 (and all its dependencies, e.g., glib, gdk-pixbuf, etc.) on all of them. This has gone fine except for 2 problem systems subject to the new Xorg 1.13 ABI bug because of their particular graphics hardware. To get those particular systems to properly upgrade to 6.4 yet still be able to run Xorg, I had to add exclude all xorg* package updates via the line exclude=xorg* appended to /etc/yum.conf before doing the 6.4 update. On one of those systems, I did the normal full upgrade first, then discovered my system suffered from the Xorg bug and had to do a yum downgrade back to the 6.3 packages. These systems now run Xorg 1.10.6. On these two problem systems, my build of gtk3+ fails here very close to the beginning of the make: make[4]: Entering directory `/opt/gtk3/gtk+-3.6.2/gdk/x11' CC gdkapplaunchcontext-x11.lo CC gdkasync.lo CC gdkcursor-x11.lo CC gdkdevice-core-x11.lo CC gdkdevice-xi2.lo gdkdevice-xi2.c: In function '_gdk_x11_device_xi2_translate_event_mask': gdkdevice-xi2.c:723: error: 'XI_TouchBegin' undeclared (first use in this function) gdkdevice-xi2.c:723: error: (Each undeclared identifier is reported only once gdkdevice-xi2.c:723: error: for each function it appears in.) gdkdevice-xi2.c:724: error: 'XI_TouchUpdate' undeclared (first use in this function) gdkdevice-xi2.c:725: error: 'XI_TouchEnd' undeclared (first use in this function) Looking at my ./configure output from just prior to the make, I see this possibly relevant info: ... checking if X11/extensions/XIproto.h is needed for xReply... no checking for XkbQueryExtension... yes checking for XShapeCombineMask... yes checking for XSyncQueryExtension... yes checking for X11/extensions/sync.h... yes checking for Xinerama packages... yes checking for XGetEventData... yes checking X11/extensions/XInput2.h usability... yes checking X11/extensions/XInput2.h presence... yes checking for X11/extensions/XInput2.h... yes checking for XIAllowTouchEvents... yes checking for XIScrollClassInfo.number... yes ... I'm guessing that whatever package contains the XI_Touch* functions is not fully present on the system although perhaps configure seems to think that it is. Any idea how to fix this? Thanks! Roger Davis Univ. of Hawaii PS: I do not need any touchscreen functionality, if that's what this stuff is about. ___ gtk-app-devel-list mailing list gtk-app-devel-list@gnome.org https://mail.gnome.org/mailman/listinfo/gtk-app-devel-list
CentOS 6.4 gtk+-3.6.2 build failure
[ Apologies if this is a needless repost -- I tried to mail this earlier but am pretty certain the mail never left my system. ] Hi all, I just upgraded several CentOS 6.3 systems to 6.4 and have been rebuilding gtk+-3.6.2 (and all its dependencies, e.g., glib, gdk-pixbuf, etc.) on all of them. This has gone fine except for 2 problem systems subject to the new Xorg 1.13 ABI bug because of their particular graphics hardware. To get those particular systems to properly upgrade to 6.4 yet still be able to run Xorg, I had to add exclude all xorg* package updates via the line exclude=xorg* appended to /etc/yum.conf before doing the 6.4 update. On one of those systems, I did the normal full upgrade first, then discovered my system suffered from this bug and had to do a yum downgrade back to the 6.3 packages. On these two problem systems, my build of gtk3+ fails here very close to the beginning of the make: make[4]: Entering directory `/opt/gtk3/gtk+-3.6.2/gdk/x11' CC gdkapplaunchcontext-x11.lo CC gdkasync.lo CC gdkcursor-x11.lo CC gdkdevice-core-x11.lo CC gdkdevice-xi2.lo gdkdevice-xi2.c: In function '_gdk_x11_device_xi2_translate_event_mask': gdkdevice-xi2.c:723: error: 'XI_TouchBegin' undeclared (first use in this function) gdkdevice-xi2.c:723: error: (Each undeclared identifier is reported only once gdkdevice-xi2.c:723: error: for each function it appears in.) gdkdevice-xi2.c:724: error: 'XI_TouchUpdate' undeclared (first use in this function) gdkdevice-xi2.c:725: error: 'XI_TouchEnd' undeclared (first use in this function) Looking at my ./configure output from just prior to the make, I see this possibly relevant info: ... checking if X11/extensions/XIproto.h is needed for xReply... no checking for XkbQueryExtension... yes checking for XShapeCombineMask... yes checking for XSyncQueryExtension... yes checking for X11/extensions/sync.h... yes checking for Xinerama packages... yes checking for XGetEventData... yes checking X11/extensions/XInput2.h usability... yes checking X11/extensions/XInput2.h presence... yes checking for X11/extensions/XInput2.h... yes checking for XIAllowTouchEvents... yes checking for XIScrollClassInfo.number... yes ... I'm guessing that whatever package contains the XI_Touch* functions is not fully present on the system although perhaps configure seems to think that it is. Any idea how to fix this? Thanks! Roger Davis Univ. of Hawaii PS: I have no need of touchscreen functionality if that's what this is about. ___ gtk-app-devel-list mailing list gtk-app-devel-list@gnome.org https://mail.gnome.org/mailman/listinfo/gtk-app-devel-list
Re: CentOS 6.4 gtk+-3.6.2 build failure
Sorry, apparently my original post *did* get through, oops! Anyway, I have tracked this down a little further but am unsure on how to proceed. The error is due to an incorrect version of XI2.h installed in /usr/include/X11/extensions. The newer release of the relevant package (xorg-x11-proto-devel-7.6-25.el6.noarch) has the required #defines, but the older release (xorg-x11-proto-devel-7.6-13.el6.noarch) doesn't. Apparently there is some confusion in my package system or elsewhere due to the CentOS 6.4 upgrade that was performed while excluding newer Xorg package updates. I have not yet tried upgrading this single package, I suspect that if I do the gtk3 build (or my own app builds) will just fail later on when code is linked to whatever X11 library is supposed to include these functions. I also suspect if I try to install the newerr libraries I will get a big dependency mess related to other new xorg packages that are missing. Like I said, if this is just about touchscreen stuff I don't need it, so if anyone knows how to fully degrade my system so that the gtk3+ configure will believe I have the older release, that would be fine. Any suggestions? Thanks! ___ gtk-app-devel-list mailing list gtk-app-devel-list@gnome.org https://mail.gnome.org/mailman/listinfo/gtk-app-devel-list
Re: GTK+ 3.8.0 released
It would be nice know that =pango1.32.4 means that systems with fontconfig, freetype and xft if and only if harfbuzz = 0.9.9. Seems like the pango 1.32.4 configure.ac tests in things in the wrong order. 2013/3/25 Matthias Clasen matthias.cla...@gmail.com GTK+ 3.8.0 is now available for download at: http://download.gnome.org/sources/gtk+/3.8/ ftp://ftp.gtk.org/pub/gtk/3.8/ sha256 sum: db1345d89d6b5f5bad411b4b2a3b1a18a2a8f98d2ab1b40d43a0197a6e6c252e gtk+-3.8.0.tar.xz What is GTK+ GTK+ is a multi-platform toolkit for creating graphical user interfaces. Offering a complete set of widgets, GTK+ is suitable for projects ranging from small one-off tools to complete application suites. GTK+ has been designed from the ground up to support a range of languages, not only C/C++. Using GTK+ from languages such as Perl and Python (especially in combination with the Glade GUI builder) provides an effective method of rapid application development. GTK+ is free software and part of the GNU Project. However, the licensing terms for GTK+, the GNU LGPL, allow it to be used by all developers, including those developing proprietary software, without any license fees or royalties. Since its origins as the toolkit for the GNU Image Manipulation Program (GIMP), GTK+ has been used in a wide range of software. Notably, GTK+ is the foundation of the GNOME desktop. What's new in 3.8 = Major new features include: * Wayland: - we support Wayland 1.0 now * Broadway: - we install a separate server: broadwayd * Theming: - Improve touch text handle theming - Always draw background of menuitems - The default font is no longer handled like a custom style sheet that overrides everything, but as the initial value. This is the same behavior as in web browsers. - It is now possible to set font-family and font-size like other CSS properties, and relative font sizes are supported. Font sizes in CSS can be specified as numbers or with keywords like xx-small, medium, smaller, larger,... - GtkFrame now draws a background - Opacity can be set on any GtkWidget, not just toplevels * Geometry management - Size groups now handle height-for-width - Fix corner cases in label size allocation - Invisible widgets now return a size of 0x0. This is an experimental change that makes GtkWidget::visible essentially behave the same way that display: none does in CSS. If you want the effect of CSS's visibility: hidden, you can use a GtkNotebook with an empty page * Accessibility - Entry icons are now accessible - We install headers for accessible implementations of GTK+ widgets. This makes it possible to implement accessibility for third-party widgets by subclassing the proper GTK+ implementation. To do so, include gtk/gtk-a11y.h * Touch - We support touch friendly popups on entries and text views in place of context menus, on touch devices * Printing - The print dialog now shows printers that are discovered using avahi, if configured with --enable-avahi-browsing * GtkTreeView and GtkIconView allow single-click activation * We now support the Window Manager frame synchronization protocol draft (when running under a WM that supports it). This means applications will throttle their drawing cycle to what the compositor is drawing, and the compositor will never render half-updated windows, for seamless resizing and improves smoothness in drawing. See https://mail.gnome.org/archives/wm-spec-list/2013-January/msg0.html and the articles at http://blog.fishsoup.net/ for more details. * Performance improvements - Size allocation has been optimized, by avoiding excessive resizing in various situations. - The performance of size groups has been improved. - Text rendering in GtkLabel and other widgets has been optimized to avoid excessive recreation of Pango layouts. - Icon loading overhead was reduced by caching of GtkIconInfo. - The CSS is now keeping a tree of selectors to speed up matchinh. * Deprecations and removals: - Custom CSS properties have been deprecated - Support for color schemes has been removed - gtk_style_provider_get_style, gtk_style_provider_get_icon_factory - GtkGradient and GtkSymbolicColor - All the padding style properties in menus - gtk_style_context_set_direction() has been deprecated in favour of state flags for text direction: GTK_STATE_FLAG_LTR/RTL - gtk_window_set_opacity has been deprecated in favor of gtk_widget_set_opacity * GtkIconInfo has changed from being a boxed type to a GObject. This is technically an ABI change, but basically all existing code will keep working if its used as a boxed type, and its not possible to instantiate GtkIconInfos outside Gtk, so this is not expected to be a big problem. For more details and lists of fixed bugs, see the NEWS file that is included in the tarball,
New baseline branch, review wanted
I've done a bunch of work on the baseline stuff and rebased it into a nice branch called wip/baseline3. Its got the core working with a bunch of widgets converted. The only interesting widget that lacks baseline support (imho) is GtkComboBox. But that one is hard due to it using GtkCellArea co. I'd rather not add baseline support to cell renderers... There is a new GTK_DEBUG flag called baselines, so if you want to try this out, do: GTK_DEBUG=baselines tests/testbaseline There are however some open issues: * I added a new vfunc called get_preferred_height_and_baseline_for_width which is the basic baseline supporting size request. The core code will call this all the time now, but there is a default implementation that calls the old methods, which should keep old widgets working. However, when I add baseline support to some existing classes i override the default implementation. This means that widgets deriving from these classes (say e.g. GtkButton) that override the old size request vfuncs (say get_preferred_height), will break. We will keep calling the baseline supporting version of the baseclass. I'm not sure how to fix this. I could add some per-type flag for baseline support such that we only use get_preferred_height_and_baseline_for_width if this flag is set. That would mean such old widgets keep working. However, it also means that you *must* always set this flag for all derived classes, even for things where baseline support was implemented from the start, which seems kinda bad. Not sure what the best approach here is... * GtkGrid has a new per-row property, gtk_grid_set/get_row_baseline_position. This is neither a normal property or a child property, which means its not really nicely bindable or usable as construct properties in e.g. GtkBuilder. Is there a good way to handle this? Other than this I think this branch is in a pretty good state. ___ gtk-devel-list mailing list gtk-devel-list@gnome.org https://mail.gnome.org/mailman/listinfo/gtk-devel-list