| Summary: | dev-lang/tk has automagic dependency over libXss | ||
|---|---|---|---|
| Product: | Gentoo Linux | Reporter: | Diego Elio Pettenò (RETIRED) <flameeyes> |
| Component: | New packages | Assignee: | TCL/TK Project <tcltk> |
| Status: | RESOLVED FIXED | ||
| Severity: | normal | ||
| Priority: | High | ||
| Version: | unspecified | ||
| Hardware: | All | ||
| OS: | Linux | ||
| Whiteboard: | |||
| Package list: | Runtime testing required: | --- | |
|
Description
Diego Elio Pettenò (RETIRED)
2010-07-01 15:03:46 UTC
Diego, could you please elaborate it more. I cannot see any dpendancy on libXss here: $ scanelf -n /usr/lib/libtk8.5.so TYPE NEEDED FILE ET_DYN libX11.so.6,libXft.so.2,libfontconfig.so.1,libpthread.so.0,libm.so.6,libc.so.6 /usr/lib/libtk8.5.so jlec: the key phrase here is "automagic dependency." This is shorthand for when autotools adds a dependency automatically when it finds a library, and happily builds a working program without that library if the library is unavailable. See <http://www.gentoo.org/proj/en/qa/automagic.xml> for a longer explanation. The problem here is that, if you have libXss installed when you build tk, then tk will depend on libXss and Portage is not aware of it because the ebuild does not report that dependency. If you do not have libXss installed when you build tk, then tk will build and run correctly and you can freely add/remove libXss on the system (provided you never rebuild tk while libXss is present). The trivial (but obnoxious) fix would be to make the tk ebuild DEPEND and RDEPEND on libXss. The proper fix would be to modify the tk ebuild so that it patches the upstream configure check to create a --enable-libXss/--disable-libXss flag, then have the ebuild use the new flag. If libXss is considered not to be a useful feature in tk, then the ebuild can just pass --disable-libXss unconditionally. If it is useful, a USE flag could be added that controls the flag and the DEPEND relation. Mmh wonderfull! How could I make it to be a dev w/o knowing this? Nevertheless I have libXss.so on my system, but my libtk.so doesn't need it. So why is it so on the tinderbox, Diego? LDFLAGS="-Wl,-O1" Diego, please use as-needed and reopen if it still exists. (In reply to comment #4) > LDFLAGS="-Wl,-O1" > Diego, please use as-needed and reopen if it still exists. I use as-needed on my systems and ran into this problem independently, which is what led me to this bug report. Also, Diego is using the "forced --as-needed" gcc profile of the tinderbox, so all his compilations come with --as-needed unless specifically disabled by the build system. With regard to you having libXss and not needing it: are you sure that you have rebuilt tk between when you installed libXss and when you checked the libtk dependencies? (In reply to comment #5) > (In reply to comment #4) > > LDFLAGS="-Wl,-O1" > > Diego, please use as-needed and reopen if it still exists. > > I use as-needed on my systems and ran into this problem independently, which is > what led me to this bug report. Also, Diego is using the "forced --as-needed" > gcc profile of the tinderbox, so all his compilations come with --as-needed > unless specifically disabled by the build system. > > With regard to you having libXss and not needing it: are you sure that you have > rebuilt tk between when you installed libXss and when you checked the libtk > dependencies? > Which USE are you using? And please attach a build.log when filing bugs. (In reply to comment #6) > Which USE are you using? # emerge -pvq tk [ebuild R ] dev-lang/tk-8.5.7 USE="-debug -threads -truetype" It looks like this was fixed in 8.5.8-r1 one week after Diego filed this bug, when bicatali@g.o added the xscreensaver USE flag to 8.5.8-r1 without a revbump -- which, as a stable user, I have not yet encountered. The fixed version was not available at the time Diego filed the bug, which is why he encountered it even in ~arch. In this case, 8.5.7 is completely automagic; there is no way to tell it whether or not to use libXss, it just does so if it can. In 8.5.8, upstream added a configure option to control the test. Automagic dependencies so rarely get fixed upstream I did not expect a version bump would matter. jlec: perhaps you are already running 8.5.8-r1 with USE=-xscreensaver? reopen to close correctly (In reply to comment #8) > (In reply to comment #6) > > Which USE are you using? > > # emerge -pvq tk > [ebuild R ] dev-lang/tk-8.5.7 USE="-debug -threads -truetype" > > It looks like this was fixed in 8.5.8-r1 one week after Diego filed this bug, > when bicatali@g.o added the xscreensaver USE flag to 8.5.8-r1 without a revbump > -- which, as a stable user, I have not yet encountered. The fixed version was > not available at the time Diego filed the bug, which is why he encountered it > even in ~arch. In this case, 8.5.7 is completely automagic; there is no way to > tell it whether or not to use libXss, it just does so if it can. In 8.5.8, > upstream added a configure option to control the test. Automagic dependencies > so rarely get fixed upstream I did not expect a version bump would matter. > > jlec: perhaps you are already running 8.5.8-r1 with USE=-xscreensaver? > Thank you very much for digging this out. This is correct and fixed in 8.5.8-r1 with USE=-xscreensaver. I will not backport it to earlier versions. |