[openssl-dev] [openssl.org #4459] openssl-1.1.0-pre4: make install fals on solaris64-x86_64-gcc.
Kiyoshi KANAZAWA via RT
rt at openssl.org
Mon Mar 21 05:25:06 UTC 2016
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_myoujou at 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_myoujou at 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_myoujou at yahoo.co.jp>
>>>
>>>
>>>
>>> ----- Original Message -----
>>>> From: Rainer Jung via RT <rt at openssl.org>
>>>> To: yoi_no_myoujou at yahoo.co.jp
>>>> Cc: openssl-dev at 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
More information about the openssl-dev
mailing list