首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >Openssl (Openssl)安装会出错

Openssl (Openssl)安装会出错
EN

Stack Overflow用户
提问于 2015-01-02 22:19:22
回答 1查看 2K关注 0票数 1

而OpenSSL ver.0.9.8za已经安装在我的系统(darwin64-x86_64-cc)上,我选择使用UNIX系统的说明在下载的tarball中的“安装”文件中安装最新版本1.0.1j。我选择使用64位选项进行配置,‘./配置darwin64-x86_64-cc',然后运行makefile。到现在为止还好。大约一分钟后,正如我以为安装会成功一样,在编译结束后,编译器会显示以下错误消息:

编译命令行:‘./配置darwin64-x86_64-cc' (Openssl对64位的建议)

代码语言:javascript
运行
复制
duplicate symbol _OPENSSL_cleanse in:
../libcrypto.a(mem_clr.o)
../libcrypto.a(x86_64cpuid.o)
ld: 1 duplicate symbol for architecture x86_64
clang: error: linker command failed with exit code 1 (use -v to see invocation)
make[2]: *** [link_app.] Error 1
make[1]: *** [openssl] Error 2 
make: *** [build_apps] Error 1

这个问题似乎起源于链接器,但我仍然是一个命令行新手。

因此,考虑到这个错误,要完全编译OpenSSL 1.0.1j,需要修改什么?

代码语言:javascript
运行
复制
When the automatic configuration route was taken (./config), the following error is given:
代码语言:javascript
运行
复制
cc -I.. -I../.. -I../modes -I../asn1 -I../evp -I../../include  -DOPENSSL_THREADS -D_REENTRANT
DDSO_DLFCN -DHAVE_DLFCN_H -arch i386 -O3 -fomit-frame-pointer -DL_ENDIAN  
DOPENSSL_BN_ASM_PART_WORDS -DOPENSSL_IA32_SSE2 -DOPENSSL_BN_ASM_MONT -DOPENSSL_BN_ASM_GF2m 
DSHA1_ASM -DSHA256_ASM -DSHA512_ASM -DMD5_ASM -DRMD160_ASM -DAES_ASM -DVPAES_ASM -DWHIRLPOOL_ASM 
DGHASH_ASM   -c -o obj_xref.o obj_xref.c
ar  r ../../libcrypto.a o_names.o obj_dat.o obj_lib.o obj_err.o obj_xref.o
ar: ../../libcrypto.a is a fat file (use libtool(1) or lipo(1) and ar(1) on it)
ar: ../../libcrypto.a: Inappropriate file type or format
make[2]: *** [lib] Error 1
make[1]: *** [subdirs] Error 1
make: *** [build_crypto] Error 1

更新:“问题”文档建议更改app/Makefile和test/Makefile中的两行:

代码语言:javascript
运行
复制
"LIBCRYPTO= -L.. -lcrypto"
"LIBSSL=-L -lssl"

至:

代码语言:javascript
运行
复制
"LIBCRYPTO=../libcrypto.a"
"LIBSSL=../libssl.a"

重试制造之后,同样的信息也给出了。

我衷心感谢jww、Jonathan .和其他人的帮助和评论。如果错误持续存在,我将继续搜索丢失的信息,并最终发布解决方案。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2015-01-03 05:17:39

我不知道你有什么问题。使用Yosemite 10.10.1上的XCode 6(我相信是6.1.1),我能够从OpenSSL.org中获得openssl-1.0.1j并提取它。然后,我将其配置为:

代码语言:javascript
运行
复制
./Configure --prefix=/usr/openssl/openssl-1.0.1j darwin64-x86_64-cc zlib threads shared

有了这些,我就能够毫无问题地构建、测试和安装。这与您所做的非常接近;我只注意到了zlib (压缩)和请求的线程和共享库支持的存在,并指定了一个稍微有点离谱的位置来安装它。(使用--prefix指定的顶级目录存在但为空。)我尝试将sctp添加到配置选项中,但是没有骰子-- SCTP头丢失了,所以我不想再尝试了。

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/27749283

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档