I'm using Ubuntu 8.10 (Intrepid Ibex) and R 2.7.1. I've built a package from source (a modified version of gbm) and it contains some C++ code. I now want to cross-compile it to get a Windows version. I installed R using sudo apt-get update sudo apt-get install r-base sudo apt-get install r-base-dev So far as I can tell, I've also followed all the instructions in the guide to cross-compiling by Yan and Rossini. When I try to cross-compile I get a load of errors, apparently due to R.h (and possibly other things) not being found: [snip - everything fine up to here] i586-mingw32-g++ -isystem /home/harry/RLibrary/forWindows/cross-tools/i586-mingw32/include -I/home/harry/RLibrary/forWindows/WinR/R-2.6.0/include -Wall -O2 -c adaboost.cpp -o adaboost.o In file included from dataset.h:20, from node_terminal.h:21, from distribution.h:20, from adaboost.h:20, from adaboost.cpp:3: buildinfo.h:8:19: R.h: No such file or directory adaboost.cpp: In member function `virtual GBMRESULT CAdaBoost::ComputeWorkingResponse(double*, double*, double*, double*, double*, double*, bool*, long unsigned int, int)': adaboost.cpp:33: error: `exp' was not declared in this scope adaboost.cpp:33: warning: unused variable 'exp' [etc. - snip] I'd be grateful if anyone can suggest what I might be doing wrong. Many thanks, Harry
Is there any particular reason why you are doing this, instead of just using http://win-builder.r-project.org/ After that server went online, I see little (no) need for cross- compilation, I must say. Kasper On Apr 14, 2009, at 10:24 , Harry Southworth wrote:> I'm using Ubuntu 8.10 (Intrepid Ibex) and R 2.7.1. > > I've built a package from source (a modified version of gbm) and it > contains some C++ code. I now want to cross-compile it to get a > Windows version. > > I installed R using > sudo apt-get update > sudo apt-get install r-base > sudo apt-get install r-base-dev > > So far as I can tell, I've also followed all the instructions in the > guide to cross-compiling by Yan and Rossini. > > When I try to cross-compile I get a load of errors, apparently due to > R.h (and possibly other things) not being found: > > [snip - everything fine up to here] > i586-mingw32-g++ -isystem > /home/harry/RLibrary/forWindows/cross-tools/i586-mingw32/include > -I/home/harry/RLibrary/forWindows/WinR/R-2.6.0/include -Wall -O2 > -c adaboost.cpp -o adaboost.o > In file included from dataset.h:20, > from node_terminal.h:21, > from distribution.h:20, > from adaboost.h:20, > from adaboost.cpp:3: > buildinfo.h:8:19: R.h: No such file or directory > adaboost.cpp: In member function `virtual GBMRESULT > CAdaBoost::ComputeWorkingResponse(double*, double*, double*, double*, > double*, double*, bool*, long unsigned int, int)': > adaboost.cpp:33: error: `exp' was not declared in this scope > adaboost.cpp:33: warning: unused variable 'exp' > [etc. - snip] > > I'd be grateful if anyone can suggest what I might be doing wrong. > > Many thanks, > Harry > > ______________________________________________ > R-devel at r-project.org mailing list > https://stat.ethz.ch/mailman/listinfo/r-devel
I'm new to building packages that have source code and I didn't know about that site. In any event, it is an experimental private build for testing, and it is more convenient for me to do most of the testing in a Windows environment. I've spent a lot of time failing to build from source on Windows, and would prefer not to name myself as maintainer of someone else's package. But, since it looks like that might be the easiest route, I've just let the maintainer know what I'm up to and asked if he's fine with me doing that. Thanks, Harry On Tue, Apr 14, 2009 at 7:23 PM, Tobias Verbeke <tobias.verbeke at openanalytics.be> wrote:> Kasper Daniel Hansen wrote: > >> Is there any particular reason why you are doing this, instead of just >> using >> ?http://win-builder.r-project.org/ >> After that server went online, I see little (no) need for >> cross-compilation, I must say. > > That service is very useful indeed, but I can imagine > situations where one would be better off with cross-compiling > e.g. when compiling (on a customer's request) Windows versions > of packages that contain sensitive customer data. > > Best, > Tobias > >> On Apr 14, 2009, at 10:24 , Harry Southworth wrote: >> >>> I'm using Ubuntu 8.10 (Intrepid Ibex) and R 2.7.1. >>> >>> I've built a package from source (a modified version of gbm) and it >>> contains some C++ code. ?I now want to cross-compile it to get a >>> Windows version. >>> >>> I installed R using >>> ?sudo apt-get update >>> ?sudo apt-get install r-base >>> ?sudo apt-get install r-base-dev >>> >>> So far as I can tell, I've also followed all the instructions in the >>> guide to cross-compiling by Yan and Rossini. >>> >>> When I try to cross-compile I get a load of errors, apparently due to >>> R.h (and possibly other things) not being found: >>> >>> [snip - everything fine up to here] >>> i586-mingw32-g++ -isystem >>> /home/harry/RLibrary/forWindows/cross-tools/i586-mingw32/include >>> -I/home/harry/RLibrary/forWindows/WinR/R-2.6.0/include ? ?-Wall -O2 >>> -c adaboost.cpp -o adaboost.o >>> In file included from dataset.h:20, >>> ? ? ? ? ? ? ? ?from node_terminal.h:21, >>> ? ? ? ? ? ? ? ?from distribution.h:20, >>> ? ? ? ? ? ? ? ?from adaboost.h:20, >>> ? ? ? ? ? ? ? ?from adaboost.cpp:3: >>> buildinfo.h:8:19: R.h: No such file or directory >>> adaboost.cpp: In member function `virtual GBMRESULT >>> CAdaBoost::ComputeWorkingResponse(double*, double*, double*, double*, >>> double*, double*, bool*, long unsigned int, int)': >>> adaboost.cpp:33: error: `exp' was not declared in this scope >>> adaboost.cpp:33: warning: unused variable 'exp' >>> [etc. - snip] >>> >>> I'd be grateful if anyone can suggest what I might be doing wrong. >>> >>> Many thanks, >>> Harry >>> >>> ______________________________________________ >>> R-devel at r-project.org mailing list >>> https://stat.ethz.ch/mailman/listinfo/r-devel >> >> ______________________________________________ >> R-devel at r-project.org mailing list >> https://stat.ethz.ch/mailman/listinfo/r-devel >> >> > >
Harry, On 14 April 2009 at 18:24, Harry Southworth wrote: | I'm using Ubuntu 8.10 (Intrepid Ibex) and R 2.7.1. ^^^^^^^ [ You can also get R 2.8.1 for free, see the R FAQ and search Ubuntu, or go directly to http://cran.r-project.org/bin/linux/ubuntu ] | I've built a package from source (a modified version of gbm) and it | contains some C++ code. I now want to cross-compile it to get a | Windows version. [...] | [snip - everything fine up to here] | i586-mingw32-g++ -isystem | /home/harry/RLibrary/forWindows/cross-tools/i586-mingw32/include | -I/home/harry/RLibrary/forWindows/WinR/R-2.6.0/include -Wall -O2 ^^^^^^^ So you are working with R 2.7,1 and R 2.6.0. May not be for the faint of heart as some interfaces do change... | -c adaboost.cpp -o adaboost.o | In file included from dataset.h:20, | from node_terminal.h:21, | from distribution.h:20, | from adaboost.h:20, | from adaboost.cpp:3: | buildinfo.h:8:19: R.h: No such file or directory ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ You may not get far til you get that sorted out -- you do need R.h from the right place. But as others have said, Rtools29.exe is fairly straightforward to use, esp if you know how to use the R / gcc toolchain on Linux. And the win-builder is also a very fine service. Good luck, Dirk -- Three out of two people have difficulties with fractions.