zoukankan      html  css  js  c++  java
  • MSYS 编译 openssl-3.0.0-alpha4 发生错误时解决方法

    ******************************************************************************
    This perl implementation doesn't produce Unix like paths (with forward slash
    directory separators).  Please use an implementation that matches your
    building platform.
    
    This Perl version: 5.18.0 for MSWin32-x86-multi-thread-64int
    ******************************************************************************
    出现这个错误,需要MSYS2的perl
    https://sourceforge.net/projects/msys2/files/REPOS/MSYS2/i686/perl-5.30.2-1-i686.pkg.tar.xz.sig/download
    解压到 D:MSYSoptperl-5.30.2-1-i686usrbin
    运行perl出错时,下载msys2-base-i686-20190524.tar.xz
    https://sourceforge.net/projects/msys2/files/Base/i686/msys2-base-i686-20190524.tar.xz/download
    并这个包里所有的dll文件解压到D:MSYSoptperl-5.30.2-1-i686usrbin目录下,这样正常运行perl
    
    ./Configure mingw --prefix=/usr/local
    正常结束之后修改 configdata.pm 和 Makefile
    /usr/bin/perl      --->  perl
    
    make depend && make && make install 出现一下错误
    make[1]: execvp: ar: Bad file number
    make[1]: *** [libcrypto.a] Error 127
    make[1]: Leaving directory `/build/libs/openssl-3.0.0-alpha4'
    make: *** [build_sw] Error 2
    错误原因是 ar 命令行太长
    
    make -n>make.txt
    查找 "ar r libcrypto.a"
    把所有的 *.obj 文本写入 crypto-all.obj 文件中
    利用 ar @option - read options from file
    ar r libcrypto.a @crypto-all.obj
    ranlib libcrypto.a
    
    这样可以生成 libcrypto.a 
    然后make && make install 就可以;
  • 相关阅读:
    jquery ready()的几种实现方法小结
    jQuery之$(document).ready()使用介绍
    jquery的$(document).ready()和onload的加载顺序
    php var_export与var_dump 输出的不同
    PHP获取和操作配置文件php.ini的几个函数
    PHP 网站保存快捷方式的实现代码
    php 图形验证码的3种方法
    面向对象基础01
    提高记忆力
    Python数据分析环境和工具
  • 原文地址:https://www.cnblogs.com/nlsoft/p/13211391.html
Copyright © 2011-2022 走看看