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 |
Welcome to LinuxQuestions.org, a friendly and active Linux Community.
You are currently viewing LQ as a guest. By joining our community you will have the ability to post topics, receive our newsletter, use the advanced search, subscribe to threads and access many other special features. Registration is quick, simple and absolutely free. Join our community today!
Note that registered members see fewer ads, and ContentLink is completely disabled once you log in.
Are you new to LinuxQuestions.org? Visit the following links:
Site Howto |
Site FAQ |
Sitemap |
Register Now
If you have any problems with the registration process or your account login, please contact us. If you need to reset your password, click here.
Having a problem logging in? Please visit this page to clear all LQ-related cookies.
Get a virtual cloud desktop with the Linux distro that you want in less than five minutes with Shells! With over 10 pre-installed distros to choose from, the worry-free installation life is here! Whether you are a digital nomad or just looking for flexibility, Shells can put your Linux machine on the device that you want to use.
Exclusive for LQ members, get up to 45% off per month. Click here for more info.
|
 |
09-24-2007, 02:43 AM
|
#1
|
LQ Newbie
Registered: Feb 2004
Posts: 21
Rep:
|
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?
|
|
|
09-24-2007, 04:33 AM
|
#2
|
Member
Registered: Jul 2005
Location: France
Distribution: Arch Linux
Posts: 540
Rep: 
|
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 07:04 AM.
|
|
|
09-24-2007, 08:42 AM
|
#3
|
LQ Newbie
Registered: Feb 2004
Posts: 21
Original Poster
Rep:
|
Quote:
Originally Posted by berbae
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
(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
Are you sure the package was recreated ?
|
How can I make this sure?
Quote:
Originally Posted by berbae
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
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
|
|
|
09-24-2007, 10:57 AM
|
#4
|
Member
Registered: Jul 2005
Location: France
Distribution: Arch Linux
Posts: 540
Rep: 
|
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 04:48 PM.
|
|
|
09-24-2007, 03:06 PM
|
#5
|
LQ Newbie
Registered: Feb 2004
Posts: 21
Original Poster
Rep:
|
Quote:
Originally Posted by berbae
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... :-(
|
|
|
09-24-2007, 04:42 PM
|
#6
|
Member
Registered: Jul 2005
Location: France
Distribution: Arch Linux
Posts: 540
Rep: 
|
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 04:49 AM.
|
|
|
09-25-2007, 01:03 AM
|
#7
|
LQ Newbie
Registered: Feb 2004
Posts: 21
Original Poster
Rep:
|
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
|
|
|
09-25-2007, 04:48 AM
|
#8
|
Member
Registered: Jul 2005
Location: France
Distribution: Arch Linux
Posts: 540
Rep: 
|
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.
|
|
|
09-25-2007, 08:15 AM
|
#9
|
LQ Newbie
Registered: Feb 2004
Posts: 21
Original Poster
Rep:
|
Quote:
Originally Posted by berbae
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).
|
|
|
09-25-2007, 11:21 AM
|
#10
|
Member
Registered: Jul 2005
Location: France
Distribution: Arch Linux
Posts: 540
Rep: 
|
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.
|
|
|
09-25-2007, 03:07 PM
|
#11
|
LQ Newbie
Registered: Feb 2004
Posts: 21
Original Poster
Rep:
|
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?
|
|
|
09-25-2007, 04:17 PM
|
#12
|
Member
Registered: Jul 2005
Location: France
Distribution: Arch Linux
Posts: 540
Rep: 
|
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.
|
|
|
09-27-2007, 12:47 AM
|
#13
|
LQ Newbie
Registered: Feb 2004
Posts: 21
Original Poster
Rep:
|
Quote:
Originally Posted by berbae
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...
|
|
|
09-27-2007, 08:35 AM
|
#14
|
Member
Registered: Jul 2005
Location: France
Distribution: Arch Linux
Posts: 540
Rep: 
|
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 10:07 AM.
|
|
|
09-29-2007, 01:55 AM
|
#15
|
LQ Newbie
Registered: Feb 2004
Posts: 21
Original Poster
Rep:
|
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.
|
|
|
All times are GMT -5. The time now is 03:33 AM.
|
LinuxQuestions.org is looking for people interested in writing
Editorials, Articles, Reviews, and more. If you'd like to contribute
content, let us know.
|
Latest Threads
LQ News
|
|