LinuxQuestions.org
Download your favorite Linux distribution at LQ ISO.
Go Back   LinuxQuestions.org > Forums > Linux Forums > Linux - Newbie
User Name
Password
Linux - Newbie This Linux forum is for members that are new to Linux.
Just starting out and have a question? If it is not in the man pages or the how-to's this is the place!

Notices


Reply
  Search this Thread
Old 09-24-2007, 03:43 AM   #1
zigoto
LQ Newbie
 
Registered: Feb 2004
Posts: 21

Rep: Reputation: 0
Updating gtk


I use openSuse 10.2.
I want to update gtk to 2.10.14.
Yast shows that
gtk version 1.2.10-926-i586
gtk2 version 2.10.6-13-i586
are installed.

rpm -ql gtk2 shows :
/etc/opt/gnome/gtk-2.0
/etc/opt/gnome/gtk-2.0/gdk-pixbuf.loaders
/etc/opt/gnome/gtk-2.0/gtk.immodules
/etc/opt/gnome/gtk-2.0/gtkrc
/etc/profile.d/gtk2.csh
/etc/profile.d/gtk2.sh
/opt/gnome/bin/gdk-pixbuf-query-loaders
/opt/gnome/bin/gtk-query-immodules-2.0
/opt/gnome/bin/gtk-update-icon-cache
/opt/gnome/lib/gtk-2.0
/opt/gnome/lib/gtk-2.0/2.10.0
/opt/gnome/lib/gtk-2.0/2.10.0/engines
/opt/gnome/lib/gtk-2.0/2.10.0/engines/libpixmap.so
/opt/gnome/lib/gtk-2.0/2.10.0/filesystems
/opt/gnome/lib/gtk-2.0/2.10.0/immodules


I downloaded/uncompressed gtk+-2.10.14.tar.gz and created a rpm by
using checkinstall :
./configure --prefix=/opt/gnome/
make
su
#checkinstall :
I changed :
2 [gtk+] --> [gtk2]
7 [i386] --> [i586]
11 Provides [gtk+] --> [gtk2]
Weird! I got 10 requires [gtk2] and 11 Provides [gtk+]

Finally I got gtk2-2.10.14-1.i586.rpm

#rpm -Uvh gtk2-2.10.14-1.i586.rpm
Error: Dependence required : gtk2-10.6 is necessary for...

I also tried with the default 10 [ ] 11 [gtk+] and got the same error.

gtk+-2 and gtk2-2 are rather confusing. I can't manage them. What is wrong?
 
Old 09-24-2007, 05:33 AM   #2
berbae
Member
 
Registered: Jul 2005
Location: France
Distribution: Arch Linux
Posts: 540

Rep: Reputation: Disabled
Hello again zigoto
You should have post that at the other thread you opened on this same subject.
Anyway you wrote :
Quote:
#checkinstall :
I changed :
2 [gtk+] --> [gtk2]
7 [i386] --> [i586]
11 Provides [gtk+] --> [gtk2]
Weird! I got 10 requires [gtk2] and 11 Provides [gtk+]

Finally I got gtk2-2.10.14-1.i586.rpm

#rpm -Uvh gtk2-2.10.14-1.i586.rpm
Error: Dependence required : gtk2-10.6 is necessary for...
(please give the entire and real error message)

If you give 'gtk2' as a 'requires' parameter, it's wrong because gtk2 doesn't require gtk2.
So either you give the real dependencies (atk, pango, ...) or you give nothing here.
What I don't understand is:
Quote:
I also tried with the default 10 [ ] 11 [gtk+] and got the same error.
Are you sure the package was recreated ?
And try to leave the 'requires' and 'provides' parameters blank.
Finally be sure you have the current SUSE binary gtk2 version 2.10.6-13-i586 rpm file available, in case you will have to reinstall it.
Quote:
gtk+-2 and gtk2-2 are rather confusing.
I agree it may be confusing but gtk+ and gtk2 are synonymous, and many distros use the name gtk2, to not use the '+' character in the name.
It's the same in the Arch Linux distro : gtk2 2.10.14-3

Last edited by berbae; 09-24-2007 at 08:04 AM.
 
Old 09-24-2007, 09:42 AM   #3
zigoto
LQ Newbie
 
Registered: Feb 2004
Posts: 21

Original Poster
Rep: Reputation: 0
Quote:
Originally Posted by berbae View Post
Hello again zigoto
You should have post that at the other thread you opened on this same subject.
I hesitated. Thread was old and name different...
Quote:
Originally Posted by berbae View Post
(please give the entire and real error message)
The entire error message is:
Dependences are required:
gtk2=2.10.6 is necessary for (yet installed) gtk2-doc-2.10.6.13.i586
gtk2=2.10.6 is necessary for (yet installed) gtk2-devel-2.10.6.13.i586


Quote:
Originally Posted by berbae View Post
Are you sure the package was recreated ?
How can I make this sure?

Quote:
Originally Posted by berbae View Post
And try to leave the 'requires' and 'provides' parameters blank.
Impossible. I can't get a blank 11 Provides [gtk+]
Possibly the problem is there. If I write something for the 11 item, it appears in the 10 item...

Quote:
Originally Posted by berbae View Post
Finally be sure you have the current SUSE binary gtk2 version 2.10.6-13-i586 rpm file available, in case you will have to reinstall it.
Yast shows that 2.10.6-13 is installed
 
Old 09-24-2007, 11:57 AM   #4
berbae
Member
 
Registered: Jul 2005
Location: France
Distribution: Arch Linux
Posts: 540

Rep: Reputation: Disabled
With the entire error message, I can see what is the problem :
you have the packages gtk2-doc-2.10.6.13 and gtk2-devel-2.10.6.13 installed on your machine. It is these packages which depend on the original SUSE gtk2-2.10.6-13, and when you try to update the gtk2 package, the dependency for these packages is broken.
The solution is to first uninstall these 2 packages:
rpm -e gtk2-doc-2.10.6.13 gtk2-devel-2.10.6.13
(I think the i586 part is not included in the package name:
you can see the package names with 'rpm -qa|grep gtk2')
then to update the gtk2 package:
rpm -Uvh gtk2-2.10.14-1.i586.rpm
(here it is the binary rpm file, not the package name, so the '.i586.rpm' part is kept).

The doc and devel parts are already included in the package generated by checkinstall (remember this will not be a standard SUSE package).

Don't forget to run the command:
ldconfig
(and also presumably 'SuSEConfig' with SUSE).

And don't touch the 'provides' parameter (leave the default gtk+ value),
write nothing in the 'requires' field.

You say that the gtk2-2.10.6-13 package is installed, but if you have to reinstall it after the update, you need to have the binary rpm file available: gtk2-2.10.6-13.i586.rpm (you can download it from a SUSE repo).
I remind you the command to go backward, if something doesn't go well:
rpm -Uvh --oldpackage gtk2-2.10.6-13.i586.rpm

All this should do the trick for you.
At least I hope so.
Ask if something is not clear.

Last edited by berbae; 09-24-2007 at 05:48 PM.
 
Old 09-24-2007, 04:06 PM   #5
zigoto
LQ Newbie
 
Registered: Feb 2004
Posts: 21

Original Poster
Rep: Reputation: 0
Quote:
Originally Posted by berbae View Post
With the entire error message, I can see what is the problem :
you have the packages gtk2-doc-2.10.6.13 and gtk2-devel-2.10.6.13 installed on your machine. It is these packages which depend on the original SUSE gtk2-2.10.6-13, and when you try to update the gtk2 package, the dependency for these packages is broken.
The solution is to first uninstall these 2 packages:
rpm -e gtk2-doc-2.10.6.13 gtk2-devel-2.10.6.13
rpm -e gtk2-devel-2.10.6-13
erreur: Dépendances requises:
gtk2-devel est nécessaire pour (déjà installé) gtksourceview-devel-1.8.1-21.i586
gtk2-devel est nécessaire pour (déjà installé) libgcj41-devel-4.1.2_20061115-7.i586
gtk2-devel est nécessaire pour (déjà installé) libglade2-devel-2.6.0-23.i586
gtk2-devel est nécessaire pour (déjà installé) libgnomecanvas-devel-2.14.0-23.i586
gtk2-devel est nécessaire pour (déjà installé) libwnck-devel-2.16.1-18.i586
gtk2-devel est nécessaire pour (déjà installé) poppler-devel-0.5.4-20.i586
gtk2-devel est nécessaire pour (déjà installé) vte-devel-0.14.1-18.i586
gtk2-devel est nécessaire pour (déjà installé) gail-devel-1.9.3-17.i586
gtk2-devel est nécessaire pour (déjà installé) at-spi-devel-1.7.12-17.i586
gtk2-devel est nécessaire pour (déjà installé) libgnomeui-devel-2.16.1-20.i586
gtk2-devel est nécessaire pour (déjà installé) gucharmap-devel-1.8.0-28.i586
gtk2-devel est nécessaire pour (déjà installé) libgnomedb-devel-1.3.91-53.i586
gtk2-devel est nécessaire pour (déjà installé) gnome-desktop-devel-2.16.1-28.i586
gtk2-devel est nécessaire pour (déjà installé) ghex-2.8.2-28.i586
gtk2-devel est nécessaire pour (déjà installé) gtkhtml2-devel-3.12.2-4.i586
gtk2-devel est nécessaire pour (déjà installé) eel-devel-2.16.0-30.i586
gtk2-devel est nécessaire pour (déjà installé) librsvg-devel-2.16.0-28.i586
gtk2-devel est nécessaire pour (déjà installé) gnome-main-menu-devel-0.6.3-47.i586
gtk2-devel est nécessaire pour (déjà installé) nautilus-devel-2.16.1-32.i586
gtk2-devel est nécessaire pour (déjà installé) gnome-media-devel-2.16.1-30.i586
gtk2-devel est nécessaire pour (déjà installé) nautilus-cd-burner-devel-2.16.1-27.i586
gtk2-devel est nécessaire pour (déjà installé) libgail-gnome-devel-1.1.3-31.i586
gtk2-devel est nécessaire pour (déjà installé) libgtkhtml-devel-2.11.0-38.i586

Oh my God! If I have to uninstall all these packages... :-(
 
Old 09-24-2007, 05:42 PM   #6
berbae
Member
 
Registered: Jul 2005
Location: France
Distribution: Arch Linux
Posts: 540

Rep: Reputation: Disabled
run:
rpm -e --nodeps gtk2-doc-2.10.6.13 gtk2-devel-2.10.6.13
to force the uninstallation.
The 'devel' part of the package will be included in the new updated one, so the dependency with the other packages will not be really broken.
That problem you are encountering stems from the non standard SUSE package produced by the checkinstall utility.
If you want something cleaner with SUSE, you must follow the other method I gave you at the other thread (with the source rpm file and the rpmbuild command).
But this one you are following can work, though you will have a rpm database with broken dependencies (not so serious but somewhat dirty for a rpm based distro).
I must add also that the devel packages contain header files only used to compile from source. So they are not absolutely necessary for a functioning system, but only if you want to compile programs. But as this is your intention, you probably need to keep them.
So go ahead with the '--nodeps' option concerning the gtk2-devel package.

Last edited by berbae; 09-25-2007 at 05:49 AM.
 
Old 09-25-2007, 02:03 AM   #7
zigoto
LQ Newbie
 
Registered: Feb 2004
Posts: 21

Original Poster
Rep: Reputation: 0
What a hassel!

rpm -e --nodeps gtk2-devel-2.10.6-13 gtk2-doc-2.10.6-13
erreur: can't create transaction lock on /var/lib/rpm/__db.000
 
Old 09-25-2007, 05:48 AM   #8
berbae
Member
 
Registered: Jul 2005
Location: France
Distribution: Arch Linux
Posts: 540

Rep: Reputation: Disabled
Close every package manager which may be opened (YaST, apt, yum or smart) while using the rpm command in a CLI because they lock the rpm database.
 
Old 09-25-2007, 09:15 AM   #9
zigoto
LQ Newbie
 
Registered: Feb 2004
Posts: 21

Original Poster
Rep: Reputation: 0
Quote:
Originally Posted by berbae View Post
Close every package manager which may be opened (YaST, apt, yum or smart).
I only have Konsole opened to run the command and still I get the error :-(.
Perhaps program are running that I don't know : my hard disk often is running and I don't know why (not connected to the Internet).
 
Old 09-25-2007, 12:21 PM   #10
berbae
Member
 
Registered: Jul 2005
Location: France
Distribution: Arch Linux
Posts: 540

Rep: Reputation: Disabled
This error may occur when you are not logged in as root to use the rpm command.
Be sure to have the '#' prompt, meaning root privileges.
 
Old 09-25-2007, 04:07 PM   #11
zigoto
LQ Newbie
 
Registered: Feb 2004
Posts: 21

Original Poster
Rep: Reputation: 0
Yes! -doc- and -devel- are removed and gtk2 is updated :-)

I ran ldconfig: nothing happened.
I tried SuSEConfig and SuseConfig : "unknown command"

With Yast, I can see that gtk2-2.10.14 has a small bolt icon instead of a
checked box. Also m4 and automake, that I updated before, have this bolt icon; yet,
autogen-sh in my svn sandbox, which uses automake, works right. I am going to
install gimp which uses this gtk.

What this bolt means?
What is the role of ldconfig?
 
Old 09-25-2007, 05:17 PM   #12
berbae
Member
 
Registered: Jul 2005
Location: France
Distribution: Arch Linux
Posts: 540

Rep: Reputation: Disabled
Congratulations for your obstinacy!
To know the ldconfig command, read the manual: 'man ldconfig'
It's normal that nothing appears on the screen when you run it, but it's necessary to run it.

The exact command is 'SuSEconfig', I'm not sure if it is necessary to run it in this case, but it can't produce no evil to run it.

As for the bolt icon in YaST, if I remember correctly, it means that YaST will not touch the package because it considers it a personal package not from a SUSE repo, but I am not sure as I don't use this distro at this time.

I hope you a good continuation in your compiling experiments to get more recent packages.
But think also to upgrade the entire distribution to a newer version (OpenSUSE 10.3 will be released soon) because it is the safest mean to get newer versions of programs in this distro.

Also I encourage you to try the other method I gave you because it is more adapted to SUSE and produces standard SUSE packages.
As long as you do not install the packages under root, it is without risk to try to produce the binary rpm package files.
 
Old 09-27-2007, 01:47 AM   #13
zigoto
LQ Newbie
 
Registered: Feb 2004
Posts: 21

Original Poster
Rep: Reputation: 0
Quote:
Originally Posted by berbae View Post
Congratulations for your obstinacy!
I return the congrtulations for your patience

Quote:
To know the ldconfig command, read the manual: 'man ldconfig'
It's normal that nothing appears on the screen when you run it, but it's necessary to run it.
Must I run it just after 'rpm -U', or can I wait for another session?

Quote:
The exact command is 'SuSEconfig', I'm not sure if it is necessary to run it in this case, but it can't produce no evil to run it.
man SuSEConfig gives explanations, but the command --> 'Unknown command'...

Quote:
As for the bolt icon in YaST, if I remember correctly, it means that YaST will not touch the package because it considers it a personal package not from a SUSE repo, but I am not sure as I don't use this distro at this time.
This explains why automake-1.10 works in spite of this padlock.
And doesn't explain why my updated gtk is not recognized by gimp :
*** Could not run GTK+ test program, checking why...
*** The test program failed to compile or link. See the file config.log for the
*** exact error that occured. This usually means GTK+ is incorrectly installed.

The config.log is a huge file I can't reproduce here. Here is an extract containing 'gtk':

configure:27732: checking for pkg-config
configure:27763: result: /usr/bin/pkg-config
configure:27785: checking for GTK+ - version >= 2.10.13
configure:27905: gcc -o conftest -g -O2 -Wall -Wdeclaration-after-statement -Wmissing-prototypes -Wmissing-declarations -Winit-self -Wpointer-arith -pthread -I/usr/include/cairo -I/usr/include/freetype2 -I/usr/include/libpng12 -I/opt/gnome//include/gtk-2.0 -I/opt/gnome//lib/gtk-2.0/include -I/opt/gnome/include/atk-1.0 -I/opt/gnome/include/pango-1.0 -I/opt/gnome/include/glib-2.0 -I/opt/gnome/lib/glib-2.0/include conftest.c -pthread -L/opt/gnome//lib -L/opt/gnome/lib -lgtk-x11-2.0 -lgdk-x11-2.0 -latk-1.0 -lgdk_pixbuf-2.0 -lpangocairo-1.0 -lpango-1.0 -lcairo -lgobject-2.0 -lgmodule-2.0 -ldl -lfreetype -lz -lfontconfig -lexpat -lglitz -lm -lpng12 -lXrender -lX11 -lpthread -lXau -lXdmcp -lgthread-2.0 -lglib-2.0 >&5
In file included from /opt/gnome//include/gtk-2.0/gdk/gdkcolor.h:31,
from /opt/gnome//include/gtk-2.0/gdk/gdkcairo.h:23,
from /opt/gnome//include/gtk-2.0/gdk/gdk.h:30,
from /opt/gnome//include/gtk-2.0/gtk/gtk.h:31,
from conftest.c:47:
/opt/gnome//include/gtk-2.0/gdk/gdktypes.h:51:23: error: gdkconfig.h: No such file or directory
configure:27908: $? = 1
configure: program exited with status 1
configure: failed program was:
| /* confdefs.h. */
| #define PACKAGE_NAME "GIMP"
| #define PACKAGE_TARNAME "gimp"
| #define PACKAGE_VERSION "2.4.0-rc3"


rpm -qa|grep gtk shows that gtk2-2.10.14-1 is installed...
 
Old 09-27-2007, 09:35 AM   #14
berbae
Member
 
Registered: Jul 2005
Location: France
Distribution: Arch Linux
Posts: 540

Rep: Reputation: Disabled
The ldconfig command should be ran just after the installation of the package.
The exact command is 'SuSEconfig' not 'SuSEConfig'.
Quote:
error: gdkconfig.h: No such file or directory
The configure script doesn't find this header file.
In the SUSE gtk2-devel package, this file is located in '/opt/gnome/lib/gtk-2.0/include/'.
But in the non SUSE gtk2 package, it may be located elsewhere.
You can seek for it and give the path to it using the CPPFLAGS environment variable :
export CPPFLAGS='-I<directory to the gdkconfig.h header file>'
./configure

You can also check what you have in the directory '/opt/gnome/lib/pkgconfig' :
ll /opt/gnome/lib/pkgconfig

The SUSE gtk2-devel package has :
/opt/gnome/lib/pkgconfig/gdk-2.0.pc
/opt/gnome/lib/pkgconfig/gdk-pixbuf-2.0.pc
/opt/gnome/lib/pkgconfig/gdk-pixbuf-xlib-2.0.pc
/opt/gnome/lib/pkgconfig/gdk-x11-2.0.pc
/opt/gnome/lib/pkgconfig/gtk+-2.0.pc
/opt/gnome/lib/pkgconfig/gtk+-unix-print-2.0.pc
/opt/gnome/lib/pkgconfig/gtk+-x11-2.0.pc

Do you have them?
Check if you have the pkgconfig package installed:
rpm -q pkgconfig
If not, you need it.
And study 'man pkg-config'.

I will be absent these next days, so I suggest that you try to solve the difficulties you may encounter reading the INSTALL file and the output of './configure --help'.
Bye for now.

Edit: as the subject is different, now you can open another thread about the compilation of Gimp.

Last edited by berbae; 09-27-2007 at 11:07 AM.
 
Old 09-29-2007, 02:55 AM   #15
zigoto
LQ Newbie
 
Registered: Feb 2004
Posts: 21

Original Poster
Rep: Reputation: 0
Alleluia! gtk2-2.10.13 is installed :-)

There was probably a bug in my rpm or in gtk+-2.10.14 : the gtkconfig.h was absent in /opt/gnome/include/gtk2.0/gdk/, though it was present in the source.

I uninstalled gtk2-2.10.14 and installed gtk2-2.10.13 and the problem disapeared.

Thank you very much for your help.
 
  


Reply


Thread Tools Search this Thread
Search this Thread:

Advanced Search

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is Off
HTML code is Off



Similar Threads
Thread Thread Starter Forum Replies Last Post
glib and gtk+ updating tbutts Linux - Newbie 4 07-27-2007 08:46 AM
updating gtk....effects??? ankur_linuxfan Fedora 1 02-08-2005 06:58 AM
help with updating glib and gtk mrford Linux - Software 0 09-13-2004 07:33 PM
Updating GTK Help Wiggy Slackware 1 04-26-2004 03:42 PM
Updating gLib and GTK Darksun Linux - Software 1 04-24-2004 05:49 PM

LinuxQuestions.org > Forums > Linux Forums > Linux - Newbie

All times are GMT -5. The time now is 04:59 PM.

Main Menu
Advertisement
My LQ
Write for LQ
LinuxQuestions.org is looking for people interested in writing Editorials, Articles, Reviews, and more. If you'd like to contribute content, let us know.
Main Menu
Syndicate
RSS1  Latest Threads
RSS1  LQ News
Twitter: @linuxquestions
Facebook: linuxquestions Google+: linuxquestions
Open Source Consulting | Domain Registration