Mark,

On 6/30/14, 4:23 PM, Mark Thomas wrote:
> On 30/06/2014 14:45, Mark Thomas wrote:
>> I've got OpenSSL and APR building on x64. Currently stuck on the tc
>> native build which is complaining about:
>> error LNK2001: unresolved external symbol __security_cookie
>>
>> I'm fairly sure I've hit this before and just need to remember how I
>> fixed it, find the right part of my notes, do the right Google search.
>>
>> I'm off out now but will be back on this later.
> 
> OK. I think I have a working build for tc-native statically linked to
> OpenSSL and APR and dynamically linked to the MS runtime DLLs.
> 
> As far as I can tell Mladen has been building with Visual Studio 6.
> 
> I need to clean up my build process, script a few things etc and then
> test the result (at least on 32-bit and AMD 64-bit).

My script seemed a bit cleaner than what you are documenting on the
wiki, plus you can get the tools for free (MS VS 12). I was able to
build a complete 32-bit statically-linked libtcnative.dll plus the
openssl.exe utility using the process I knocked-up from scratch.

Note that I have been compiling without using the nasm assembler. I
figured I'd try to get things working without it, then add that
component later once the build process was working.

I have been having trouble building pretty much any 64-bit stuff. I
happen to be running a 32-bit Windows 8.1 OS, but that shouldn't really
be a problem (should it?). I started with OpenSSL and there are a couple
of weird things:

1. Even when configuring for x86-64, the C flags still clearly say
WIN32. Maybe that just means "windows" and not necessarily 32-bit. The
"configure" Perl script does declare it's configuring for x84-64 so
hopefully that's right.

2. OpenSSL's build script calls ml64 which can't be found in the path.
It's probably not good that the command fails, and the build script
doesn't even check to see if it succeeded.

3. The linker fails at the last step for me:
        link /nologo /subsystem:console /opt:ref /debug
/out:out32\md4test.exe @
C:\Users\IEUser\AppData\Local\Temp\nmC7C.tmp
LINK : fatal error LNK1207: incompatible PDB format in
'C:\Users\IEUser\AppData\Local\Temp\build-tcnative\build\openssl-1.0.1h\out3\md4test.pdb';
delete and rebuild
NMAKE : fatal error U1077: '"C:\Program Files\Microsoft Visual Studio
12.0\VC\BIN\link.EXE"' : return code '0x4b7'
Stop.


Installing both MS VS 2013 (v12.0) and the SDK separately seems to have
set up a bunch of shortcuts for CLI development. I'm not sure what is
what anymore, but switching to the "VS2013 x64 Cross Tools Command
Prompt" and building OpenSSL in 64-bit mode seems to have produced a set
of binary files (e.g. openssl.exe) that I can't run on my 32-bit
version. That indicates to me that I've successfully built OpenSSL in
64-bit mode. I have no idea why it will build under that environment and
not in my "other" invocation of cmd.exe.


The IA64 build of OpenSSL *did* complete, but I'm not sure how to check
its architecture, etc. What is the "depends" tool you guys have been
talking about?

Thanks,
-chris

Attachment: signature.asc
Description: OpenPGP digital signature

Reply via email to