tomcat-users mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Christopher Schultz <ch...@christopherschultz.net>
Subject Re: building 64-bit isapi_redirect.dll
Date Fri, 14 Aug 2015 16:57:54 GMT
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA256

Andy,

On 8/13/15 6:04 PM, Andy Wang wrote:
> 
> 
> On 08/13/2015 04:46 PM, Christopher Schultz wrote:
>> -----BEGIN PGP SIGNED MESSAGE----- Hash: SHA256
>> 
>> Andy,
>> 
>> On 8/13/15 5:34 PM, Andy Wang wrote:
>>> I was hoping to find out how the official isapi_redirect.dlls
>>> are built. Specifically the x64 version.  Reason I ask is that
>>> 1) the documentation still documents using MS VC 6.0 which I
>>> think can't build 64-bit 2) the official binaries seem to link
>>> against msvcrt.dll and not msvcr[version].dll
>>> 
>>> I've been using VisualStudio 2010 to build it, and have been 
>>> needing to install the vcredist installer to get msvcr100.dll.
>>> 
>>> Trying to figure out how the official binaries are built such
>>> that this dependency isn't required?
>>> 
>>> Doing some googling it looks like it can be done with a
>>> combination of the Windows SDK and DDK.  Is this how this was
>>> done?
>> 
>> I'm no expert.
>> 
>> In the past, I tried to figure-out my own process for building 
>> win32/win64-based builds of various Tomcat-related things. For
>> me, it was tcnative.
>> 
>> What I *do* know is that building against msvcrt.dll is a trick
>> that is required in order to get a universal build that will work
>> under any environment. I believe you are required to use the
>> Driver Development Kit for that.
>> 
>> If you are building for your own environment, you can simply
>> build against msvcrtXXX.dll and be perfectly happy, since your
>> environment by definition has that library.
>> 
>> Take a look at markt's instructions for building tcnative on
>> win32; they may be helpful in getting the mod_jk build working
>> for you:
>> 
>> http://wiki.apache.org/tomcat/BuildTcNativeWin
> 
> It does, and it's the process I thought about using, but I've also
> read that you shouldn't rely on the DDK for building as the
> msvcrt.dll gets updated regularly with windows releases and you
> could potentially end up with dll incompatibilities as the ABIs
> change.

I thought that the msvcrt.dll (without a version number) was pretty
much fixed, at least from the perspective of the services required by
tcnative (and likely mod_jk as well).

> That said, perhaps the connector's use of msvcrt.dll is less
> susceptible to this, since I imagine it's simply using pretty
> standard C calls.

Yeah, I think things like read() and write() are unlikely to change.

> I actually do redistribute my bulids for others to use, which is
> why I'm trying to decide if I should concern myself with the extra
> prerequisite of install the vcredist (or bundling the dll files
> myself).  The key is, I'm not familiar with how IIS loads dlls, so
> I'm not sure if including msvcr100.dll in the same directory as
> isapi_redirect.dll will work or if I'd have to put it in the path
> somewhere.

If you want to redistribute them locally (like to multiple
environments within your own company, etc.) then I think you can do
whatever you want: the good news is that if you need a DLL, you can
install it without a problem. The ASF (I think) may not redistribute
Microsoft's DLLs and so the install process would be complicated if we
required the user to go download something else as a prerequisite,
whereas msvcrt.dll itself is guaranteed to be present (though not
msvcrt800.dll or whatever the flavor of the year is at the time).

You might want to reach-out to the Apache Lounge folks, too... they
seem to have a good process for building ASF binaries that they might
be willing to share with you.

- -chris
-----BEGIN PGP SIGNATURE-----
Comment: GPGTools - http://gpgtools.org

iQIcBAEBCAAGBQJVzh4SAAoJEBzwKT+lPKRYveIQALBS3NqiZIexFvHfsvjsMfoP
+kRg/64m4e/bK8GeoRzGbXKEhGnhLzd/RhTFa3spqiY5XBWuSll44N3Y/38u5TBe
2H/xOUdl5WKWmIN2C03BYxPZUxRDznESxRupXOdc6Do1+xej9iTnclfS0tFBHaQd
IzTAkhsv74baRupZlXbPoqKyfCeUfsaK5aQMYTHvMVZMVkspppTzUyT2NbyDFhDe
TD8f0j4Yni2FJCabEx6IIJcAM/NjPhTNHXXKSDEzXwv0nZNP3TOygyn3lC+qxeqk
jdZJJUFsNCpB9npwPawr5y455XipwxBVYCJPBUkCk/BS0y1LWz0e2qR+0QoazEvY
+p6vgnOHyMU8AnnMMquTud6OpTedFQvYuu1NKV05ovp41F81WfYnJ7sxC32LPolg
s+0oMoyfGUgYD9iut12sXrUHbuv84YIKItPBhxKZSJTWnPsaeQbxeBRedNx+uy2O
9qRUTiTPwhQV/sDbIt9CHe56gzRctG92o/285GgUdS4wiFlCOITqjAyR8UE2CGid
hMEJJIeUBjD1KpQP9RnzsisgS/RrQH8+icnFVzXa4kd0X1Fm207drMQyhzzbKDKm
odHuvKrIY/YIVRa1t9auZhkg1FeNhSkWyUHj4/03wcMfghVEEaa3Rw/EmYl+kz3r
zxYtbHV6TbMN9zTKCIm5
=56aV
-----END PGP SIGNATURE-----

---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@tomcat.apache.org
For additional commands, e-mail: users-help@tomcat.apache.org


Mime
View raw message