Hmm, % ./config --prefix=/tmp/install_check shared makes 'ENGINES=engines/capi.so engines/dasync.so engines/ossltest.so engines/padlock.so'
I confirmed % make install passes in this case. ('AAAAA' is also echoed.) Regards, --- Kiyoshi <yoi_no_myou...@yahoo.co.jp> > 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