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
--- 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