Windows XP下编译openssl-1.0.0

    技术2022-05-12  34

    版本ActivePerl: 5.12.0 Build 1200VC: 6.0openssl: 1.0.0masm: 6.00.8168.0

    ActivePerl,MASM, VC6.0均已安装且bin目录都在PATH环境变量中

    一、 NMAKE : fatal error U1077: 'ml' : return code '0x1'

    当执行>nmake -f ms/ntdll.mak

    出现错误:Microsoft (R) Program Maintenance Utility   Version 6.00.8168.0Copyright (C) Microsoft Corp 1988-1998. All rights reserved.

    Building OpenSSL        ml /nologo /Cp /coff /c /Cx /Fotmp32dll/sha512-586.obj tmp32dll/sha512-586.asm Assembling: tmp32dll/sha512-586.asmMASM version 8.00 or later is strongly recommended.error A4910: cannot open file: C:/masm32/bin/ml.errtmp32dll/sha512-586.asm(97) : error A2008:  : mmtmp32dll/sha512-586.asm(105) : error A2008:  : mmtmp32dll/sha512-586.asm(107) : error A2008:  : mmtmp32dll/sha512-586.asm(110) : error A2008:  : mmtmp32dll/sha512-586.asm(112) : error A2008:  : mmtmp32dll/sha512-586.asm(130) : error A2008:  : mmtmp32dll/sha512-586.asm(133) : error A2008:  : mmtmp32dll/sha512-586.asm(154) : error A2008:  : mmtmp32dll/sha512-586.asm(162) : error A2008:  : mmtmp32dll/sha512-586.asm(164) : error A2008:  : mmtmp32dll/sha512-586.asm(167) : error A2008:  : mmtmp32dll/sha512-586.asm(169) : error A2008:  : mmtmp32dll/sha512-586.asm(189) : error A2008:  : mmtmp32dll/sha512-586.asm(192) : error A2008:  : mmtmp32dll/sha512-586.asm(214) : error A2008:  : mmtmp32dll/sha512-586.asm(220) : error A2008:  : mmtmp32dll/sha512-586.asm(221) : error A2008:  : mmtmp32dll/sha512-586.asm(240) : error A2008:  : mmtmp32dll/sha512-586.asm(248) : error A2008:  : mmtmp32dll/sha512-586.asm(250) : error A2008:  : mmtmp32dll/sha512-586.asm(253) : error A2008:  : mmtmp32dll/sha512-586.asm(255) : error A2008:  : mmtmp32dll/sha512-586.asm(275) : error A2008:  : mmtmp32dll/sha512-586.asm(278) : error A2008:  : mmtmp32dll/sha512-586.asm(288) : error A2008:  : mmtmp32dll/sha512-586.asm(289) : error A2008:  : mmtmp32dll/sha512-586.asm(290) : error A2008:  : mmtmp32dll/sha512-586.asm(291) : error A2008:  : mmtmp32dll/sha512-586.asm(292) : error A2008:  : mmtmp32dll/sha512-586.asm(293) : error A2008:  : mmtmp32dll/sha512-586.asm(294) : error A2008:  : mmtmp32dll/sha512-586.asm(295) : error A2008:  : mmNMAKE : fatal error U1077: 'ml' : return code '0x1'Stop.

    解决方法:google几次,也没找到解决方法。仔细分析出错信息,原来是MASM的版本过低, 我安装的MASM32中C:/masm32/bin>mlMicrosoft (R) Macro Assembler Version 6.14.8444Copyright (C) Microsoft Corp 1981-1997.  All rights reserv

    版本是 6.14.8444,而错误提示中推荐8.00 or later ,所以只好下载MASM的高版本这里安装MASM8.0,具体安装可参考下面的URL,http://finebree.blog.163.com/blog/static/878793552008102474254280/

    将生成的ml.exe拷贝到C:/masm32/bin目录下,将原来的ml.exe覆盖即可。

    二、NMAKE : fatal error U1077: 'cl' : return code '0x2'

    解决错误1后,重新nmake -f ms/ntdll.mak会出现这个错误

    解决办法: 这个在openssl官方网站上找到了,方法是禁用IPV6perl Configure VC-WIN32 -DOPENSSL_USE_IPV6=0

    具体可参照http://rt.openssl.org/Ticket/Display.html?id=2097&user=guest&pass=guest

    三、总结Windows下openssl1.0.0的安装步骤

    版本要求:ActivePerl: 5.12.0 Build 1200VC: 6.0openssl: 1.0.0masm: 8.0

    D:/开发工具/openssl-1.0.0>perl Configure VC-WIN32 -DOPENSSL_USE_IPV6=0 --prefix=c:/openssl-1.0.0

    D:/开发工具/openssl-1.0.0>ms/do_ms

    D:/开发工具/openssl-1.0.0>nmake -f ms/ntdll.mak

    D:/开发工具/openssl-1.0.0>nmake -f ms/ntdll.mak test

    D:/开发工具/openssl-1.0.0>nmake -f ms/ntdll.mak install

    ------------------------------------------------------------------------

    在公司的电脑XP上安装openssl-1.0.0,

    1. 当执行nmake -f ms/ntdll.mak时,出现下面的错误:

    NMAKE : fatal error U1077: 'cl' : return code '0xc0000135'

    并弹出一个对话框,信息如下:

    CL.EXE  Unable to Locat Component

    This application has failed to start because mspdb60.dll was not found. Re-installing the application my fix this problem.

    解决方法:在VC目录下搜文件名mspdb60.dll,只有一项,C:/Program Files/Microsoft Visual Studio/Common/MSDev98/Bin, 查看PATH环境变量,发现没有这一项,添加到PATH即可。

    2. NMAKE : fatal error U1077: 'link' : return code '0x460'

    LINK : error LNK2001: unresolved external symbol __DllMainCRTStartup@12out32dll/libeay32.dll : fatal error LNK1120: 32 unresolved externalsNMAKE : fatal error U1077: 'link' : return code '0x460'Stop.

    解决方法:

    尝试了N久,仍然有错。我严重怀疑是环境变量的问题,可对照公司电脑和我电脑上的环境变量,已经设成相同的了,还是报这个错。最后,怒之,强行把VC 6.0卸载,然后重新安装,安装的时候选上注册环境变量,再按着我上篇安装的方法,最后安装成功!

    注:以后再安装软件提示注册环境变量时,尽量勾选上。


    最新回复(0)