githubリリースhttps://github.com/openssl/openssl/archive/OpenSSL-fips-2_0_13.tar.gzからopensslをビルドして、手動でコンパイルしようとしています。私は、Mac OSX版10.11.5でこれをコンパイルしようとしています、これは私がopensslでのリンカーとコンパイラのエラー
./Configure darwin64-x86_64-cc
make
をとっている一連のステップである。しかし、私はによると、通常、コンパイルするときに私は
bsaes-x86_64.s:580:1: error: invalid symbol redefinition
_bsaes_enc_key_convert:
このエラーが出ますINSTALL
ファイルの場合、おそらくアーカイブファイルが32ビットシステム向けに構築されているため、リンクステップでエラーが発生します。これは、その後、./config
WARNING! If you wish to build 64-bit library, then you have to
invoke './Configure darwin64-x86_64-cc' *manually*.
You have about 5 seconds to press Ctrl-C to abort.
と、対応するエラーを実行しているときに./config && make
ステップからアーカイブにリンクする際に私が取得警告であり、この
ld: warning: ld: warning: ignoring file openssl/lib/libssl.a, file was
built for archive which is not the architecture being linked (x86_64):
openssl/lib/libssl.aignoring file openssl/lib/libcrypto.a, file was built
for archive which is not the architecture being linked (x86_64):
openssl/lib/libcrypto.a
注私はCのためにこれを構築してい ++プロジェクトですCコンパイラを使用してCコードをコンパイルし、C++コンパイラ(または両方のコンパイラが同じリンカを使用しているためld
)を使用してコードをリンクします(違いがあるかどうかは分かりません)
誰かが正しくopensslをビルドしてリンクする方法を教えてもらえますか?
*** ***はC++コンパイラでOpenSSLライブラリを構築できません。 Cコンパイラを使用する必要があります。後で、あなたは*** C++コンパイラでユーザプログラムをコンパイルできます。 'KERNEL_BITS = 64 ./config shared no-ssl2 no-ssl3 enable-ec_nistp_64_gcc_128 ...'を実行することもできます。関連する質問は、Stack Overflowに関する[Build Multiarch OpenSSL on OS X](http://stackoverflow.com/q/25530429)です。 OpenSSL wikiの[コンパイルとインストール](https://wiki.openssl.org/index.php/Compilation_and_Installation)も参照してください。 – jww
@jww私はC++コンパイラを使用していたと言っても間違っていました。私はCコンパイラを使用してコードをコンパイルしてから、C++コンパイラとリンクしていました。私は質問を修正する – Curious