Bug 1419234 - Source not available, MATE 1.16 source not compiling under GTK3+ due to non existent function
Summary: Source not available, MATE 1.16 source not compiling under GTK3+ due to non ...
Alias: None
Product: Fedora EPEL
Classification: Fedora
Component: mate-control-center
Version: epel7
Hardware: All
OS: All
Target Milestone: ---
Assignee: Wolfgang Ulbrich
QA Contact: Fedora Extras Quality Assurance
Depends On:
TreeView+ depends on / blocked
Reported: 2017-02-04 02:39 UTC by Daniel Needles
Modified: 2017-02-05 08:45 UTC (History)
3 users (show)

Fixed In Version:
Doc Type: If docs needed, set a value
Doc Text:
Clone Of:
Last Closed: 2017-02-04 07:58:14 UTC
Type: Bug

Attachments (Terms of Use)

Description Daniel Needles 2017-02-04 02:39:20 UTC
Description of problem:

The source code for the version in EPEL:
  mate-control-center.x86_64                  1.16.0-1.el7
Is not available here:   
Using the alternative source taken via:
      curl http://pub.mate-desktop.org/releases/1.16/ | grep href | awk -F\" '{ print "http://pub.mate-desktop.org/releases/1.16/" $2 }' | xargs wget
The following error happens on Make after a autoconf using --with-GTK3.0:
       mate-control-center/capplets/display/xrandr-capplet.c:1819: undefined reference to `mate_rr_labeler_get_rgba_for_output'

  The following is the code snippet:

         #if GTK_CHECK_VERSION (3, 0, 0)
              mate_rr_labeler_get_rgba_for_output (app->labeler, app->current_output, &color);
             mate_rr_labeler_get_color_for_output (app->labeler, app->current_output, &color);

     I assume the intent was to miror GNOME 3, but I cannot find this function.  I also noted a lot of deprecated calls.  Does this code compile with GTK3+ with minor modifications or is it in the same state as with GTK2+?  

   I originally decided to compile MATE with GTK2+, to work around the above problem, but that has become untenable due to all the macro code I'll need to include the Wacom Gnome 3.14 code and the allotted time to do it.

Version-Release number of selected component (if applicable):
  mate-control-center 1.16
  gnome-control-center 3.14.5

How reproducible:
  Try building mate-control-center and mate-settings-deamon

Steps to Reproduce:
1.  Obtain the two packages and put them in sister directories.
2.  cd mate-control-center
3.  ./autogen.sh --prefix=/usr --with-gtk=3.0 >FILEFORVIEWWING 2>&1
4.  make

Actual results:
   mate-control-center/capplets/display/xrandr-capplet.c:1819: undefined reference to `mate_rr_labeler_get_rgba_for_output'

Expected results:
   Successful make

Additional info:
   Mgr: Michael Rice & Proj Mgr: Ajay Phagura

Comment 1 Wolfgang Ulbrich 2017-02-04 07:58:14 UTC
sigh, exactly this is the reason why i provide a gtk3 repo for epel7.
You can't compile m-c-c as a single package with gtk3 and the rest of the dektop use gtk2.
Well, with f25 we switched to gtk3 already, let's have a look in spec files.
BuildRequires: mate-desktop-devel
BuildRequires: mate-menus-devel
BuildRequires: mate-settings-daemon-devel
BuildRequires: marco-devel
All this packages needs to compile first with gtk3 :-)
This are the configure options.
If you really want to compile for your own take a look at my spec files for f25.
For epel7 at corp (gtk3) i use the spec files from fedora rawhide.
As gtk2 code is completely dropped with mate-1.17.x.
So the compile option --with-gtk=3.0 does'nt exists anymore.

Comment 2 Daniel Needles 2017-02-04 16:08:21 UTC
So can I infer:
1.  mate-settings-daemon & mate-control-center are both compiled with GTK2 rather than GTK3 in the EPEL 1.16 build? Correct?
2.  It seemed as if some of the MATE components were in GTK3 on EPEL's compile of MATE 1.16 but thinking about it that is likely not the case.  Correct?

Comment 3 Wolfgang Ulbrich 2017-02-04 19:05:22 UTC
Why thinking so complicate :-)
With official epel7 repo from fedora all MATE components use gtk2.
The corps repo use gtk3 for 1.17.x. You can't mix it.

Comment 4 Daniel Needles 2017-02-04 19:22:17 UTC
Makes sense. Unfortunately, I don't live and breath GNOME/MATE regularly so the learning curve has been steep. Thanks! That does clarify. Options forward are now clear.

Comment 5 Wolfgang Ulbrich 2017-02-04 19:49:06 UTC
For your info, with MATE-1.18 the gtk2 code is dropped.
F26 will come with 1.18. Normal i upgrade previous fedora release and epel7 after the release if everything works well.
I am not sure to upgrade epel7 with 1.18 and switching to gtk3 this time.
As next debian releases will come with 1.16 chances are high that 1.16 will maintain much longer than normal.
What do you think?
Should i upgrade epel7 repo with Mate 1.18 compile with gtk3
or wait for next rhel version to switch Mate to gtk3 there?

Comment 6 Daniel Needles 2017-02-04 20:06:22 UTC
  I'm betting your perspective is larger and more complete than mine.  I need to the needs of one, albeit large, customer.  That said, of course I would love to have an EPEL7, such as MATE-1.17, compiled with GTK3+ in the near term. That would greatly simplify the port of Gnome 3.14 Wacom to the settings-deamon and control-center sources.
  Is it too much to wish for Santa in early Feb? 8-)

Comment 7 Daniel Needles 2017-02-05 03:19:41 UTC
Sorry one last question (put here for posterity)

Is the SPEC file,patches, etc for MATE 1.16 available? I forgot to explicitly ask as the source code for the version in EPEL:
  mate-control-center.x86_64                  1.16.0-1.el7
It is not here:   
And these files are not included in the tar balls:
      curl http://pub.mate-desktop.org/releases/1.16/ | grep href | awk -F\" '{ print "http://pub.mate-desktop.org/releases/1.16/" $2 }' | xargs wget

Comment 8 Wolfgang Ulbrich 2017-02-05 08:45:35 UTC
epel7 builds you will find at koji.
for all fedora and epel7 branches.

Note You need to log in before you can comment on or make changes to this bug.