Begin forwarded message:
From: Curt Arnold <[EMAIL PROTECTED]> Date: March 14, 2005 12:30:31 PM CST To: "William A. Rowe, Jr." <[EMAIL PROTECTED]> Subject: Re: Collision with Subversion when using apr-iconv on Windows
On Mar 11, 2005, at 2:48 PM, William A. Rowe, Jr. wrote:
Any time you have two different builds, things will go wrong.
In theory, you either build loadable modules or not. If not, one would think we would disrepect APR_ICONV_PATH. Seems not to be the case.
I'm unhappy with the number of parallel build flavors in apr util/iconv, and will look at this issue. Can you give me the build options for the two conflicting flavors?
The conflicting modules were installed by svn-1.1.3-setup.exe (http://subversion.tigris.org/servlets/ProductDocumentList? folderID=91)
I build the current APR code base from the Subversion repository using VC6 and the standard command line build instructions and then build testxlate.exe (command line snippets later). When I attempted to run testxlate with APR_ICONV_PATH set, I would get an crash within _tbl_simple.so. If not set, then I would get invalid argument messages since I didn't have the iconv modules available. The behavior was consistent for both debug and release build and shared and static libraries.
When I attempted running testxlate built with the 0.9.x branch of APR from Subversion, instead of crashing, 5 out of 9 tests passed. (Both debug and release with static libraries) That suggests to be that the Subversion iconv shared objects are valid 0.9.x iconv modules (maybe an earlier 0.9.x due to the test failures) and 0.9.x modules are incompatible with 1.0.x modules in general and not due to some build difference.
I did get a comment from Steve Williams on the [EMAIL PROTECTED] mailing list that he believed that TortoiseSVN patched their apr-iconv to avoid using the environment variable.
Static debug:
cl test\testxlate.c -Iinclude -I..\apr\include -I..\apr-iconv\include -DWIN32
LibD\aprutil-1.lib ..\apr-iconv\LibD\apriconv-1.lib ..\apr\LibD\apr-1.lib
-DAPR_DECLARE_STATIC -DAPU_DECLARE_STATIC -DAPI_DECLARE_STATIC /MDd
ws2_32.lib advapi32.lib mswsock.lib rpcrt4.lib
Static release:
Change LibD to LibR and /MDd to /MD
Shared debug:
Change LibD\apr to Debug\libapr and remove -DAPx_DECLARE_STATIC
Shared release:
Change LibD\apr to Release\libapr and remove -DAPx_DECLARE_STATIC
