From ripley at stats.ox.ac.uk  Sun Jul 20 14:35:00 2014
From: ripley at stats.ox.ac.uk (Prof Brian Ripley)
Date: Sun, 20 Jul 2014 13:35:00 +0100
Subject: [Rd] patch about mingwbuild 4.9.1
In-Reply-To: <1405752737.58864.YahooMailNeo@web162904.mail.bf1.yahoo.com>
References: <1405752737.58864.YahooMailNeo@web162904.mail.bf1.yahoo.com>
Message-ID: <53CBB774.3090407@stats.ox.ac.uk>

I think you used the wrong code model: these come from defaulting to the 
medium-code model intended for x64 Cygwin -- see 
https://gcc.gnu.org/ml/gcc-patches/2013-03/msg00858.html .

Also, please follow the posting guide and do not send HTML: your message 
arrived rather garbled.

I've added a more general way to achieve this in MkRules.dist in R-devel 
and R-patched.

On 19/07/2014 07:52, Yu Gong wrote:
> recently I used gcc 4.9.1 (http://sourceforge.net/projects/mingw-w64/files/Toolchains targetting Win64/Personal Builds/mingw-builds/)on windows to build R,but failed when link R.dll ,it report linker status 5.?
> after some digging, I found when use gcc 4.9.1 64 bit on windows there are lots of .refptr.*(* is r function name) in R.def, which lead build fail.so I add a simple path to src/gnuwin32/Makefile:
>
> Index: Makefile
> ===================================================================
> --- Makefile(?????? 66200)
> +++ Makefile(????????????)
> @@ -148,7 +148,7 @@
> ? ifeq "$(WIN)" "64"
> ? R.dll: $(OBJS) $(OBJS-EXTRA) $(MAINLIBS) $(EXTRALIBS) dllversion.o
> ? @$(ECHO) EXPORTS > R.def
> -@$(NM) $^ | $(SED) -n ? $(SYMPAT) | LC_COLLATE=C $(SORT) | uniq > R0.def
> +@$(NM) $^ | $(SED) -n ? $(SYMPAT) | LC_COLLATE=C $(SORT) | uniq |$(SED) '/.refptr./d' > R0.def
> ? @$(SED) -e's/@.*//' Rdll.hide | LC_COLLATE=C $(SORT) > R1.def
> ? @LC_COLLATE=C comm -23 R0.def R1.def >> R.def
> ? $(DLL) -shared $(DLLFLAGS) $($*-DLLFLAGS) -o $@ R.def $^ $($*-DLLLIBS) $(DLLLIBS)
> @@ -156,7 +156,7 @@
> ? else
> ? R.dll: $(OBJS) $(OBJS-EXTRA) $(MAINLIBS) $(EXTRALIBS) dllversion.o
> ? @$(ECHO) EXPORTS > R.def
> -@$(NM) $^ | $(SED) -n ? $(SYMPAT) | LC_COLLATE=C $(SORT) | uniq > R0.def
> +@$(NM) $^ | $(SED) -n ? $(SYMPAT) | LC_COLLATE=C $(SORT) | uniq |$(SED) '/.refptr./d' > R0.def
> ? @LC_COLLATE=C $(SORT) Rdll.hide > R1.def
> ? @LC_COLLATE=C comm -23 R0.def R1.def >> R.def
> ? $(DLL) -shared $(DLLFLAGS) $($*-DLLFLAGS) -o $@ R.def $^ $($*-DLLLIBS) $(DLLLIBS)
>
>
> Yu Gong
> 2014/07/18
> 	[[alternative HTML version deleted]]
>
>
>
> ______________________________________________
> R-devel at r-project.org mailing list
> https://stat.ethz.ch/mailman/listinfo/r-devel
>


-- 
Brian D. Ripley,                  ripley at stats.ox.ac.uk
Professor of Applied Statistics,  http://www.stats.ox.ac.uk/~ripley/
University of Oxford,             Tel:  +44 1865 272861 (self)
1 South Parks Road,                     +44 1865 272866 (PA)
Oxford OX1 3TG, UK                Fax:  +44 1865 272595



[Rd] patch about mingwbuild 4.9.1
Prof Brian Ripley