On 17/12/2012 12:04 PM, Uwe Ligges wrote:
On 17.12.2012 17:31, Laura Skylaki wrote: > Hello all, > > I'm trying to build R 32bit from source in a Windows 64 machine. I have > followed the steps in "R Installation and Adiministration" ( > http://cran.r-project.org/doc/manuals/R-admin.html#Getting-the-source-files) > or at least I think I did everything described. I am not sure if I have > installed the libjpeg, libtiff and libpng files though. I have upzipped > them in the R_HOME/src/gnuwin32/bitmap folder but when I tried the > ./configure command I got an error again (I'm not an expert user, still > learning). You do not need to ./configure, that's why we have the MkRules files. Just run make, see the manual R Installation and Administration for details on how to compile from sources on Windows. Best, Uwe Ligges > My MkRules.local file is the following: > > #-*- Makefile -*- > > ## This is only used when building R itself but it does customize > ## etc/*/Makeconf using LOCAL_SOFT, BINPREF[64], IMPLIB and R_ARCH > > ## =========== configuration macros for building packages ================ > # Absolute path to '/usr/local' software collection. The versions used > # on CRAN can be found under http://www.stats.ox.ac.uk/pub/Rtools/goodies > LOCAL_SOFT = > > ## ============== configuration macros for building R =================== > > # an alternative is to use -gstabs here, if the debugger supports only > stabs. > G_FLAG=-gdwarf-2 > > # Comment out if the msvcrt.dll malloc/free is required (not tested > recently) > LEA_MALLOC=YES > > # Set to YES and specify the path if you want to use the ATLAS BLAS. > USE_ATLAS=NO > ATLAS_PATH=/R/ATLAS/lib/WinNT_P4SSE2 > > # Support for the ACML and Goto BLASes has been withdrawn: see R-admin.html > > # Define to use svnversion to set SVN-REVISION (slow, and requires a clean > # checkout with no modifications). > # USE_SVNVERSION = YES > > # With the recommended toolchain, set this to 32 or 64 > MULTI = 32 > # If the toolchain's bin directory is not in your path, set this to the path > # (including the trailing /, and use / not \). > TOOL_PATH = > # for other toolchains leave these empty and set the more detailed options > below > > > ### BEGIN more detailed options > # Some of the toolchains have prefixes for e.g. ar, gcc. > # This can also be used to give the full path to the compiler, > # including a trailing / . > # prefix for 32-bit: path or i686-w64-mingw32- > BINPREF = > # prefix for 64-bit: path or x86_64-w64-mingw32- > BINPREF64 = x86_64-w64-mingw32- > > # Others use a -m64 or -m32 option to select architectures > M_ARCH = > # and for as (--32 or --64) > AS_ARCH = > # and for windres (-F pe-i386 or pe-x86-64) > RC_ARCH = > # and for dlltool ("-m i386 --as-flags --32" vs "-m i386:x86-64 --as-flags > --64") > DT_ARCH = > > # 32- or 64-bit Windows? > WIN = 64
This should be 32. The host OS for the compile doesn't matter, it's the target that you specify here. (Actually, MULTI=32 might override this, but I wouldn't take a chance.)
Duncan Murdoch
> > # We normally link directly against DLLs, > # but this macro forces the use of import libs > # Has been needed for some versions of MinGW-w64 > # USE_IMPLIBS = YES > > ### END more detailed options > > > # set to use ICU (experimental) > # USE_ICU=YES > # path to parent of ICU headers > ICU_PATH=/sources/icu > > # optional overrides for making bitmapdll: names of source directories > JPEGDIR = jpeg-8d > PNGDIR = libpng > TIFFDIR = libtiff > > # For the cairographics devices > # Optionally use a static build of cairographics from > # http://www.rforge.net/Cairo/files/cairo-current-win.tar.gz > # and set CAIRO_HOME to the parent of the win32/win64 directories > # > # If CAIRO_HOME is not set the devices are not built. > CAIRO_HOME = > > # set this to YES to build static HTML help > BUILD_HTML = NO > > # unset this if you are *not* using MiKTeX > MIKTEX = TRUE > > # additional optimization flags > EOPTS=-mtune=core2 > > # define to -fopenmp if the toolchain has OpenMP support > OPENMP = -fopenmp > > # define to -pthread if the toolchain has pthreads support > PTHREAD = -pthread > > ## ====== configuration macros for building installer =========== > > # location where Inno Setup 5.[34].x was installed. Spaces allowed. > ISDIR=E:/dev/Inno > > # optional location where qpdf was installed (in $(QPDF)/bin). Spaces > allowed. > QPDF= E:/dev/qpdf/qpdf-3.0.2/ > > # home of 32-bit files for combined installer on 64-bit build > HOME32= > > # Full paths of extra DLLs that need to be shipped > # e.g > # DLLs32 = c:/R/bin/pthreadGC2-w32.dll > # DLLs64 = c:/R/bin64/pthreadGC2-w64.dll > DLLs32 = > DLLs64 = > > ## ====== configuration macros for building MSI installer =========== > > # location where WiX 3.x executables were installed. Spaces allowed. > # The MSI uses '/bin': other packagings may not > WIX3DIR=C:/packages/WiX3.5/bin > > # set to 1 for a non-elevated per-user installer > WIX_PERSONAL=0 > > ## =============== end of user-customizable parts =================== > > > My environment variables are the following: > PATH > E:\dev\Rtools\bin;E:\dev\Rtools\gcc-4.6.3\bin;E:\dev\MiKTex\miktex\bin\;E:\dev\R-2.15.2\bin\i386;C:\windows\system32;C:\windows;C:\windows\System32\Wbem;C:\windows\System32\WindowsPowerShell\v1.0\;C:\Program > Files\Microsoft Windows Performance Toolkit\;C:\Program Files\MATLAB\MATLAB > Compiler Runtime\v714\runtime\win64;C:\Program Files\MATLAB\MATLAB Compiler > Runtime\v715\runtime\win64;C:\Program > Files\TortoiseSVN\bin;C:\Windows\System32\jom;C:\strawberry\perl\bin;C:\strawberry\perl\lib;C:\strawberry\c\bin\;E:\dev\Qt-4.8.1\bin;E:\Qt_x86\qt-everywhere-opensource-src-4.8.1\bin;E:\qwt-6.0.1\lib;C:\Program > Files (x86)\QuickTime\QTSystem\; > > R_HOME > E:\dev\R-2.15.2 > > TMPDIR > E:/dev/tmp > > -------------------------------------- > > I get the following error: > > > E:\dev\R-2.15.2\src\gnuwin32>make all recommended > make[1]: `MkRules' is up to date. > make[4]: Nothing to be done for `svnonly'. > installing C headers > make[2]: Nothing to be done for `all'. > make[2]: `libRblas.dll.a' is up to date. > make[5]: Nothing to be done for `svnonly'. > installing C headers > make --no-print-directory -C ../extra/intl CFLAGS='-O3 -Wall -pedantic > -mtune=core2' -f Makefile.win > make --no-print-directory -C ../appl CFLAGS='-O3 -Wall -pedantic > -mtune=core2' FFLAGS='-O3 -mtune=core2' -f Makefile.win > make --no-print-directory -C ../nmath CFLAGS='-O3 -Wall -pedantic > -mtune=core2'FFLAGS='-O3 -mtune=core2' -f Makefile.win > make --no-print-directory -C ../main CFLAGS='-O3 -Wall -pedantic > -mtune=core2' FFLAGS='-O3 -mtune=core2' malloc-DEFS='-DLEA_MALLOC' -f > Makefile.win > make --no-print-directory -C ./getline CFLAGS='-O3 -Wall -pedantic > -mtune=core2' > > make[4]: `gl.a' is up to date. > make -f Makefile.win makeMakedeps > make -f Makefile.win libpcre.a > make[5]: `libpcre.a' is up to date. > make[4]: Nothing to be done for `all'. > make -f Makefile.win makeMakedeps > make -f Makefile.win libtre.a > make[5]: `libtre.a' is up to date. > make[4]: Nothing to be done for `all'. > make[5]: `stamp' is up to date. > make[5]: `liblzma.a' is up to date. > gcc -std=gnu99 -m32 -shared -s -mwindows -o R.dll R.def console.o > dataentry.o dynload.o edit.o editor.o embeddedR.o extra.o opt.o pager.o > preferences.o psignal.o rhome.o rt_complete.o rui.o run.o shext.o > sys-win32.o system.o dos_wglob.o e_pow.o malloc.o ../main/libmain.a > ../appl/libappl.a ../nmath/libnmath.a getline/gl.a ../extra/xdr/libxdr.a > ../extra/pcre/libpcre.a ../extra/bzip2/libbz2.a ../extra/intl/libintl.a > ../extra/trio/libtrio.a ../extra/tzone/libtz.a ../extra/tre/libtre.a > ../extra/xz/liblzma.a dllversion.o -fopenmp -L. -lgfortran -lRblas > -L../../bin/i386 -lRzlib -lRgraphapp -lRiconv -lcomctl32 -lversion > e:/dev/rtools/gcc-4.6.3/bin/../lib/gcc/i686-w64-mingw32/4.6.3/../../../../i686-w64-mingw32/bin/ld.exe: > cannot find -lRzlib > e:/dev/rtools/gcc-4.6.3/bin/../lib/gcc/i686-w64-mingw32/4.6.3/../../../../i686-w64-mingw32/bin/ld.exe: > cannot find -lRgraphapp > e:/dev/rtools/gcc-4.6.3/bin/../lib/gcc/i686-w64-mingw32/4.6.3/../../../../i686-w64-mingw32/bin/ld.exe: > cannot find -lRiconv > collect2: ld returned 1 exit status > make[3]: *** [R.dll] Error 1 > make[2]: *** [../../bin/i386/R.dll] Error 2 > make[1]: *** [rbuild] Error 2 > make: *** [all] Error 2 > > > I can find the Rgraphapp.dll, Rzlib.dll, Riconv.dll in the > E:\dev\R-2.15.2\bin\i386 > Also when I type where gcc I get: > E:\dev\Rtools\gcc-4.6.3\bin\gcc.exe > C:\strawberry\c\bin\gcc.exe > > I cannot understand what I'm doing wrong. I'm sorry if this question has > been asked before but I couldn't find anything useful. > > I would appreciate any help. Thank you! > > Laura > > [[alternative HTML version deleted]] > > ______________________________________________ > R-help@r-project.org mailing list > https://stat.ethz.ch/mailman/listinfo/r-help > PLEASE do read the posting guide http://www.R-project.org/posting-guide.html > and provide commented, minimal, self-contained, reproducible code. > ______________________________________________ R-help@r-project.org mailing list https://stat.ethz.ch/mailman/listinfo/r-help PLEASE do read the posting guide http://www.R-project.org/posting-guide.html and provide commented, minimal, self-contained, reproducible code.
______________________________________________ R-help@r-project.org mailing list https://stat.ethz.ch/mailman/listinfo/r-help PLEASE do read the posting guide http://www.R-project.org/posting-guide.html and provide commented, minimal, self-contained, reproducible code.