On 13 November 2014 at 11:47, Devin Heer wrote: | Thanks. | | I think, I messed up with the setting of the environment variable...due to the | following new error message: | | g++ -m64 -I"C:/PROGRA~1/R/R-31~1.1/include" -DNDEBUG -IC:\Program Files (x86)\ | CodeLibraries/include -I"C:/PROGRA~1/R/R-31~1.1/library/Rcpp/include" -I"C: | /PROGRA~1/R/R-31~1.1/library/RcppGSL/include" -I"d:/RCompile/CRANpkg/ | extralibs64/local/include" -O2 -Wall -mtune=core2 -c colNorm.cpp -o | colNorm.o | Syntax error: "(" unexpected | make: *** [colNorm.o] Error 2 | Warning message: | running command 'make -f "C:/PROGRA~1/R/R-31~1.1/etc/x64/Makeconf" -f "C:/ | PROGRA~1/R/R-31~1.1/share/make/winshlib.mk" SHLIB_LDFLAGS='$(SHLIB_CXXLDFLAGS)' | SHLIB_LD='$(SHLIB_CXXLD)' SHLIB="sourceCpp_32194.dll" WIN=64 TCLBIN=64 OBJECTS= | "colNorm.o"' had status 2
You generally want to do two things: -- Avoid installing in directories with spaces in their name; this used to be more important as mant components (ie R, Rcpp, ... ) try to be resilient. But to keep things simple and reliable, I still install into c:/opt/R-version/ (for R) and c:/opt/R/library/ (for packages) when on Windows -- Use forward slashes (ie / ) not backward slashes. Backward slashes are meta characters so you need _two_ of them. Hence a preference for a single one. So with that I'd try something like LIB_GSL="C:/Program Files (x86)/Code/Libraries/" and better still find the old dos-style 8.3 abbreviation -- something like c:/progra~1/ or whatever the trick was. Cheers, Dirk | | I assume this error is caused by the missing quotation mark around C:\Program | Files (x86)\CodeLibraries/include. The path I used for LIB_GSL was C:\Program | Files (x86)\CodeLibraries. I tried to fix by adjusting the environment variable | and reinstalled RcppGSL package, but the same error consists. Even after | removing the environment variable, RcppGSL still searches at this particular | place, which is obviously the place the compiler is expecting the GSL library. | | Where does the g++ compiler take that information from? How I can adjust for | that second location? | | Regards | Devin | | On Thu, Nov 13, 2014 at 2:47 AM, Dirk Eddelbuettel <e...@debian.org> wrote: | | | On 12 November 2014 at 18:08, Devin Heer wrote: | | Thanks for your quick reply! | | | | Indeed, the file you described within RcppGSL\examples\RcppGSLExample\ | src looks | | as follows: | | | | ## This assumes that the LIB_GSL variable points to working GSL libraries | | PKG_CPPFLAGS=-I$(LIB_GSL)/include | | PKG_LIBS=-L$(LIB_GSL)/lib -lgsl -lgslcblas | | | | | | I can now simply replace LIB_GSL by the path where my GSL folder is | located? | | Sure. The better way, though, is to the set the environment variable to the | value of the directory. That way the portable code remains valid, and next | you time you upgrade/build it still works. | | See any of the many fine tutorials on the web on how to set an environment | variable. | | | And when I define a new function (outside RcppGSLExample), which | Makevars.win | | file is then queried? (since there is also a makevars.win file in RcppGSL | \ | | skeleton; I should update this as well?) | | Always the one in the src/ directory of the package you are building. | | Dirk | | | Thanks | | | | On Wed, Nov 12, 2014 at 3:32 PM, Dirk Eddelbuettel <e...@debian.org> | wrote: | | | | | | Hi Devin, | | | | On 12 November 2014 at 15:13, Devin Heer wrote: | | | Thus, I would really like to get the RcppGSL package up and | running. I | | have | | | downloaded the GSL library and saved it in the same folder where | the | | header | | | file Rcpp.h is located (I assume this is the default place RcppGSL | is | | looking | | | for header- and source files). | | | | Nope. See below. | | | | | For test purposes, I try to compile the following (copied from | | r-bloggers): | | | | [...] | | | | | c:/rbuildtools/3.1/gcc-4.6.3/bin/../lib/gcc/i686-w64-mingw32/4.6.3 | /../.. | | /../../ | | | i686-w64-mingw32/bin/ld.exe: cannot find -lgsl | | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | | | | You need to communicate to your systeh where GSL is. | | | | Linux and OS X do that by querying the gsl-config script. | | | | Windows does that by querying the environment variable LIB_GSL, see | src/ | | Makevars.win | | and this comment: | | | | ## This assumes that the LIB_GSL variable points to working GSL | | libraries | | | | The RcppGSL package comes with its test package examples/ | RcppGSLExample -- | | I | | would recommend trying to build that first. | | | | Dirk | | | | -- | | http://dirk.eddelbuettel.com | @eddelbuettel | e...@debian.org | | | | | | -- | http://dirk.eddelbuettel.com | @eddelbuettel | e...@debian.org | | -- http://dirk.eddelbuettel.com | @eddelbuettel | e...@debian.org _______________________________________________ Rcpp-devel mailing list Rcpp-devel@lists.r-forge.r-project.org https://lists.r-forge.r-project.org/cgi-bin/mailman/listinfo/rcpp-devel