Home | Docs | Forums | Lists | Bugs | Planet | Store | GMN | Get Gentoo!
Not eligible to see or edit group visibility for this bug.
View Bug Activity | Format For Printing | XML | Clone This Bug
There is a compatibility problem with the kdelibs-3.5.2 and libutempter-1.1.2.1 in stable Gentoo branch. As a result of it the konsole doesn't register login records in /var/run/utmp via /usr/sbin/utempter(so command "w" doesn't show users on local ptses) because /usr/sbin/utempter utility accepts different arguments in sys-apps/utempter and sys-apps/libutempter. The Konsole works right with sys-apps/utempter installed and registers login sessions in /var/run/utmp, but it works wrong with sys-libs/libutempter. Users are forced to install sys-libs/libutempter because of block dependencies existance between sys-libs/libutempter and sys-apps/utempter that could be resolved only if sys-libs/libutempter choosen. Xterm wants sys-libs/libutempter in it's dependencies and doesn't accept sys-apps/utempter(althougth it works fine with it) and kdelibs ebuild depends on virtual/utempter, but it doesn't work correctly with the sys-libs/libutempter. I have found the reason why konsole doesn't register login records in /var/run/utmp: $ grep utempter kdelibs-3.5.2/kdecore/kpty.cpp utmp << "/usr/sbin/utempter" << "-a" << d->ttyName << ""; utmp << "/usr/sbin/utempter" << "-d" << d->ttyName; $ cat libutempter-1.1.2/utempter.c .... static void usage (void) { #ifdef UTEMPTER_DEBUG fprintf (stderr, "Usage: utempter add [<host>]\n" " utempter del\n"); #endif exit (EXIT_FAILURE); } .... $ cat utempter-0.5.5/utempter.c .... static void usage(void) { fprintf(stderr, "Usage: -a <slave-device-name> <host>\n" " -d <slave-device-name>\n"); exit(1); } .... As you can see /usr/sbin/utempter accepts different command switches in sys-apps/utempter and sys-libs/libutempter, and KDE 3.5.2 depends on sys-libs/libutempter's behaviour of this utility. There is several methods to fix incompatibility. The solution is to fix kdelibs to be compatible with /usr/sbin/utempter command switches or to change xterm's dependencies to accept virtual/utempter or sys-apps/utempter as a dependency instead of sys-libs/libutempter. $ emerge --info Portage 2.1-r1 (selinux/2005.1/x86, gcc-3.4.6, glibc-2.3.6-r4, 2.6.16-hardened-r11 i686) ================================================================= System uname: 2.6.16-hardened-r11 i686 Intel(R) Pentium(R) 4 CPU 2.80GHz Gentoo Base System version 1.6.15 ccache version 2.3 [disabled] app-admin/eselect-compiler: [Not Present] dev-lang/python: 2.3.5-r2, 2.4.3-r1 dev-python/pycrypto: 2.0.1-r5 dev-util/ccache: 2.3 dev-util/confcache: [Not Present] sys-apps/sandbox: 1.2.17 sys-devel/autoconf: 2.13, 2.59-r7 sys-devel/automake: 1.4_p6, 1.5, 1.6.3, 1.7.9-r1, 1.8.5-r3, 1.9.6-r2 sys-devel/binutils: 2.16.1-r3 sys-devel/gcc-config: 1.3.13-r3 sys-devel/libtool: 1.5.22 virtual/os-headers: 2.6.11-r2 ACCEPT_KEYWORDS="x86" AUTOCLEAN="yes" CBUILD="i686-pc-linux-gnu" CFLAGS="-O2 -march=prescott -pipe" CHOST="i686-pc-linux-gnu" CONFIG_PROTECT="/etc /usr/kde/3.4/env /usr/kde/3.4/share/config /usr/kde/3.4/shutdown /usr/kde/3.5/env /usr/kde/3.5/share/config /usr/kde/3.5/shutdown /usr/share/X11/xkb /usr/share/config /usr/share/texmf/dvipdfm/config/ /usr/share/texmf/dvips/config/ /usr/share/texmf/tex/generic/config/ /usr/share/texmf/tex/platex/config/ /usr/share/texmf/xdvi/ /var/bind /var/service" CONFIG_PROTECT_MASK="/etc/env.d /etc/env.d/java/ /etc/gconf /etc/java-config/vms/ /etc/revdep-rebuild /etc/splash /etc/terminfo" CXXFLAGS="-O2 -march=prescott -pipe" DISTDIR="/usr/portage/distfiles" FEATURES="autoconfig distlocks metadata-transfer sandbox selinux sfperms strict" GENTOO_MIRRORS="http://mirror.datapipe.net/gentoo ftp://ftp.du.se/pub/os/gentoo http://trumpetti.atm.tut.fi/gentoo/ ftp://mirrors1.netvisao.pt/gentoo/ http://www.gigaload.org/gentoo.org/" LANG="ru_RU.CP1251" LINGUAS="en ru" PKGDIR="/usr/portage/packages" PORTAGE_RSYNC_OPTS="--recursive --links --safe-links --perms --times --compress --force --whole-file --delete --delete-after --stats --timeout=180 --exclude='/distfiles' --exclude='/local' --exclude='/packages'" PORTAGE_TMPDIR="/var/tmp" PORTDIR="/usr/portage" PORTDIR_OVERLAY="/usr/local/overlays/my /usr/local/overlays/bmg-main" SYNC="rsync://rsync.gentoo.org/gentoo-portage" USE="x86 a52 aac activefilter artswrappersuid atm bash-completion berkdb bluetooth caps cdparanoia crypt css dbus dga dhcp divx4linux divxforlinux doc dvb dvd dvdr dvdread erandom exiscan-acl fbcon ffmpeg font-server gcj gnokii gnutls gphoto2 hal hash ieee1394 innodb irda irmc java jpeg2k kerberos ldap libclamav lm_sensors lmtp logitech-mouse logrotate mbox mime mmap multislot ncurses network nls ntfs ntlm oav pam pam_chroot pam_console pcntl pda perlsuid pic portaudio povray procmail python quotas radius rdesktop readline real reiserfs samba sasl selinux sftplogging shaper slp socks5 softquota spf srs sse-filters ssl swat theora threads usb v4l v4l2 vcd vim-with-x wifi win32codecs winbind x264 xinerama xscreensaver xvmc zlib elibc_glibc input_devices_keyboard input_devices_mouse kernel_linux linguas_en linguas_ru lirc_devices_devinput userland_GNU video_cards_i810 video_cards_radeon video_cards_v4l video_cards_vesa video_cards_vga" Unset: CTARGET, EMERGE_DEFAULT_OPTS, INSTALL_MASK, LC_ALL, LDFLAGS, MAKEOPTS, PORTAGE_RSYNC_EXTRA_OPTS
xterm won't be changing...
Looks grave to me. Not sure who we need to bug here, the X folks or the KDE folks.
CCing utempter guru as well.
Well, we missed to "fix" it for KDE 3.5.2, by changing the configure flag to --without-utempter, see also bug 109395 and bug 135818.
Emanuele is the real guru :)
forking the utempter helper instead of using the library... Now, the majority of kde users should have libutempter installed, since xterm depends on it and not on the virtual, so there is really the need for an urgent fix. These seems to me the only valid alternatives: 1) Revbump stable xterm with a dep on utempter, ugly but does not require any change to kdelibs. 2) Revbump stable kdelibs disabling utempter. 3) Change the dep in stable xterm back to the virtual, but this requires also a revbump of stable kdelibs to depend on utempter and not on the virtual, since the default provider for virtual/utempter is libutempter.
How about, add a compatibility flag to libutempter to accept the same args as utempter, and send the patch upstream.
I have no time right now to do it and it's not worth the effort imo since more recent kdelibs does not use utempter.
*** This bug has been marked as a duplicate of 135818 ***