Am 20.03.2016 um 16:46 schrieb Kiyoshi KANAZAWA via RT:
> Hello,
>
> Yes, ENGINES in the top level Makefile is empty.
>
>     22:  LIBS=libcrypto.a libssl.a
>     23:  SHLIBS=
>     24:  ENGINES=
>     25:  PROGRAMS=apps/openssl

OK, that explains the error, because the install_engines target then 
contains a shell snippet

   for e in ; do

($(ENGINES) is empty, but since it is not used as a shell variable but 
instead as a make variable, that is the resulting for loop). That results in

   /bin/sh: syntax error at line 1: `;' unexpected

at least for /bin/sh on Solaris.

So we need to add special handling in $(ENGINES) is empty.

You could try the attached patch.

Regards,

Rainer

-- 
Ticket here: http://rt.openssl.org/Ticket/Display.html?id=4459
Please log in as guest with password guest if prompted

--- Makefile	2016-03-19 14:08:21.655179000 +0100
+++ Makefile	2016-03-20 17:08:48.298012000 +0100
@@ -284,7 +284,8 @@
 	@[ -n "$(INSTALLTOP)" ] || (echo INSTALLTOP should not be empty; exit 1)
 	@$(PERL) $(SRCDIR)/util/mkdir-p.pl $(DESTDIR)$(INSTALLTOP)/$(LIBDIR)/engines/
 	@echo "*** Installing engines"
-	@set -e; for e in $(ENGINES); do \
+	@set -e; if [ "X$$(ENGINES)" != "X" ]; then \
+	    for e in $(ENGINES); do \
 		fn=`basename $$e`; \
 		if [ "$$fn" = 'ossltest.so' ]; then \
 			continue; \
@@ -294,7 +295,8 @@
 		chmod 755 $(DESTDIR)$(INSTALLTOP)/$(LIBDIR)/engines/$$fn.new; \
 		mv -f $(DESTDIR)$(INSTALLTOP)/$(LIBDIR)/engines/$$fn.new \
 		      $(DESTDIR)$(INSTALLTOP)/$(LIBDIR)/engines/$$fn; \
-	done
+	    done; \
+	fi
 
 uninstall_engines:
 	@echo "*** Uninstalling engines"
-- 
openssl-dev mailing list
To unsubscribe: https://mta.openssl.org/mailman/listinfo/openssl-dev

Reply via email to