OpenSSL 1.0.1e build configured with 'no-ec VC-WIN64A' fails with the following 
error:

        link /nologo /subsystem:console /opt:ref /debug /dll 
/out:out32dll\capi.dll  @C:\Users\jan\AppData\Local\Temp\nm26E6.tmp
   Creating library out32dll\capi.lib and object out32dll\capi.exp
        IF EXIST out32dll\capi.dll.manifest mt -nologo -manifest 
out32dll\capi.dll.manifest -outputresource:out32dll\capi.dll;2
        link /nologo /subsystem:console /opt:ref /debug /dll 
/out:out32dll\gost.dll  @C:\Users\jan\AppData\Local\Temp\nm2745.tmp
LINK : warning LNK4001: no object files specified; libraries used
LINK : warning LNK4068: /MACHINE not specified; defaulting to X64
LINK : error LNK2001: unresolved external symbol _DllMainCRTStartup
out32dll\gost.dll : fatal error LNK1120: 1 unresolved externals
NMAKE : fatal error U1077: '"d:\Program Files (x86)\Microsoft Visual Studio 
10.0\VC\BIN\amd64\link.EXE"' : return code '0x460'
Stop.

The commands issued were:

perl Configure no-ec VC-WIN64A
ms\do_win64a
nmake -f ms\ntdll.mak

The same error appears with 'no-ec no-gost'.

Workaround : 

1. Configure with 'no-ec no-gost'
2. Patch the generated makefile and test batch:

----------------------------------------
--- ms\orig_ntdll.mak   Mon Mar  4 17:09:19 2013
+++ ms\ntdll.mak        Mon Mar  4 17:10:49 2013
@@ -411,7 +411,7 @@
        $(ENG_D)\aep.dll $(ENG_D)\atalla.dll $(ENG_D)\cswift.dll \
        $(ENG_D)\gmp.dll $(ENG_D)\chil.dll $(ENG_D)\nuron.dll \
        $(ENG_D)\sureware.dll $(ENG_D)\ubsec.dll $(ENG_D)\padlock.dll \
-       $(ENG_D)\capi.dll $(ENG_D)\gost.dll 
+       $(ENG_D)\capi.dll
 
 ###################################################################
 all: banner $(TMP_D) $(BIN_D) $(TEST_D) $(LIB_D) $(INCO_D) headers lib exe 
----------------------------------------
--- ms\orig_test.bat    Mon Feb 11 16:26:04 2013
+++ ms\test.bat Mon Mar  4 17:11:14 2013
@@ -59,9 +59,9 @@
 dsatest
 if errorlevel 1 goto done
 
-echo ectest
-ectest
-if errorlevel 1 goto done
+rem echo ectest
+rem ectest
+rem if errorlevel 1 goto done
 
 echo testenc
 call %test%\testenc openssl
----------------------------------------

Proper fix would probably not to generate a DLL target when the list of object 
files is empty.

Used software:

* Windows 7
* VS 2010 command prompt (vcvarsall.bat amd64)
* Perl v5.16.2, Binary build 1602 [296513] provided by ActiveState 
http://www.ActiveState.com

______________________________________________________________________
OpenSSL Project                                 http://www.openssl.org
Development Mailing List                       openssl-dev@openssl.org
Automated List Manager                           majord...@openssl.org

Reply via email to