thanks for you answer, I didn't realize mingw-w64 already change default code
model.Â
I found one more file also need change,otherwise package build will fail. the
file is  share/make/winshlib.mk .
 $(NM) $^ | $(SED) -n $(SYMPAT)|$(SED) -n '/.refptr./d'  | $(SED) -n
's/.refptr*//g' Â >> tmp.def; \
Yu Gong
On Sunday, July 20, 2014 8:35 PM, Prof Brian Ripley
wrote:
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@r-project.org mailing list
> https://stat.ethz.ch/mailman/listinfo/r-devel
>
--
Brian D. Ripley,         rip...@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
[[alternative HTML version deleted]]
__
R-devel@r-project.org mailing list
https://stat.ethz.ch/mailman/listinfo/r-devel