--- zip.c
+++ zip.c
@@ -3452,6 +3452,9 @@ char **argv;            /* command line tokens */
 
   /* Key not yet specified.  If needed, get/verify it now. */
   if (key_needed) {
+#if !CRYPT
+    ZIPERR(ZE_PARMS, "encryption not supported");
+#else /* CRYPT */
     if ((key = malloc(IZ_PWLEN+1)) == NULL) {
       ZIPERR(ZE_MEM, "was getting encryption password");
     }
@@ -3478,6 +3481,7 @@ char **argv;            /* command line tokens */
     if (r) {
       ZIPERR(ZE_PARMS, "password verification failed");
     }
+#endif
   }
   if (key) {
     /* if -P "" could get here */
--- zipcloak.c
+++ zipcloak.c
@@ -744,6 +744,28 @@ struct option_struct far options[] = {
 
 int main OF((void));
 
+void zipmessage_nl(a, nl)
+ZCONST char *a;
+int nl;
+{
+}
+
+void zipmessage(a, b)
+ZCONST char *a, *b;
+{
+}
+
+int set_filetype(out_path)
+  char *out_path;
+{
+}
+
+int rename_split(temp_name, out_path)
+  char *temp_name;
+  char *out_path;
+{
+}
+
 void zipwarn(msg1, msg2)
 ZCONST char  *msg1, *msg2;
 {