[Rd] configure cross_compiling+iconv wierdness

Hin-Tak Leung hin-tak.leung at cimr.cam.ac.uk
Tue Mar 13 16:46:20 CET 2007


Hi,

I noticed sometimes ago that my 32-bit R 2.4.1 is
non-MBSC/iconv capable, whereas my 64-bit R (both built locally
myself, on x86_64 linux) is. I know my system is
rather beefed up on any kind of CJK-related stuff, and it shouldn't
be the case. So I just looked into it, and found that the configure
script basically automatically assume that the system is non-iconv/MBSC
capable if it looks as if one is trying to cross-compile:

===============
   echo "$as_me:$LINENO: checking whether iconv() accepts \"UTF-8\", 
\"latin1\" and \"UCS-*\"" >&5
echo $ECHO_N "checking whether iconv() accepts \"UTF-8\", \"latin1\" and 
\"UCS-*\"... $ECHO_C" >&6
if test "${r_cv_iconv_latin1+set}" = set; then
   echo $ECHO_N "(cached) $ECHO_C" >&6
else
   if test "$cross_compiling" = yes; then
   r_cv_iconv_latin1=no
else
   cat >conftest.$ac_ext <<_ACEOF
.....
_ACEOF
=============

FWIW, I am doing my "cross-compile" with a slightly more complicated 
version of this:

LDFLAGS=-m32 CFLAGS=-m32 CPPFLAGS=-m32 CXXFLAGS=-m32 FFLAGS=-m32 \
./configure --build=x86_64-redhat-linux-gnu \
--target=i686-redhat-linux-gnu --host=i686-redhat-linux-gnu

okay, now that I know what's going on, I can work around it, but
I think the "else" part probably should skip the cross_compiling
check, at least under some circumstance, and drop through to
the explicit test...

Thanks for listening...

Hin-Tak Leung



More information about the R-devel mailing list