2017-08-16 96 views
0

我想安裝rgl,因爲另一個包需要它的某些元素。我在Mac上運行XQuartz,因爲我正在使用MRAN R.安裝(從Rstudio中的CRAN,Rstudio中的shell以及其他源中)安裝失敗,並顯示以下錯誤。R包RGL無法安裝在帶有MRAN的Mac上

clang-omp++ -fopenmp -I/Library/Frameworks/R.framework/Resources/include -DNDEBUG -I/System/Library/Frameworks/OpenGL.framework/Headers -DHAVE_PNG_H -I/Users/gcn/anaconda/include/libpng16 -I/usr/X11/include -DDarwin -DNO_GL_PREFIX -I/opt/X11/include -DHAVE_FREETYPE -Iext/ftgl -I/opt/X11/include/freetype2 -Iext -I/Users/Shared/Jenkins/workspace/External-R-3.3.3/vendor/build/include -DU_STATIC_IMPLEMENTATION -Wall -mtune=core2 -g -O2 -I/opt/X11/include -fPIC -g -O3 -Wall -pedantic -mtune=native -std=c++11 -c platform.cpp -o platform.o 
platform.cpp:38:18: error: no member named 'x' in '_GLKVector3' 
     *winX = result.x; 
       ~~~~~~^
    platform.cpp:39:18: error: no member named 'y' in '_GLKVector3' 
     *winY = result.y; 
       ~~~~~~^
    platform.cpp:40:18: error: no member named 'z' in '_GLKVector3' 
     *winZ = result.z; 
       ~~~~~~^
    platform.cpp:64:18: error: no member named 'x' in '_GLKVector3' 
     *objX = result.x; 
       ~~~~~~^
    platform.cpp:65:18: error: no member named 'y' in '_GLKVector3' 
     *objY = result.y; 
       ~~~~~~^
    platform.cpp:66:18: error: no member named 'z' in '_GLKVector3' 
     *objZ = result.z; 

我也有在AWS一個Ubuntu實例運行的版本Rstudio和安裝時,我沒有得到這些錯誤。 ubuntu不使用MRAN,所以我想這可能是mac上的問題的根源,但是這個來自微軟的頁面 - https://mran.microsoft.com/web/checks/check_results_rgl.html似乎表明rgl在MAC上運行MRAN。

+0

您可以將錯誤發佈到MRAN的Github頁面,或者僅使用來自CRAN的R.我聽說過(但沒有親自證實)MRAN不正確地處理C++,並且使用C++的許多軟件包都存在問題。 – user2554330

+0

幾周前我在MRAN社區網站上發佈了一個查詢,並在昨天更新了它。沒有迴應。我找不到MRAN的GitHub頁面。我一直在使用MRAN一段時間,並沒有任何MRAN特定的問題,至少我可以記錄。 – JerryN

+0

我想到的Github頁面是https://github.com/Microsoft/microsoft-r-open,不完全是MRAN。 – user2554330

回答

1

您似乎已將編譯器定義爲__STRICT_ANSI__集合。通常rgl不會設置它。在R-forge(0.98.13)上的最新版本的rgl已經在platform.cpp文件中修復了,你看到了這個錯誤,但是也可能有其他問題出現的地方。

您可以在R-forge上獲得最新版本。它在CRAN(或MRAN)上不可用。

+0

這是我使用的過程。從'https://r-forge.r-project.org/R/?group_id = 234'下載'rgl_0.98.13.tar.gz',並將其放在我的項目目錄的根目錄下。然後運行'install.packages(「rgl_0.98.13.tar.gz」,repos = NULL)'。似乎已經工作。謝謝! – JerryN