情况是在含蠢centos7.9上,c程序编译 .o完成,链接时候没有找到openssl,报错如下:
openssl是 grpc.pc引入的:
已经安装 openssl、openssl-devel、openssl-perl、openssl-libs:
libssl.so也存在:
然后检查发现 openssl.pc 文件明明存在:
然后打印 PKG_CONFIG_PATH 发现问题,是我把 gcc升级后,gcc环境选择到 /opt/rh 目录了。
添加配置路径,发现没有生芹宏效:
添加另一个路径,然后我的是生效了:
最后我的程序链接完成。
@@ -119,7 +119,14 @@%doc CHANGES CHANGES.SSLeay LICENSE NEWS README
%attr(0755,root,root) /usr/bin/*
+%ifarch i686
%attr(0755,root,root) /usr/lib/*.so*
+%attr(0755,root,root) /usr/lib/engines/*.so*
+%endif
+%ifarch x86_64
+%attr(0755,root,root) /usr/lib64/*.so*
+%attr(0755,root,root) /usr/lib64/engines/*.so*
+%endif
%attr(0755,root,root) %{openssldir}/misc/*
%attr(0644,root,root) /usr/man/man[157]/*
@@ -132,8 +139,14 @@
%defattr(0644,root,root,0755)
%doc CHANGES CHANGES.SSLeay LICENSE NEWS README
+%ifarch i686
%attr(0644,root,root) /usr/lib/*.a
-%attr(0644,root,root) /usr/lib/pkgconfig/openssl.pc
+%attr(0644,root,root) /usr/lib/pkgconfig/
+%endif
+%ifarch x86_64
+%attr(0644,root,root) /usr/lib64/*.a
+%attr(0644,root,root) /usr/lib64/pkgconfig/
+%endif
%attr(0644,root,root) /usr/include/openssl/*
%attr(0644,root,root) /usr/做搜穗man/man[3]/*
打完补丁后,再次rpmbuild -bb openssl.spec即可生成正确的rpm文件。
rpm -qlp openssl-1.0.2c-1.x86_64.rpm
/usr/bin/c_rehash
/usr/bin/openssl
/usr/bin/ssleay
/usr/漏慎lib64/engines/lib4758cca.so
/usr/lib64/engines/libaep.so
/usr/lib64/engines/libatalla.so
/usr/lib64/engines/libcapi.so
/usr/lib64/engines/纯卜libchil.so
/usr/lib64/engines/libcswift.so
/usr/lib64/engines/libgmp.so
/usr/lib64/engines/libgost.so
/usr/lib64/engines/libnuron.so
/usr/lib64/engines/libpadlock.so
/usr/lib64/engines/libsureware.so
/usr/lib64/engines/libubsec.so
/usr/lib64/libcrypto.so
/usr/lib64/libcrypto.so.1.0.0
/usr/lib64/libssl.so
/usr/lib64/libssl.so.1.0.0
可以看到64位的 *** 作系统已经将相应的so文件安装在/usr/lib64下了,而不是补丁之前的/usr/lib下。
安装及使用图解1、首先OpenSSL编译安装需Perl支持载新版ActivePerlOpenSSL源码包2、安装ActivePerl安装简单需点击Win32OpenSSL-1_0_1g.exe
3、提示用户安装OpenSSL 32位注意仅适合32位 *** 作系统使用点击NExt
4、勾选i accept the agreement即同意协议并点击NExt
5、选择软件安装路径默认路径C:\OpenSSL-Win32点击browse更改安装路径完路径选择点击NExt
6、选择安装文件名直接默认并点击Next
7、选择附加任务勾选:
a.The Windows system directory:窗口系统目录
b.The OpenSSL binaries(/bin)directory:OpenSSL二进制文件(/箱)目录
建议勾兆迟敏选a项并点击Next
8、点击Install始式安装并等待安装完即
9、安装完执行VC安装目录族枝vcvarsall.bat 配置默认环境
10、进入openssl目录执行指令(X64环境)
>perl Configure VC-WIN64A
>ms\do_win64a
>nmake -f ms\旦首ntdll.mak
>cd out32dll
>..mstest
11、现用户使用OpenSSL啦
openssl
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)