[R] Problems with building R from sources

Uwe Ligges ligges at statistik.tu-dortmund.de
Mon Dec 17 18:04:52 CET 2012



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
>
> # 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 at 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.
>




More information about the R-help mailing list