How to get Rcpp to work? - r

I cannot get Rcpp to work on Windows 8.1. When I run the following minimal example, I get an error.
> library(Rcpp)
> evalCpp("1 + 1")
g++ -m64 -I"C:/R/R-31~1.0/include" -DNDEBUG -I"C:/R/R-3.1.0/library/Rcpp/include" -
I"d:/RCompile/CRANpkg/extralibs64/local/include" -O2 -Wall -mtune=core2 -c file11dc2120723d.cpp -o
file11dc2120723d.o g++: not found make: *** [file11dc2120723d.o] Error 127 Warning message: running
command 'make -f "C:/R/R-31~1.0/etc/x64/Makeconf" -f "C:/R/R-31~1.0/share/make/winshlib.mk"
SHLIB_LDFLAGS='$(SHLIB_CXXLDFLAGS)' SHLIB_LD='$(SHLIB_CXXLD)' SHLIB="sourceCpp_97232.dll" WIN=64 TCLBIN=64
OBJECTS="file11dc2120723d.o"' had status 2
Error in sourceCpp(code = code, env = env, rebuild = rebuild, showOutput = showOutput, :
Error 1 occurred building shared library.
The two first entries in my path are:
PATH=c:\Rtools\bin;c:\Rtools\gcc-4.6.3\bin;
R is installed in a directory C:\R\R-3.1.0
Rtools is in the directory C:\R\Rtools
Some additional information:
> library(devtools)
> find_rtools(T)
Scanning path...
ls : c:\Rtools\bin\ls.exe
Scanning registry...
Found c:/Rtools for 3.1
VERSION.txt
Rtools version 3.1.0.1942
[1] TRUE
> has_devel()
"C:/R/R-31~1.0/bin/x64/R" --vanilla CMD SHLIB foo.c
gcc -m64 -I"C:/R/R-31~1.0/include" -DNDEBUG -I"d:/RCompile/CRANpkg/extralibs64/local/include"
O2 -Wall -std=gnu99 -mtune=core2 -c foo.c -o foo.o
gcc: not found
make: *** [foo.o] Error 127
Warning message:
running command 'make -f "C:/R/R-31~1.0/etc/x64/Makeconf" -f "C:/R/R-31~1.0/share/make/winshlib.mk"
SHLIB="foo.dll" WIN=64 TCLBIN=64 OBJECTS="foo.o"' had status 2
Error: Command failed (1)
> system('g++ -v')
Warning message:
running command 'g++ -v' had status 127

Unsure if you have solved your problem but it appears you don't have gcc or g++ installed. For windows you can get these tools with MinGW.
Install MinGW which you can donwload from here. The homepage for information is here
Once you have it installed MinGW, you can open the 'MinGW Installation Manager' and install the bin and dev for 'mingw32-gcc-g++'.
You must then update your PATH environmental variable to include 'C:\MinGW\bin' and 'C:\MinGW\msys\1.0\bin'.
Restart your R session, couldn't hurt to also reinstall 'Rcpp', and tryrequire(Rcpp); evalCpp("1 + 1") again.

I had this problem while trying to call C-code directly. Switching from the function system() to system2() solved it immediately.

I got that fix by installing RTools and adding RBuildTools to the path:
Sys.setenv("PATH" = paste(Sys.getenv("PATH"),
"C:\\RBuildTools\\3.4\\bin",
"C:\\RBuildTools\\3.4\\mingw_32",
"C:\\RBuildTools\\3.4\\mingw_64", sep = ";"))
I don't understand these things clearly but #cdeterman solutions was not working for building my package while its example evalCpp("1 + 1") did.

Related

Install RJulia package in R

I am trying to install RJulia package on windows:
Julia Version: 0.4
R Version: 3.2.1
RStudio Version: 0.99.467
You may find the relevant R code:
library(devtools)
Sys.setenv(JULIA_SRC="C:/Users/user/AppData/Local/Julia-0.4.0-rc1")
Sys.setenv(LD_LIBRARY_PATH=":/Users/user/AppData/Local/Julia-0.4.0-rc1/lib/julia")
devtools::install_github("armgong/RJulia", ref="0.4")# or ref="0.4" if using Julia v0.4
but I am getting the following error:
julia: not found
julia: not found
gcc -m32 -I"C:/PROGRA~1/R/R-32~1.1/include" -DNDEBUG -I/../../src -I/../../src/support -I/../include -I/../include/julia -D_WIN32_WINNT=0x0600 -I"d:/RCompile/r-compiling/local/local320/include" -O3 -Wall -std=gnu99 -mtune=core2 -c Julia_R.c -o Julia_R.o
Julia_R.c:13:19: fatal error: julia.h: No such file or directory
compilation terminated.
make: *** [Julia_R.o] Error 1
Warning: running command 'make -f "Makevars.win" -f "C:/PROGRA~1/R/R-32~1.1/etc/i386/Makeconf" -f "C:/PROGRA~1/R/R-32~1.1/share/make/winshlib.mk" SHLIB="rjulia.dll" OBJECTS="Julia_R.o R_Julia.o dataframe.o embedding.o"' had status 2
ERROR: compilation failed for package 'rjulia'
Any advice is appreciated!
I re-installed the latest version of RStudio 0.99.484 and re-configured the system PATH following #rawr advice (I had two installation paths of julia v.0.4 and v.0.3.11 and I kept the stable version) and it seems to work.

Installing R packages

When I have tried to install some R packages such as Rgraphviz, I get the following error:
install.packages("Rgraphviz_2.12.0.tar.gz",repos=NULL,type="source")
* installing *source* package 'Rgraphviz' ...
**********************************************
WARNING: this package has a configure script
It probably needs manual configuration
**********************************************
** libs
gcc -m32 -I"C:/PROGRA~1/R/R-31~1.2/include" -DNDEBUG -
I"d:/RCompile/CRANpkg/extralibs64/local/include" -
Ilibwin/i386/include/graphviz -DHAVE_STDBOOL_H=1 -DHAVE_BOOL=1 -
DGRAPHVIZ_MAJOR=2 -DGRAPHVIZ_MINOR=28 -DGRAPHVIZ_STATIC -O3 -Wall -
std=gnu99 -mtune=core2 -c LL_funcs.c -o LL_funcs.o
gcc: unrecognized option `-std=gnu99'
d:\RCompile\CRANpkg\extralibs64\local\include\.: Permission denied
make.exe: *** [LL_funcs.o] Error 1
Warning: running command 'make -f "Makevars.win" -f "C:/PROGRA~1/R/R-
31~1.2/etc/i386/Makeconf" -f "C:/PROGRA~1/R/R-31~1.2/share/make/winshlib.mk"
SHLIB="Rgraphviz.dll" OBJECTS="LL_funcs.o Rgraphviz.o RgraphvizInit.o
agopen.o agread.o agwrite.o bezier.o buildEdgeList.o buildNodeList.o
doLayout.o graphvizVersion.o init.o"' had status 2
ERROR: compilation failed for package 'Rgraphviz'
* removing 'C:/Program Files/R/R-3.1.2/library/Rgraphviz'
Warning messages:
1: running command '"C:/PROGRA~1/R/R-31~1.2/bin/i386/R" CMD INSTALL -l
"C:\Program Files\R\R-3.1.2\library" "Rgraphviz_2.12.0.tar.gz"' had status 1
2: In install.packages("Rgraphviz_2.12.0.tar.gz", repos = NULL, type =
"source") :
installation of package ‘Rgraphviz_2.12.0.tar.gz’ had non-zero exit status
I am mostly appreciate any comment.
The first thing to do is take care of the
d:\RCompile\CRANpkg\extralibs64\local\include\.: Permission denied
error. Check file permissions on that directory; does it belong to Administrator? Make sure you have read access to it.

Rcpp compilation on windows fails (64bit)

I am trying to set up Rcpp on my Windows machine (have not had issues on my unix box).
I have installed R in C:/opt/R/current (a Google search suggested that spaces in installation paths could give trouble), and I have installed Rtools.
I have the simple cpp file:
#include <Rcpp.h>
using namespace Rcpp;
// [[Rcpp::export]]
int timesTwo(int x) {
return x * 2;
}
and an R file:
library(Rcpp)
sourceCpp("cppfile.cpp")
I get the following error:
C:/opt/R/current/etc/x64/Makeconf:196: warning: overriding recipe for target `.m.o' C:/opt/R/current/etc/x64/Makeconf:189: warning: ignoring old recipe for target `.m.o' C:\MINGW3~1\bin\make.exe: Interrupt/Exception caught (code = 0xc0000005, addr = 0x0x750343f9) Warning message: running command 'make -f "C:/opt/R/current/etc/x64/Makeconf" -f "C:/opt/R/current/share/make/winshlib.mk" SHLIB_LDFLAGS='$(SHLIB_CXXLDFLAGS)' SHLIB_LD='$(SHLIB_CXXLD)' SHLIB="sourceCpp_67515.dll" WIN=64 TCLBIN=64 OBJECTS="cppfile.o"' had status 255
Error in sourceCpp("cppfile.cpp") :
Error 1 occurred building shared library.
Any help would be appreciated.
PS: Install e.g. dplyr from github via devtools works fine (and does quite a lot of compiling Rcpp stuff).
UPDATE: I added the Rtools bin dir to PATH, and now I get another error which seems to relate to 32/64bit:
g++ -m64 -I"C:/opt/R/current/include" -DNDEBUG -I"C:/opt/R/current/library/Rcpp/include" -I"d:/RCompile/CRANpkg/extralibs64/local/include" -O2 -Wall -mtune=core2 -c cppfile.cpp -o cppfile.o cppfile.cpp:1:0: sorry, unimplemented: 64-bit mode not compiled in make: *** [cppfile.o] Error 1 Warning message: running command 'make -f "C:/opt/R/current/etc/x64/Makeconf" -f "C:/opt/R/current/share/make/winshlib.mk" SHLIB_LDFLAGS='$(SHLIB_CXXLDFLAGS)' SHLIB_LD='$(SHLIB_CXXLD)' SHLIB="sourceCpp_41862.dll" WIN=64 TCLBIN=64 OBJECTS="cppfile.o"' had status 2
Error in sourceCpp("cppfile.cpp") :
Error 1 occurred building shared library.
Turned out that I needed to add both the RTools/bin and the Rtools/gcc-x.y.z/bin to PATH. Now things work smoothly.

Why has my R devtools package load failed?

I am trying to create my first package using the instructions on the hadley devtools wiki. I am using Windows 7 Professional, I have loaded R-tools 3.1, and I am using R 3.0.2. I get the error below when I run the has_devel() command and I do no know why. Does anyone know how I can successfully install devtools given the error below.
has_devel()
"C:/PROGRA~1/R/R-30~1.2/bin/x64/R" --vanilla CMD SHLIB foo.c
Error: Command failed (1)
> traceback()
6: stop("Command failed (", status, ")", call. = FALSE)
5: system_check(r_path, options, c(r_env_vars(), env_vars), ...)
4: force(code)
3: in_dir(path, system_check(r_path, options, c(r_env_vars(), env_vars),
...))
2: R("CMD SHLIB foo.c", tempdir())
1: has_devel()
There is an existing related question, except in that example R is run on MAC OSX (The check for successful devtools load (has_devel) fails).
My Rtools installation was not complete.
I re-installed the most recent version of Rtools from CRAN (http://cran.rstudio.com/). I re-installed devtools using the instructions supplied by Hadley Wickham (http://adv-r.had.co.nz/Philosophy.html) and the error was fixed, has_devel() returned TRUE.
has_devel()
"C:/PROGRA~1/R/R-30~1.2/bin/x64/R" --vanilla CMD SHLIB foo.c
gcc -m64 -I"C:/PROGRA~1/R/R-30~1.2/include" -DNDEBUG -I"d:/RCompile/CRANpkg/extralibs64/local/include" -O2 -Wall -std=gnu99 -mtune=core2 -c foo.c -o foo.o
gcc -m64 -shared -s -static-libgcc -o foo.dll tmp.def foo.o -Ld:/RCompile/CRANpkg/extralibs64/local/lib/x64 -Ld:/RCompile/CRANpkg/extralibs64/local/lib -LC:/PROGRA~1/R/R-30~1.2/bin/x64 -lR
[1] TRUE
see here for the same issue https://github.com/hadley/devtools/issues/234
(solution provided by hadley, running the script in this gist https://gist.github.com/hadley/4506250)
I have installed first time to a directory C:\Apps\Rtools without checking the environmental variable add step during installation. But, I have manually added the path into the PATH variable. Then, I had the same problem.
Then I reinstalled to the default directory C:\Rtools and this time I checked the environmental variable add step during installation. Then it worked.

Python mySQL PPC Mac install

I am trying to install mySQL for Python on PPC ibook G4 running Leopard. I have Python 2.7.2, XCODE 3.1.3 and MAMP 1.9.6 installed.
I was trying both MySQL-Python-1.2.2 and MySQL-Python-1.2.3, but I am always getting this error:
andreass-ibook-g4:MySQL-python-1.2.3 aed0101$ sudo python setup.py buildrunning build
running build_py
copying MySQLdb/release.py -> build/lib.macosx-10.3-fat-2.7/MySQLdb
running build_ext
building '_mysql' extension
gcc-4.0 -fno-strict-aliasing -fno-common -dynamic -isysroot/Developer/SDKs/MacOSX10.4u.sdk -arch ppc -arch i386 -g -O2 -DNDEBUG -g -O3 -Dversion_info=(1,2,3,'final',0) -D__version__=1.2.3 -I/Applications/MAMP/Library/include -I/Library/Frameworks/Python.framework/Versions/2.7/include/python2.7 -c _mysql.c -o build/temp.macosx-10.3-fat-2.7/_mysql.o -fno-omit-frame-pointer -g
_mysql.c:36:23: error: my_config.h: No such file or directory
_mysql.c:38:19: error: mysql.h: No such file or directory
_mysql.c:39:26: error: mysqld_error.h: No such file or directory
...more errors
lipo: can't figure out the architecture type of: /var/tmp//ccM5WtnK.out
error: command 'gcc-4.0' failed with exit status 1
Can anybody help me with this?
Thanks.
It looks like the MySQL development headers are not found. If running mysql_config from the shell gives an error, that's probably why. Make sure mysql_config is on your path or else edit site.cfg and set the correct path in there. Normally setup.py will bail out if mysql_config exits with an error, so it's not clear what happened here.

Resources