Comments (13)
@mattcaswell I got it to work (1.0.2h) by using NASM - like people above said.
Here's exactly what to do:
-
Extract the source code to a new clean folder - failed appempts seem to leave a lot of crap
-
Download Nasm.exe if you don't already have it - http://www.nasm.us/. Just put it in C:\Windows\System32 (or in your path)
-
Start the VS2012 X86 Command prompt - and run the following:
"c:\Program Files (x86)\Microsoft Visual Studio 12.0\VC\vcvarsall.bat"
perl Configure VC-WIN32 --prefix=C:\Build-OpenSSL-VC-32
ms\do_nasm.bat
nmake -f ms\nt.mak
nmake -f ms\nt.mak install
from openssl.
ref #34
from openssl.
E:\work\openssl\openssl>nmake -f ms\nt.mak install
Microsoft (R) 程序维护实用工具 10.00.30319.01 版
版权所有(C) Microsoft Corporation。保留所有权利。
Building OpenSSL
ml /nologo /Cp /coff /c /Cx /Zi /Fotmp32\sha1-586.obj tmp32\sha1-586.asm
Assembling: tmp32\sha1-586.asm
tmp32\sha1-586.asm(1432) : error A2070:invalid instruction operands
tmp32\sha1-586.asm(1576) : error A2070:invalid instruction operands
NMAKE : fatal error U1077: “"C:\Program Files (x86)\Microsoft Visual Studio 10.
0\VC\BIN\ml.EXE"”: 返回代码“0x1”
Stop.
from openssl.
Does not work with Visual Studio 2008 + NASM either.
NASM version 2.11.06 compiled on Oct 20 2014
This is perl 5, version 12, subversion 0 (v5.12.0) built for MSWin32-x86-multi-thread
cl /version
Microsoft (R) 32-Bit C/C++-Optimierungscompiler Version 15.00.30729.01 für 80x86
perl crypto\sha\asm\sha1-586.pl win32 -DOPENSSL_NO_HEARTBEATS
-DOPENSSL_NO_COMP /MD /Ox /O2 /Ob2 -DOPENSSL_THRE
ADS -DDSO_WIN32 -DOPENSSL_NO_HEARTBEATS -W3 -Gs0 -GF -Gy -nologo
-DOPENSSL_SYSNAME_WIN32 -DWIN32_LEAN_AND_MEAN -DL_ENDI
AN -D_CRT_SECURE_NO_DEPRECATE -DOPENSSL_BN_ASM_PART_WORDS
-DOPENSSL_IA32_SSE2 -DOPENSSL_BN_ASM_MONT -DOPENSSL_BN_ASM_GF2
m -DSHA1_ASM -DSHA256_ASM -DSHA512_ASM -DMD5_ASM -DRMD160_ASM -DAES_ASM
-DVPAES_ASM -DWHIRLPOOL_ASM -DGHASH_ASM -DOPENSS
L_USE_APPLINK -I. -DOPENSSL_NO_IDEA -DOPENSSL_NO_RC5 -DOPENSSL_NO_MD2
-DOPENSSL_NO_SSL2 -DOPENSSL_NO_SSL3 -DOPENSSL_NO_K
RB5 -DOPENSSL_NO_JPAKE -DOPENSSL_NO_STATIC_ENGINE >tmp32dll\sha1-586.asm
ml /nologo /Cp /coff /c /Cx /Zi /Fotmp32dll\sha1-586.obj tmp32dll\sha1-586.asm
Assembling: tmp32dll\sha1-586.asm
tmp32dll\sha1-586.asm(1427) : error A2070:invalid instruction operands
tmp32dll\sha1-586.asm(1571) : error A2070:invalid instruction operands
NMAKE : fatal error U1077: ""c:\Program Files (x86)\Microsoft Visual Studio 9.0\VC\BIN\ml.EXE"":
Rückgabe-Code "0x1"
Stop.
'nmake -f ms\ntdll.mak' failed to execute, returncode 2
from openssl.
Are you sure you are actually using NASM? You are calling ms\do_nasm right?
See this thread:
https://mta.openssl.org/pipermail/openssl-dev/2015-January/000329.html
from openssl.
Got the same issue here, 64 bit builds fine, 32bit builds fail.
Have a jenkins setup that previously worked well for both, 32 and 64 bit builds.
s/do_nasm
is called, 1.0.1l builds fine with the same configuration.
from openssl.
Ah. Probably found my issue. 1.0.1l allowed to call ms\do_nasm.bat followed by ms\do_ms.bat and it worked. This fails with 1.0.2. But just calling ms\do_nasm.bat without an extra do_ms.bat afterwards seems to work.
from openssl.
I am having the same problem too . ml.exe gives the same invalid operands error . Does anyone know any fix for MASM ?
from openssl.
NASM is the only supported assembler, as per:
https://github.com/openssl/openssl/blob/master/INSTALL.W32
Nonetheless, Andy Polyakov has shown some willingness to look at this issue. See the thread I linked above and:
https://rt.openssl.org/Ticket/Display.html?id=3650&user=guest&pass=guest
An email to openssl-dev replying to that thread or RT ticket may get a response from Andy.
from openssl.
Thanks a lot . The build was successful with NASM . I guess MASM is no longer supported . It doesn't matter as long as it gets the job done .
from openssl.
Closing this issue as per comments above.
from openssl.
I am still getting the issue:
Assembling: tmp32dll\sha1-586.asm
tmp32dll\sha1-586.asm(1427) : error A2070:invalid instruction operands
tmp32dll\sha1-586.asm(1571) : error A2070:invalid instruction operands
NMAKE : fatal error U1077: ""c:\Program Files (x86)\Microsoft Visual Studio 9.0\VC\BIN\ml.EXE"":
Rückgabe-Code "0x1"
Stop.
Visual Studio 2008
Active Perl latest
NASM latest version
Can somebody tell me is there any specific changes required with NASM. Please help.
from openssl.
Please open this as a new issue and include a few of the lines prior to this error for context.
from openssl.
Related Issues (20)
- Minerva attack on power PC architecture HOT 2
- Minerva attack on ARM architecture HOT 7
- RFC 5280 X509 compliance issues in OpenSSL v3.1.1 or later HOT 9
- openssl ciphers -v doesn't list AES-CTR and AES-ECB cipher suits
- CI regression from the new hashtable support HOT 7
- Minerva attack on OpenSSL built without enable-ec_nistp_64_gcc_128 HOT 2
- Since OpenSSL 3.0
- openssl --version does not return on version 3.0.13 and 3.3.0 sparc v8 HOT 7
- OpenSSL Read/Write into a BIO_s_mem works only on first call per connection HOT 1
- Openssl speed reports error for RSA KEM keys using external providers in openssl3.2
- pkg-config files are no longer relocatable with 3.3 HOT 1
- `ERR_reason_error_string()` returns `NULL` for `no_application_protocol` alert HOT 4
- SM2 failed to generate public key from private key HOT 5
- Unable to verify LDAP CRL
- CMS Decryption fails randomly with BouncyCastle encrypted HOT 8
- pkcs12 - Bag attributes not written if ``-nokeys`` is used HOT 2
- Custom extensions and backwards compatibility HOT 5
- `SSL_SESSION_set_time` incorrect documentation HOT 1
- Add EVP object caching to libctx
- AES CBC 128 decryption returns a wrong result
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from openssl.