RE: Re: C99 bump prior to apr 2.0?
- Original Message - Subject: Re: C99 bump prior to apr 2.0? From: Gregg Smith g...@gknw.net Date: 9/4/14 12:47 pm To: dev@httpd.apache.org On 9/4/2014 8:49 AM, William A. Rowe Jr. wrote: I overlooked 2 other viable options [ ] Roll -win32-src-r2.zip with apr-util 1.5.2 (pre-breakage) and corresponding binaries [ ] Roll -win32-src-r2.zip with apr-util 1.5.4 (upon release) and corresponding binaries Assumes a much quicker path to everything hitting the mirrors and looking at 1.5.3's change log later yesterday I did not see anything VC crucial so [X] Roll -win32-src-r2.zip with apr-util 1.5.2 (pre-breakage) and corresponding binaries. If I hear no objections today, this is how I'll proceed for the time being. It might be worthwhile to roll a win32-src-r3 later on with 1.5.4 but I don't see a reason to wait on it. Both 1.5.2, 1.5.3 and someday, 1.5.4 are ASF releases so I don't think we are disturbing the release policy by moving ahead with both plans. httpd-2.2.29 itself doesn't appear to have any hiccups (except the reference to 2.4.x+ compatibility for MergeTrailers, a defect already corrected on the online docs).
Re: Re: C99 bump prior to apr 2.0?
On Fri, Sep 5, 2014 at 2:01 PM, wr...@rowe-clan.net wrote: - Original Message - Subject: Re: C99 bump prior to apr 2.0? From: Gregg Smith g...@gknw.net Date: 9/4/14 12:47 pm To: dev@httpd.apache.org On 9/4/2014 8:49 AM, William A. Rowe Jr. wrote: I overlooked 2 other viable options [ ] Roll -win32-src-r2.zip with apr-util 1.5.2 (pre-breakage) and corresponding binaries [ ] Roll -win32-src-r2.zip with apr-util 1.5.4 (upon release) and corresponding binaries Assumes a much quicker path to everything hitting the mirrors and looking at 1.5.3's change log later yesterday I did not see anything VC crucial so [X] Roll -win32-src-r2.zip with apr-util 1.5.2 (pre-breakage) and corresponding binaries. If I hear no objections today, this is how I'll proceed for the time being. It might be worthwhile to roll a win32-src-r3 later on with 1.5.4 but I don't see a reason to wait on it. Both 1.5.2, 1.5.3 and someday, 1.5.4 are ASF releases so I don't think we are disturbing the release policy by moving ahead with both plans. httpd-2.2.29 itself doesn't appear to have any hiccups (except the reference to 2.4.x+ compatibility for MergeTrailers, a defect already corrected on the online docs). Sorry for not replying earlier... Can you just point to a patch in the APR patches directory? -- Born in Roswell... married an alien... http://emptyhammock.com/
Re: C99 bump prior to apr 2.0?
Is there a reason to not bundle the msvcrtxxx.dll that's microsoft includes in the redist area? So that's what we've taken to doing with our apache. Simply including the version that microsoft bundles with 2010 in the web server bin directory. Thanks, Andy On Wed, 2014-09-03 at 17:52 -0500, William A. Rowe Jr. wrote: And to answer the question, VC6 for httpd 2.2 is simply for msvcrt.DLL compatibility and no-surprises upgrades. It is suboptimal, but not as suboptimal as MS's active disdain for msvcr###.dll users. Wang, Andy aw...@ptc.com wrote: On Wed, 2014-09-03 at 09:27 -0700, wr...@rowe-clan.net wrote: Finally returned to VC6, having replaced my older svn on Windows which would no longer handshake with svn.apache.org and bumped into a single issue. Building VC6 binaries for win32, I was bitten by r1508904 which introduces a C99 type prior to releasing apr 2.0 (probably not a good idea to make such changes in a maintenance branch). I don't mean to tangent this discussion too much but I'm curious. So this change back in 2.2.26(?) was what finally made me start to use visual studio 2010 for our windows builds (and boy is that an ugly mess). Is there a reason why you're sticking with VC6 to build? I was surprised that this change made it into a maintenance branch, but honestly was looking for something to push me to building on VC2010. Thanks, Andy
Re: C99 bump prior to apr 2.0?
You can't, AFAIK, due to licensing. You need to include the *installer* that comes in VC's redist area and can run that installer from yours to install their runtime... Or you can statically link to the runtime, but I'm not sure we want to do that. On 04/09/2014 17:48, Wang, Andy wrote: Is there a reason to not bundle the msvcrtxxx.dll that's microsoft includes in the redist area? So that's what we've taken to doing with our apache. Simply including the version that microsoft bundles with 2010 in the web server bin directory. Thanks, Andy On Wed, 2014-09-03 at 17:52 -0500, William A. Rowe Jr. wrote: And to answer the question, VC6 for httpd 2.2 is simply for msvcrt.DLL compatibility and no-surprises upgrades. It is suboptimal, but not as suboptimal as MS's active disdain for msvcr###.dll users. Wang, Andy aw...@ptc.com wrote: On Wed, 2014-09-03 at 09:27 -0700, wr...@rowe-clan.net wrote: Finally returned to VC6, having replaced my older svn on Windows which would no longer handshake with svn.apache.org and bumped into a single issue. Building VC6 binaries for win32, I was bitten by r1508904 which introduces a C99 type prior to releasing apr 2.0 (probably not a good idea to make such changes in a maintenance branch). I don't mean to tangent this discussion too much but I'm curious. So this change back in 2.2.26(?) was what finally made me start to use visual studio 2010 for our windows builds (and boy is that an ugly mess). Is there a reason why you're sticking with VC6 to build? I was surprised that this change made it into a maintenance branch, but honestly was looking for something to push me to building on VC2010. Thanks, Andy
RE: Re: C99 bump prior to apr 2.0?
You can do this. However, that doesn't solve the problem for users of one distribution of httpd (from any origin, not just the ASF) linked to a particular msvcr###, interoperating with a module built by another third party for a different msvcr### (or trying to build your own add-in with a compiler other than your distribution's msvcr###). It *can* work. Both msvcr###'s are loaded in parallel. The distribution core/modules all use their msvcr###, the third party or homebuilt module uses its distinct msvcr###. Problems only arise once the third party module plays games with httpd or apr internal structures, e.g. getting the 'windows fd' (no such thing, it is an msvcr illusionary handle), or memory alloc/free (they each keep their own independent memory management). Any module written purely in httpd and apr API's will be 100% safe. Any module that then manipulates these msvcr objects is hosed and will likely segfault, in the best case. - Original Message - Subject: Re: C99 bump prior to apr 2.0? From: Issac Goldstand mar...@beamartyr.net Date: 9/4/14 10:00 am To: dev@httpd.apache.org You can't, AFAIK, due to licensing. You need to include the *installer* that comes in VC's redist area and can run that installer from yours to install their runtime... Or you can statically link to the runtime, but I'm not sure we want to do that. On 04/09/2014 17:48, Wang, Andy wrote: Is there a reason to not bundle the msvcrtxxx.dll that's microsoft includes in the redist area? So that's what we've taken to doing with our apache. Simply including the version that microsoft bundles with 2010 in the web server bin directory. Thanks, Andy On Wed, 2014-09-03 at 17:52 -0500, William A. Rowe Jr. wrote: And to answer the question, VC6 for httpd 2.2 is simply for msvcrt.DLL compatibility and no-surprises upgrades. It is suboptimal, but not as suboptimal as MS's active disdain for msvcr###.dll users. Wang, Andy aw...@ptc.com wrote: On Wed, 2014-09-03 at 09:27 -0700, wr...@rowe-clan.net wrote: Finally returned to VC6, having replaced my older svn on Windows which would no longer handshake with svn.apache.org and bumped into a single issue. Building VC6 binaries for win32, I was bitten by r1508904 which introduces a C99 type prior to releasing apr 2.0 (probably not a good idea to make such changes in a maintenance branch). I don't mean to tangent this discussion too much but I'm curious. So this change back in 2.2.26(?) was what finally made me start to use visual studio 2010 for our windows builds (and boy is that an ugly mess). Is there a reason why you're sticking with VC6 to build? I was surprised that this change made it into a maintenance branch, but honestly was looking for something to push me to building on VC2010. Thanks, Andy
RE: Re: C99 bump prior to apr 2.0?
- Original Message - Subject: Re: C99 bump prior to apr 2.0? From: Wang, Andy aw...@ptc.com Date: 9/4/14 9:48 am To: dev@httpd.apache.org dev@httpd.apache.org Is there a reason to not bundle the msvcrtxxx.dll that's microsoft includes in the redist area? So that's what we've taken to doing with our apache. Simply including the version that microsoft bundles with 2010 in the web server bin directory. You keep mentioning studio 2010. Why not studio 2012? Studio 2013? Each has their own msvcr###, of course.
Re: C99 bump prior to apr 2.0?
I overlooked 2 other viable options [ ] Roll -win32-src-r2.zip with apr-util 1.5.2 (pre-breakage) and corresponding binaries [ ] Roll -win32-src-r2.zip with apr-util 1.5.4 (upon release) and corresponding binaries wr...@rowe-clan.net wrote: Finally returned to VC6, having replaced my older svn on Windows which would no longer handshake with svn.apache.org and bumped into a single issue. Building VC6 binaries for win32, I was bitten by r1508904 which introduces a C99 type prior to releasing apr 2.0 (probably not a good idea to make such changes in a maintenance branch). A fix is in the branch; http://svn.apache.org/r=1563992 (although it does not portably resolve this C99 expectation, odbc isn't necessarily portable either). This fix was not in time for apr-util 1.5.3 but is ready for apr-util 1.5.4 whenever that is released. In terms of providing dist/httpd/binaries/win32 httpd 2.2.29 based on msvcrt,dll, I have a couple of options; [ ] Ship with r1563992 applied (and document this? where?) [ ] Drop apr_dbd_odbc.dll from the distribution [ ] Don't ship Any preferences? If option 1 is elected, the second question is whether to update the -win32-src.zip distro as an -r2? This will only affect the VC6/Studio 97 builds, since the more recent visual studio releases have some level of C99 support.
Re: C99 bump prior to apr 2.0?
According to: http://msdn.microsoft.com/en-us/library/8kche8ah.aspx And the redist.txt file in the Visual Studio Redist directory: For your convenience, we have provided the following folders for use when redistributing VC++ runtime files. Subject to the license terms for the software, you may redistribute the folder (unmodified) in the application local folder as a sub-folder with no change to the folder name. You may also redistribute all the files within a folder, listed below the folder for your convenience, as an entire set. \VC\redist\x86\Microsoft.VC100.ATL\ atl100.dll \VC\redist\ia64\Microsoft.VC100.ATL\ atl100.dll \VC\redist\amd64\Microsoft.VC100.ATL\ atl100.dll \VC\redist\x86\Microsoft.VC100.CRT\ msvcp100.dll msvcr100.dll \VC\redist\ia64\Microsoft.VC100.CRT\ msvcp100.dll msvcr100.dll \VC\redist\amd64\Microsoft.VC100.CRT\ msvcp100.dll msvcr100.dll \VC\redist\x86\Microsoft.VC100.MFC\ mfc100.dll mfc100u.dll mfcm100.dll mfcm100u.dll \VC\redist\amd64\Microsoft.VC100.MFC\ mfc100.dll mfc100u.dll mfcm100.dll mfcm100u.dll \VC\redist\x86\Microsoft.VC100.MFCLOC\ mfc100chs.dll mfc100cht.dll mfc100enu.dll mfc100esp.dll mfc100deu.dll mfc100fra.dll mfc100ita.dll mfc100jpn.dll mfc100kor.dll mfc100rus.dll \VC\redist\amd64\Microsoft.VC100.MFCLOC\ mfc100chs.dll mfc100cht.dll mfc100enu.dll mfc100esp.dll mfc100deu.dll mfc100fra.dll mfc100ita.dll mfc100jpn.dll mfc100kor.dll mfc100rus.dll \VC\redist\x86\Microsoft.VC100.OpenMP\ vcomp100.dll \VC\redist\amd64\Microsoft.VC100.OpenMP\ vcomp100.dll \VC\redist\ia64\Microsoft.VC100.OpenMP\ vcomp100.dll Which would seem to say yup, you can redistribute them. Andy On Thu, 2014-09-04 at 18:00 +0300, Issac Goldstand wrote: You can't, AFAIK, due to licensing. You need to include the *installer* that comes in VC's redist area and can run that installer from yours to install their runtime... Or you can statically link to the runtime, but I'm not sure we want to do that. On 04/09/2014 17:48, Wang, Andy wrote: Is there a reason to not bundle the msvcrtxxx.dll that's microsoft includes in the redist area? So that's what we've taken to doing with our apache. Simply including the version that microsoft bundles with 2010 in the web server bin directory. Thanks, Andy On Wed, 2014-09-03 at 17:52 -0500, William A. Rowe Jr. wrote: And to answer the question, VC6 for httpd 2.2 is simply for msvcrt.DLL compatibility and no-surprises upgrades. It is suboptimal, but not as suboptimal as MS's active disdain for msvcr###.dll users. Wang, Andy aw...@ptc.commailto:aw...@ptc.com wrote: On Wed, 2014-09-03 at 09:27 -0700, wr...@rowe-clan.netmailto:wr...@rowe-clan.net wrote: Finally returned to VC6, having replaced my older svn on Windows which would no longer handshake with svn.apache.org and bumped into a single issue. Building VC6 binaries for win32, I was bitten by r1508904 which introduces a C99 type prior to releasing apr 2.0 (probably not a good idea to make such changes in a maintenance branch). I don't mean to tangent this discussion too much but I'm curious. So this change back in 2.2.26(?) was what finally made me start to use visual studio 2010 for our windows builds (and boy is that an ugly mess). Is there a reason why you're sticking with VC6 to build? I was surprised that this change made it into a maintenance branch, but honestly was looking for something to push me to building on VC2010. Thanks, Andy
Re: Re: C99 bump prior to apr 2.0?
Good point. I'd forgotten about compatibility with third party modules. That said, by arbitrarily selecting VC6 aren't you also stuck with the same problem? Thanks, Andy On Thu, 2014-09-04 at 08:33 -0700, wr...@rowe-clan.net wrote: You can do this. However, that doesn't solve the problem for users of one distribution of httpd (from any origin, not just the ASF) linked to a particular msvcr###, interoperating with a module built by another third party for a different msvcr### (or trying to build your own add-in with a compiler other than your distribution's msvcr###). It *can* work. Both msvcr###'s are loaded in parallel. The distribution core/modules all use their msvcr###, the third party or homebuilt module uses its distinct msvcr###. Problems only arise once the third party module plays games with httpd or apr internal structures, e.g. getting the 'windows fd' (no such thing, it is an msvcr illusionary handle), or memory alloc/free (they each keep their own independent memory management). Any module written purely in httpd and apr API's will be 100% safe. Any module that then manipulates these msvcr objects is hosed and will likely segfault, in the best case. - Original Message - Subject: Re: C99 bump prior to apr 2.0? From: Issac Goldstand mar...@beamartyr.net Date: 9/4/14 10:00 am To: dev@httpd.apache.org You can't, AFAIK, due to licensing. You need to include the *installer* that comes in VC's redist area and can run that installer from yours to install their runtime... Or you can statically link to the runtime, but I'm not sure we want to do that. On 04/09/2014 17:48, Wang, Andy wrote: Is there a reason to not bundle the msvcrtxxx.dll that's microsoft includes in the redist area? So that's what we've taken to doing with our apache. Simply including the version that microsoft bundles with 2010 in the web server bin directory. Thanks, Andy On Wed, 2014-09-03 at 17:52 -0500, William A. Rowe Jr. wrote: And to answer the question, VC6 for httpd 2.2 is simply for msvcrt.DLL compatibility and no-surprises upgrades. It is suboptimal, but not as suboptimal as MS's active disdain for msvcr###.dll users. Wang, Andy aw...@ptc.com wrote: On Wed, 2014-09-03 at 09:27 -0700, wr...@rowe-clan.net wrote: Finally returned to VC6, having replaced my older svn on Windows which would no longer handshake with svn.apache.org and bumped into a single issue. Building VC6 binaries for win32, I was bitten by r1508904 which introduces a C99 type prior to releasing apr 2.0 (probably not a good idea to make such changes in a maintenance branch). I don't mean to tangent this discussion too much but I'm curious. So this change back in 2.2.26(?) was what finally made me start to use visual studio 2010 for our windows builds (and boy is that an ugly mess). Is there a reason why you're sticking with VC6 to build? I was surprised that this change made it into a maintenance branch, but honestly was looking for something to push me to building on VC2010. Thanks, Andy
Re: Re: C99 bump prior to apr 2.0?
I picked 2010 because it's what I have :) But that's sort of the point of my question. Why pick something so old as VC6 and not something newer, and hopefully better. FYI, I'm not complaining or nit-picking. I'm a complete newbie hack at Windows development and trying to understand the train of thought here to inform my decision making on how we build our apache based server. Thanks, Andy On Thu, 2014-09-04 at 08:35 -0700, wr...@rowe-clan.net wrote: - Original Message - Subject: Re: C99 bump prior to apr 2.0? From: Wang, Andy aw...@ptc.com Date: 9/4/14 9:48 am To: dev@httpd.apache.org dev@httpd.apache.org Is there a reason to not bundle the msvcrtxxx.dll that's microsoft includes in the redist area? So that's what we've taken to doing with our apache. Simply including the version that microsoft bundles with 2010 in the web server bin directory. You keep mentioning studio 2010. Why not studio 2012? Studio 2013? Each has their own msvcr###, of course.
Re: C99 bump prior to apr 2.0?
On 9/4/2014 8:49 AM, William A. Rowe Jr. wrote: I overlooked 2 other viable options [ ] Roll -win32-src-r2.zip with apr-util 1.5.2 (pre-breakage) and corresponding binaries [ ] Roll -win32-src-r2.zip with apr-util 1.5.4 (upon release) and corresponding binaries Assumes a much quicker path to everything hitting the mirrors and looking at 1.5.3's change log later yesterday I did not see anything VC crucial so [X] Roll -win32-src-r2.zip with apr-util 1.5.2 (pre-breakage) and corresponding binaries.
Re: C99 bump prior to apr 2.0?
That pesky intptr_t, On 9/3/2014 9:27 AM, wr...@rowe-clan.net wrote In terms of providing dist/httpd/binaries/win32 httpd 2.2.29 based on msvcrt,dll, I have a couple of options; [+1] Ship with r1563992 applied (and document this? where?) [ +/-0] Drop apr_dbd_odbc.dll from the distribution [ -1] Don't ship. [+0] don't ship and remove 2.2.25 from downloads, 2.0.65 for that matter as both are rather stale now. The Windows binary download page is just for Win, maybe note it at the bottom of HEADER just below Download from your..., or in README-win32.txt, I think this file get's dropped on the users hard drive post install IIRC. +1 on the -r2 source. Such a package would have helped me out long ago when about all I could do was just get it compiled provided no problems arose but, I'm not RMing ;-) JMO, Gregg LLVC6
Re: C99 bump prior to apr 2.0?
Hi Bill, On 03.09.2014 18:27, wr...@rowe-clan.net wrote: In terms of providing dist/httpd/binaries/win32 httpd 2.2.29 based on msvcrt,dll, I have a couple of options; [x] Ship with r1563992 applied (and document this? where?) [ ] Drop apr_dbd_odbc.dll from the distribution [ ] Don't ship as Gregg suggested just document in the README ... Any preferences? If option 1 is elected, the second question is whether to update the -win32-src.zip distro as an -r2? This will only affect the VC6/Studio 97 builds, since the more recent visual studio releases have some level of C99 support. either that, or probably put the patch into apply-to folder; I have no preference ... Gün.
Re: C99 bump prior to apr 2.0?
On Wed, 2014-09-03 at 09:27 -0700, wr...@rowe-clan.net wrote: Finally returned to VC6, having replaced my older svn on Windows which would no longer handshake with svn.apache.org and bumped into a single issue. Building VC6 binaries for win32, I was bitten by r1508904 which introduces a C99 type prior to releasing apr 2.0 (probably not a good idea to make such changes in a maintenance branch). I don't mean to tangent this discussion too much but I'm curious. So this change back in 2.2.26(?) was what finally made me start to use visual studio 2010 for our windows builds (and boy is that an ugly mess). Is there a reason why you're sticking with VC6 to build? I was surprised that this change made it into a maintenance branch, but honestly was looking for something to push me to building on VC2010. Thanks, Andy
Re: C99 bump prior to apr 2.0?
The 1.5 apr-util (and apr) branches are actively maintained. You have forward binary compatibility since 1.0 used in the early 2.1-dev days. Because 1.4.x was not receiving attention (and was missing new API's used for httpd-2.4) the project determined it would bundle 1.5 rather than the now-stale 1.4 apr project releases. So in terms of hitting a maintenance branch, 1.5 is now exactly that, and the patch that broke C89 compilers was for maintenance, to clean up the errors present on P64 and LP64 architectures. Wang, Andy aw...@ptc.com wrote: On Wed, 2014-09-03 at 09:27 -0700, wr...@rowe-clan.net wrote: Finally returned to VC6, having replaced my older svn on Windows which would no longer handshake with svn.apache.org and bumped into a single issue. Building VC6 binaries for win32, I was bitten by r1508904 which introduces a C99 type prior to releasing apr 2.0 (probably not a good idea to make such changes in a maintenance branch). I don't mean to tangent this discussion too much but I'm curious. So this change back in 2.2.26(?) was what finally made me start to use visual studio 2010 for our windows builds (and boy is that an ugly mess). Is there a reason why you're sticking with VC6 to build? I was surprised that this change made it into a maintenance branch, but honestly was looking for something to push me to building on VC2010. Thanks, Andy
Re: C99 bump prior to apr 2.0?
And to answer the question, VC6 for httpd 2.2 is simply for msvcrt.DLL compatibility and no-surprises upgrades. It is suboptimal, but not as suboptimal as MS's active disdain for msvcr###.dll users. Wang, Andy aw...@ptc.com wrote: On Wed, 2014-09-03 at 09:27 -0700, wr...@rowe-clan.net wrote: Finally returned to VC6, having replaced my older svn on Windows which would no longer handshake with svn.apache.org and bumped into a single issue. Building VC6 binaries for win32, I was bitten by r1508904 which introduces a C99 type prior to releasing apr 2.0 (probably not a good idea to make such changes in a maintenance branch). I don't mean to tangent this discussion too much but I'm curious. So this change back in 2.2.26(?) was what finally made me start to use visual studio 2010 for our windows builds (and boy is that an ugly mess). Is there a reason why you're sticking with VC6 to build? I was surprised that this change made it into a maintenance branch, but honestly was looking for something to push me to building on VC2010. Thanks, Andy