When building OpenSSL we do not succeed in building the NT debug dll without 
changing the OpenSSL build files. As can be seen in the dump below (see error) 
cl failes to create/open database file '<path>\openssl-1.0.0a\tmp32dll\lib.pdb' 
this is not strange since when we look in the '<path>\openssl-1.0.0a\' there is 
no folder called 'tmp32dll', but there is one called 'tmp32dll.dbg'.

Workaround:
We looked in the '.mak' file and noticed that '.dbg' was not appended to 
'APP_CFLAG= /Zi /Fdtmp32dll/app' and 'LIB_CFLAG= /Zi /Fdtmp32dll/lib 
-D_WINDLL', but it was appended to 'TMP_D=tmp32dll.dbg'. So to get it to 
compile we opened the file 'mf1mk.pl' file and removed the append at line 230 
and 231. This is ofcource a quick fix, but it worked, a more proper solution 
would probobly be to append the '.dbg' to 'APP_CFLAG' and 'LIB_CFLAG' too.

To reproduce:
$ perl Configure "-DDEBUG VC-WIN32"
$ perl util\mkdef.pl crypto ssl update
$ ms\do_nasm.bat
$ perl util\mk1mf.pl debug no-asm VC-WIN32 >ms\ntdebug.mak
$ perl util\mk1mf.pl debug dll no-asm VC-WIN32 >ms\ntdebugdll.mak
$ nmake -f ms\ntdebugdll.mak

Error:
Copying: ms/applink.c to inc32/openssl/applink.c
    cl /Fotmp32dll.dbg\uplink.obj -Iinc32 -Itmp32dll.dbg -DDEBUG  /MTd /Od 
-DDEBUG -D_DEBUG -DOPENSSL_THREADS  -DDSO_WIN32 -DDEBUG -W3 -WX -Gs0 -GF -Gy 
-nologo -DOPENSSL_SYSNAME_WIN32 -DWIN32_LEAN_AND_MEAN -DL_ENDIAN 
-D_CRT_SECURE_NO_DEPRECATE -DOPENSSL_BN_ASM_PART_WORDS -DOPENSSL_IA32_SSE2 
-DOPENSSL_BN_ASM_MONT -DSHA1_ASM -DSHA256_ASM -DSHA512_ASM -DMD5_ASM 
-DRMD160_ASM -DAES_ASM -DWHIRLPOOL_ASM -DOPENSSL_USE_APPLINK -I. 
-DOPENSSL_NO_RC5 -DOPENSSL_NO_MD2 -DOPENSSL_NO_KRB5 -DOPENSSL_NO_JPAKE 
-DOPENSSL_NO_STATIC_ENGINE /Zi /Fdtmp32dll/lib -D_WINDLL  -c ms\uplink.c
uplink.c
ms\uplink.c : fatal error C1033: cannot open program database 
'<path>\openssl-1.0.0a\tmp32dll\lib.pdb'
Press any key to continue . . .

Regards
//Samuel
When building OpenSSL we do not succeed in building the NT debug dll without changing the OpenSSL build files. As can be seen in the dump below (see error) cl failes to create/open database file '<path>\openssl-1.0.0a\tmp32dll\lib.pdb' this is not strange since when we look in the '<path>\openssl-1.0.0a\' there is no folder called 'tmp32dll', but there is one called 'tmp32dll.dbg'.

Workaround:
We looked in the '.mak' file and noticed that '.dbg' was not appended to 'APP_CFLAG= /Zi /Fdtmp32dll/app' and 'LIB_CFLAG= /Zi /Fdtmp32dll/lib -D_WINDLL', but it was appended to 'TMP_D=tmp32dll.dbg'. So to get it to compile we opened the file 'mf1mk.pl' file and removed the append at line 230 and 231. This is ofcource a quick fix, but it worked, a more proper solution would probobly be to append the '.dbg' to 'APP_CFLAG' and 'LIB_CFLAG' too.

To reproduce:
$ perl Configure "-DDEBUG VC-WIN32"
$ perl util\mkdef.pl crypto ssl update
$ ms\do_nasm.bat
$ perl util\mk1mf.pl debug no-asm VC-WIN32 >ms\ntdebug.mak
$ perl util\mk1mf.pl debug dll no-asm VC-WIN32 >ms\ntdebugdll.mak
$ nmake -f ms\ntdebugdll.mak

Error:
Copying: ms/applink.c to inc32/openssl/applink.c
    cl /Fotmp32dll.dbg\uplink.obj -Iinc32 -Itmp32dll.dbg -DDEBUG  /MTd /Od -DDEBUG -D_DEBUG -DOPENSSL_THREADS  -DDSO_WIN32 -DDEBUG -W3 -WX -Gs0 -GF -Gy -nologo -DOPENSSL_SYSNAME_WIN32 -DWIN32_LEAN_AND_MEAN -DL_ENDIAN -D_CRT_SECURE_NO_DEPRECATE -DOPENSSL_BN_ASM_PART_WORDS -DOPENSSL_IA32_SSE2 -DOPENSSL_BN_ASM_MONT -DSHA1_ASM -DSHA256_ASM -DSHA512_ASM -DMD5_ASM -DRMD160_ASM -DAES_ASM -DWHIRLPOOL_ASM -DOPENSSL_USE_APPLINK -I. -DOPENSSL_NO_RC5 -DOPENSSL_NO_MD2 -DOPENSSL_NO_KRB5 -DOPENSSL_NO_JPAKE -DOPENSSL_NO_STATIC_ENGINE /Zi /Fdtmp32dll/lib -D_WINDLL  -c ms\uplink.c
uplink.c
ms\uplink.c : fatal error C1033: cannot open program database '<path>\openssl-1.0.0a\tmp32dll\lib.pdb'
Press any key to continue . . .

Regards
//Samuel

Reply via email to