Bug 196195 - lang/python27 (2.7.9) fails to install with WITHOUT_NIS=yes in /etc/src.conf
Summary: lang/python27 (2.7.9) fails to install with WITHOUT_NIS=yes in /etc/src.conf
Status: Closed FIXED
Alias: None
Product: Ports & Packages
Classification: Unclassified
Component: Individual Port(s) (show other bugs)
Version: Latest
Hardware: i386 Any
: --- Affects Some People
Assignee: Marcus von Appen
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2014-12-22 15:30 UTC by Andrey A. Chernov
Modified: 2014-12-22 17:08 UTC (History)
1 user (show)

See Also:
mva: maintainer-feedback+


Attachments
Full build (39.01 KB, application/octet-stream)
2014-12-22 15:57 UTC, Andrey A. Chernov
no flags Details

Note You need to log in before you can comment on or make changes to this bug.
Description Andrey A. Chernov freebsd_committer 2014-12-22 15:30:46 UTC
It happens on latest -stable i386:

===>   Registering installation for python27-2.7.9
pkg-static: Unable to access file
/usr/ports/lang/python27/work/stage/usr/local/lib/python2.7/lib-dynload/nis.so:
No such file or directory
*** Error code 74

Stop.
make[2]: stopped in /usr/ports/lang/python27
*** Error code 1

1) Configure output:

===>  Configuring for python27-2.7.9
configure: loading site script /usr/ports/Templates/config.site
checking build system type... i386-portbld-freebsd10.1
checking host system type... i386-portbld-freebsd10.1
checking for --enable-universalsdk... no
checking for --with-universal-archs... 32-bit
checking MACHDEP... freebsd10
checking EXTRAPLATDIR... 
checking for --without-gcc... no
checking for gcc... cc
checking whether the C compiler works... yes
checking for C compiler default output file name... a.out
checking for suffix of executables... 
checking whether we are cross compiling... no
checking for suffix of object files... o
checking whether we are using the GNU C compiler... yes
checking whether cc accepts -g... yes
checking for cc option to accept ISO C89... none needed
checking for --with-cxx-main=<compiler>... no
checking how to run the C preprocessor... cpp
checking for grep that handles long lines and -e... (cached) /usr/bin/grep
checking for egrep... (cached) /usr/bin/egrep
checking for ANSI C header files... (cached) yes
checking for sys/types.h... (cached) yes
checking for sys/stat.h... (cached) yes
checking for stdlib.h... (cached) yes
checking for string.h... (cached) yes
checking for memory.h... (cached) yes
checking for strings.h... (cached) yes
checking for inttypes.h... (cached) yes
checking for stdint.h... (cached) yes
checking for unistd.h... (cached) yes
checking for minix/config.h... (cached) no
checking whether it is safe to define __EXTENSIONS__... yes
checking for --with-suffix... 
checking for case-insensitive build directory... no
checking LIBRARY... libpython$(VERSION).a
checking LINKCC... $(PURIFY) $(MAINCC)
checking for GNU ld... yes
checking for --enable-shared... yes
checking for --enable-profiling... no
checking LDLIBRARY... libpython$(VERSION).so
checking for ranlib... ranlib
checking for ar... ar
checking for svnversion... found
checking for hg... not-found
checking for a BSD-compatible install... /usr/bin/install -c -o root -g wheel
checking for a thread-safe mkdir -p... (cached) /bin/mkdir -p
checking for --with-pydebug... no
checking whether cc accepts -fno-strict-aliasing... yes
checking whether cc accepts -OPT:Olimit=0... (cached) no
checking whether cc accepts -Olimit 1500... no
checking whether gcc supports ParseTuple __format__... no
checking whether pthreads are available without options... yes
checking whether c++ also accepts flags for thread support... no
checking for ANSI C header files... (cached) yes
checking asm/types.h usability... no
checking asm/types.h presence... no
checking for asm/types.h... no
checking conio.h usability... no
checking conio.h presence... no
checking for conio.h... no
checking direct.h usability... no
checking direct.h presence... no
checking for direct.h... no
checking for dlfcn.h... (cached) yes
checking for errno.h... (cached) yes
checking for fcntl.h... (cached) yes
checking grp.h usability... yes
checking grp.h presence... yes
checking for grp.h... yes
checking ieeefp.h usability... yes
checking ieeefp.h presence... yes
checking for ieeefp.h... yes
checking io.h usability... no
checking io.h presence... no
checking for io.h... no
checking for langinfo.h... (cached) yes
checking for libintl.h... (cached) no
checking for poll.h... (cached) yes
checking process.h usability... no
checking process.h presence... no
checking for process.h... no
checking pthread.h usability... yes
checking pthread.h presence... yes
checking for pthread.h... yes
checking shadow.h usability... no
checking shadow.h presence... no
checking for shadow.h... no
checking for signal.h... (cached) yes
checking for stdint.h... (cached) yes
checking stropts.h usability... no
checking stropts.h presence... no
checking for stropts.h... no
checking termios.h usability... yes
checking termios.h presence... yes
checking for termios.h... yes
checking thread.h usability... no
checking thread.h presence... no
checking for thread.h... no
checking for unistd.h... (cached) yes
checking for utime.h... (cached) yes
checking sys/audioio.h usability... no
checking sys/audioio.h presence... no
checking for sys/audioio.h... no
checking sys/bsdtty.h usability... no
checking sys/bsdtty.h presence... no
checking for sys/bsdtty.h... no
checking sys/epoll.h usability... no
checking sys/epoll.h presence... no
checking for sys/epoll.h... no
checking sys/event.h usability... yes
checking sys/event.h presence... yes
checking for sys/event.h... yes
checking for sys/file.h... (cached) yes
checking sys/loadavg.h usability... no
checking sys/loadavg.h presence... no
checking for sys/loadavg.h... no
checking sys/lock.h usability... yes
checking sys/lock.h presence... yes
checking for sys/lock.h... yes
checking sys/mkdev.h usability... no
checking sys/mkdev.h presence... no
checking for sys/mkdev.h... no
checking sys/modem.h usability... no
checking sys/modem.h presence... no
checking for sys/modem.h... no
checking for sys/param.h... (cached) yes
checking for sys/poll.h... (cached) yes
checking for sys/select.h... (cached) yes
checking for sys/socket.h... (cached) yes
checking for sys/statvfs.h... (cached) yes
checking for sys/stat.h... (cached) yes
checking sys/termio.h usability... no
checking sys/termio.h presence... no
checking for sys/termio.h... no
checking for sys/time.h... (cached) yes
checking for sys/times.h... (cached) yes
checking for sys/types.h... (cached) yes
checking for sys/un.h... (cached) yes
checking sys/utsname.h usability... yes
checking sys/utsname.h presence... yes
checking for sys/utsname.h... yes
checking for sys/wait.h... (cached) yes
checking pty.h usability... no
checking pty.h presence... no
checking for pty.h... no
checking for libutil.h... (cached) yes
checking sys/resource.h usability... yes
checking sys/resource.h presence... yes
checking for sys/resource.h... yes
checking netpacket/packet.h usability... no
checking netpacket/packet.h presence... no
checking for netpacket/packet.h... no
checking sysexits.h usability... yes
checking sysexits.h presence... yes
checking for sysexits.h... yes
checking bluetooth.h usability... no
checking bluetooth.h presence... no
checking for bluetooth.h... no
checking bluetooth/bluetooth.h usability... no
checking bluetooth/bluetooth.h presence... no
checking for bluetooth/bluetooth.h... no
checking linux/tipc.h usability... no
checking linux/tipc.h presence... no
checking for linux/tipc.h... no
checking for spawn.h... (cached) yes
checking util.h usability... no
checking util.h presence... no
checking for util.h... no
checking for alloca.h... (cached) no
checking for dirent.h that defines DIR... yes
checking for library containing opendir... none required
checking whether sys/types.h defines makedev... yes
checking for linux/netlink.h... no
checking for clock_t in time.h... yes
checking for makedev... yes
checking Solaris LFS bug... no
checking for mode_t... (cached) yes
checking for off_t... (cached) yes
checking for pid_t... (cached) yes
checking for size_t... (cached) yes
checking for uid_t in sys/types.h... (cached) yes
checking for uint32_t... yes
checking for uint32_t... (cached) yes
checking for uint64_t... yes
checking for uint64_t... (cached) yes
checking for int32_t... (cached) yes
checking for int32_t... (cached) yes
checking for int64_t... yes
checking for int64_t... (cached) yes
checking for ssize_t... (cached) yes
checking size of int... 4
checking size of long... 4
checking size of void *... 4
checking size of short... 2
checking size of float... 4
checking size of double... 8
checking size of fpos_t... 8
checking size of size_t... 4
checking size of pid_t... 4
checking for long long support... yes
checking size of long long... 8
checking for long double support... yes
checking size of long double... 12
checking for _Bool support... yes
checking size of _Bool... 1
checking for uintptr_t... (cached) yes
checking size of uintptr_t... 4
checking size of off_t... 8
checking whether to enable large file support... yes
checking size of time_t... 4
checking for pthread_t... yes
checking size of pthread_t... 4
checking for --enable-toolbox-glue... no
checking for --enable-framework... no
checking for dyld... no
checking SO... .so
checking LDSHARED... $(CC) -shared
checking CCSHARED... -fPIC
checking LINKFORSHARED... -Wl,--export-dynamic
checking CFLAGSFORSHARED... $(CCSHARED)
checking SHLIBS... $(LIBS)
checking for dlopen in -ldl... no
checking for shl_load in -ldld... no
checking for library containing sem_init... none required
checking for textdomain in -lintl... (cached) no
checking for t_open in -lnsl... no
checking for socket in -lsocket... no
checking for --with-libs... no
checking for pkg-config... /usr/local/bin/pkg-config
checking for --with-system-expat... no
checking for --with-system-ffi... yes
checking for --with-tcltk-includes... default
checking for --with-tcltk-libs... default
checking for --with-dbmliborder... 
checking for --with-signal-module... yes
checking for --with-dec-threads... no
checking for --with-threads... yes
checking if PTHREAD_SCOPE_SYSTEM is supported... yes
checking for pthread_sigmask... yes
checking for pthread_atfork... yes
checking if --enable-ipv6 is specified... yes
checking ipv6 stack type... kame
using libc
checking for OSX 10.5 SDK or later... no
checking for --with-doc-strings... yes
checking for --with-tsc... no
checking for --with-pymalloc... yes
checking for --with-valgrind... no
checking for --with-wctype-functions... no
checking for dlopen... (cached) yes
checking DYNLOADFILE... dynload_shlib.o
checking MACHDEP_OBJS... MACHDEP_OBJS
checking for alarm... (cached) yes
checking for setitimer... yes
checking for getitimer... yes
checking for bind_textdomain_codeset... no
checking for chown... (cached) yes
checking for clock... (cached) yes
checking for confstr... yes
checking for ctermid... yes
checking for execv... yes
checking for fchmod... (cached) yes
checking for fchown... (cached) yes
checking for fork... (cached) yes
checking for fpathconf... yes
checking for ftime... no
checking for ftruncate... yes
checking for gai_strerror... (cached) yes
checking for getgroups... yes
checking for getlogin... yes
checking for getloadavg... yes
checking for getpeername... yes
checking for getpgid... (cached) yes
checking for getpid... (cached) yes
checking for getpriority... yes
checking for getresuid... yes
checking for getresgid... yes
checking for getpwent... yes
checking for getspnam... no
checking for getspent... no
checking for getsid... yes
checking for getwd... (cached) yes
checking for initgroups... yes
checking for kill... yes
checking for killpg... yes
checking for lchmod... yes
checking for lchown... yes
checking for lstat... (cached) yes
checking for mkfifo... yes
checking for mknod... yes
checking for mktime... yes
checking for mmap... (cached) yes
checking for mremap... no
checking for nice... yes
checking for pathconf... (cached) yes
checking for pause... yes
checking for plock... no
checking for poll... (cached) yes
checking for pthread_init... no
checking for putenv... (cached) yes
checking for readlink... (cached) yes
checking for realpath... (cached) yes
checking for select... (cached) yes
checking for sem_open... yes
checking for sem_timedwait... yes
checking for sem_getvalue... yes
checking for sem_unlink... yes
checking for setegid... (cached) yes
checking for seteuid... (cached) yes
checking for setgid... yes
checking for setlocale... (cached) yes
checking for setregid... (cached) yes
checking for setreuid... (cached) yes
checking for setsid... (cached) yes
checking for setpgid... yes
checking for setpgrp... yes
checking for setuid... yes
checking for setvbuf... (cached) yes
checking for snprintf... (cached) yes
checking for setlocale... (cached) yes
checking for setregid... (cached) yes
checking for setreuid... (cached) yes
checking for setresuid... (cached) yes
checking for setresgid... (cached) yes
checking for setsid... (cached) yes
checking for setpgid... (cached) yes
checking for setpgrp... (cached) yes
checking for setuid... (cached) yes
checking for setvbuf... (cached) yes
checking for snprintf... (cached) yes
checking for sigaction... (cached) yes
checking for siginterrupt... (cached) yes
checking for sigrelse... yes
checking for strftime... (cached) yes
checking for sysconf... (cached) yes
checking for tcgetpgrp... (cached) yes
checking for tcsetpgrp... yes
checking for tempnam... yes
checking for timegm... yes
checking for times... yes
checking for tmpfile... yes
checking for tmpnam... yes
checking for tmpnam_r... no
checking for truncate... (cached) yes
checking for uname... (cached) yes
checking for unsetenv... (cached) yes
checking for utimes... (cached) yes
checking for waitpid... (cached) yes
checking for wait3... yes
checking for wait4... yes
checking for wcscoll... (cached) yes
checking for _getpty... no
checking for chroot... yes
checking for link... yes
checking for symlink... yes
checking for fchdir... yes
checking for fsync... yes
checking for fdatasync... no
checking for epoll... no
checking for kqueue... yes
checking for ctermid_r... yes
checking for flock declaration... yes
checking for flock... yes
checking for getpagesize... yes
checking for broken unsetenv... no
checking for true... true
checking for inet_aton in -lc... yes
checking for chflags... yes
checking for lchflags... yes
checking for inflateCopy in -lz... yes
checking for hstrerror... yes
checking for inet_aton... yes
checking for inet_pton... yes
checking for setgroups... yes
checking for openpty... no
checking for openpty in -lutil... yes
checking for forkpty... yes
checking for memmove... (cached) yes
checking for fseek64... no
checking for fseeko... yes
checking for fstatvfs... (cached) yes
checking for ftell64... no
checking for ftello... yes
checking for statvfs... (cached) yes
checking for dup2... (cached) yes
checking for getcwd... (cached) yes
checking for strdup... (cached) yes
checking for getpgrp... (cached) yes
checking for setpgrp... (cached) yes
checking for gettimeofday... (cached) yes
checking for major... yes
checking for getaddrinfo... yes
checking getaddrinfo bug... no
checking for getnameinfo... (cached) yes
checking whether time.h and sys/time.h may both be included... yes
checking whether struct tm is in sys/time.h or time.h... time.h
checking for struct tm.tm_zone... yes
checking for struct stat.st_rdev... yes
checking for struct stat.st_blksize... (cached) yes
checking for struct stat.st_flags... yes
checking for struct stat.st_gen... yes
checking for struct stat.st_birthtime... yes
checking for struct stat.st_blocks... yes
checking for time.h that defines altzone... no
checking whether sys/select.h and sys/time.h may both be included... yes
checking for addrinfo... yes
checking for sockaddr_storage... yes
checking whether char is unsigned... no
checking for an ANSI C-conforming const... yes
checking for working volatile... yes
checking for working signed char... yes
checking for prototypes... yes
checking for variable length prototypes and stdarg.h... yes
checking for socketpair... yes
checking if sockaddr has sa_len member... yes
checking whether va_list is an array... no
checking for gethostbyname_r... yes
checking gethostbyname_r with 6 args... yes
checking for __fpu_control... no
checking for __fpu_control in -lieee... no
checking for --with-fpectl... no
checking for --with-libm=STRING... default LIBM="-lm"
checking for --with-libc=STRING... default LIBC=""
checking whether C doubles are little-endian IEEE 754 binary64... yes
checking whether C doubles are big-endian IEEE 754 binary64... no
checking whether C doubles are ARM mixed-endian IEEE 754 binary64... no
checking whether we can use gcc inline assembler to get and set x87 control word... yes
checking for x87-style double rounding... no
checking whether tanh preserves the sign of zero... yes
checking for acosh... yes
checking for asinh... yes
checking for atanh... yes
checking for copysign... yes
checking for erf... yes
checking for erfc... yes
checking for expm1... yes
checking for finite... yes
checking for gamma... yes
checking for hypot... yes
checking for lgamma... yes
checking for log1p... yes
checking for round... yes
checking for tgamma... yes
checking whether isinf is declared... yes
checking whether isnan is declared... yes
checking whether isfinite is declared... yes
checking whether POSIX semaphores are enabled... (cached) yes
checking for broken sem_getvalue... no
checking digit size for Python's longs... no value specified
checking for wchar.h... (cached) yes
checking size of wchar_t... 4
checking for UCS-4 tcl... no
checking whether wchar_t is signed... yes
checking what type to use for unicode... unsigned long
checking whether byte ordering is bigendian... no
checking whether right shift extends the sign bit... yes
checking for getc_unlocked() and friends... yes
checking how to link readline libs... -lreadline
checking for rl_callback_handler_install in -lreadline... yes
checking for rl_pre_input_hook in -lreadline... yes
checking for rl_completion_display_matches_hook in -lreadline... yes
checking for rl_completion_matches in -lreadline... yes
checking for broken nice()... yes
checking for broken poll()... no
checking for struct tm.tm_zone... (cached) yes
checking for working tzset()... yes
checking for tv_nsec in struct stat... yes
checking for tv_nsec2 in struct stat... yes
checking curses.h usability... yes
checking curses.h presence... yes
checking for curses.h... yes
checking ncurses.h usability... yes
checking ncurses.h presence... yes
checking for ncurses.h... yes
checking for term.h... yes
checking whether mvwdelch is an expression... yes
checking whether WINDOW has _flags... yes
checking for is_term_resized... yes
checking for resize_term... yes
checking for resizeterm... yes
configure: checking for device files
checking for /dev/ptmx... yes
checking for /dev/ptc... no
checking for %lld and %llu printf() format support... yes
checking for %zd printf() format support... yes
checking for socklen_t... (cached) yes
checking for build directories... done
checking for ensurepip... no
configure: creating ./config.status

2) Yes /usr/include/rpcsvc/yp_prot.h is installed, it is installed unconditionally by /usr/src/include/rpcsvc/Makefile
Comment 1 Bugzilla Automation freebsd_committer 2014-12-22 15:30:46 UTC
Auto-assigned to maintainer python@FreeBSD.org
Comment 2 Marcus von Appen freebsd_committer freebsd_triage 2014-12-22 15:46:43 UTC
As it seems, yp_prot.h is always installed, even within a WITHOUT_NIS environment. This causes some problems for a clean build, since Python checks for yp_prot.h to decide, if the nis module is built or not. Could you please attach the full build output of python, too?
Comment 3 Andrey A. Chernov freebsd_committer 2014-12-22 15:48:42 UTC
+.if defined(WITHOUT_NIS) || !exists(/usr/include/rpcsvc/yp_prot.h)

This test is wrong. yp_prot.h is installed unconditionally. Prev. test was more right:
-.if !exists(/usr/bin/ypcat) || defined(WITHOUT_NIS) # the world with NO_NIS

BTW, I doubt src.conf is sourced in ports building, so checking for WITHOUT_NIS is pointless.
Comment 4 Andrey A. Chernov freebsd_committer 2014-12-22 15:57:43 UTC
Created attachment 150857 [details]
Full build

Full portupgrade output is attached.
Comment 5 Andrey A. Chernov freebsd_committer 2014-12-22 16:12:01 UTC
> Python checks for yp_prot.h to decide
In that case python check itself should be fixed to use /usr/bin/ypcat instead.
Comment 6 Marcus von Appen freebsd_committer freebsd_triage 2014-12-22 16:27:31 UTC
We had that before and it causes the same problem, if ypcat never gets deinstalled.
Comment 7 Marcus von Appen freebsd_committer freebsd_triage 2014-12-22 16:28:45 UTC
(In reply to Andrey A. Chernov from comment #3)

> BTW, I doubt src.conf is sourced in ports building, so checking for
> WITHOUT_NIS is pointless.

No. Some people use /etc/make.conf instead of src.conf
Comment 8 olaf 2014-12-22 16:33:42 UTC
/usr/include/rpcsvc/yp_prot.h still exists after saying WITHOUT_NIS=YES and a "make delete-old" after rebuilding world from source.
Comment 9 olaf 2014-12-22 16:35:06 UTC
(In reply to olaf from comment #8)
> /usr/include/rpcsvc/yp_prot.h still exists after saying WITHOUT_NIS=YES and
> a "make delete-old" after rebuilding world from source.

submitted #196197
Comment 10 Andrey A. Chernov freebsd_committer 2014-12-22 16:37:37 UTC
(In reply to Marcus von Appen from comment #6)
> We had that before and it causes the same problem, if ypcat never gets
> deinstalled.

ypcat is deinstalled on 'make delete-old', so not having it deinstalled is admin fault.
Comment 11 olaf 2014-12-22 16:41:42 UTC
(In reply to olaf from comment #9)
> (In reply to olaf from comment #8)
> > /usr/include/rpcsvc/yp_prot.h still exists after saying WITHOUT_NIS=YES and
> > a "make delete-old" after rebuilding world from source.
> 
> submitted #196197

Workaround: as usual, put WITHOUT_NIS=yes in make.conf
Comment 12 olaf 2014-12-22 16:42:21 UTC
(In reply to Andrey A. Chernov from comment #10)
> (In reply to Marcus von Appen from comment #6)
> > We had that before and it causes the same problem, if ypcat never gets
> > deinstalled.
> 
> ypcat is deinstalled on 'make delete-old', so not having it deinstalled is
> admin fault.

Wrong. At least for my i386 10.1-RELEASE box.
Comment 13 Andrey A. Chernov freebsd_committer 2014-12-22 16:44:49 UTC
(In reply to olaf from comment #12)
> (In reply to Andrey A. Chernov from comment #10)
> > (In reply to Marcus von Appen from comment #6)
> > > We had that before and it causes the same problem, if ypcat never gets
> > > deinstalled.
> > 
> > ypcat is deinstalled on 'make delete-old', so not having it deinstalled is
> > admin fault.
> 
> Wrong. At least for my i386 10.1-RELEASE box.

At least on -stable look in /usr/src/tools/build/mk/OptionalObsoleteFiles.inc:
.if ${MK_NIS} == no
OLD_FILES+=usr/bin/ypcat
OLD_FILES+=usr/bin/ypchfn
...
Comment 14 commit-hook freebsd_committer 2014-12-22 16:46:01 UTC
A commit references this bug:

Author: mva
Date: Mon Dec 22 16:45:43 UTC 2014
New revision: 375245
URL: https://svnweb.freebsd.org/changeset/ports/375245

Log:
  - Revert the previous NIS check, since it does not help at all

  PR:		196195
  Submitted by:	ache@
  With hat:	python@

Changes:
  head/lang/python27/Makefile
  head/lang/python32/Makefile
  head/lang/python33/Makefile
  head/lang/python34/Makefile
Comment 15 Marcus von Appen freebsd_committer freebsd_triage 2014-12-22 16:47:05 UTC
I just reverted the previous attempt to fix the problem. We are again checking for WITHOUT_NIS and ypcat now.
Comment 16 Andrey A. Chernov freebsd_committer 2014-12-22 16:58:34 UTC
(In reply to Andrey A. Chernov from comment #13)
> (In reply to olaf from comment #12)
> > (In reply to Andrey A. Chernov from comment #10)
> > > (In reply to Marcus von Appen from comment #6)
> > > > We had that before and it causes the same problem, if ypcat never gets
> > > > deinstalled.
> > > 
> > > ypcat is deinstalled on 'make delete-old', so not having it deinstalled is
> > > admin fault.
> > 
> > Wrong. At least for my i386 10.1-RELEASE box.
> 
> At least on -stable look in
> /usr/src/tools/build/mk/OptionalObsoleteFiles.inc:
> .if ${MK_NIS} == no
> OLD_FILES+=usr/bin/ypcat
> OLD_FILES+=usr/bin/ypchfn
> ...

I just check, the same code is in 10.1-RELEASE:
https://svnweb.freebsd.org/base/release/10.1.0/tools/build/mk/OptionalObsoleteFiles.inc?revision=274417&view=markup
So it looks like something is wrong in your configs.
Comment 17 Andrey A. Chernov freebsd_committer 2014-12-22 17:08:10 UTC
(In reply to Marcus von Appen from comment #15)
> I just reverted the previous attempt to fix the problem. We are again
> checking for WITHOUT_NIS and ypcat now.

Fixed, thanx.