You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@httpd.apache.org by "William A. Rowe, Jr." <wr...@rowe-clan.net> on 2005/10/11 09:07:56 UTC

Win32 binary distributions 2.1.9-beta and onwards

Question;

I'm looking for input what version of visual c++ we should build apr 1.x
and httpd 2.1.x and onwards with.  As most are aware, discrepancies in
the clib mean that mismatched posix open()/close(), malloc()/free() can
all cause serious problems, so a single version is vastly preferable.

Open to comments...

Bill

Re: Win32 binary distributions 2.1.9-beta and onwards

Posted by Nick Kew <ni...@webthing.com>.
On Thursday 01 December 2005 22:40, William A. Rowe, Jr. wrote:
> On 2005.11.10 William A. Rowe, Jr. wrote:
> > Question;
> >
> > I'm looking for input what version of visual c++ we should build apr 1.x
> > and httpd 2.1.x and onwards with.  As most are aware, discrepancies in
> > the clib mean that mismatched posix open()/close(), malloc()/free() can
> > all cause serious problems, so a single version is vastly preferable.
> >
> > Open to comments...

Speaking as one of the people who raised concerns:-

> I counted Nick concerned that moving from VC6 could cause breakage, and he
> distributes loadable binaries.  These are not really a concern until you
> cross the evil threshold of using apr_os_xxx_get() to obtain resources
> which you then attempt to free in the clib, and his modules don't do
> that... but the language binding modules sure do...

Yes, I think I was happy with your explanation, in principle at least.
I'll download the 2.2.0 MSI when available, and try building against it.
The main concern is mod_proxy_html, as that's the really popular one.

> If nobody speaks up, I'm building 'same old, same old' under MSVCRT.

I think, do it as you think best - you're the expert.  If things don't work 
here, I'll be back begging your advice, but I don't use apr_os_xxx_get().

-- 
Nick Kew

Re: Win32 binary distributions 2.1.9-beta and onwards

Posted by Steffen <in...@apachelounge.com>.
> Ok, on further consideration, if Joe casual user has the opportunity to 
> open
> up the project in their free edition of VisualStudio 2005, and learn 
> Apache,
> perhaps contribute back, I believe *we* win, and the user wins.

Agree  *you* win, and we user wins. And I try to contribute back.
I used VisualStudio 2005 and had not an issue with building 2.2

Steffen

Ps. Also compiled some modules, see http://www.apachelounge.com/download/



----- Original Message ----- 
From: "William A. Rowe, Jr." <wr...@rowe-clan.net>
To: <de...@httpd.apache.org>
Sent: Friday, December 02, 2005 12:46 AM
Subject: Re: Win32 binary distributions 2.1.9-beta and onwards


> William A. Rowe, Jr. wrote:
>> Colm MacCarthaigh wrote:
>>
>>> On Thu, Dec 01, 2005 at 04:40:25PM -0600, William A. Rowe, Jr. wrote:
>>>
>>>> I have 6.0, 2000/.NET, 2003, and 2005 sitting here, and will build 
>>>> whichever
>>>> flavor is deemed 'appropriate'.
>>>>
>>>> If nobody speaks up, I'm building 'same old, same old' under MSVCRT.
>>>
>>> I think that's appropriate, 2005 is a bit of a battle right now. Getting
>>> openssl to compile with 2005 is a real nightmare (more than usual).
>>
>> If this too shall pass, I'm in favor of 'doing it right' for the long 
>> term,
>> 2.2 will be here a while.  Raising some questions beyond the httpd 
>> community
>> with an eye to the official binary sometime early next week, prior to 
>> hackathon.
>
> Ok, on further consideration, if Joe casual user has the opportunity to 
> open
> up the project in their free edition of VisualStudio 2005, and learn 
> Apache,
> perhaps contribute back, I believe *we* win, and the user wins.
>
> That said, I'm inquiring of the ActiveState staff about their tools, where 
> are
> they going to be in the next month or few?  Not endorsing them, but they 
> are
> one of several valid solutions.
>
> We push our module authors to whatever we build to, if they are doing 
> anything
> fancy with freeing resources in a different context than they were 
> allocated
> (either passing off resource ownership to us from their module, or 
> surrendering
> our ownership to their module as a raw resource.)  APR makes almost all of 
> these
> a no-op, and in fact mod_aspdotnet uses VC 2000, soon to be 2005, because 
> it
> never trades ownership of resources this way.
>
> But language blending, al la mod_python or mod_perl, is an entirely 
> different
> beast, these things will be passed back and forth, and will cause hassles. 
> So
> httpd is somewhat dependent upon other organizations which distribute 
> win32
> ported languages compiled in MSVC.
>
> As far as OpenSSL etc, nothing says those can't be patched and we are up 
> and
> running again quickly, in fact they'd broken their shared build on HPUX 
> and
> that's where I'm currently spending my patience.  After that, proposing 
> the
> fix for VS2005 should be a no-brainer ;-)
>
> Bill
>
>
> 


Re: Win32 binary distributions 2.1.9-beta and onwards

Posted by "William A. Rowe, Jr." <wr...@rowe-clan.net>.
William A. Rowe, Jr. wrote:
> Colm MacCarthaigh wrote:
> 
>> On Thu, Dec 01, 2005 at 04:40:25PM -0600, William A. Rowe, Jr. wrote:
>>
>>> I have 6.0, 2000/.NET, 2003, and 2005 sitting here, and will build 
>>> whichever
>>> flavor is deemed 'appropriate'.
>>>
>>> If nobody speaks up, I'm building 'same old, same old' under MSVCRT.
>>
>> I think that's appropriate, 2005 is a bit of a battle right now. Getting
>> openssl to compile with 2005 is a real nightmare (more than usual).
> 
> If this too shall pass, I'm in favor of 'doing it right' for the long term,
> 2.2 will be here a while.  Raising some questions beyond the httpd 
> community
> with an eye to the official binary sometime early next week, prior to 
> hackathon.

Ok, on further consideration, if Joe casual user has the opportunity to open
up the project in their free edition of VisualStudio 2005, and learn Apache,
perhaps contribute back, I believe *we* win, and the user wins.

That said, I'm inquiring of the ActiveState staff about their tools, where are
they going to be in the next month or few?  Not endorsing them, but they are
one of several valid solutions.

We push our module authors to whatever we build to, if they are doing anything
fancy with freeing resources in a different context than they were allocated
(either passing off resource ownership to us from their module, or surrendering
our ownership to their module as a raw resource.)  APR makes almost all of these
a no-op, and in fact mod_aspdotnet uses VC 2000, soon to be 2005, because it
never trades ownership of resources this way.

But language blending, al la mod_python or mod_perl, is an entirely different
beast, these things will be passed back and forth, and will cause hassles.  So
httpd is somewhat dependent upon other organizations which distribute win32
ported languages compiled in MSVC.

As far as OpenSSL etc, nothing says those can't be patched and we are up and
running again quickly, in fact they'd broken their shared build on HPUX and
that's where I'm currently spending my patience.  After that, proposing the
fix for VS2005 should be a no-brainer ;-)

Bill



Re: Win32 binary distributions 2.1.9-beta and onwards

Posted by "William A. Rowe, Jr." <wr...@rowe-clan.net>.
Colm MacCarthaigh wrote:
> On Thu, Dec 01, 2005 at 04:40:25PM -0600, William A. Rowe, Jr. wrote:
> 
>>I have 6.0, 2000/.NET, 2003, and 2005 sitting here, and will build whichever
>>flavor is deemed 'appropriate'.
>>
>>If nobody speaks up, I'm building 'same old, same old' under MSVCRT.
> 
> I think that's appropriate, 2005 is a bit of a battle right now. Getting
> openssl to compile with 2005 is a real nightmare (more than usual).

If this too shall pass, I'm in favor of 'doing it right' for the long term,
2.2 will be here a while.  Raising some questions beyond the httpd community
with an eye to the official binary sometime early next week, prior to hackathon.

Bill

Re: Win32 binary distributions 2.1.9-beta and onwards

Posted by Colm MacCarthaigh <co...@stdlib.net>.
On Thu, Dec 01, 2005 at 04:40:25PM -0600, William A. Rowe, Jr. wrote:
> I have 6.0, 2000/.NET, 2003, and 2005 sitting here, and will build whichever
> flavor is deemed 'appropriate'.
> 
> If nobody speaks up, I'm building 'same old, same old' under MSVCRT.

I think that's appropriate, 2005 is a bit of a battle right now. Getting
openssl to compile with 2005 is a real nightmare (more than usual).

-- 
Colm MacCárthaigh                        Public Key: colm+pgp@stdlib.net

Re: Win32 binary distributions 2.1.9-beta and onwards

Posted by "William A. Rowe, Jr." <wr...@rowe-clan.net>.
On 2005.11.10 William A. Rowe, Jr. wrote:
> Question;
> 
> I'm looking for input what version of visual c++ we should build apr 1.x
> and httpd 2.1.x and onwards with.  As most are aware, discrepancies in
> the clib mean that mismatched posix open()/close(), malloc()/free() can
> all cause serious problems, so a single version is vastly preferable.
> 
> Open to comments...

I counted Nick concerned that moving from VC6 could cause breakage, and he 
distributes loadable binaries.  These are not really a concern until you
cross the evil threshold of using apr_os_xxx_get() to obtain resources which
you then attempt to free in the clib, and his modules don't do that... but
the language binding modules sure do...

Point was raised by Randy Kobes that Activestate Perl was bound VC6, but
for 5.8.x, and would probably change next bump (5.10, 6.0 or whatever.)

Point was raised by me that Activestate Python 2.4 is bound VC2003.

Colm observed VS2005 will have at least some free version or be free for
a limited period of time, as kudos for that flavor.  (It's now released.)

I have 6.0, 2000/.NET, 2003, and 2005 sitting here, and will build whichever
flavor is deemed 'appropriate'.

If nobody speaks up, I'm building 'same old, same old' under MSVCRT.

Bill

Re: Win32 binary distributions 2.1.9-beta and onwards

Posted by Colm MacCarthaigh <co...@stdlib.net>.
On Tue, Oct 11, 2005 at 02:07:56AM -0500, William A. Rowe, Jr. wrote:
> I'm looking for input what version of visual c++ we should build apr 1.x
> and httpd 2.1.x and onwards with.  As most are aware, discrepancies in
> the clib mean that mismatched posix open()/close(), malloc()/free() can
> all cause serious problems, so a single version is vastly preferable.
> 
> Open to comments...

http://lab.msdn.microsoft.com/express/visualc/default.aspx

seems to be able to build httpd (based on half a day of testing anyway),
a big disadvantage is that it is in beta, which means - in theory - the
clib things could change (unlikely), but a big advantage is that it is
free and capable of building httpd, which may significantly help with
developer access for httpd/apr on Win32.

It's expected to come out of beta by Christmas (though this is MS we're
talking about) and go live on the main MSDN site (still free).

Another slight downside is that we will probably need to document the
build process slightly more, SDK's need to be in the right place and so
on, but we need to document the win32 build process pretty badly anyway,
some of the procedures are woefully non-intuitive (like hand editing
files that have "DO NOT HAND EDIT" written in them ;-) )

-- 
Colm MacCárthaigh                        Public Key: colm+pgp@stdlib.net

Re: Win32 binary distributions 2.1.9-beta and onwards

Posted by "William A. Rowe, Jr." <wr...@rowe-clan.net>.
Randy Kobes wrote:
> On Tue, 11 Oct 2005, William A. Rowe, Jr. wrote:
> 
>> Question;
>>
>> I'm looking for input what version of visual c++ we should build apr 1.x
>> and httpd 2.1.x and onwards with.  As most are aware, discrepancies in
>> the clib mean that mismatched posix open()/close(), malloc()/free() can
>> all cause serious problems, so a single version is vastly preferable.
>>
>> Open to comments...
> 
> One aspect worth considering is the interaction with Perl,
> and the fact that the dominant Win32 binary distribution
> from ActiveState is compiled with VC++ 6. I would expect
> there to be problems with the mod_perl module if one uses ActiveState's 
> Perl and an Apache compiled with something other than VC++ 6. Might 
> there be problems using such
> a Perl in a cgi script with a non-VC++ 6 Apache?

This is one of my main considerations.  Another, of course, is the
ActiveState distribution of python ;-)  2.3 is based upon VC6, IIRC,
while 2.4 is now being built using either .NET or .NET 2003 (I need
to actually double check that.)

And as more and more libraries drift from cl.exe rev 12.0, we are going
to have to make a jump.  The first release of httpd-2.2 seems like the
logical point, since it's a clear deliniation.  I like the comments
about the C++ express flavor, however it's not quite here.  [FYI, if
we do decide - I can always build our betas on the beta of VS2005, but
we would potentially be waiting to ship 2.2 GA].

My bigger concern, and would appreciate any comments, is that the .NET
flavors (original, 2003, 2005) seem to keep ditching their clib.  Over,
and over, and over.  I've never had much success shooting clay pidgeons
in real life or in software development.

Bill

Bill


Re: Win32 binary distributions 2.1.9-beta and onwards

Posted by Randy Kobes <ra...@theoryx5.uwinnipeg.ca>.
On Tue, 11 Oct 2005, William A. Rowe, Jr. wrote:

> Question;
>
> I'm looking for input what version of visual c++ we should build apr 1.x
> and httpd 2.1.x and onwards with.  As most are aware, discrepancies in
> the clib mean that mismatched posix open()/close(), malloc()/free() can
> all cause serious problems, so a single version is vastly preferable.
>
> Open to comments...

One aspect worth considering is the interaction with Perl,
and the fact that the dominant Win32 binary distribution
from ActiveState is compiled with VC++ 6. I would expect
there to be problems with the mod_perl module if one uses 
ActiveState's Perl and an Apache compiled with something 
other than VC++ 6. Might there be problems using such
a Perl in a cgi script with a non-VC++ 6 Apache?

Of course, one is not restricted to using ActiveState's
Perl, but could instead use some other freely available 
binary. However, ActiveState supplies with their ActivePerl 
some proprietary tools (ppm, for installing binary packages,
and some related tools for managing html docs), which
users have come to heavily rely on.

Having said that, within the Perl world there is 
also pressure to migrate to a binary based on a freely 
available, and more recent, VC++ (but, hopefully, not tied 
to a particular msvcr dll version). It would be ideal
if Apache and ActiveState could coordinate such a migration;
however, from ActiveState's point of view, this might
not be a consideration until the next major release of
perl (5.10), as this most likely won't be binary-comaptible
with the current (5.8) version.

-- 
best regards,
randy kobes

Re: Win32 binary distributions 2.1.9-beta and onwards

Posted by Nick Kew <ni...@webthing.com>.
On Tuesday 11 October 2005 17:02, William A. Rowe, Jr. wrote:

> One decision to be made by the project is; will -we- ship openssl
> binaries?  Or the module built against some .dll versions available
> on www.openssl.org?

Surely, the latter, and point to it in our docs!

Datapoint: mod_proxy_html has prerequisites: libxml2 on all platforms,
and additional ones on windows.  Although I get questions on all levels -
from the dumb newbie to the new insight - confusion over the required
libs is not an issue.  Sufficiently clear documentation works!

In the case of mod_ssl, that probably means something in the installer
that tells them they need openssl, and where to get it if necessary.

-- 
Nick Kew

Re: Win32 binary distributions 2.1.9-beta and onwards

Posted by "William A. Rowe, Jr." <wr...@rowe-clan.net>.
Nick Kew wrote:
> William A. Rowe, Jr. wrote:
> 
> Talking of windows builds, "where's mod_ssl" seems to be something of
> a FAQ in user support.  Why is it a problem *now* to include it?

You can find some of that discussion burried in legal-discuss@, while
the new VP of legal affairs is taking up the issue.

One decision to be made by the project is; will -we- ship openssl
binaries?  Or the module built against some .dll versions available
on www.openssl.org?

Bill

Re: Win32 binary distributions 2.1.9-beta and onwards

Posted by Nick Kew <ni...@webthing.com>.
William A. Rowe, Jr. wrote:
> Question;
> 
> I'm looking for input what version of visual c++ we should build apr 1.x
> and httpd 2.1.x and onwards with.  As most are aware, discrepancies in
> the clib mean that mismatched posix open()/close(), malloc()/free() can
> all cause serious problems, so a single version is vastly preferable.
> 
> Open to comments...

Are you saying that if you move to something later than VC6, then if
I compile modules using VC6 they will no longer work?  That sounds like
some nasty barriers in the way of those of us who have climbed the
windows learning curve just enough to support our own modules outside
the apache core distribution.

Talking of windows builds, "where's mod_ssl" seems to be something of
a FAQ in user support.  Why is it a problem *now* to include it?

-- 
Nick Kew