Still I have the same error. % make install_engines *** Installing engines /bin/sh: syntax error at line 2: `;' unexpected Makefile:251: recipe for target 'install_engines' failed make: *** [install_engines] Error 2
I tried to enter 'echo "AAAAA"' before for loop, such as --- Makefile 2016-03-19 14:08:21.655179000 +0100 +++ Makefile 2016-03-20 17:08:48.298012000 +0100 @@ -284,7 +284,9 @@ @[ -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 \ + echo "AAAAA"; \ + 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" % make install_engines *** Installing engines /bin/sh: syntax error at line 3: `;' unexpected Makefile:251: recipe for target 'install_engines' failed make: *** [install_engines] Error 2 "AAAAA" is not echoed, but '/bin/sh: syntax error at line 2: `;' unexpected' changed to '/bin/sh: syntax error at line 3: `;' unexpected' Inside of if condition is not executed, but seems to be checked by sh. BTW, is it OK that ENGINES is empty on Solaris 10 x86/x64, although ENGINES=engines/capi.so engines/dasync.so engines/ossltest.so engines/padlock.so on your Solaris Sparc ? Regards, --- Kiyoshi <yoi_no_myou...@yahoo.co.jp> > I'm sorry and thanks for your patience: there's a bug in the patch: > Replace the $$(ENGINE) in the line > > @set -e; if [ "X$$(ENGINES)" != "X" ]; then \ > > by $(ENGINE) (no "$$" instead just a single "$"). > > The new line is > > @set -e; if [ "X$(ENGINES)" != "X" ]; then \ > > (plus a tab and some additional whitespace in front). > > The wrong "X$$(ENGINES)" is reduced by make into > "X$(ENGINES)" which > doesn't make sense in shell. The "X$$ENGINES" in your suggested > echo > line is reduced to "X$ENGINES" and since there's no shell variable > named > ENGINES set, this is reduced by the shell to "X". But I want > "X$(ENGINES)" in my patch: make reduces this to "X", because > the make > variable ENGINES has an empty value and that's what we want to test in > the new "if". > > Regards, > > Rainer > > Am 21.03.2016 um 00:05 schrieb Kiyoshi KANAZAWA via RT: >> Hello, >> >> Tried your openssl-install-engines.patch, but have the same result. >> % make install_engines >> *** Installing engines >> /bin/sh: syntax error at line 2: `;' unexpected >> Makefile:251: recipe for target 'install_engines' failed >> make: *** [install_engines] Error 2 >> >> >> I think it should work, and added, for double check, >> @echo "XENGINES="X$$ENGINES >> after the line >> >> @echo "*** Installing engines". >> % make install_engines >> *** Installing engines >> XENGINES=X >> /bin/sh: syntax error at line 2: `;' unexpected >> Makefile:251: recipe for target 'install_engines' failed >> make: *** [install_engines] Error 2 >> >> >> >> Regards, >> >> --- Kiyoshi <yoi_no_myou...@yahoo.co.jp> >> >> >> >> ----- Original Message ----- >>> From: Rainer Jung via RT <r...@openssl.org> >>> To: yoi_no_myou...@yahoo.co.jp >>> Cc: openssl-dev@openssl.org >>> Date: 2016/3/21, Mon 01:16 >>> Subject: Re: [openssl-dev] [openssl.org #4459] openssl-1.1.0-pre4: make > install fals on solaris64-x86_64-gcc. >>> >>> 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 > > > -- > Ticket here: http://rt.openssl.org/Ticket/Display.html?id=4459 > Please log in as guest with password guest if prompted > -- Ticket here: http://rt.openssl.org/Ticket/Display.html?id=4459 Please log in as guest with password guest if prompted -- openssl-dev mailing list To unsubscribe: https://mta.openssl.org/mailman/listinfo/openssl-dev