On 24/06/2014 17:13, Christopher Schultz wrote: > Konstantin, > > On 6/22/14, 1:40 PM, Konstantin Kolinko wrote: >> 2014-06-19 23:21 GMT+04:00 Christopher Schultz >> <ch...@christopherschultz.net>: >>> All, >>> >>> I'm stuck on trying to get tcnative to build for x86_64. >>> >>> When I run nmake with BUILD_CPU=x86_64, I get a bunch of >>> compiler warnings followed by a linker failure like this >>> (apologies for the lack of formatting). >>> >>> One problem may be that I am running a 32-bit OS: is it >>> possible to build 64-bit binaries from 32-bit OS? Given the >>> build instructions for x86_64 for tcnative, I would have >>> imagined that MSVC++ was a cross-compiler and that I would be >>> able to build IA32, IA64, and x86_64 all from the same >>> machine. >>> >>> Here's the command that I actually ran from my script: nmake -f >>> NMAKEMakefile BUILD_CPU=%TARGET_ARCH% >>> "WITH_APR=%MYTEMP%\build\apr" >>> "WITH_OPENSSL=%MYTEMP%\build\openssl" APR_DECLARE_STATIC=1 >>> %TCNATIVE_ENABLE_OCSP% >>> >>> This command works when TARGET_ARCH=x86 but fails when >>> TARGET_ARCH=x86_64. >>> >>> (...) >>> >>> C:\Program Files\Microsoft Visual Studio >>> 10.0\VC\INCLUDE\string.h(112) : warning C4391: 'size_t >>> strlen(const char *)' : incorrect return type for intrinsic >>> function, expected 'unsigned int' C:\Program Files\Microsoft >>> Visual Studio 10.0\VC\INCLUDE\string.h(285) : warning C4391: >>> 'size_t wcslen(const wchar_t *)' : incorrect return type for >>> intrinsic f unction, expected 'unsigned int' rc /l 0x409 /d >>> "NDEBUG" /i ".\include" /fo WINXP_X64_DLL_RELEASE\tcnativ >>> e-1.res .\os\win32\libtcnative.rc Microsoft (R) Windows (R) >>> Resource Compiler Version 6.1.7600.16385 Copyright (C) >>> Microsoft Corporation. All rights reserved. >>> >> >> Cross-compilation should be possible. I think Mladen does not own >> an Itanium CPU to build i64 version of native. >> >> I think there either are several versions of the same header >> file, or an #if block that changes definition of that size type >> depending on architecture. >> >> In any case the good news is that something changed by changing >> TARGET_ARCH. So that flag is working (in some way). > > Agreed. I was hoping that Mladen would jump in at some point ;) > >> Several notes on previous mails in this thread 1. Please stick to >> some %Subject%. Changing %Subject% I causes GMail to break the >> thread. > > Oh, sorry. I didn't realize that. I'm spoiled by a list-compliant > mail agent ;) > >> 2. Please do not send .bat files as attachments. Those two mails >> happened to pass through mailing list server, but were silently >> rejected by GMail. I do not have them in my inbox. It is lucky >> that they can be viewed on an archive server. >> >> Maybe paste the contents of the bat file into the message text >> inetead of attaching it? > > Okay, I'll do that next time, assuming I do it again. I may start > putting the script somewhere more useful, like BZ, wiki, or even > svn with some significant warnings. > >> BTW, there exists paste.apache.org, but I have never used it. >> https://blogs.apache.org/infra/entry/paste_apache_org_sees_the > > I didn't know about that. Another possibility. > >> 3. The syntax for using double quotes with SET command is SET >> "FOO=BAR BAZ" or SET FOO=BAR BAZ > > Also very good to know: I'll start using that syntax. > >> We have an example in catalina.bat. >> >> 4. Regarding [1], the "license terms" link says that the >> installed OS version is time-limited (90 days). Be sure to >> archive your scripts and configuration before the time expires. > > Yup. I do have a "legit" Windows 8 environment as well. I first > wanted to find out if it could be done on a freely-available VM > because a) I didn't want top pollute my other environment and b) I > wanted others to be able to replicate my work without polluting > their own environments. Not everyone wants to install MSVC++, etc. > > Thanks for all your thoughts.
I have been able to build the 64-bit native connector for Windows in the past using Visual Studio 6. I have a VM with this set up somewhere. However, I do recall that while my builds worked well enough for me to test whatever issue I was trying to fix at the time (usually some non-blocking IO issues) my builds were always very different sizes from Mladen's even allowing for static vs dynamic linking. I also recall an awful lot of trial and error to get things building correctly. I do have some notes (somewhere) on what I did at the time to get this working. I have one of the ASF's MSDN licenses so I should have access to any tools required to build this, free or otherwise. I'll dig out my notes, have a read of the current build instructions, Mladen's hints and Chris's notes and see if I can help progress this further. Mark --------------------------------------------------------------------- To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org For additional commands, e-mail: dev-h...@tomcat.apache.org