I've been trying to compile 3.0.0pre8 under cygwin. I was getting a problem with the iconv functions which I think are related to the cygwin environment and its iconv.h. To bypass it I wanted to compile with the --disable-iconv function. I'm still getting the following errors during compile: /usr/src/rsync-3.0.0pre8/rsync.c:85: undefined reference to `_iconv_open'rsync.o: In function `iconvbufs':/usr/src/rsync-3.0.0pre8/rsync.c:193: undefined reference to `_iconv'/usr/src/rsync-3.0.0pre8/rsync.c:163: undefined reference to `_iconv'collect2: ld returned 1 exit statusmake: *** [rsync.exe] Error 1 It looks like the line 85 and 163 are not conditionalized for the --disable-iconv option. I'm not sure why line 193 is showing the error. Any suggestions? Am I missing something (as usual)?Rob -------------- next part -------------- HTML attachment scrubbed and removed
The error on 193 is due to the iconv reference in the while loop.Rob /usr/src/rsync-3.0.0pre8/rsync.c:85: undefined reference to `_iconv_open' rsync.o: In function `iconvbufs':/usr/src/rsync-3.0.0pre8/rsync.c:193: undefined reference to `_iconv'/usr/src/rsync-3.0.0pre8/rsync.c:163: undefined reference to `_iconv'collect2: ld returned 1 exit statusmake: *** [rsync.exe] Error 1 -------------- next part -------------- HTML attachment scrubbed and removed
On Sun, Feb 03, 2008 at 04:06:55PM -0700, Rob Bosch wrote:> To bypass it I wanted to compile with the --disable-iconv function. > I'm still getting the following errors during compile: [...]The --disable-iconv configure option just disables the --iconv rsync option. It does not disable all use of iconv_open. You can edit your config.h file to comment out HAVE_ICONV_OPEN and HAVE_ICONV_H, if you want to completely stop them from being used. ..wayne..
I tried changing the HAVE_ICONV_H and HAVE_ICONV_OPEN but this does not resolve the issue. I noticed in rsync.c that there is an #endif without a matching if condition at the end of the iconvbufs function. Should this function be available if HAVE_ICONV_H is not available? I also don't see how the ic_chck = iconv_open(defset, defset); (line 83) can be impacted by these options. I have a feeling some of this is a function of the cygwin compile environment that I'm using but it seems I should be able to define these parameters as 0 and get rsync to compile without iconv. Rob -------------- next part -------------- HTML attachment scrubbed and removed
On Tue, Feb 05, 2008 at 07:21:34PM -0700, Rob Bosch wrote:> I tried changing the HAVE_ICONV_H and HAVE_ICONV_OPEN but this does > not resolve the issue.Comment both of them out in config.h.> I noticed in rsync.c that there is an #endif without a matching if > condition at the end of the iconvbufs function.That #endif matches the opening #ifdef ICONV_CONST much higher up (which is why all the nested conditionals inside that block have an indenting space). The ICONV_CONST define will be forcefully undefined in rsync.h if either HAVE_ICONV_OPEN or HAVE_ICONV_H are undefined, and that disables all use of iconv_open(). ..wayne..