rsync+iconv

Yakov Hrebtov jake at generation.ru
Sun Oct 29 06:57:17 GMT 2006


Wayne Davison wrote:
> On Fri, Oct 27, 2006 at 04:19:06PM +0600, Yakov Hrebtov wrote:
>> This test compiles and executes without "failed" message. Hence 
>> iconv_open("UTF-8","CP1251") succeeded.
> 
> Check to see if the two programs are linking differently.  Perhaps
> configure decided that it needed -liconv when that that library
> doesn't really work?

$ nm ./test | grep iconv
          U iconv_open@@GLIBC_2.1
$ nm ./rsync | grep iconv
          U iconv@@GLIBC_2.1
          U iconv_open@@GLIBC_2.1
08091cfc B iconv_opt
0804ada0 T setup_iconv

As I undersnand, programs are linked equally?

> Also, did you run the test program on the same machine that is logging
> the error?  (I assume the sending/server side, not the client side.)

Sure.
When I started to play with iconv, I've used ALT linux (russian distribution) 
box as CP1251/server/sending (problem) side. After some experimetation, I 
decided to use other server to exclude possible ALT linux box misconfiguration.
Trying another server didn't help. iconv_open failed message still appears.
Now I'm using two very similar-configured FC5 boxes.
And I run test on both sides.

One more note here.
If CP1251 side is sending as client (UTF-8 is on server/receiver), then there 
are no errors.

$ rsync -av --iconv=CP1251,UTF-8 /var/data/tmp/ \ 
rsync at 192.168.210.14::userdata/tmp/

This command successfuly transfers files and converts filenames.

> Did you double-check the raw filenames to see if the byte sequences
> that were causing the problems were actually stored in ru_RU.CP1251?

CP1251 test files are created, using samba server with
unix charset = CP1251.
Moreover, seems to me that error appears in setup_iconv, so no actual file 
transfer at this moment?

> If that doesn't help you to clear up the problem, you might try
> specifying a more complete description of the character-set that
> you want in place of CP1251:
> 
>   rsync -avH --delete --iconv=UTF-8,ru_RU.CP1251 \
>     rsync at virgo.generation.int::users/Service/Jake/ \
>     /var/data/users/
This doesn't help:
iconv_open("UTF-8", "ru_RU.CP1251") failed

> Finally, it is helpful to post to the mailing list instead of sending me
> emails directly because (1) someone else may be able to help you, and
> (2) if we solve the problem, we'll have a record of the solution in the
> archive.

Agreed, sorry.


More information about the rsync mailing list