You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@subversion.apache.org by Gerhard Grimm <gg...@detec.de> on 2004/09/28 13:00:10 UTC

Coexistence problem between latest stable versions of Subversion and TortoiseSVN regarding iconv modules

Hello all,

unfortunately I have to revoke the workaround tip I gave in this posting
http://subversion.tigris.org/servlets/ReadMsg?list=users&msgNo=18478
yesterday: When running the command "svn log -v -r <from>:<to> <URL>"
on a machine with TortoiseSVN installed, svn.exe may crash just before
exiting during its internal cleanup, if any iconv module supplied with
TSVN has been loaded. I encountered this problem with Subversion 1.0.6
and 1.0.8 along with TortoiseSVN 1.0.7 and 1.0.8. The problem does not
occur with Subversion 1.0.5 and TSVN 1.0.4, however.
What enforces this problem is the fact that, since TortoiseSVN runs
within the Windows Explorer, it sets the Explorer process' APR_ICONV_PATH
environment variable to the "TortoiseSVN\iconv" directory, thus overriding
the value set in the Windows Control Panel ("Subversion\iconv"). All user
processes are children of the Explorer process and will thus inherit the
modified value of APR_ICONV_PATH. The only way to run svn.exe with the
correct APR_ICONV_PATH setting would be to set the variable manually
in the cmd.exe console before running svn.exe or to use a batch file.
As possible solutions, the following comes to my mind:
a) The two development teams agree on a common way to build the iconv
modules, thus ensuring binary compatibility.
b) One or both of the teams change the name of the APR_ICONV_PATH
environment variable employed by their APR iconv library (e.g.
SVN_ICONV_PATH or TORTOISE_ICONV_PATH), which would require
a patch to the APR sources.

Best regards,

Gerhard

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@subversion.tigris.org
For additional commands, e-mail: dev-help@subversion.tigris.org


Re: [TSVN] Coexistence problem between latest stable versions of Subversion and TortoiseSVN regarding iconv modules

Posted by Branko Čibej <br...@xbc.nu>.
SteveKing wrote:

> Branko Čibej wrote:
>
>> I'd just like to mention here that there is a long-term solution for 
>> this, and that is to base apr-iconv on iconv2, which loads conversion 
>> tables (not shared libraries containing conversion tables), which are 
>> compiler-agnostic, so the environment variable should no longer be a 
>> problem.
>
>
> Great! Do you know when this will be available?

Ah... as soon as someone does the work? :-)

> And does it still use the environment variable or some other way to 
> find those conversion tables?

I think we'll use to fixed paths on Unix and module-based paths on 
Windows. I agree the env. var was really just a kluge.

> I don't like the idea of having my program use something another 
> program which I don't know installed.

Hmm, then perhaps you should stop using the system libraries. :-)

> Maybe you want to look at 
> http://svn.collab.net/repos/tortoisesvn/trunk/ext/apr-iconv/lib/iconv_module.c 
> which contains my patch to apr-iconv to see how I look for the path to 
> the iconv modules.

Thanks, I know how it's done. It's more or less a philosophical problem 
about using system-specific code in APR-iconv (as opposed to plain APR). 
But I think we'll just have to make an exception here.

-- Brane


---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@subversion.tigris.org
For additional commands, e-mail: dev-help@subversion.tigris.org

Re: [TSVN] Coexistence problem between latest stable versions of Subversion and TortoiseSVN regarding iconv modules

Posted by SteveKing <st...@gmx.ch>.
Branko Čibej wrote:
> I'd just like to mention here that there is a long-term solution for 
> this, and that is to base apr-iconv on iconv2, which loads conversion 
> tables (not shared libraries containing conversion tables), which are 
> compiler-agnostic, so the environment variable should no longer be a 
> problem.

Great! Do you know when this will be available?
And does it still use the environment variable or some other way to find 
those conversion tables? I don't like the idea of having my program use 
something another program which I don't know installed.
Maybe you want to look at 
http://svn.collab.net/repos/tortoisesvn/trunk/ext/apr-iconv/lib/iconv_module.c 
which contains my patch to apr-iconv to see how I look for the path to 
the iconv modules.

Stefan

-- 
        ___
   oo  // \\      "De Chelonian Mobile"
  (_,\/ \_/ \     TortoiseSVN
    \ \_/_\_/>    The coolest Interface to (Sub)Version Control
    /_/   \_\     http://tortoisesvn.tigris.org

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@subversion.tigris.org
For additional commands, e-mail: dev-help@subversion.tigris.org

Re: [TSVN] Coexistence problem between latest stable versions of Subversion and TortoiseSVN regarding iconv modules

Posted by Branko Čibej <br...@xbc.nu>.
SteveKing wrote:

> Gerhard Grimm wrote:
>
>> unfortunately I have to revoke the workaround tip I gave in this posting
>> http://subversion.tigris.org/servlets/ReadMsg?list=users&msgNo=18478
>
> [snip]
>
> We already discussed this several times on the TSVN mailing list.
>
>> As possible solutions, the following comes to my mind:
>> a) The two development teams agree on a common way to build the iconv
>> modules, thus ensuring binary compatibility.
>
>
> Not possible. You can't just force a specific compiler to be used to 
> build the projects.
>
>> b) One or both of the teams change the name of the APR_ICONV_PATH
>> environment variable employed by their APR iconv library (e.g.
>> SVN_ICONV_PATH or TORTOISE_ICONV_PATH), which would require
>> a patch to the APR sources.
>
>
> As mentioned several times already, I've patched apr-iconv in TSVN's 
> 1.1.0 line already. It doesn't use the APR_ICONV_PATH env variable 
> anymore but uses the path the libapr.dll is stored at to locate the 
> iconv files.

I'd just like to mention here that there is a long-term solution for 
this, and that is to base apr-iconv on iconv2, which loads conversion 
tables (not shared libraries containing conversion tables), which are 
compiler-agnostic, so the environment variable should no longer be a 
problem.

-- Brane


---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@subversion.tigris.org
For additional commands, e-mail: dev-help@subversion.tigris.org

Re: [TSVN] Coexistence problem between latest stable versions of Subversion and TortoiseSVN regarding iconv modules

Posted by SteveKing <st...@gmx.ch>.
Gerhard Grimm wrote:

> unfortunately I have to revoke the workaround tip I gave in this posting
> http://subversion.tigris.org/servlets/ReadMsg?list=users&msgNo=18478
[snip]

We already discussed this several times on the TSVN mailing list.

> As possible solutions, the following comes to my mind:
> a) The two development teams agree on a common way to build the iconv
> modules, thus ensuring binary compatibility.

Not possible. You can't just force a specific compiler to be used to 
build the projects.

> b) One or both of the teams change the name of the APR_ICONV_PATH
> environment variable employed by their APR iconv library (e.g.
> SVN_ICONV_PATH or TORTOISE_ICONV_PATH), which would require
> a patch to the APR sources.

As mentioned several times already, I've patched apr-iconv in TSVN's 
1.1.0 line already. It doesn't use the APR_ICONV_PATH env variable 
anymore but uses the path the libapr.dll is stored at to locate the 
iconv files.

Stefan

-- 
        ___
   oo  // \\      "De Chelonian Mobile"
  (_,\/ \_/ \     TortoiseSVN
    \ \_/_\_/>    The coolest Interface to (Sub)Version Control
    /_/   \_\     http://tortoisesvn.tigris.org

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@subversion.tigris.org
For additional commands, e-mail: dev-help@subversion.tigris.org