[英]RGL package for R compile error
試圖在arch linux x86_64上為r編譯rgl。 我只復制了安裝的錯誤部分。 這是在我最近更新R.之后發生的。任何想法如何解決這個問題?
g++ -I/usr/include/R/ -DNDEBUG -DHAVE_PNG_H -I/usr/include/libpng16 -DHAVE_FREETYPE -Iext/ftgl -I/usr/include/freetype2 -Iext -D_FORTIFY_SOURCE=2 -march=x86-64 -mtune=generic -O2 -pipe -fstack-protector-strong --param=ssp-buffer-size=4 -fvisibility=hidden -fpic -march=x86-64 -mtune=generic -O2 -pipe -fstack-protector-strong --param=ssp-buffer-size=4 -c init.cpp -o init.o
In file included from /usr/include/freetype2/freetype.h:33:0,
from ext/ftgl/FTGL/ftgl.h:33,
from glgui.h:12,
from gui.h:10,
from rglview.h:11,
from Device.h:11,
from DeviceManager.h:9,
from init.cpp:6:
init.cpp: In function ‘SEXPREC* rgl::rgl_init(SEXP, SEXP, SEXP)’:
/usr/include/freetype2/config/ftconfig.h:369:26: error: expected primary-expression before ‘__typeof__’
#define TYPEOF( type ) (__typeof__ (type))
^
init.cpp:58:13: note: in expansion of macro ‘TYPEOF’
else if ( TYPEOF(initValue) == EXTPTRSXP ) {
^
/usr/include/freetype2/config/ftconfig.h:369:26: error: expected ‘)’ before ‘__typeof__’
#define TYPEOF( type ) (__typeof__ (type))
^
init.cpp:58:13: note: in expansion of macro ‘TYPEOF’
else if ( TYPEOF(initValue) == EXTPTRSXP ) {
^
init.cpp:61:3: error: expected ‘)’ before ‘else’
else if ( !isNull(initValue) )
^
/usr/lib64/R/etc/Makeconf:143: recipe for target 'init.o' failed
make: *** [init.o] Error 1
ERROR: compilation failed for package ‘rgl’
* removing ‘/home/user/R/x86_64-unknown-linux-gnu-library/3.2/rgl’
Warning in install.packages :
installation of package ‘rgl’ had non-zero exit status
問題在於freetype2 2.6。 降級到freetype2 2.5允許rgl正確編譯。
對於archlinux,您只需運行pacman -U /var/cache/pacman/pkg/freetype2-2.5.5-1-x86_64.pkg.tar.xz即可降級到舊版程序包。
Freetype是可選的。 禁用它是最麻煩的解決方案。
install.packages(“rgl”,repo =“http://cran.r-project.org”,configure.args =“ - disable-ftgl”)
對於那些libfreetype6-dev
我的人,我通過安裝libfreetype6-dev
在ubuntu上解決了這個問題
從repos獲取二進制文件:
sudo apt-get build-dep r-cran-rgl
要么
rgl
之前安裝OpenGL。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.