(cw)rsync 3.0.0 incompatible with 2.6.9

Mojca Miklavec mojca.miklavec.lists at gmail.com
Wed Mar 12 19:57:45 GMT 2008

On Wed, Mar 12, 2008 at 4:46 PM, Matt McCutchen wrote:
> On Wed, 2008-03-12 at 16:02 +0100, Mojca Miklavec wrote:
>  > I have updated the windows binary for rsync to 3.0.0 (cwrsync), and
>  > now I get the following error:
>  >
>  > receiving file list ... rsync: on remote machine: --iconv=.: unknown option
>  > rsync error: requested action not supported (code 4) at clientserver.c(685) [sen
>  > der=2.6.9]
>  > rsync: read error: Connection reset by peer (104)
>  > rsync error: error in rsync protocol data stream (code 12) at io.c(768) [receive
>  > r=3.0.0]
>  It looks like cwRsync 3.0.0 was configured with an iconv setting of
>  "." , which is incompatible with pre-3.0.0 rsync versions.  This issue
>  is specific to cwRsync; the default configuration for rsync has no iconv
>  setting.  To access a pre-3.0.0 server with cwRsync 3.0.0, you can
>  either set the environment variable RSYNC_ICONV to "-" (a single hyphen)
>  or pass --no-iconv .

OK, that's fine then. (if other rsync programs won't suffer from that problem.)

>  > The server is running on Debian stable, so sooner or later people will
>  > start using the new incompatible version before we upgrade the system.
>  > Is manual install of a newer version of rsync on the server really the
>  > only option?
>  I can think of four options:
>  1. Replace the server's current rsync with a manually installed rsync
>  3.0.0.

Will be done if really needed, but I'm inclined against it.

>  2. Install rsync 3.0.0 in a non-default location and have cwRsync 3.0.0
>  users request it via --rsync-path.

3 is better.

>  3. Have cwRsync 3.0.0 users pass RSYNC_ICONV=- or --no-iconv .

That's what has been suggested by Tevfik Karagülle, but it's ugly as
it cannot be written in a portable way. (One would have to ask for
rsync version first and then fiddle with options.)

Someone else has suggested me to use
  rsync --protocol=29
but I need to test it.

>  4. Build your own Cygwin rsync (which will have no iconv setting by
>  default) and use that instead of cwRsync 3.0.0.

I don't have the slightest idea how to do that (I have tried to build
other programs on windows, but hacking make files is not my strength).

I have also asked some "native-windows-builds hacker" (author of
W32TeX) to look into it, but his opinion was that it looked too
complex for him to make a native windows build.

5. Ask the author of cwRsync to do suggestion number 4 (so that
cwrsync would not fail on most servers).

That would be the ideal scenario from what I have heard or learnt in
this thread. If I build cwrsyc for me only, that wil serve noone
except me.

>  > On the other hand - if I install 3.0.0 now, then I
>  > probably won't be able to sync from any other server. It seems like
>  > there is no way out of the cycle.
>  If you install ordinary rsync 3.0.0 on the server, it won't have a
>  default iconv setting, so it should communicate just fine with older
>  versions of rsync.  Let us know if it doesn't.

That's at least reassuring. (I just don't dare to ask the admin to
install it if not needed.)

Thanks a lot,

More information about the rsync mailing list