| View previous topic :: View next topic |
| Author |
Message |
einheitlix Tux's lil' helper

Joined: 03 Aug 2004 Posts: 144 Location: Saarbrücken, Germany
|
Posted: Fri Jan 23, 2009 1:50 am Post subject: Big problem with packages depending on gail? |
|
|
Hi,
I think there's a little problem with gtk+ and gail in the portage tree, which is causing me problems, but which might have a bigger impact at some point in the future.
First, you must know that gail has now been integrated into gtk+ (see this blog entry and Bug #1694488 of Gnome's Bugzilla). Hence, since newer gtk+ versions provide the libraries that gail used to provide, one can only install either an older version of gtk+ (possibly together with gail), or use a newer gtk+ version and have no gail installed.
In the portage tree, this transition is reflected in the following change; any versions of gtk+-2.12.12 or lower do not reference gail in the ebuild. Starting with gtk+-2.14.4, now there's a
| Code: |
RDEPEND=" [...]
!<gnome-base/gail-1000"
|
In other words, using a version of gtk 2.14.4 means one cannot have any gail version installed. This makes sense, since both the new gtk+ and gail provide the same features and same files, like, e.g., /usr/lib64/libgailutil.so
This caused me problems when upgrading world, as I'm using gtk+ with a ~amd64 keyword, so paludis wanted to upgrade to gtk+-2.14.7. However to do that, it had to remove gail first. This was not possible due to installed packages directly or indirectly depending on gail, so I got a blocker.
Note that I'm using paludis, but the problem I'm getting to is not a problem with portage, but rather with the portage tree itself, so the package manager doesn't make any difference.
I solved the problem by "forcing" an uninstall of gail (which theoretically would break a lot of packages), then upgrading gtk+ (hence reparing the packages) and voila. So far, so good.
However during my experimentations I also encountered a package that I have installed and that *directly* depends on gail. This is gnome-base/libgnomecanvas-2.20.1.1:
| Code: |
RDEPEND=">=x11-libs/gtk+-2.0.3
>=gnome-base/gail-1.19.6
>=media-libs/libart_lgpl-2.3.8
>=x11-libs/pango-1.0.1
>=gnome-base/libglade-2"
|
Yes, the package just depends on gail and does not take into account that with a newer version of gtk+, this dependency on both gtk+ and gail makes the ebuild impossible to install. It should rather say something like "either a gtk+ between 2.0.3 and 2.12.12, or only a gtk greater or equal than 2.14.4".
Indeed, when I try to tell paludis to reinstall libgnomecanvas:
| Code: |
ririu ~ # paludis -ip libgnomecanvas ### corresponds to 'emerge -p libgnomecanvas' ###
These packages will be installed:
* gnome-base/gail [N 1.22.3]
Reasons: *gnome-base/libgnomecanvas-2.20.1.1:0::gentoo
-debug -doc build_options: -optional_tests split strip
"Accessibility support for Gtk+ and libgnomecanvas"
* gnome-base/libgnomecanvas [R 2.20.1.1] <target>
X -debug -doc build_options: -optional_tests split strip
569.89 kBytes to download
Total: 2 packages (1 new, 1 rebuild), 569.89 kBytes to download
|
As you can see, it actually wants to reinstall gail, although this shouldn't be possible, as I have a newer gtk+ version installed. This would result in gail overwriting files from gtk+, which is very ugly behavior.
Fortunately, paludis doesn't notice this when upgrading world, although I guess next time there's an update to libgnomecanvas it might want to reinstall gail...
anyhow, a quick grep for "gail" in /usr/portage/*/*/*.ebuild reveals there's quite a lot of other packages also depending on gail. Shouldn't all of these be updated to reflect that with newer gtk+ versions, this is no longer a needed dependency? Otherwise, many people may run into problems as soon as there's a gtk+ version forbidding gail that becomes stable. At the moment, gtk+2.12.11 is still the latest "stable" ebuild and this is still separated from gail, but it is only a matter of time before gtk+2.14.4 or later become stable and then there will be a lot of blockers for people using packages depending on gail...
It also annoys me, because any update to libgnomecanvas will result in paludis reinstalling gail (as shown above). Correct, it does need it:
| Code: |
ririu ~ # cd /usr/lib64
ririu lib64 # ldd libgnomecanvas-2.so | grep gail
libgailutil.so.18 => /usr/lib/libgailutil.so.18 (0x00007fcb89a53000)
|
...but now this is provided by gtk+ itself:
| Code: |
ririu lib64 # paludis -k gtk+ | grep libgailutil ### corresponds to 'equery files gtk+ | grep libgailutil' ###
/usr/lib64/libgailutil.so.18.0.1
/usr/lib64/libgailutil.so.18 -> libgailutil.so.18.0.1
/usr/lib64/libgailutil.so -> libgailutil.so.18.0.1
/usr/lib64/libgailutil.la
/usr/lib64/debug/usr/lib64/libgailutil.so.18.0.1.debug
|
paludis wanting to reinstall gail when there's an update of a package that needs it is the main problem for me at the moment. I'm going to hardmask gail myself, so that this doesn't happen. At least the libgnomecanvas ebuild should be fixed. Do you think this should be reported in the bug tracker?
Cheers,
Malte _________________ Collecting data is only the first step toward wisdom. But sharing data is the first step toward community. |
|
| Back to top |
|
 |
slangdaddy n00b


Joined: 17 Jul 2007 Posts: 68 Location: Braunschweig
|
Posted: Sat Jan 24, 2009 11:49 am Post subject: |
|
|
Hi,
I have the same problem and I totally agree with you.
You probably should file a bug for this. |
|
| Back to top |
|
 |
carpman Advocate

Joined: 20 Jun 2002 Posts: 2200 Location: London - UK
|
Posted: Wed Jan 28, 2009 10:59 am Post subject: |
|
|
i too have this libgnomecanvas gail issue? _________________ Work Station - 64bit
Gigabyte GA X48-DQ6 Core2duo E8400
8GB GSkill DDR2-1066
SATA Areca 1210 Raid
BFG OC2 8800 GTS 640mb
--------------------------------
Notebook
Samsung Q45 7100 4gb |
|
| Back to top |
|
 |
einheitlix Tux's lil' helper

Joined: 03 Aug 2004 Posts: 144 Location: Saarbrücken, Germany
|
Posted: Mon Mar 02, 2009 1:30 pm Post subject: |
|
|
Well, I filed a bug report:
http://bugs.gentoo.org/show_bug.cgi?id=260860
Hopefully, they will fix it sometime soon so I can get rid of that "gnome-base/gail" in my /etc/paludis/package_mask.conf, which results in warnings from paludis each time I update world  _________________ Collecting data is only the first step toward wisdom. But sharing data is the first step toward community. |
|
| Back to top |
|
 |
einheitlix Tux's lil' helper

Joined: 03 Aug 2004 Posts: 144 Location: Saarbrücken, Germany
|
Posted: Mon Mar 02, 2009 3:24 pm Post subject: |
|
|
| Quote: |
Well the devs added a dummy version of gail as being shown in gail's ChangeLog:
*gail-1000 (25 Sep 2008)
25 Sep 2008; Mart Raudsepp <leio@gentoo.org> +gail-1000.ebuild:
New dummy version that is a migration helper, as gail is now part of gtk+
since gtk+-2.14
Mixing stable and unstable branches can lead to this kind of problems.
|
Hence if you run into this problem because you are using an unstable version of x11-libs/gtk+, all you have to do is to tell portage to also use an unstable version of gnome-base/gail, which will enable installation of that dummy package. _________________ Collecting data is only the first step toward wisdom. But sharing data is the first step toward community. |
|
| Back to top |
|
 |
|
|
You cannot post new topics in this forum You cannot reply to topics in this forum You cannot edit your posts in this forum You cannot delete your posts in this forum You cannot vote in polls in this forum
|
|