2016-03-07 85 views
0

我試圖在R OS控制檯上用R的自制安裝將R XML包更新爲Mac OS X El Capitan上的3.98-1.4版本R:無法更新OS X上的R 3.2.2的XML包El Capitan

packageVersion("XML") 
[1] ‘3.98.1.3’ 

sessionInfo() 
R version 3.2.2 (2015-08-14) 
Platform: x86_64-apple-darwin15.0.0 (64-bit) 
Running under: OS X 10.11.3 (El Capitan) 

locale: 
[1] en_US.UTF-8/en_US.UTF-8/en_US.UTF-8/C/en_US.UTF-8/en_US.UTF-8 

attached base packages: 
[1] stats  graphics grDevices utils  datasets methods base  

other attached packages: 
[1] XML_3.98-1.3 

loaded via a namespace (and not attached): 
[1] tools_3.2.2 

install.packages("XML") 
Installing package into ‘/usr/local/lib/R/3.2/site-library’ 
(as ‘lib’ is unspecified) 
trying URL 'https://cran.mtu.edu/src/contrib/XML_3.98-1.4.tar.gz' 
Content type 'application/x-gzip' length 1599214 bytes (1.5 MB) 
================================================== 
downloaded 1.5 MB 

* installing *source* package ‘XML’ ... 
** package ‘XML’ successfully unpacked and MD5 sums checked 
checking for gcc... gcc 
checking for C compiler default output file name... a.out 
checking whether the C compiler works... yes 
checking whether we are cross compiling... no 
checking for suffix of executables... 
checking for suffix of object files... o 
checking whether we are using the GNU C compiler... yes 
checking whether gcc accepts -g... yes 
checking for gcc option to accept ISO C89... none needed 
checking how to run the C preprocessor... gcc -E 
checking for sed... /usr/local/Library/ENV/4.3/sed 
checking for pkg-config... /usr/local/bin/pkg-config 
checking for xml2-config... /usr/bin/xml2-config 
USE_XML2 = yes 
SED_EXTENDED_ARG: -E 
Minor 9, Patch 2 for 2.9.2 
Located parser file -I/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.11.sdk/usr/include/libxml2/parser.h 
Checking for 1.8: -I/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.11.sdk/usr/include/libxml2 
Using libxml2.* 
checking for gzopen in -lz... yes 
checking for xmlParseFile in -lxml2... yes 
checking for xmlHashSize in -lxml2... yes 
Using built-in xmlHashSize 
Checking DTD parsing (presence of externalSubset)... 
checking for xmlHashSize in -lxml2... yes 
Found xmlHashSize 
checking for xmlOutputBufferCreateBuffer in -lxml2... yes 
have xmlOutputBufferCreateBuffer() 
checking for xmlDocDumpFormatMemoryEnc in -lxml2... yes 
checking libxml/xmlversion.h usability... yes 
checking libxml/xmlversion.h presence... yes 
checking for libxml/xmlversion.h... yes 
Expat: FALSE 
Checking for return type of xmlHashScan element routine. 
No return value for xmlHashScan 
xmlNs has a context field 
Checking for cetype_t enumeration 
Using recent version of R with cetype_t enumeration type for encoding 
checking for xmlsec1-config... no 
nodegc default 
xml-debug default 
Version has XML_WITH_ZLIB 
Version has xmlHasFeature() 

**************************************** 
Configuration information: 

Libxml settings 

libxml include directory: -I/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.11.sdk/usr/include/libxml2 
libxml library directory: -L/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.11.sdk/usr/lib -lxml2 -lz -lpthread -licucore -lm -lz -lxml2 
libxml 2:     -DLIBXML2=1 

Compilation flags:   -DLIBXML -I/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.11.sdk/usr/include/libxml2 -DUSE_EXTERNAL_SUBSET=1 -DROOT_HAS_DTD_NODE=1 -DDUMP_WITH_ENCODING=1 -DUSE_XML_VERSION_H=1 -DXML_ELEMENT_ETYPE=1 -DXML_ATTRIBUTE_ATYPE=1 -DNO_XML_HASH_SCANNER_RETURN=1 -DLIBXML_NAMESPACE_HAS_CONTEXT=1 -DHAVE_R_CETYPE_T=1 -DHAVE_XML_WITH_ZLIB=1 -DHAVE_XML_HAS_FEATURE=1 -DUSE_R=1 -D_R_=1 -DHAVE_VALIDITY=1 -DXML_REF_COUNT_NODES=1 
Link flags:    -L/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.11.sdk/usr/lib -lxml2 -lz -lpthread -licucore -lm -lz -lxml2 

**************************************** 
configure: creating ./config.status 
config.status: creating src/Makevars 
config.status: creating R/supports.R 
config.status: creating inst/scripts/RSXML.csh 
config.status: creating inst/scripts/RSXML.bsh 
** libs 
clang -I/usr/local/Cellar/r/3.2.2_1/R.framework/Resources/include -DNDEBUG -I/usr/local/include -I/usr/local/opt/libxml2/include/libxml2 -I/usr/local/opt/gettext/include -I/usr/local/opt/readline/include -I/usr/local/opt/openssl/include -fPIC -g -O2 -c DocParse.c -o DocParse.o 
In file included from DocParse.c:10: 
./DocParse.h:26:5: error: unknown type name 'USER_OBJECT_' 
    USER_OBJECT_ converters; 
    ^
./DocParse.h:34:5: error: unknown type name 'SEXP' 
    SEXP finalize; 
    ^
./DocParse.h:42:1: error: unknown type name 'USER_OBJECT_' 
USER_OBJECT_ RS_XML(convertXMLDoc)(const char *fileName, xmlDocPtr doc, USER_OBJECT_ converterFunctions, R_XMLSettings *settings); 
^ 
./DocParse.h:42:73: error: unknown type name 'USER_OBJECT_' 
USER_OBJECT_ RS_XML(convertXMLDoc)(const char *fileName, xmlDocPtr doc, USER_OBJECT_ converterFunctions, R_XMLSettings *settings); 
                     ^
./DocParse.h:44:1: error: unknown type name 'USER_OBJECT_' 
USER_OBJECT_ RS_XML(AttributeList)(xmlNodePtr node, R_XMLSettings *settings); 
^ 
./DocParse.h:45:1: error: unknown type name 'USER_OBJECT_' 
USER_OBJECT_ RS_XML(createNodeChildren)(xmlNodePtr node, int direction, R_XMLSettings *parserSettings); 
^ 
./DocParse.h:47:1: error: unknown type name 'USER_OBJECT_' 
USER_OBJECT_ RS_XML(lookupGenericNodeConverter)(xmlNodePtr node, USER_OBJECT_ methods, R_XMLSettings *parserSettings); 
^ 
./DocParse.h:47:66: error: unknown type name 'USER_OBJECT_' 
USER_OBJECT_ RS_XML(lookupGenericNodeConverter)(xmlNodePtr node, USER_OBJECT_ methods, R_XMLSettings *parserSettings); 
                   ^
./DocParse.h:50:1: error: unknown type name 'USER_OBJECT_' 
USER_OBJECT_ RS_XML(createNameSpaceIdentifier)(xmlNs *space, xmlNodePtr node); 
^ 
./DocParse.h:52:1: error: unknown type name 'USER_OBJECT_' 
USER_OBJECT_ RS_XML_xmlXIncludeProcessFlags(USER_OBJECT_ r_doc, USER_OBJECT_ r_flags); 
^ 
./DocParse.h:52:45: error: unknown type name 'USER_OBJECT_' 
USER_OBJECT_ RS_XML_xmlXIncludeProcessFlags(USER_OBJECT_ r_doc, USER_OBJECT_ r_flags); 
              ^
./DocParse.h:52:65: error: unknown type name 'USER_OBJECT_' 
USER_OBJECT_ RS_XML_xmlXIncludeProcessFlags(USER_OBJECT_ r_doc, USER_OBJECT_ r_flags); 
                   ^
./DocParse.h:54:1: error: unknown type name 'USER_OBJECT_' 
USER_OBJECT_ processNamespaceDefinitions(xmlNs *ns, xmlNodePtr node, R_XMLSettings *parserSettings); 
^ 
In file included from DocParse.c:13: 
./Utils.h:24:1: error: unknown type name 'USER_OBJECT_' 
USER_OBJECT_ RS_XML(invokeFunction)(USER_OBJECT_ fun, USER_OBJECT_ opArgs, USER_OBJECT_ state, xmlParserCtxtPtr ctx); 
^ 
./Utils.h:24:37: error: unknown type name 'USER_OBJECT_' 
USER_OBJECT_ RS_XML(invokeFunction)(USER_OBJECT_ fun, USER_OBJECT_ opArgs, USER_OBJECT_ state, xmlParserCtxtPtr ctx); 
            ^
./Utils.h:24:55: error: unknown type name 'USER_OBJECT_' 
USER_OBJECT_ RS_XML(invokeFunction)(USER_OBJECT_ fun, USER_OBJECT_ opArgs, USER_OBJECT_ state, xmlParserCtxtPtr ctx); 
                ^
./Utils.h:24:76: error: unknown type name 'USER_OBJECT_' 
USER_OBJECT_ RS_XML(invokeFunction)(USER_OBJECT_ fun, USER_OBJECT_ opArgs, USER_OBJECT_ state, xmlParserCtxtPtr ctx); 
                     ^
./Utils.h:25:1: error: unknown type name 'USER_OBJECT_' 
USER_OBJECT_ RS_XML(findFunction)(const char *opName, USER_OBJECT_ functions); 
^ 
./Utils.h:25:55: error: unknown type name 'USER_OBJECT_' 
USER_OBJECT_ RS_XML(findFunction)(const char *opName, USER_OBJECT_ functions); 
                ^
fatal error: too many errors emitted, stopping now [-ferror-limit=] 
20 errors generated. 
make: *** [DocParse.o] Error 1 
ERROR: compilation failed for package ‘XML’ 
* removing ‘/usr/local/lib/R/3.2/site-library/XML’ 
* restoring previous ‘/usr/local/lib/R/3.2/site-library/XML’ 

The downloaded source packages are in 
    ‘/private/var/folders/g8/rqv40nhs3zqcntnz_9t9l60w0000gr/T/RtmpiP7BlJ/downloaded_packages’ 
Warning message: 
In install.packages("XML") : 
    installation of package ‘XML’ had non-zero exit status  

'USER_OBJECT_'在RSCommon.h中定義,它存在於下載的tar文件中。

有什麼建議嗎?

在此先感謝

回答

1

配置步驟似乎報告有關國旗的C代碼的編譯(見編譯標誌:在輸出),但呼籲鐺只有-DNEDBUG,沒有的其他-D ...術語。 檢查src/Makevars文件的內容,特別是PKGCPPFLAGS變量。這應包含終端上顯示的「編譯標誌:」中報告的文本。

+0

修改my〜/ .R/Makevars文件以包含一行 – bdanalytics

0

修改了我的〜/ .R/Makevars文件,包括線

`PKG_CPPFLAGS= -I/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.11.sdk/usr/include/libxml2 \ 
-DUSE_EXTERNAL_SUBSET=1 -DROOT_HAS_DTD_NODE=1 -DDUMP_WITH_ENCODING=1 \ 
-DUSE_XML_VERSION_H=1 -DXML_ELEMENT_ETYPE=1 -DXML_ATTRIBUTE_ATYPE=1 \ 
-DNO_XML_HASH_SCANNER_RETURN=1 -DLIBXML_NAMESPACE_HAS_CONTEXT=1 \ 
-DHAVE_R_CETYPE_T=1 -DHAVE_XML_WITH_ZLIB=1 -DHAVE_XML_HAS_FEATURE=1 \ 
-DUSE_R=1 -D_R_=1 -DHAVE_VALIDITY=1 -DXML_REF_COUNT_NODES=1` 

這是我從在安裝過程中通過XML列出的編譯標誌借來的。給了我很多警告,但仍然能夠加載圖書館。

相關問題