2016-09-28 4 views
1

ASMを有効にしてLinux 64ビット版でopenssl-1.0.2jをビルドしようとしています。 Openssl-1.0.1uは最新ですが、良い選択肢ではありません。 no-asmオプションを指定しないと私は(no-asmそのOKで)次のエラーを取得する:ASMを有効にした `modexp512-x86_64.o 'ターゲットを有効にするルールがありません

No rule to make target `modexp512-x86_64.o', needed by `lib' 

私は別のCentOSのVM(GCC-4.4.4とCentOSのではgcc-4.1.2とCentOSの5.11、CentOSの6.0に異なるコンパイラを試してみました7.1 with gcc-4.8.3)と同じ結果を得ました。

"no-asm"オプションなしでうまく構築されたopenssl-1.0.1lを使用しています。 最新のセキュリティ上の脆弱性のため、新しいバージョンのopensslに移行する必要があります。

"no-asm"オプションを渡すと、上記のエラーが発生しますが、 "ENGINE_load_rsax"が定義されていないというエラーが表示されます。

ASMが有効になっている場合、modexp512-x86_64.o'に関連するエラーが発生するのはなぜですか?どうすれば修正できますか?ここで

は、私が問題にして出力の最初の部分に分離するために設定を実行する方法である:

 
    ./config shared 
    Operating system: x86_64-whatever-linux2 
    Configuring for linux-x86_64 
    Configuring for linux-x86_64 
    no-ec_nistp_64_gcc_128 [default] OPENSSL_NO_EC_NISTP_64_GCC_128 (skip dir) 
    no-gmp   [default] OPENSSL_NO_GMP (skip dir) 
    no-jpake  [experimental] OPENSSL_NO_JPAKE (skip dir) 
    no-krb5   [krb5-flavor not specified] OPENSSL_NO_KRB5 
    no-libunbound [experimental] OPENSSL_NO_LIBUNBOUND (skip dir) 
    no-md2   [default] OPENSSL_NO_MD2 (skip dir) 
    no-rc5   [default] OPENSSL_NO_RC5 (skip dir) 
    no-rfc3779  [default] OPENSSL_NO_RFC3779 (skip dir) 
    no-sctp   [default] OPENSSL_NO_SCTP (skip dir) 
    no-ssl-trace [default] OPENSSL_NO_SSL_TRACE (skip dir) 
    no-ssl2   [default] OPENSSL_NO_SSL2 (skip dir) 
    no-store  [experimental] OPENSSL_NO_STORE (skip dir) 
    no-unit-test [default] OPENSSL_NO_UNIT_TEST (skip dir) 
    no-weak-ssl-ciphers [default] OPENSSL_NO_WEAK_SSL_CIPHERS (skip dir) 
    no-zlib   [default] 
    no-zlib-dynamic [default] 
    IsMK1MF=0 
    CC   =gcc 
    CFLAG   =-fPIC -DOPENSSL_PIC -DOPENSSL_THREADS -D_REENTRANT -DDSO_DLFCN -DHAVE_DLFCN_H -Wa,--noexecstack -m64 -DL_ENDIAN -O3 -Wall -DOPENSSL_IA32_SSE2 -DOPENSSL_BN_ASM_MONT -DOPENSSL_BN_ASM_MONT5 -DOPENSSL_BN_ASM_GF2m -DRC4_ASM -DSHA1_ASM -DSHA256_ASM -DSHA512_ASM -DMD5_ASM -DAES_ASM -DVPAES_ASM -DBSAES_ASM -DWHIRLPOOL_ASM -DGHASH_ASM -DECP_NISTZ256_ASM 
    EX_LIBS  =-ldl 
    CPUID_OBJ  =x86_64cpuid.o 
    BN_ASM  =x86_64-gcc.o x86_64-mont.o x86_64-mont5.o x86_64-gf2m.o rsaz_exp.o rsaz-x86_64.o rsaz-avx2.o 
    EC_ASM  =ecp_nistz256.o ecp_nistz256-x86_64.o 
    DES_ENC  =des_enc.o fcrypt_b.o 
    AES_ENC  =aes-x86_64.o vpaes-x86_64.o bsaes-x86_64.o aesni-x86_64.o aesni-sha1-x86_64.o aesni-sha256-x86_64.o aesni-mb-x86_64.o 
    BF_ENC  =bf_enc.o 
    CAST_ENC  =c_enc.o 
    RC4_ENC  =rc4-x86_64.o rc4-md5-x86_64.o 
    RC5_ENC  =rc5_enc.o 
    MD5_OBJ_ASM =md5-x86_64.o 
    SHA1_OBJ_ASM =sha1-x86_64.o sha256-x86_64.o sha512-x86_64.o sha1-mb-x86_64.o sha256-mb-x86_64.o 
    RMD160_OBJ_ASM= 
    CMLL_ENC  =cmll-x86_64.o cmll_misc.o 
    MODES_OBJ  =ghash-x86_64.o aesni-gcm-x86_64.o 
    ENGINES_OBJ = 
    PROCESSOR  = 
    RANLIB  =/usr/bin/ranlib 
    ARFLAGS  = 
    PERL   =/usr/bin/perl 
    SIXTY_FOUR_BIT_LONG mode 
    DES_UNROLL used 
    DES_INT used 
    RC4_CHUNK is unsigned long 
+0

どのようにOpenSSLを設定しましたか? configureコマンドとコマンドの出力を入力してください。 – jww

+0

コメントは長すぎますので投稿します。 –

答えて

0

私は私の1でエンジンを必要としないに従うと、ビルドように、私は走った設定を構築します ./config no-engines shared

./config出力の要求に従って./configの考えの後にmake dependを実行する必要がありました。

少なくとも私は自分のビルドでブロックされなくなりました。 他のビルドでは、 "no-engines"オプションなしでビルドできるようにする必要があります。 さらに悪いケースでは、./configを実行した後でMakefileからmodexp512-x86_64.oを削除してからビルドする必要があります。

関連する問題