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@samba.org
ReportedBy: joe07734@gmail.com
QAContact: rsync-qa@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.