DO NOT REPLY [Bug 4981] New: iconv confusion

samba-bugs at samba.org samba-bugs at samba.org
Tue Sep 18 16:55:05 GMT 2007


https://bugzilla.samba.org/show_bug.cgi?id=4981

           Summary: iconv confusion
           Product: rsync
           Version: 3.0.0
          Platform: PPC
        OS/Version: Mac OS X
            Status: NEW
          Severity: normal
          Priority: P3
         Component: core
        AssignedTo: wayned at samba.org
        ReportedBy: joe07734 at gmail.com
         QAContact: rsync-qa at samba.org


cvs root doesn't build for me, and it appears to be on account of some
confusion in configure and in the code regarding the iconv library.

The make dies with:

gcc -std=gnu99 -g -O2 -DMAINTAINER_MODE -DHAVE_CONFIG_H -Wall -W -I./popt  -o
mkrounding -I. ./mkrounding.c
In file included from ./rsync.h:839,
                 from ./mkrounding.c:20:
./proto.h:258: error: parse error before 'ic'

proto.h:258 is:

int iconvbufs(iconv_t ic, xbuf *in, xbuf *out, int flags);

Apparently iconv_t isn't getting defined. iconv_t is part of the iconv library
and iconv.h. In rsync.h:368 iconv.h is conditionalized by this line:

#if defined HAVE_ICONV_OPEN && defined HAVE_ICONV_H
#include <iconv.h>

After a little experimentation I discovered that HAVE_ICONV_OPEN on my
configuration is undefined. I tried tracing through the configuration files but
I don't understand the logic behind the setting of HAVE_ICONV_OPEN. It's my
understanding that iconv_open is part and parcel of the iconv library, and I
don't understand why a test needs to be made. However configure.in hints at
"Solaris and HP-UX weirdness"(?)

To temporarily work around this build problem I reconfigured with
--disable-iconv, but since the offending line in proto.h isn't conditionalized
it still fails, but for a different reason.

So two problems:

1. cvs root isn't building on OS X due to HAVE_ICONV_OPEN not being set. But
iconv_open() exists, so maybe there's a problem with the configuration tests.

2. Attempting to disable iconv support via --disable-iconv fails because some
parts of the code are not conditionalized. I came across proto.h:258 and
flist.c:1649 (filesfrom_convert). There are probably others.


-- 
Configure bugmail: https://bugzilla.samba.org/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are the QA contact for the bug, or are watching the QA contact.


More information about the rsync mailing list