apr-bugs mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From bugzi...@apache.org
Subject [Bug 59755] New: testxlate fails due to several APR-util makefile.win issues
Date Mon, 27 Jun 2016 00:11:51 GMT
https://bz.apache.org/bugzilla/show_bug.cgi?id=59755

            Bug ID: 59755
           Summary: testxlate fails due to several APR-util makefile.win
                    issues
           Product: APR
           Version: 1.2.1
          Hardware: PC
                OS: Windows NT
            Status: NEW
          Severity: normal
          Priority: P2
         Component: APR-util
          Assignee: bugs@apr.apache.org
          Reporter: luke1410@gmx.de

There seem to be a couple of issues with the APR-util makefile on Windows which
result in the APR-iconv testxlate test to fail to detect and load the dynamic
DLLs.

1. wrong APR_ICONV1_PATH
APR_ICONV1_PATH is used as the environment variable in APR-iconv to locate the
DLLs it needs to load.
The iconv DLLs are always located in their shared out dirs (see
apr-util/Makefile.win which builds the ccs/ces projects always in
BIND_MODE=shared which is specified in API/build/modules.mk.win as
Release/Debug depending on the BUILD_MODE - note that the API out dir doesn't
distinguish between 32- or 64-bit).
Hence, APR_ICONV1_PATH should be set to either $(API_PATH)\Release\iconv or
$(API_PATH)\Debug\iconv.
The attached patch defines a new macro (based on the BUILD_MODE and _DEBUG
macro) and uses that to determine the APR_ICONV1_PATH.

2. APR_ICONV1_PATH requires existing environment variable
Setting APR_ICONV1_PATH in the makefile will only update/change the environment
variable, if one existed already. It won't create an environment variable
however, if none exists (see:
https://msdn.microsoft.com/en-us/library/99at5bh3.aspx). The attached patch
changes this to make use of the set-command instead of the macro-redefinition
style.

3.PATH is not pointing to DLL directories
The dynamically loaded DLLs refer to libapr-1.dll and libaprutil-1.dll. Hence,
the directories these files are located in must be present in the PATH
environment variable. Otherwise loading the DLLs will fail.
Atm PATH is only set if MODEL is set to dynamic. But for the testxlate test
it's required to be present in both models.
Furthermore, it's required to point to the dynamic outdirs even in the static
model, since the DLLs are located in these directories.
The patch sets the PATH unconditionally and modifies the provided paths to
always point to their dynamic outdirs.

Note that this resolves the build system issues related to the testxlate test
failures. It won't completely resolve the test failure however, due some
remaining (independent) issues in APR-iconv (reference to the other bug will be
added).

-- 
You are receiving this mail because:
You are the assignee for the bug.

---------------------------------------------------------------------
To unsubscribe, e-mail: bugs-unsubscribe@apr.apache.org
For additional commands, e-mail: bugs-help@apr.apache.org


Mime
View raw message