WelcomeWelcome | FAQFAQ | DownloadsDownloads | WikiWiki

Author Topic: gtk2 is too old (?)  (Read 8286 times)

Offline bmarkus

  • Administrator
  • Hero Member
  • *****
  • Posts: 7183
    • My Community Forum
gtk2 is too old (?)
« on: October 09, 2009, 09:02:23 AM »
Current gtk2 version in the repo is 2.14.7 dated back to January 2009, while current is 2.18.2

It is causing a problem maintaining one of my extensions (libwnck) where 2.14.7 is too old to compile latest version.

Jason:

I know your are working a lot for TC. It is not urgent, but soon will cause problems keeping extensions up to date as gtk2 is one the most crucial library and used by many extensions.

« Last Edit: October 09, 2009, 09:04:05 AM by bmarkus »
Béla
Ham Radio callsign: HA5DI

"Amateur Radio: The First Technology-Based Social Network."

Offline Jason W

  • Administrator
  • Hero Member
  • *****
  • Posts: 9730
Re: gtk2 is too old (?)
« Reply #1 on: October 09, 2009, 09:44:42 AM »
I have ignored gtk2 for as long as I can.  :)   It being a critical library, I left it alone since it was working so well.  Gtk2 now requires more hardcoded X lib dependencies, but I have built it once last week and with the other libs I put in the Xlibs_support extension it should be all good. 

I will shoot for it tonight.  It may require pygtk to be updated as it's defs are only for 2.10, 2.12, and 2.14.  But pygtk is a quick build.


Offline bmarkus

  • Administrator
  • Hero Member
  • *****
  • Posts: 7183
    • My Community Forum
Re: gtk2 is too old (?)
« Reply #2 on: October 09, 2009, 09:50:23 AM »
To be on the safe side maybe you can make a test version like with Python 2.5 -> 2.6 move not to risk applications stability.
Béla
Ham Radio callsign: HA5DI

"Amateur Radio: The First Technology-Based Social Network."

Offline Jason W

  • Administrator
  • Hero Member
  • *****
  • Posts: 9730
Re: gtk2 is too old (?)
« Reply #3 on: October 09, 2009, 09:52:57 AM »
I think that would be a good idea since there seems to be more substantial changes from our version to 2.18.  I will upload a test version tonight to allow testing.

Offline Jason W

  • Administrator
  • Hero Member
  • *****
  • Posts: 9730
Re: gtk2 is too old (?)
« Reply #4 on: October 09, 2009, 11:34:14 PM »
Ok.  Here is a build to test, left as one for testing - I will split it up before posting.  It creates the /usr/local/tce.installed/{gtk2,gtk2-devs,gtk2-locales} with the startup script.  It is named aaa-gtk2-testing so it will get loaded first upon boot and no other apps will complain of gtk2 not being available in the tcedir.  I uploaded it here since it is not meant for widespread use so it is no in the repo.

http://distro.ibiblio.org/pub/linux/distributions/tinycorelinux/2.x/tce/src/gtk-testing/

Offline Jason W

  • Administrator
  • Hero Member
  • *****
  • Posts: 9730
Re: gtk2 is too old (?)
« Reply #5 on: October 10, 2009, 12:06:28 PM »
Gtk2 2.18 seems to play well with current pygtk and the gtk apps I normally use.  I will test rebuild Shiretoko and other apps with it, and if I don't see issues or get negative feedback I will seperate this into packages and replace the current gtk2, gtk2-dev, and gtk2-locale extensions in a week.

Offline Juanito

  • Administrator
  • Hero Member
  • *****
  • Posts: 14569
Re: gtk2 is too old (?)
« Reply #6 on: October 11, 2009, 04:46:18 AM »
Is /usr/local/include/gtk-2.0/gdk/gdkconfig.h missing from the extension, maybe?

I get this when trying to compile rygel-0.4.2 and bluez-gnome-1.8 against the new extension:
Code: [Select]
make[3]: Leaving directory `/usr/src/rygel-0.4.2/src/rygel'
Making all in ui
make[3]: Entering directory `/usr/src/rygel-0.4.2/src/ui'
  CC     rygel-preferences-dialog.o
In file included from /usr/local/include/gtk-2.0/gdk/gdkscreen.h:32,
                 from /usr/local/include/gtk-2.0/gdk/gdkapplaunchcontext.h:31,
                 from /usr/local/include/gtk-2.0/gdk/gdk.h:32,
                 from /usr/local/include/gtk-2.0/gtk/gtk.h:32,
                 from rygel-preferences-dialog.c:30:
/usr/local/include/gtk-2.0/gdk/gdktypes.h:55:23: error: gdkconfig.h: No such file or directory
In file included from /usr/local/include/gtk-2.0/gtk/gtkwindow.h:35,
                 from /usr/local/include/gtk-2.0/gtk/gtkdialog.h:35,
                 from /usr/local/include/gtk-2.0/gtk/gtkaboutdialog.h:32,
                 from /usr/local/include/gtk-2.0/gtk/gtk.h:33,
                 from rygel-preferences-dialog.c:30:
/usr/local/include/gtk-2.0/gtk/gtkaccelgroup.h:77: error: field 'GSEAL' declared as a function
/usr/local/include/gtk-2.0/gtk/gtkaccelgroup.h:78: error: field 'GSEAL' declared as a function
/usr/local/include/gtk-2.0/gtk/gtkaccelgroup.h:79: error: field 'GSEAL' declared as a function
/usr/local/include/gtk-2.0/gtk/gtkaccelgroup.h:80: error: field 'GSEAL' declared as a function
/usr/local/include/gtk-2.0/gtk/gtkaccelgroup.h:81: error: field 'GSEAL' declared as a function

Edit: Should Xlibs_support and Xorg-7.4-devs be deps for the extension?
« Last Edit: October 11, 2009, 04:51:03 AM by Juanito »

Offline Jason W

  • Administrator
  • Hero Member
  • *****
  • Posts: 9730
Re: gtk2 is too old (?)
« Reply #7 on: October 11, 2009, 06:11:53 AM »
I made the dep file more in line with gtk2-dev.  I will look into the header file, most likely I need to recompile.

Offline Juanito

  • Administrator
  • Hero Member
  • *****
  • Posts: 14569
Re: gtk2 is too old (?)
« Reply #8 on: October 11, 2009, 07:46:42 AM »
I checked again with the current gtk2 -  bluez-gnome compiles without problems and I cannot test rygel as it requires gtk2 > 2.16.

Offline bmarkus

  • Administrator
  • Hero Member
  • *****
  • Posts: 7183
    • My Community Forum
Re: gtk2 is too old (?)
« Reply #9 on: October 11, 2009, 01:49:42 PM »
gtk2.tczl is listed in aaa-gtk2-testing.tczl.dep which blocks system startup (TC 2.4.1):

Quote
Xorg-7.4-dev.tcz
perl5.tcz
atk.tczl
atk-devs.tcz
cairo.tczl
cairo-devs.tcz
glib2.tczl
glib2-dev.tcz
fontconfig.tczl
fontconfig-devs.tcz
expat2.tczl
expat2-devs.tcz
libxml2.tczl
libxml2-devs.tcz
graphics-libs-1.tczl
graphics-libs-1-devs.tcz
gtk2.tczl
pixman.tczl
pixman-devs.tcz
pango.tczl
pango-devs.tcz
Xlibs_support.tczl

Removing it systems starts and applications look OK.

However can't compile libwnck, there is a long list of error messages, mostly duplicate member and field '...' declared as a function in different header files. Same result compiling other applications.
« Last Edit: October 11, 2009, 01:54:02 PM by bmarkus »
Béla
Ham Radio callsign: HA5DI

"Amateur Radio: The First Technology-Based Social Network."

Offline Jason W

  • Administrator
  • Hero Member
  • *****
  • Posts: 9730
Re: gtk2 is too old (?)
« Reply #10 on: October 11, 2009, 05:51:44 PM »
I will adjust the dep file.

I will need to recompile, may not get to it this week though.

EDIT:  But I will see what I can do.
« Last Edit: October 11, 2009, 07:17:51 PM by Jason W »

Offline Juanito

  • Administrator
  • Hero Member
  • *****
  • Posts: 14569
Re: gtk2 is too old (?)
« Reply #11 on: October 11, 2009, 08:32:07 PM »
there is a long list of error messages, mostly duplicate member and field '...' declared as a function in different header files. Same result compiling other applications.

A useful trick, in case you didn't know, is to do as follows:
Code: [Select]
$ script compile_error
$ make
<ctrl-d>
$ beaver compile_error

This will allow you to see the initial make error in case the terminal window buffer overflows.

Offline bmarkus

  • Administrator
  • Hero Member
  • *****
  • Posts: 7183
    • My Community Forum
Re: gtk2 is too old (?)
« Reply #12 on: October 11, 2009, 10:59:10 PM »
there is a long list of error messages, mostly duplicate member and field '...' declared as a function in different header files. Same result compiling other applications.

A useful trick, in case you didn't know, is to do as follows:
Code: [Select]
$ script compile_error
$ make
<ctrl-d>
$ beaver compile_error

This will allow you to see the initial make error in case the terminal window buffer overflows.

Thanks for the advice on script command. I have never used it, more convenient than redirect output. I'm using MC for editing files. So to see messages is not a problem, but to fix them  ??? . These are the messages compiling libwnck:

Quote
root@box:/mnt/sdb3/src/libwnck/libwnck-2.28.0# make
make  all-recursive
make[1]: Entering directory `/mnt/sdb3/src/libwnck/libwnck-2.28.0'
Making all in libwnck
make[2]: Entering directory `/mnt/sdb3/src/libwnck/libwnck-2.28.0/libwnck'
  CC     wnck-enum-types.lo
In file included from /usr/local/include/gtk-2.0/gdk/gdkscreen.h:32,
                 from /usr/local/include/gtk-2.0/gdk/gdkapplaunchcontext.h:31,
                 from /usr/local/include/gtk-2.0/gdk/gdk.h:32,
                 from /usr/local/include/gtk-2.0/gtk/gtk.h:32,
                 from ../libwnck/pager.h:27,
                 from ../libwnck/libwnck.h:32,
                 from wnck-enum-types.c:4:
/usr/local/include/gtk-2.0/gdk/gdktypes.h:55:23: error: gdkconfig.h: No such file or directory
In file included from /usr/local/include/gtk-2.0/gtk/gtkwindow.h:35,
                 from /usr/local/include/gtk-2.0/gtk/gtkdialog.h:35,
                 from /usr/local/include/gtk-2.0/gtk/gtkaboutdialog.h:32,
                 from /usr/local/include/gtk-2.0/gtk/gtk.h:33,
                 from ../libwnck/pager.h:27,
                 from ../libwnck/libwnck.h:32,
                 from wnck-enum-types.c:4:
/usr/local/include/gtk-2.0/gtk/gtkaccelgroup.h:77: warning: parameter names (without types) in function declaration
/usr/local/include/gtk-2.0/gtk/gtkaccelgroup.h:77: error: field 'GSEAL' declared as a function
/usr/local/include/gtk-2.0/gtk/gtkaccelgroup.h:78: warning: parameter names (without types) in function declaration
/usr/local/include/gtk-2.0/gtk/gtkaccelgroup.h:78: error: field 'GSEAL' declared as a function
/usr/local/include/gtk-2.0/gtk/gtkaccelgroup.h:79: warning: parameter names (without types) in function declaration
/usr/local/include/gtk-2.0/gtk/gtkaccelgroup.h:79: error: field 'GSEAL' declared as a function
/usr/local/include/gtk-2.0/gtk/gtkaccelgroup.h:80: warning: parameter names (without types) in function declaration
/usr/local/include/gtk-2.0/gtk/gtkaccelgroup.h:80: error: field 'GSEAL' declared as a function
/usr/local/include/gtk-2.0/gtk/gtkaccelgroup.h:81: warning: parameter names (without types) in function declaration
/usr/local/include/gtk-2.0/gtk/gtkaccelgroup.h:81: error: field 'GSEAL' declared as a function
/usr/local/include/gtk-2.0/gtk/gtkaccelgroup.h:78: error: duplicate member 'GSEAL'
/usr/local/include/gtk-2.0/gtk/gtkaccelgroup.h:79: error: duplicate member 'GSEAL'
/usr/local/include/gtk-2.0/gtk/gtkaccelgroup.h:79: error: duplicate member '({anonymous})'
/usr/local/include/gtk-2.0/gtk/gtkaccelgroup.h:80: error: duplicate member 'GSEAL'
/usr/local/include/gtk-2.0/gtk/gtkaccelgroup.h:80: error: duplicate member '({anonymous})'
/usr/local/include/gtk-2.0/gtk/gtkaccelgroup.h:80: error: duplicate member '({anonymous})'
/usr/local/include/gtk-2.0/gtk/gtkaccelgroup.h:81: error: duplicate member 'GSEAL'
/usr/local/include/gtk-2.0/gtk/gtkaccelgroup.h:81: error: duplicate member '({anonymous})'
/usr/local/include/gtk-2.0/gtk/gtkaccelgroup.h:81: error: duplicate member '({anonymous})'
/usr/local/include/gtk-2.0/gtk/gtkaccelgroup.h:81: error: duplicate member '({anonymous})
...
...
...
...
Béla
Ham Radio callsign: HA5DI

"Amateur Radio: The First Technology-Based Social Network."

Offline Juanito

  • Administrator
  • Hero Member
  • *****
  • Posts: 14569
Re: gtk2 is too old (?)
« Reply #13 on: October 12, 2009, 12:41:24 AM »
To be confirmed, but I believe the problem is this:
Code: [Select]
/usr/local/include/gtk-2.0/gdk/gdktypes.h:55:23: error: gdkconfig.h: No such file or directory

Offline Jason W

  • Administrator
  • Hero Member
  • *****
  • Posts: 9730
Re: gtk2 is too old (?)
« Reply #14 on: October 12, 2009, 04:19:01 AM »
As I made the extension with the "touch /tmp/mark && make install && find /usr/local......" method so the pixbuf loaders would be created, there likely is an issue with missing files. 

I will rebuild this when I can, and using Arch or Gentoo's build method I will use the DESTDIR option and create the immodule and pixbuf loaders manually in the DESTDIR directory so there will be no missing files.,