You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users@tomcat.apache.org by Andy Wang <aw...@ptc.com> on 2015/08/13 23:34:29 UTC
building 64-bit isapi_redirect.dll
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?
Thanks,
Andy
---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@tomcat.apache.org
For additional commands, e-mail: users-help@tomcat.apache.org
Re: building 64-bit isapi_redirect.dll
Posted by Andy Wang <aw...@ptc.com>.
On 08/14/2015 11:57 AM, Christopher Schultz wrote:
>
> 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.
>
That was one of the first things I thought about and checked. This is
what they have to say about it:
Be sure that you have installed the Visual C++ 2010 SP1 Redistributable
Package: Win64 vcredist_x64.exe, Win32 vcredist_x86.exe
:) Pretty much where I'm at right now.
Andy
---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@tomcat.apache.org
For additional commands, e-mail: users-help@tomcat.apache.org
Re: building 64-bit isapi_redirect.dll
Posted by Christopher Schultz <ch...@christopherschultz.net>.
-----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
Re: building 64-bit isapi_redirect.dll
Posted by Andy Wang <aw...@ptc.com>.
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.
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.
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.
Andy
---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@tomcat.apache.org
For additional commands, e-mail: users-help@tomcat.apache.org
Re: building 64-bit isapi_redirect.dll
Posted by Christopher Schultz <ch...@christopherschultz.net>.
-----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
Hope that helps,
- -chris
-----BEGIN PGP SIGNATURE-----
Comment: GPGTools - http://gpgtools.org
iQIcBAEBCAAGBQJVzRBDAAoJEBzwKT+lPKRYa9AP/R5pl7w9v0ZXgjQgVKK825Uc
jEbKMy46EjaqCdobx+jFboezK738WUlwrG7ui6Yam3XG/aDeerLa9+5m2fLG8VCN
PSL5j014BupohfmKI/bRRUTvuGEslMEqB0tHg2NTEeS3RM+T1sPNzgzPkKd+PxVf
nkJsA8OxwL/cfJ9ZKDPlG0+qXeFaFS3JbCO8WfICgLvAqOqnzT4NvlPUgOn5X5Wu
Osca66N/dvVVa0Xea7iLePRmX+T0qx9HKLGkw4Y0iEDTAAn2ZoCuKeKRZzra/JSS
2D3FLG7K3kMGO5+uCnIeXeWKvIm4svMBoSOQB2c5pFR1nQWtuAube7/inwPZHqgb
AuRkWfPw5DznMfRnqOYMb+rwut/D4BhJg5ZpVitZJQJ5301hZ8PrUaQ/u2g7Zhql
z+z18FQKfEPi22IcJtHzFFFP1acOBpul3ke+/b9wC7FcT65Fqi5WwFzBAMMFwHpn
zD2eD/Xj5NwewvxltIzscezx2laoowrA49aT6fWOAyGBmq1Dy5TWluiEFnzR07SM
ihCEOhd3zDlXW9uTEeYyhcvDebxwvMHcZUvVKPg6cZcCZzmKxmMz7a4xexkpsDm6
6TwF27+h9o8/sIKTgOXstcVgU5V+yEz/Z++WlOsmeBQmBHSw8pQ/5U5hnFhKbraV
KRE5VH3ym7uljdy2MrLZ
=zy+Q
-----END PGP SIGNATURE-----
---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@tomcat.apache.org
For additional commands, e-mail: users-help@tomcat.apache.org