我正在尝试使用Solaris下的no-option编译oepnssl-1.0.0g
9和10
但是我遇到了下面的麻烦,可能没有成功
建立。
请告诉我应该怎么做。
+ /bin/bash ./Configure solaris64-sparcv9-cc
--prefix=/SYM_BC/YASU/v11_enc_local.unix/make_openssl/openssl-1.0.1/openssl
--openssldir=/SYM_BC/YASU/v11_enc_local.unix/make_openssl/openssl-1.0.1/openssl/openssl
**no-camellia no-idea no-mdc2 no-rc5 no-ec no-ecdh no-ecdsa no-seed**
Configuring for solaris64-sparcv9-cc
no-camellia [option] OPENSSL_NO_CAMELLIA (skip dir)
:
kssl.h => ../include/openssl/kssl.h
srtp.h => ../include/openssl/srtp.h
ssltest.c => ../test/ssltest.c
making links in engines...
sh: syntax error at line 1: \`;' unexpected
\*** Error code 2
The following command caused the error:
target=links; [ -z "" ] || for i in ; do (cd $i && echo "making $target
in engines/$i..." && make -e TOP=../.. DIR=$i $target ) || exit 1; done;
make: Fatal error: Command failed for target \`links'
Current working directory
/SYM_BC/YASU/v11_enc_local.unix/make_openssl/openssl-1.0.1/engines
*** Error code 1
The following command caused the error:
set -e; target=links; for dir in crypto ssl engines apps test tools; do
if [ -d "$dir" ]; then ( cd $dir && echo "making $target in $dir..." &&
TOP= && unset TOP ${LIB+LIB} ${LIBS+LIBS} ${INCLUDE+INCLUDE}
:
ENGINES_ASM_OBJ='' PERLASM_SCHEME='void' FIPSLIBDIR=''
FIPSDIR='/usr/local/ssl/fips-2.0' FIPSCANLIB="${FIPSCANLIB:-}"
THIS=${THIS:-links} MAKEFILE=Makefile MAKEOVERRIDES= TOP=.. DIR=$dir
$target ) || exit 1; fi; done
make: Fatal error: Command failed for target `links'
+ '[' yes = yes ']'
答案 0 :(得分:1)
遇到同样的问题。
以下是修复:您应该修改engines/Makefile
第14行 - 在$(ENGDIRS)
的定义中在RECURSIVE_MAKE
附近添加双引号。
当您向no-ec
提供参数Configure
时,$(ENGDIRS)
为空且没有双引号,我们会出现语法错误。
这是补丁:
--- engines/Makefile Tue Aug 24 23:46:58 2010
+++ engines/Makefile.fixed Sat May 5 19:16:42 2012
@@ -11,7 +11,7 @@
AR= ar r
ENGDIRS= ccgost
-RECURSIVE_MAKE= [ -z "$(ENGDIRS)" ] || for i in $(ENGDIRS) ; do \
+RECURSIVE_MAKE= [ -z "$(ENGDIRS)" ] || for i in "$(ENGDIRS)" ; do \
(cd $$i && echo "making $$target in $(DIR)/$$i..." && \
$(MAKE) -e TOP=../.. DIR=$$i $$target ) || exit 1; \
done;