diff --git a/lib/ChangeLog b/lib/ChangeLog
index 34dad16..dcf3776 100644
--- a/lib/ChangeLog
+++ b/lib/ChangeLog
@@ -1,3 +1,8 @@
+2005-01-30 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
+
+	* daemon.c: (daemon) Replace perror with zlog_err.
+	* vty.c: (vty_serv_un) Replace perror with zlog_err.
+
 2005-01-29 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
 
 	* buffer.h: Fix comment on buffer_getstr to reflect that it now
diff --git a/lib/daemon.c b/lib/daemon.c
index d838010..e73a74f 100644
--- a/lib/daemon.c
+++ b/lib/daemon.c
@@ -35,7 +35,7 @@
   /* In case of fork is error. */
   if (pid < 0)
     {
-      perror ("fork");
+      zlog_err ("fork failed: %s", safe_strerror(errno));
       return -1;
     }
 
@@ -48,7 +48,7 @@
 
   if (pid == -1)
     {
-      perror ("setsid");
+      zlog_err ("setsid failed: %s", safe_strerror(errno));
       return -1;
     }
 
diff --git a/lib/vty.c b/lib/vty.c
index 4248733..053e9ee 100644
--- a/lib/vty.c
+++ b/lib/vty.c
@@ -1824,7 +1824,7 @@
   sock = socket (AF_UNIX, SOCK_STREAM, 0);
   if (sock < 0)
     {
-      perror ("sock");
+      zlog_err("Cannot create unix stream socket: %s", safe_strerror(errno));
       return;
     }
 
@@ -1841,7 +1841,7 @@
   ret = bind (sock, (struct sockaddr *) &serv, len);
   if (ret < 0)
     {
-      perror ("bind");
+      zlog_err("Cannot bind path %s: %s", path, safe_strerror(errno));
       close (sock);	/* Avoid sd leak. */
       return;
     }
@@ -1849,7 +1849,7 @@
   ret = listen (sock, 5);
   if (ret < 0)
     {
-      perror ("listen");
+      zlog_err("listen(fd %d) failed: %s", sock, safe_strerror(errno));
       close (sock);	/* Avoid sd leak. */
       return;
     }
diff --git a/ripd/ChangeLog b/ripd/ChangeLog
index 5a5d1b4..60be27e 100644
--- a/ripd/ChangeLog
+++ b/ripd/ChangeLog
@@ -1,5 +1,9 @@
 2005-01-30 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
 
+	* ripd.c: (rip_create_socket) Replace perror with zlog_err.
+
+2005-01-30 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
+
 	* ripd.c: (rip_create_socket) Save errno before calling
 	  ripd_privs.change.
 
diff --git a/ripd/ripd.c b/ripd/ripd.c
index 2a345a6..b5d130e 100644
--- a/ripd/ripd.c
+++ b/ripd/ripd.c
@@ -1985,7 +1985,7 @@
   sock = socket (AF_INET, SOCK_DGRAM, 0);
   if (sock < 0) 
     {
-      perror ("socket");
+      zlog_err("Cannot create UDP socket: %s", safe_strerror(errno));
       exit (1);
     }
 
diff --git a/zebra/ChangeLog b/zebra/ChangeLog
index 0ebe705..1f97fef 100644
--- a/zebra/ChangeLog
+++ b/zebra/ChangeLog
@@ -1,3 +1,10 @@
+2005-01-30 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
+
+	* ioctl.c: (if_ioctl,if_ioctl_ipv6,if_get_flags) Replace perror with
+	  zlog_err.
+	* ioctl_solaris.c: (if_ioctl,if_ioctl_ipv6) Replace perror with
+	  zlog_err.
+
 2005-01-29 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
 
 	* if_ioctl_solaris.c: (interface_list_ioctl) Save errno before calling
diff --git a/zebra/ioctl.c b/zebra/ioctl.c
index e28d359..56de810 100644
--- a/zebra/ioctl.c
+++ b/zebra/ioctl.c
@@ -54,9 +54,10 @@
   sock = socket (AF_INET, SOCK_DGRAM, 0);
   if (sock < 0)
     {
+      int save_errno = errno;
       if (zserv_privs.change(ZPRIVS_LOWER))
         zlog (NULL, LOG_ERR, "Can't lower privileges");
-      perror ("socket");
+      zlog_err("Cannot create UDP socket: %s", safe_strerror(save_errno));
       exit (1);
     }
   if ((ret = ioctl (sock, request, buffer)) < 0)
@@ -86,9 +87,11 @@
   sock = socket (AF_INET6, SOCK_DGRAM, 0);
   if (sock < 0)
     {
+      int save_errno = errno;
       if (zserv_privs.change(ZPRIVS_LOWER))
         zlog (NULL, LOG_ERR, "Can't lower privileges");
-      perror ("socket");
+      zlog_err("Cannot create IPv6 datagram socket: %s",
+	       safe_strerror(save_errno));
       exit (1);
     }
 
@@ -343,7 +346,7 @@
   ret = if_ioctl (SIOCGIFFLAGS, (caddr_t) &ifreq);
   if (ret < 0) 
     {
-      perror ("ioctl");
+      zlog_err("if_ioctl(SIOCGIFFLAGS) failed: %s", safe_strerror(errno));
       return;
     }
 
diff --git a/zebra/ioctl_solaris.c b/zebra/ioctl_solaris.c
index 5ec327a..43e1e83 100644
--- a/zebra/ioctl_solaris.c
+++ b/zebra/ioctl_solaris.c
@@ -55,9 +55,10 @@
   sock = socket (AF_INET, SOCK_DGRAM, 0);
   if (sock < 0)
     {
+      int save_errno = errno;
       if (zserv_privs.change(ZPRIVS_LOWER))
         zlog (NULL, LOG_ERR, "Can't lower privileges");
-      perror ("socket");
+      zlog_err("Cannot create UDP socket: %s", safe_strerror(save_errno));
       exit (1);
     }
 
@@ -92,9 +93,11 @@
   sock = socket (AF_INET6, SOCK_DGRAM, 0);
   if (sock < 0)
     {
+      int save_errno = errno;
       if (zserv_privs.change(ZPRIVS_LOWER))
         zlog (NULL, LOG_ERR, "Can't lower privileges");
-      perror ("socket");
+      zlog_err("Cannot create IPv6 datagram socket: %s",
+	       safe_strerror(save_errno));
       exit (1);
     }
 
