缘梦缘
在mac系统中运行“ GEOquery”包的getGEO ()函数时出现如下提示。但是相同的函数在windows系统运行没有问题。查看一些网页,类似的问题似乎比较多,说可能更新R版本就可以解决,但是我更新完之后,还是有此提示,非常希望能得到大家的指点,非常感谢,^_^
> library(GEOquery)
> data1 <- getGEO("GSE9844")
*** caught segfault ***
address 0x18, cause 'memory not mapped'
Traceback:
1: .Call("R_getCURLOptionEnum", PACKAGE = "RCurl")
2: getCurlOptionsConstants()
3: mapCurlOptNames(names(.els), asNames = TRUE)
4: curlOptions(URL = url, writefunction = writeFun, ..., .opts = .opts)
5: getURL(url)
6: getDirListing(sprintf(gdsurl, stub, GEO))
7: getAndParseGSEMatrices(GEO, destdir, AnnotGPL = AnnotGPL, getGPL = getGPL)
8: getGEO("GSE9844")
Possible actions:
1: abort (with core dump, if enabled)
2: normal R exit
3: exit R without saving workspace
4: exit R saving workspace
Selection: 2
Save workspace image? [y/n/c]: c
> sessionInfo()
R version 3.2.0 (2015-04-16)
Platform: x86_64-apple-darwin13.4.0 (64-bit)
Running under: OS X 10.10.3 (Yosemite)
locale:
[1] zh_CN.UTF-8/zh_CN.UTF-8/zh_CN.UTF-8/C/zh_CN.UTF-8/zh_CN.UTF-8
attached base packages:
[1] parallel stats graphics grDevices utils datasets methods
[8] base
other attached packages:
[1] GEOquery_2.35.4 Biobase_2.29.1 BiocGenerics_0.15.1
loaded via a namespace (and not attached):
[1] RCurl_1.95-4.6 bitops_1.0-6 XML_3.98-1.1
缘梦缘
[未知用户]
非常感谢,不过没怎么用过RCurl,不知道怎么检验才算运行正常,从网上查了一些RCurl的帮助,尝试运行curl_easy_init函数的例子,但是似乎好像运行不了,这是不是就提示RCurl不能正常运行。尝试更新RCurl包之后再次运行curl_easy_init函数的例子,任然运行不了,请指点。
> library("RCurl")
载入需要的程辑包:bitops
> CURL *curl = curl_easy_init();
错误: 没有"curl_easy_init"这个函数
> if(curl) {
+ CURLcode res;
错误: unexpected symbol in:
"if(curl) {
CURLcode res"
> curl_easy_setopt(curl, CURLOPT_URL, "http://example.com");
错误: 没有"curl_easy_setopt"这个函数
> res = curl_easy_perform(curl);
错误: 没有"curl_easy_perform"这个函数
> curl_easy_cleanup(curl);
错误: 没有"curl_easy_cleanup"这个函数
> }
错误: 意外的'}' in "}"
缘梦缘
问题已经解决,虽然不确定具体是什么原因照成的,但是考虑是在更新R for MAC版本时(由R-3.1.3-snowleopard.pkg更新至R-3.2.0.pkg版本),由于没有完全卸载旧版本,而是安装新版本的时候直接覆盖旧版本。考虑两个版本之间可能存在一些不兼容,直接覆盖就会导致某些程序包无法正常运行。
因此,在mac系统中更新R版本时,建议:一定要完全卸载旧版本,而不要直接采用覆盖的形式安装新的R版本。
完全卸载R时需注意,不是简单从应用程序中卸载,需要同时找到R的Home路径,然后删除该路径下所有内容。
查找R的Home路径的方法,使用函数Sys.getenv("R_HOME")。
需要对遇到相同问题的战友有帮助,^_^