A couple of my colleagues are having problems building R-3.2.4 on Mac OS X El Capitan somehow related to libiconv. I personally don't have any problems on either of my Macs. I'm hoping thie make log might trigger something in the readers of this list: gcc -dynamiclib -Wl,-headerpad_max_install_names -undefined dynamic_lookup -single_module -multiply_defined suppress -L../../../../lib -L/usr/local/lib -o tools.so text.o init.o Rmd5.o md5.o signals.o install.o getfmts.o http.o gramLatex.o gramRd.o -L../../../../lib -lR -Wl,-framework -Wl,CoreFoundation mkdir ../../../../library/tools/libs installing 'sysdata.rda' Warning messages: 1: In strptime(paste(.leap.seconds, "23:59:60"), "%Y-%m-%d %H:%M:%S") : unknown timezone 'America/Los_Angeles' 2: In strptime(paste(.leap.seconds, "23:59:60"), "%Y-%m-%d %H:%M:%S") : unknown timezone 'GMT' 3: In strptime(paste(.leap.seconds, "23:59:60"), "%Y-%m-%d %H:%M:%S") : unknown timezone 'America/New_York' dyld: lazy symbol binding failed: Symbol not found: _libiconv_open Referenced from: /Users/someone/work/abc/fastr/com.oracle.truffle.r.native/gnur/R-3.2.4/lib/libR.dylib Expected in: flat namespace dyld: Symbol not found: _libiconv_open Referenced from: /Users/someone/work/abc/fastr/com.oracle.truffle.r.native/gnur/R-3.2.4/lib/libR.dylib Expected in: flat namespace /bin/sh: line 1: 16127 Done echo "tools:::sysdata2LazyLoadDB(\"./R/sysdata.rda\",\"../../../library/tools/R\")" 16128 Trace/BPT trap: 5 | R_DEFAULT_PACKAGES=NULL LC_ALL=C ../../../bin/R --vanilla --slave make[7]: *** [sysdata] Error 133 make[6]: *** [all] Error 2 make[5]: *** [R] Error 1 make[4]: *** [R] Error 1 make[3]: *** [R] Error 1 We always get the unknown timezone messages which I think are unrelated but I'm curious about those. Thanks Mick Jordan
On 3/14/16 1:49 PM, Mick Jordan wrote:> A couple of my colleagues are having problems building R-3.2.4 on Mac > OS X El Capitan somehow related to libiconv. I personally don't have > any problems on either of my Macs. I'm hoping thie make log might > trigger something in the readers of this list: > > gcc -dynamiclib -Wl,-headerpad_max_install_names -undefined > dynamic_lookup -single_module -multiply_defined suppress > -L../../../../lib -L/usr/local/lib -o tools.so text.o init.o Rmd5.o > md5.o signals.o install.o getfmts.o http.o gramLatex.o gramRd.o > -L../../../../lib -lR -Wl,-framework -Wl,CoreFoundation > mkdir ../../../../library/tools/libs > installing 'sysdata.rda' > Warning messages: > 1: In strptime(paste(.leap.seconds, "23:59:60"), "%Y-%m-%d %H:%M:%S") : > unknown timezone 'America/Los_Angeles' > 2: In strptime(paste(.leap.seconds, "23:59:60"), "%Y-%m-%d %H:%M:%S") : > unknown timezone 'GMT' > 3: In strptime(paste(.leap.seconds, "23:59:60"), "%Y-%m-%d %H:%M:%S") : > unknown timezone 'America/New_York' > dyld: lazy symbol binding failed: Symbol not found: _libiconv_open > Referenced from: > /Users/someone/work/abc/fastr/com.oracle.truffle.r.native/gnur/R-3.2.4/lib/libR.dylib > Expected in: flat namespace > > dyld: Symbol not found: _libiconv_open > Referenced from: > /Users/someone/work/abc/fastr/com.oracle.truffle.r.native/gnur/R-3.2.4/lib/libR.dylib > Expected in: flat namespace > > /bin/sh: line 1: 16127 Done echo > "tools:::sysdata2LazyLoadDB(\"./R/sysdata.rda\",\"../../../library/tools/R\")" > 16128 Trace/BPT trap: 5 | R_DEFAULT_PACKAGES=NULL LC_ALL=C > ../../../bin/R --vanilla --slave > make[7]: *** [sysdata] Error 133 > make[6]: *** [all] Error 2 > make[5]: *** [R] Error 1 > make[4]: *** [R] Error 1 > make[3]: *** [R] Error 1 >This seems to be related to having a macports install of libiconv. The compile step for sysutils.c puts the macport include header before /usr/local/include but the link step for libR doesn't - in fact it doesn't include a -L for the macport directory at all. So there is an an inconsistency in the expected symbols. (Why the macport version defines libiconv_open instead of iconv_open I have no idea). ick
> On 15 Mar 2016, at 0:04, Mick Jordan <mick.jordan at oracle.com> wrote: > > On 3/14/16 1:49 PM, Mick Jordan wrote: >> A couple of my colleagues are having problems building R-3.2.4 on Mac OS X El Capitan somehow related to libiconv. I personally don't have any problems on either of my Macs. I'm hoping thie make log might trigger something in the readers of this list: >> >> gcc -dynamiclib -Wl,-headerpad_max_install_names -undefined dynamic_lookup -single_module -multiply_defined suppress -L../../../../lib -L/usr/local/lib -o tools.so text.o init.o Rmd5.o md5.o signals.o install.o getfmts.o http.o gramLatex.o gramRd.o -L../../../../lib -lR -Wl,-framework -Wl,CoreFoundation >> mkdir ../../../../library/tools/libs >> installing 'sysdata.rda' >> Warning messages: >> 1: In strptime(paste(.leap.seconds, "23:59:60"), "%Y-%m-%d %H:%M:%S") : >> unknown timezone 'America/Los_Angeles' >> 2: In strptime(paste(.leap.seconds, "23:59:60"), "%Y-%m-%d %H:%M:%S") : >> unknown timezone 'GMT' >> 3: In strptime(paste(.leap.seconds, "23:59:60"), "%Y-%m-%d %H:%M:%S") : >> unknown timezone 'America/New_York' >> dyld: lazy symbol binding failed: Symbol not found: _libiconv_open >> Referenced from: /Users/someone/work/abc/fastr/com.oracle.truffle.r.native/gnur/R-3.2.4/lib/libR.dylib >> Expected in: flat namespace >> >> dyld: Symbol not found: _libiconv_open >> Referenced from: /Users/someone/work/abc/fastr/com.oracle.truffle.r.native/gnur/R-3.2.4/lib/libR.dylib >> Expected in: flat namespace >> >> /bin/sh: line 1: 16127 Done echo "tools:::sysdata2LazyLoadDB(\"./R/sysdata.rda\",\"../../../library/tools/R\")" >> 16128 Trace/BPT trap: 5 | R_DEFAULT_PACKAGES=NULL LC_ALL=C ../../../bin/R --vanilla --slave >> make[7]: *** [sysdata] Error 133 >> make[6]: *** [all] Error 2 >> make[5]: *** [R] Error 1 >> make[4]: *** [R] Error 1 >> make[3]: *** [R] Error 1 >> > This seems to be related to having a macports install of libiconv. The compile step for sysutils.c puts the macport include header before /usr/local/include but the link step for libR doesn't - in fact it doesn't include a -L for the macport directory at all. So there is an an inconsistency in the expected symbols. (Why the macport version defines libiconv_open instead of iconv_open I have no idea).FWIW, the workaround we now use is to specify -DLIBICONV_PLUG, because then all libiconv variations behave the same. - Lukas