libzvt has unresolved symbols provided by libutil. This prevent building x11-libs/vte with -Wl,--as-needed. This patch fixes that.
Created attachment 85883 [details, diff] files/libzvt-2.0.1-as-needed.patch
Created attachment 85884 [details, diff] libzvt-2.0.1-ebuild.patch patch for the ebuild
Sent upstream: http://bugzilla.gnome.org/show_bug.cgi?id=341733
*** Bug 135773 has been marked as a duplicate of this bug. ***
Your patch fixed it; thanks, TGL.
I have libzvt and gnomesu (the only thing I have that deps on it) both built with --as-needed, and neither has a problem. vte doesn't depend on libzvt (and I have that built with --as-needed too). Which version of binutils do you have installed?
I had "sys-devel/binutils: 2.16.93", now I have 2.17 installed. As I can see, vte doesn't depend on libzvt, but it somehow didn't want to build because of "/usr/lib/libzvt-2.0.so: undefined reference to `login_tty'". See my bug 135773 gnome-terminal-2.14.2 depends on vte.
(In reply to comment #6) > vte doesn't depend on libzvt There is some automagic crap in the configure.in of vte: # If we can find libzvt on the system, set up to build a variant of "reflect" # which uses it. REFLECT_ZVT=false if pkg-config --exists libzvt-2.0 ; then REFLECT_ZVT=true ZVT_DEFS=-DHAVE_ZVT PKG_CHECK_MODULES(ZVT,[gtk+-2.0 libzvt-2.0]) fi AC_SUBST(ZVT_DEFS) AM_CONDITIONAL(REFLECT_USE_ZVT, $REFLECT_ZVT) Probably it should be made configurable, or maybe even simply patched out. As for the unresolved symbols not being reported as an error on your system, it depends on the binutils version: it's a check which has been introduced by a 2.16.9x version (i don't remember which one exactly).
*** Bug 143085 has been marked as a duplicate of this bug. ***
There is a patch at [1] to remove libzvt from vte. It was applied upstream. The patch can be modified a bit to apply to vte-0.12.2 (the failed hunk is in ChangeLog) [1] http://bugzilla.gnome.org/show_bug.cgi?id=330441
Fixed upstream. :) Thanks