Skip to content

Need some help for building R!

2 messages · Kenneth Cabrera, Peter Dalgaard

#
Hello Dear R Developers and Users:

I'm trying to compile R with all the tools of the CRAN page.
I compile the R-1.2.2 version without problem.

But when I try to compile the development version 1.3.0 it
doesn't work  when I write the command:

make BUILD=MINGW32

First it shows me something like this (I think without problems):
As I make when I compile succesfuly the R-1.2.2 version:

----------------------------------------------------------------------------------------------------------------------------

mkdir -p ../../bin
F:/GCC-29~1.2/BIN/MAKE.EXE -C ./fixed
MAKE.EXE[1]: Entering directory `F:/R-devel/src/gnuwin32/fixed'
zip -q bins bin/BATCH bin/INSTALL bin/REMOVE bin/Rd2dvi.sh bin/Rd2txt
bin/SHLIB bin/helpPRINT.bat
unzip -oaq bins -d  ../../..
rm -f bins.zip
echo done > fixbin
MAKE.EXE[1]: Leaving directory `F:/R-devel/src/gnuwin32/fixed'
cp -pr unzip ../..
rm -f ../../unzip/*.h
F:/GCC-29~1.2/BIN/MAKE.EXE -C ../appl  OPTFLAGS='-O2 -Wall -pedantic' -f
Makefile.win
MAKE.EXE[1]: Entering directory `F:/R-devel/src/appl'
MAKE.EXE[1]: Leaving directory `F:/R-devel/src/appl'
F:/GCC-29~1.2/BIN/MAKE.EXE -C ../main  OPTFLAGS='-O2 -Wall -pedantic' -f
Makefile.win
MAKE.EXE[1]: Entering directory `F:/R-devel/src/main'
MAKE.EXE[1]: Leaving directory `F:/R-devel/src/main'
F:/GCC-29~1.2/BIN/MAKE.EXE -C ../nmath OPTFLAGS='-O2 -Wall -pedantic' -f
Makefile.win
MAKE.EXE[1]: Entering directory `F:/R-devel/src/nmath'
MAKE.EXE[1]: Leaving directory `F:/R-devel/src/nmath'
F:/GCC-29~1.2/BIN/MAKE.EXE -C ./graphapp
MAKE.EXE[1]: Entering directory `F:/R-devel/src/gnuwin32/graphapp'
MAKE.EXE[1]: `../ga.a' is up to date.
MAKE.EXE[1]: Leaving directory `F:/R-devel/src/gnuwin32/graphapp'
F:/GCC-29~1.2/BIN/MAKE.EXE -C ./getline
MAKE.EXE[1]: Entering directory `F:/R-devel/src/gnuwin32/getline'
MAKE.EXE[1]: `../gl.a' is up to date.
MAKE.EXE[1]: Leaving directory `F:/R-devel/src/gnuwin32/getline'
F:/GCC-29~1.2/BIN/MAKE.EXE -C ../extra/xdr
MAKE.EXE[1]: Entering directory `F:/R-devel/src/extra/xdr'
MAKE.EXE[1]: `../../gnuwin32/xdr.a' is up to date.
MAKE.EXE[1]: Leaving directory `F:/R-devel/src/extra/xdr'
F:/GCC-29~1.2/BIN/MAKE.EXE -C ./math
MAKE.EXE[1]: Entering directory `F:/R-devel/src/gnuwin32/math'
MAKE.EXE[1]: `../em.a' is up to date.
MAKE.EXE[1]: Leaving directory `F:/R-devel/src/gnuwin32/math'
------- Building R.dll from R.a malloc.o libmain.a libappl.a libmath.a
ga.a gl.a xdr.a em.a dllversion.o --------
echo LIBRARY R > R.def
echo EXPORTS >> R.def
nm R.a malloc.o libmain.a libappl.a libmath.a ga.a gl.a xdr.a em.a
dllversion.o > Defs
sed -n '/^........ [BCDRT] _/s/^........ [BCDRT] _/ /p' Defs >> R.def
rm -f Defs
gcc  --shared -s -mwindows -o R.dll  R.def R.a malloc.o libmain.a
libappl.a libmath.a ga.a gl.a xdr.a em.a dllversion.o -L. -lg2c
-lwsock32 -lcomctl32 -lversion
-----------------------------------------------------------------------------------------------------------------------------------------

Then it stops with this error:

------------------------------------------------------------------------------------------------------------------------------------------

gcc: unrecognized option '-shared'
ld:R.def: file format not recognized; treating as linker script
ld:R.def:1: parse error
F:\GCC-29~1.2\BIN\MAKE.EXE: *** [R.dll] Error 1
-------------------------------------------------------------------------------------------------------------------------------------------

What is my mistake? (Remember that the process work with the previous
version 1.2.2)

Thank you very much for you help

Kenneth Cabrera



-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-
r-help mailing list -- Read http://www.ci.tuwien.ac.at/~hornik/R/R-FAQ.html
Send "info", "help", or "[un]subscribe"
(in the "body", not the subject !)  To: r-help-request at stat.math.ethz.ch
_._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._
#
Kenneth Cabrera <krcabrer at epm.net.co> writes:
Hmm. Some stuff in MkRules has been changed:

--- src/gnuwin32/MkRules        2001/02/03 20:11:37     1.26.2.1
+++ src/gnuwin32/MkRules        2001/02/08 07:25:59     1.29
@@ -3,8 +3,6 @@
 
 # Alternatives CYGWIN (-mno-cygwin), MINGW32 (mingw32 gcc), CROSS (Linux)
 BUILD=MINGW32
-# Set this to YES if you use MINGW32 and gcc-2.95.2.1 or later, or cygwin-1.1.
-HAVE_SHARED=YES
 
 # Where does 'HTML Help Workshop' live? (unused if compiled HTML help is
 # not requested. Spaces allowed.)
@@ -88,16 +86,7 @@
        $(NM) $^ > Defs
        $(SED) -n '/^........ [BCDRT] _/s/^........ [BCDRT] _/ /p' Defs >> $*.def
        $(RM) Defs
-ifeq ($(strip $(HAVE_SHARED)),YES)
        $(DLL) --shared $(DLLFLAGS) $($*-DLLFLAGS) -o $@  $*.def $^ $($*-DLLLIBS) $(DLLLIBS)
-else
-       $(DLL) -mdll -Wl,--base-file,$*.b $(DLLFLAGS) $($*-DLLFLAGS) -o $@  $^ $
...
^^^^^^

Are you sure you are using the appropriate compiler? Looks like
support for compilers before gcc-2.95.2.1 has gone away. (The flag
looks a bit dodgy though. Isn't it normally "-shared" with a single
hyphen?) 

Anyway, Brian will know...