On 04/27/2015 08:15 AM, Jeff Trawick wrote:
On 04/26/2015 11:59 PM, Gregg Smith wrote:
On 4/25/2015 6:39 AM, Jeff Trawick wrote:
+/-1
[ ] Release APR 1.5.2 as GA
Win 8.1, VS 2013 x86, zip, retro build
apr tests lib&dll pass
httpd-2.4.12 build regression
Win Vista, VS 2008 x86, zip, retro build
apr tests lib&dll pass
httpd-2.4.12 build regression
apr-1.lib(rand.obj) : error LNK2019: unresolved external symbol
__imp__UuidCreate@4 referenced in function _apr_os_uuid_get@4
This happens on many projects in /support that link to the static lib
(ab, httdigest, etc.).
I'm kind of stumped as to what change has done this. I can easily
compensate for it in httpd and is probably the best way on the retro
build.
I'm +/-0
My best guess as to the trigger: file_io/win32/pipe.c now uses
apr_generate_random_bytes() which is implemented in the same file that
has the only call to UuidCreate() (rand.obj).
I wonder if some objects can be omitted from apr-1.lib based on their
use within the library :( I see " /OPT:REF eliminates functions and
data that are never referenced; /OPT:NOREF keeps functions and data
that are never referenced. ... By default, /OPT:REF is enabled in
non-debug builds." at
https://msdn.microsoft.com/en-us/library/bxwfs976.aspx
(the idea being that we didn't notice the need for an extra Windows
library in parts of httpd that link apr statically in the past because
the code which calls UuidCreate() was omitted)
httpd/2.4.x/support/passwd_common.c uses apr_generate_random_bytes; that
presumably uses the apr static library too, so this doesn't seem to hold
water.