2012-04-22 40 views
1

我想要的Solaris
9和10
下编译oepnssl-1.0.0g,同时无选择,但我也遇到过下面的麻烦,并且可能不会成功
构建。
请告诉我应该怎么做。无法编译的OpenSSL 1.0.0g从Solaris 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 ']' 

回答

1

只要按下了同样的问题。

下面是修复方法:您应该编辑engines/Makefile,第14行 - 在RECURSIVE_MAKE的定义中添加双引号$(ENGDIRS)

当您提供参数no-ecConfigure,$(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; 
+0

非常感谢你。你的补丁对我来说非常有用! – bobyt 2012-05-10 06:21:01