Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 474604 - =dev-libs/girara-0.1.{6-r200,5-r300} emerged together causes a coexistence of contradictory libraries and headers
Summary: =dev-libs/girara-0.1.{6-r200,5-r300} emerged together causes a coexistence of...
Status: RESOLVED FIXED
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: [OLD] Library (show other bugs)
Hardware: All Linux
: Normal normal (vote)
Assignee: Samuli Suominen (RETIRED)
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2013-06-24 12:54 UTC by Teika kazura
Modified: 2016-05-13 20:03 UTC (History)
1 user (show)

See Also:
Package list:
Runtime testing required: ---


Attachments
Build log from zathura when girara-0.1.6 is installed, as required by zathura, but its header files do not exist (text,12.92 KB, text/plain)
2013-06-28 12:10 UTC, Nuno Silva
Details

Note You need to log in before you can comment on or make changes to this bug.
Description Teika kazura 2013-06-24 12:54:40 UTC
It's possible to emerge girara-0.1.6-r200 and 0.1.5-r300 at the same time, but it leads to a wrong combination of headers and libraries. (Under this situation, building app-text/zathura-0.2.3 fails.)

It's quite probable that splitting into slots is wrong. Maybe IUSE="gtk2 gtk3" or forcing only one of gtk2 and 3 solves.
(Read: I guess you'll receive less bug reports, so less annoyed.
 Longer description: I had a quick browse of bug 454358 and bug 374057, but I'm not convinced that slotting is correct. When developers decide to delete IUSE and settle to gtk3, it's ok, and that's all, no? It's likely that reporters tend to think slots of girara are wrong, or at least weird. How about forcing gtk2 for now, since anyway zathura is built against girara:2 ? You can later mask gtk2-based girara anytime.)

Thanks beforehand.
Comment 1 Jeroen Roovers (RETIRED) gentoo-dev 2013-06-24 13:32:08 UTC
Please define one single issue very clearly and then reopen this bug report.
Comment 2 Teika kazura 2013-06-27 06:06:06 UTC
Bug definition:
dev-libs/girara-0.1.6-r200 has to depend on 0.1.6-r300, NOT on 0.1.5-r300. Currently girara-0.1.6-r200 and 0.1.5-r300 can be emerged at the same time, but it results in the coexistence of contradictory libraries and headers.

The rest is my opinion.

Let me propose one thing: If developers decide to keep 2 slots, ok, I respect you, but please write somewhere "Slot 2 and 3 build gtk2- and gtk3-dependent libraries. As soon as slot 3 is stabilized, slot 2 will be removed." Users wonder the reason of these peculiar slotting and dependency upon "emerge -a".

Without proper communication, it cannot be a group project, but remains a mere personal property. ;-) (Even for your personal project, you can't remember all of your own codes and decisions. Inadequacy of logs and/or visible messages is a lack of expertise.)

Cheers.
Comment 3 Tom Wijsman (TomWij) (RETIRED) gentoo-dev 2013-06-27 11:05:09 UTC
I have placed the gist of your description in the summuary; in the future, please expand with details in the description instead of matters that distracts from the problem, suggestions are best documented in a separate comment or bug. Thank you.
Comment 4 Nuno Silva 2013-06-28 12:10:36 UTC
Created attachment 352158 [details]
Build log from zathura when girara-0.1.6 is installed, as required by zathura, but its header files do not exist

Build log of a failed zathura build:

- Both girara 0.1.5 and 0.1.6 are installed at the same time, but 0.1.6 does not install any header files (and if it did, it would still be a problem, as both ebuilds seem to try to install these to /usr/include):

$ grep include /var/db/pkg/dev-libs/girara-0.1.6-r200/CONTENTS 
dir /usr/include

- But girara 0.1.5 installs header files:

$ grep include /var/db/pkg/dev-libs/girara-0.1.5-r300/CONTENTS 
dir /usr/include
dir /usr/include/girara
obj /usr/include/girara/commands.h 3d1f667b53ffa3fb0543ec52cabe4930 1372319138
obj /usr/include/girara/girara.h 8b782e4e2f87fcf30d550a63c7f58c82 1372319138
[...]

- As girara 0.1.6 is installed, this satisfies DEPEND for zathura, and thus no girara upgrade is forced, but the zathura build fails because there are no header files for girara 0.1.6.
Comment 5 Samuli Suominen (RETIRED) gentoo-dev 2013-08-07 11:50:14 UTC
+  07 Aug 2013; Samuli Suominen <ssuominen@gentoo.org> girara-0.1.5-r200.ebuild,
+  girara-0.1.6-r200.ebuild:
+  Force matching version of library and headers wrt #474604 by "teika"
Comment 6 Jan Pobrislo 2013-08-19 15:06:55 UTC
Argh.
This is absolutely wrong approach, it forces gtk3 on everyone for no good reason. Instead headers should be split out to separate package and depended on properly.

Currently zathura supports both gtk2 and gtk3. I propose putting gtk3 useflag on it and altering ZATHURA_GTK_VERSION accordingly, same with dependencies.

Jumanji indeed requires gtk3 version, through it's webkit-gtk dependency.

I don't know of any other programs using this library. The change should be quite simple.

For reference, here's how arch builds the separate girara-common packages:
https://projects.archlinux.org/svntogit/community.git/tree/trunk/PKGBUILD?h=packages/girara