[R] Problems with building R from sources

Duncan Murdoch murdoch.duncan at gmail.com
Mon Dec 17 18:20:28 CET 2012


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 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.
> >
>
> ______________________________________________
> 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